APP下载

弱标注环境下基于CNN的汉语句群自动切分

2018-11-14魏天珂吕学强

小型微型计算机系统 2018年11期
关键词:语料段落向量

魏天珂,吕学强,周 强

1 (北京信息科技大学 网络文化与数字传播北京市重点实验室,北京 100101 2(清华信息科学与技术国家实验室(筹),清华大学信息技术研究院语音与语言技术中心, 北京 100084)

1 引 言

在汉语中,句群是在语义上有逻辑联系,在语法上有结构关系,在语流中衔接连贯的一组句子的组合[1].每个句群一般有一个明晰的中心意思.80年代以来,由于受到国外“句子实际切分”以及“话语语言学”问题讨论的影响,我国对句群研究的关注度逐渐加强[2].近几年研究表明,句群的研究对机器翻译以及阅读理解问题有着至关重要的作用[3-5].另外,句群比单个句子考虑了更大的上下文环境,且相对整个篇章,句群的结构更加清晰、简单,这些特点使得句群在很多文本研究中越发受欢迎.

在汉语中,大多数的篇章都是由不同的主题组织的,而一个句群只含有一个明确的中心思想,因此,句群的切分问题可以视作语篇不同主题片段的识别问题.根据人们的写作特点与阅读习惯,一般根据主题信息按照从顶向下的方式将相同主题的信息组织起来,然后利用自底向上的方式判断当前句子与上一个句子之间的关系.通过这样一种“从顶向下+自底向上”的方式就可以将整个语篇的结构划分清楚.在句群切分过程中,如果能够识别句子之间的连贯关系,判断两个句子是否在描述同一个主题,就可以得出这两个句子是否在同一个句群中,从而实现句群的自动切分.我们在前一阶段的研究中得出,如果两个句子之间有连贯关系,那么这两个句子总是在一个句群中,相反这两句则分别是两个句群的结尾和开始1.在自然语言处理领域中,两个句子(以下简称句对)之间的关系识别早已不是新话题,许多专家学者在英语方面已经做了很多研究,在DRC(Discourse Relation Classification)、PI(Paraphrase Identification)、TE(Textual Entailment)等问题上取得了可观的成果.另一方面,如果只在两句的上下文环境中进行句群的切分,有可能造成句群颗粒度过于碎或者过于大.因此,在句对关系分类时加入句群的主题信息,可以利用更大的上下文环境,使得切分出的句群更加准确.

目前大多数的分类方法都是利用有监督方法进行学习,训练时需要大量的标注数据,而实际环境中通常并不能够获取大规模的标注数据,因此需要利用弱标注或是无标注的数据来解决数据短缺难题.段落和句群在结构上有许多相似之处,两者分割边界重合的情况十分常见,因此,可以将此类数据集作为句群边界的弱标注数据集,将其与原始句群标注数据集进行合并.在这个弱标注环境下,本文提出了一种句群自动切分方法,利用CNN(Convolutional Neural Network)对输入的汉语句对进行分类,在输入层加入句群主题特征来引入句群切分最需要的上下文信息,后加入注意力机制对卷积层的输出进行改善.最后将句对的分类结果转换成句群结构与人工构建的评测语料进行对比,使用宏严格一致率与宏模糊一致率以及WindowDiff[7]对句群切分结果进行综合评定.

在下面几节中,第二节主要介绍相关工作,第三节主要是汉语句群自动划分模型设计与相关评价函数;第四节主要给出了实验结果与分析说明;最后的第五节是结论与展望.

2 相关研究

获取大规模的标注数据是昂贵且困难的,例如,在科学应用中,获取标签数据需要进行重复实验或人工标注.在医学应用中,获得新药物的活性分子可能需要昂贵的专业知识.而另一方面,许多领域的大规模弱标注语料普遍存在且闲置.因此,利用弱标记的训练数据可能有助于提高性能并发现数据的基础结构[8].这些弱标注数据集的标签相对于标注数据集是不完整的,在本文任务中,那些不完整的标签数据集对应的是段落边界与句群边界不重合的部分.而田小琳等指出,段落和句群在很多地方是相似的,在一定程度上甚至可以相等.因此,在弱标注段落数据集中,有大部分的段落边界标签是与句群边界标签相同的.所以,本文在弱标注环境下,对句群自动切分进行了研究.

目前对汉语句群的自动切分研究不是很多.王荣波(2015)[9]等提出了基于多元判别分析的汉语句群自动划分方法,并根据多个特征.例如,句群主题特征、句间连贯关系特征等设计出评价函数,在每一个段落的句子组合中,选取最合适的一个句子组合作为句群,并使用518个句群进行实验.然而其过程并没有真正实现自动化,且只在段落内部进行了句群切分的研究,而众多研究表明,句群也可能由多个段落组成.由此可见,对句群的自动切分不能只局限在段落内部.朱靖波等(2017)[10]在整个篇章的层面上使用多元判别分析对段落实现了段落的自动切分,并利用遗传算法来降低穷举带来的高时间复杂度.以上相关研究均意识到了主题对于句群和段落这类语篇单位的重要性.可见句群或段落的有效切分与其主题有着密切联系.另一方面,目前大部分的文本切分,一般是以整篇文档作为分析单位,在进行深度学习的过程中导致信息学习不够彻底,从而遗漏很多重要信息.从单个句子层面分析文本切分,又会遗失很多至关重要的上下文信息.因此,本文在句对的层面上对小颗粒度单位—句群进行切分,考虑了上下文重要信息,又避免了直接处理整个文本的复杂性.是十分合适的研究单位.

有关句对关系的识别与分类,Yin等(2016)[11]提出的ABCNN(Attention-Based Convolutional Neural Network)在很多数据集上均取得了不错的效果.他以卷积神经网络CNN作为基础模型,利用Yoon Kim[12]论文中所提出的卷积方式,直接在输入层加注意力机制(attention)来改善卷积层的输出,后又在卷积层加入注意力机制对卷积层输出的结果进行改善.他分别在AS(Answer Selection)领域的WiKiQA,PI(Paraphrase Identification)领域的MSRP,TE(Textual Entailment)领域的SenEval 2014 Task进行实验.都得到了不错的效果.Ji等(2016)[13]提出的DRLM(Discourse Relation Language Models)同样对句对关系进行了分类,使用LSTM(Long Short-Term Memory)[14]模型,并用两个向量来表示上下文环境,一个向量表示句子内部词语级别的上下文环境,另一个向量是句对之间的上下文环境.然后将这两个向量进行线性组合.他在PDTB(Penn Discourse Treebank)数据集上进行了实验,同样取得了不错的效果.Qin等(2016)[16]提出一种stacking gated 神经网络结构,也对语篇句子之间的隐性关系进行了研究,并且细化了句对关系,将其分为4大类,即COMP(COMPARISON),CONT(CONTINGENCY),EXP(EXPANSION,TEMP(TEMPORAL).他在PDTB数据集上进行了实验,四个类别的F1值均有不错的效果.该作者在2017年[17]又提出了一种新的神经网络结构-对抗神经网络结构,继续研究语篇句子之间的隐性关系,取得了新的进展.

以上关于句对关系分类都可以为句群边界句的识别提供理论基础和技术支撑.例如,在TE问题中处理“蕴含”或是“矛盾”关系时,“蕴含”即为两个句子语义较为相似时的句对关系,对应在句群切分任务上,句对关系可以意味着“连贯”;“矛盾”则两个句子语义差别较大,对应在句群切分任务上,句对关系可以意味着“不连贯”.因此,无论在处理PI、TE还是本任务的句对连贯关系识别,都有一定的相通性.上文也提到,句群主题特征对句群边界的识别有重要作用,因此,结合句群主题特征的句对分类可能更适合本文的任务.

3 模型设计

3.1 词向量模型

词向量作为神经网络模型最基础的第一步,在一定程度上决定着一个模型的好坏.为了选择一个性能较高的词向量模型,本文从不同方面对词向量进行了研究,从语料规模、领域和词向量维度上进行了探索.从网络上搜集新闻、百度百科、维基百科、新浪微博等不同领域不同规模的语料库进行实验,利用skip-gram模型训练出不同维度的词向量以供选择.并使用NLPCC-ICCPOL 2016[18]公开评测数据集进行评测,该数据集由北京大学吴云芳老师组织20位语言学研究生标注(结果取平均)完成.共500个词对,全部随机抽取自NLPCC-ICCPOL 2016给出的一万个词.最后利用词向量进行词对相似度计算,从而完成对词向量的评测.

3.2 神经网络模型

本文的任务是实现汉语语篇句群的自动切分,将相邻的两个句子组成的句对输入到神经网络模型中进行分类.并将其分为两类,即句对之间分为有连贯关系或无连贯关系.本文基于ABCNN(加入注意力机制的卷积神经网络模型)进行修改实验.该模型原本使用了两层CNN,卷积方式是一个窗口最后只生成一个卷积值,然后在句子长度上进行滑动,得到一个长度为“句子长度+滑动窗口值-1”的向量.在第一层CNN的输入层就加入注意力机制attention,其原理是将输入拓展成双通道.即先计算矩阵A,其每个元素Aij代表句子1中第i个词语对句子2中第j个词语的匹配分数(match_score),然后分别计算两个句子的attention map.在第二层CNN中,当计算完attention矩阵A,需要分别为两个句子计算两个attention权重向量,即修改了池化层方法,不再是简单的Average Pooling,而是根据计算出的attention权重向量计算.但是,该作者提出ABCNN模型的初衷是为了处理PI问题或TE问题,例如,句子1为“一个有多个男人玩的足球赛”,句子2为“一些男人正在足球赛”,在输入层利用句子1中第i个词语对句子2中第j个词语的匹配分数很有必要.然而,这不一定适合本文任务.因此,本文修改了ABCNN-1模型,即在输入层添加句群主题信息,不再利用ABCNN在输入层中给出的attention,设计出更适合本文任务的神经网络模型--结合主题特征的注意力机制卷积神经网络模型Theme Attention based Convolutional Neural Network(TABCNN).其中,第二层卷积层所用的注意力机制仍然使用ABCNN-2模型,Attention 矩阵A的计算方法不变.

3.3 结合主题特征的注意力机制卷积神经网络模型(TABCNN)

原本的输入层只需要将输入句子进行padding后转化成词向量即可,为了能够利用句群主题信息,更好地进行句群边界的区分,在进行word embedding时,在每一个句子最后加入该句所属的主题向量.所有的主题向量在进行句对分类前预先利用主题聚类模型进行训练.句群主题信息的提取采用文档主题生成模型(LDA),只是将提取主题的单位从文档缩短至句群.用于文档主题提取的语料除了人工标注的句群之外,还使用了段落.训练得出了35个主题信息,然后根据主题id与词语id之间的分布关系,以及词语id与主题id之间的概率分布,计算出每一个句子的主题向量,将此主题向量和词语向量放在一起,共同构建句子向量矩阵作为TABCNN模型的输入.通过这样的方法有效地放大了不同句群主题之间的差异,更大程度地利用上下文信息,从而提升句群边界句的识别效率.具体处理过程如图1所示.

图1 TABCNN结构

另外,为了说明段落信息在句群主题提取模型和句对关系分类模型中的可利用性,本文在135篇人工标注的语篇上进行了段落和句群的对比实验.统计出了两者在边界上的差异.数据如表1所示.

表1 135篇语料中段落和句群的边界差异

根据表1可得,125个段落包含了544个句群,说明有n个句群组成一个段落的情况,这与之前的研究相符合.即段落一般由多个句群组成.同时也有45个句群包含79个段落的情况,即n个段落组成一个句群,这样的情况多出现在语篇有“诗篇”结构时,或者为了强调某个意义而故意一句一段时.因此这也属于正常情况.而大部分的段落边界是与句群边界重合的,由此我们得出,段落信息在某种意义上与句群较为相近,因此,在进行句群主题提取或是句对关系分类时,可以利用段落信息对训练数据集进行扩充.

3.4 评价方法

对于神经网络模型评测,使用准确率.对于句群边界的差异,将其分为包含与交叉,对此使用宏严格一致率、宏模糊一致率来进行对比统计.之所以引入宏模糊一致率,是因为有时出现句群包含情况时,并不能说明算法切分出的句群一定不正确.毕竟句群边界的位置并不是绝对的,句群是一个相对灵活的单位.因此,宏模糊一致率也有一定的参考作用.其中宏严格一致率=模型切分句群与人工标注句群边界一致的句群总数/模型切分句群总数;宏模糊一致率=模型切分句群与人工标注句群边界相等+包含的总数/模型切分句群总数.具体公式如下所示:

宏严格一致率=

(1)

宏模糊一致率=

(2)

同时使用文本分割中公认的WindowDiff评价方法对句群切分的结果进行评测.具体如公式(3)所示.

WindowDiff(ref,hyp)=

(3)

2SG = sentence group 句群边界.PG = paragraph 段落边界

其中,ref指人工判断的分割模式,hyp是指算法给出的分割模式.b(i,j)表示位置i和位置j之间分割点的个数.N表示语篇中句子的数量.

4 实 验

4.1 词向量评测实验

本文训练词向量的语料来自维基百科、新浪微博、新闻,使用Spearman相关系数*https://baike.baidu.com/item/spearman相关系数/7977847fr=aladdin和Pearson相关系数*https://baike.baidu.com/item/皮尔森相关系数/4222137fr=aladdin进行数据对比,具体如表2所示.

表2 词向量评测结果

对比三个基于维基百科的词向量,可以得出词汇的总数和训练的维度共同决定着词向量的性能.但是词汇总数比训练维度更加决定着词向量的性能.对于同领域的语料,一般语料越大效果越好.领域内的语料对相似领域任务的效果提升非常明显,但在领域不契合时甚至会有负面作用.因此,语料规模和语料领域之间的权衡也应该注意.有时语料的领域纯度比语料规模更重要.特别是在任务领域的语料比较小时,加入大量其他领域的语料可能会有很负面的影响.对于分析词向量语言学特性的任务,维度越大效果越好.

选择一个合适领域的语料,在此前提下,语料规模越大越好.使用大规模的语料进行训练,可以普遍提升词向量的性能,如果使用领域内的语料,对同领域的任务会有显著的提升.词向量的维度一般需要选择50维及以上,特别当衡量词向量的语言学特性时,词向量的维度越大,效果越好.目前实验结果至少在200维以上才能得到较好的性能.选择2的幂次方(256,512)效果好于200维,但是差异不是很明显,考虑到越大的词向量维度会使得句群矩阵越发庞大,因此,考虑维度选择不能只考虑“越大越好”.本文选择序号为5和8的词向量模型供后续神经网络模型评测和使用.

4.2 数据设置

本文从北大人民日报语料和清华句法树库(TCT)[19]中选取句对语料进行训练实验,其中从北大人民日报语料库中选出了4000篇语料共27141个段落、137452个句对作为弱标注数据集.从清华句法树库中选取人工标注的241篇语料共1358个句群、10879个句对作为标注数据.具体数据如表3所示.

另外从清华句法树库中选取147篇人工标注的语料作为测试数据.共776个句群、4774个句对.

表3 句对分类实验训练数据设置

进行句群主题聚类所用的语料也从北大人民日报语料和清华句法树库选取,具体数据设置如表4所示.

表4 句群主题实验数据设置

4.3 实验结果与分析

当选择序号为5的词向量模型进行实验时,各类模型的实验结果如表5所示.

表5 v5词向量下各个模型实验数据对比

需要说明的是,MDA方法是没有分类正确率.因此,按照其所用评测方法选取了评价分值最高的句群来对比宏严格一致率等.通过数据可以看出,MDA方法所得的宏严格一致率较低,错误率较高.使用传统的SVM对句对进行分类,识别正确率也较低.将预测的句对关系标签转换为句群结构时,其宏严格一致率只有0.543,而WindowDiff相对较高.但使用机器学习相关方法比MDA效果要好.在使用神经网络模型之后,句对关系的识别正确率有了明显的提升,且ABCNN模型比DRLM模型提升的效果更加明显.相应地,其句群边界的宏严格一致率也有了明显的提升.而加入句群主题向量特征的ABCNN模型,其句对关系识别正确率也有了提升.至此达到了所有模型实验中最好结果.

为了说明进一步说明模型提升的效果,本文抽检了预测文本中的数据,具体如表6所示,其中标签1为连贯,-1为不连贯.在第一个句对例子中,两个句子在语义上差别较大,但主题描述的却是同一类.因此,在加入句群主题模型之后,预测的标签由不连贯变成了连贯.第二个句对例子中,句子1属于一个句群的最后一句,旨在说明“中古关系”在前段时期的友好发展.句子2属于另一个句群的开始句,旨在说明“中古关系”以后的发展前景.两个句子看似十分连贯,但却表明了不同的主题,因此,在加入句群主题信息之后,预测的标签由连贯变成了不连贯.

另一方面,为了直观地对比句群切分结果,本文抽取了几个句群切分片段,具体如表7所示.

表6 句对预测样例分析

表7 句群切分片段样例1

分析表7可得,该片段从第1句到第7句为一整个段落(人工标注的语篇都带有段落标记信息).人工标注第1-3句为一个句群,第4-7句为一个句群.段落比句群颗粒度大.使用SVM模型,第1句边界正确,但是在第3句进行了切分,明显错误.使用ABCNN模型,切分出的信息与原始的段落信息一致.使用TABCNN模型,切分出的信息与人工标注的句群信息一致.从该篇可以得出,使用TABCNN模型切分出的句群与人工标注的句群信更贴切.

表8 句群切分片段样例2

该片段第1-4句为一整个段落,人工标注为两个句群,第1-2句和第3-4句,SVM模型和ABCNN模型切分出的句群信息和段落信息一致,而TABCNN切分出的句群信息和人工标注的句群一致.与片段一中出现的情况类似.

综上所述,使用ABCNN模型已经能够基本实现对句群的切分,可见使用大规模的弱标注段落信息和小规模的句群信息作为训练语料是可行的.另外,加入了主题特征之后的TABCNN模型,在处理不同主题句对分类时效果更好,从而使得句群切分效果较好.

另外,为了对比不同词向量对模型的影响,本文还选择序号为8的词向量模型进行实验时,各类模型的实验结果如表9所示.

通过数据可以得出,各类正确率都有了小幅度的提升,因此,一个好的词向量模型可以有效地提升语言模型和分类模型的正确率.另一方面,在利用了性能更好的词向量之后,句群的宏严格一致率的提升效果和WindowDiff下降程度并不是十分大.所以,词向量并不是唯一决定分类模型效率的因素,应该根据任务本身,设计相应的模型来提升效果.对于本文任务来讲,还需要考虑句对之间的结构关系等.而本文所用的注意力机制考虑到了句对结构关系,又引入了句群主题特征等,从不同层面上对句群切分任务进行了分析和实验.

表9 v8词向量下各个模型实验数据对比

5 结论与展望

本文提出了一种句群自动切分的方法,在弱标注环境下,利用卷积神经网络与注意力机制对句对进行分类,并融合句群主题信息来有效地利用上下文信息.还评估了一系列词向量模型,从一定程度上说明了词向量对于自然语言处理的重要性.一系列的实验表明,使用弱标注段落信息可以基本实现对句群的切分.利用句对与句群主题信息对句群进行切分也行之有效.且卷积神经网络模型比循环神经网络更适合处理句对连贯关系的识别任务.

当然,本文也有不足之处,在处理句对结构十分不相称情况时效果不够好,容易遗失长句的重要信息.且我们将处理单位定格在句对层面上也会漏掉相应的一些信息,毕竟句群切分需要更大的上下文信息,虽然从外部引入上下文信息的方法可行,但是过于复杂,模型训练时间过长.因此,本文下一步的研究工作将试着去掉从外部法,挖掘三句甚至更多句子蕴含的结构和语义关系来进行句群的切分.

猜你喜欢

语料段落向量
趣味•读写练 答案
向量的分解
面向低资源神经机器翻译的回译方法
聚焦“向量与三角”创新题
【短文篇】
心理小测试
可比语料库构建与可比度计算研究综述
夏天,爱情的第四段落
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线