刘高军,寇 婕,段建勇,霍卫涛,王 昊
1(北方工业大学 信息学院,北京 100144) 2(北方工业大学 CNONIX国家标准应用与推广实验室,北京 100144) 3(新东方教育科技集团 AI研究院,北京 100080)
句子等价语义识别(SSEI:sentence semantic equivalence identification)作为语义匹配任务,是自然语言长期需要探讨的问题之一.问答系统的研究一般分为问句理解、问题分类和答案抽取3个部分,而这三者都离不开句子相似度计算.句子语义等价识别任务主要研究两个句子之间相似性的匹配度,是自然语言处理任务中的基础任务之一.虽然目前已经可以利用自然语言处理技术构建多种多样的问答系统,但由于句子相似度计算效果不理想等问题,这些问答系统所体现的配对效果并不是很强.所以判断两个句子之间是否具有相似度,成为了目前问答系统中不可避免的基础任务.随着自然语言网络模型的不断发展,深度学习模型成为目前最为典型发展方向.1993年Bromley等人[1]提出第一个框架结构“siamese architecture”.该框架结构由两个结构相同且共享权值的子网络构成,且输入的两个句子可以通过RNN/CNN或者LSTM进行编码,所以这个框架中两个句子会有相同的词嵌入信息;2015年Bowman等人[2]提出两个句子向量单独匹配的方法,该方法的优点在于可以分享参数加速模型训练,缺点在于两个句子缺少明确的交互,所以会导致很多信息的缺失.为了解决这个问题,2016年Wang等人[3]提出一个新的结构“matching-aggregation”,该结构中两个输入的句子之间有交互作用,例如上下文句子之间的联系,通过CNN或者LSTM匹配聚合成一个向量,得到最终的结果.该模型能够捕捉两个句子之间更多的交互特征,因此也成为一个重要突破.然而这个匹配—聚合方法仍有一些限制.首先,它只考虑了词与词之间的匹配,忽略了颗粒性匹配(比如句子和短语);其次,它只涉及到了P和Q的单项匹配,忽略了Q与P的反向匹配.在此基础上,2017年Wang等人[4]提出了BIMPM模型,第一次使用多角度匹配提取特征,有效的解决了前面的两个问题.2018年Gong等人[5]提出了DIIN模型,该模型融合了丰富的外部特征和手工设计的对齐特征,并采用分层的方法提取语义信息,在公开的英文数据集Quora(1)https://data.quora.com/First-Quora-Dataset-Release-Question-Pairs上比2017年Wang[4]的方法效果更好,但是对于2018年Chen等人[6]收集的中文数据集,Wang[4]的效果比Gong[5]的更好,目前在中文数据集上对于SSEI任务效果最好的仍是2018年Chen[6]给出的数据结果81.85%.
在没有给定语义环境的情况下,中文的句子语义相似度分析还存在很多不足,比如特征提取精度不够高,制约语义理解.为了解决以上问题,提出了RFEM模型,该模型有如下特点:
1)采用两种编码方式,从不同角度对同一个序列进行特征提取,得到句子的时序性和关键性信息,丰富特征来源,最大化的在底层收集语义信息;
2)在对齐层,将两个序列的信息对齐,通过N层注意力机制,迭代计算句子的注意力权重.该模型的变体多头attention与2017年谷歌提出的原始多头attention[7]的区别在于,没有把初始的向量等分再结合,而是更大程度的保留了原始句子的全部特征信息.随着网络深度加深,梯度信息回流受阻,每经过N次attention后通过全链接神经网络降维,减少了由于网络训练困难所导致信息丢失的问题;
3)使用百度语义相似度接口(2)https://aip.baidubce.com/rpc/2.0/nlp/v2/simnet(API)计算问句相似度,结合原始数据标注类别,进行数据清洗.由于现有的中文数据集,在没有语义的情况下,数据的特征提取受到阻碍,将训练集中有效的句子保留,部分冗杂数据清洗,可以明显的看到我们选择的基线模型和该论文提出的模型都有了一个很好的提升结果.
目前,解决文本匹配类任务时深度学习方法占据主导地位,文本序列的特征提取和语义对齐是文本匹配的核心任务.早期的研究探索就是单独把序列编码成向量,然后根据这两个向量建立神经网络分类器,例如循环神经网络[8],长短期记忆人工神经网络[9],卷积神经网络[10]都用作序列编码器.在这些模型中,一个序列的编码都独立于另外一个序列,所以导致最终的分类器应对复杂的任务无法建模.因此,在后续的工作中,采用匹配聚合框架在较低的层次上匹配两个序列,通过注意力机制去对齐和计算最后的结果.Chen等人[11]提出的ESIM模型使用类似的注意力机制,但使用的是双向LSTM作为编码器和聚合器.之后更多有影响力的模型都在不断的被提出,Tay等人[12]提出的CSRAN模型利用多层之间的密集连接进行多层次注意力的细化.Liu等人[13]提出的SAN模型利用递归网络来组合多个对齐结果,对于简单特性及领域的特征比单一的对齐进程效果更好.Kim等人[14]提出的DRCN模型堆叠编码和对齐层,它将所有之前的对齐结果串联起来,并且必须使用自动编码器来处理探索性特征.本文还提出了在编码层用不同的编码器去提取不同特征的方法,在之后加深的网络中融合残差向量结合变体的多头注意力机制去提取语义特征,最大程度保留语义信息的方法作为SSEI的重要特征信息来源.
深度学习已经在文本匹配任务中发展迅速.大部分有监督的SSEI方法都是基于句子间的对齐和特征提取展开,它支持更复杂的匹配方式.BIMPM使用双边多视角交互的方法代替注意力机制进行多角度匹配.针对领域专用语料库缺乏的问题,Chen等人[6]对特定领域银行系统需要的句子信息进行收集,形成了大规模的中文SSEI任务语料库,解决了中文数据集缺乏的问题,使中文SSEI任务得到有效的发展.
在句子语义等价识别任务中,语义特征提取匹配的结果尤为重要,为了加强特征提取在不同维度和层面的效果,本文提出RFEM模型,该模型更集中的对两句话的特征进行提取,同时能够深层次地挖掘聚合特征,在预测层之前对两个序列进行特征提取及对齐匹配处理,在预测层计算语义相似度.该模型的全局展示如图1所示.
图1中①表示经过LSTM编码和CNN编码的向量拼接后第一次输入对齐层;②表示第二次输入对齐层的向量融合了残差向量进行对齐操作.两次经过编码层的圆圈分别表示:黑色圆圈(LSTM编码向量)、白色圆圈(CNN编码向量)、灰色圆圈(残差向量).模型的左右两部分操作完全一致.下面将对该模型进行详细介绍.
图1 RFEM模型全视角
词向量是中文分词的分布式表示,目的是将词映射到一个低维的向量空间.词向量是通过查找预训练好的向量矩阵V获得.采用传统的glove训练词向量来表示该层,没有使用字向量或其他词性特征.这层输出的是两个词向量的序列P:[p1,…,pM]和Q:[q1,…,qN].
该层是丰富特征提取的关键步骤,目的是通过两种不同的方法多角度提取特征,采用长短期记忆网络(LSTM)和卷积神经网络(CNN)分别对句子序列自身的时序性和每个序列局部关键性信息特征进行编码,通过两次不同编码特征的合并,获得结合关键信息和时序性特征的序列信息.
经过词嵌入(word embedding)之后的向量,向CNN和LSTM分别输入两端进行编码,如公式(1)所示:
(1)
同样地,我们使用相同的方法去编码Q,如公式(2)所示:
(2)
其中“;”表示连接,h表示LSTM模型的初始状态,p和q表示整个句子,pcon和qcon表示合并后的句子特征.
拼接编码层两个序列的特征输入对齐层,将两个序列的信息整合到表示层中.第1个长度为lp的序列输入记为p=(p1,p2,…,plp),第2个长度为lq的序列的输入记为q=(q1,q2,…,qlq),计算两个句子之间的相似性得分sp,q,如公式(3)所示:
sp,q=f(pi)Tf(qj)
(3)
f函数是单层前馈神经网络,该层主要是对齐两个句子的特征,求当前位置与其他序列中相应位置的相似度得分.
每经过对齐层一次即经过N次self-attention,s函数计算如公式(3)所示,self-attention如公式(4)所示,其中l代表序列长度,αi表示softmax函数,vi表示所求attention值本身的向量,公式中的k与v相等.
(4)
输出向量p′和q′通过另一序列表示进行递归计算,结合公式(4)代入公式(5)和公式(6)中,N的取值由实验效果决定,此处i即为N的取值.
(5)
(6)
最后将每一次递归得到的值进行加和得到p和q,如公式(7)和公式(8)所示.
(7)
(8)
(9)
这里的“;”代表连接操作.再次输入对齐层的向量有3部分:保留局部特征的CNN向量,存储历史信息的LSTM向量以及经过块处理细化的对齐残差特征向量.
该层使用Wang等人[4]提出的BIMPM模型中的多角度匹配作为模型中的匹配层,使用4种不同的匹配机制对于P和Q的融合信息做一次加深的交互,在这里将4种匹配分别拆开进行实验,可以发现单一的匹配机制虽然也有一定的作用,但是多角度的匹配(multi-perspective)可以使特征融合的结果得到更大化的体现,该模型将对齐层融合后的两个序列向量P:[p1,…,pM]和Q:[q1,…,qN],经过多角度匹配方法得到两个序列匹配的向量结果,每一次结果都是拼接4种匹配方法的总向量.
聚合层主要功能是将P和Q两个序列聚合为一个固定长度的匹配向量,初始化BiLSTM模型,对两个匹配序列分别使用 BiLSTM去结合两个的句子特征,构造定长匹配向量,然后连接 BiLSTM 最后一个时间步(time-step)的向量得到最终的匹配结果.
最后是计算概率分布Pr(y|P,Q),采用两层前馈神经网络加上softmax输出结果来消耗定长匹配向量,得出一个计算结果.
在本文的实验中,使用了Chen等人[6]公布的中文数据集Bank Question Corpus(后续简称BQ),同时使用通过百度接口计算语义相似度的方法,清洗BQ数据集来证明该模型的有效性和实用性.
Bank Question Corpus:BQ Corpus 是在自然语言处理国际顶会EMNLP 2018 发布的中文语义匹配数据集,该数据集针对银行领域,其目标是判断两个问题的语义是否相同.该数据集包括120000问题对,它分为3部分:100000问题对给训练集,10000问题对给验证集,以及10000问题对给测试集.在训练集,验证集以及测试集中没有互相重叠的句子.
迁移置信度筛选的BQ Corpus:通过百度语义相似度接口对原始数据BQ进行置信区间计算,将句子进行筛选.筛选后的数据集包括:65411问题对给训练集,6612问题对给验证集,6418问题对给测试集.筛选方式见4.4.4节所示.
将本文提出的模型和以下几个模型对比,在BQ2018的中文数据集上进行实验,同时挑选最高的基线模型在置信区间筛选后的BQ数据集上再次进行实验对比,验证本文模型的有效性和可行性.
1)Text-CNN模型:Kim[15]提出的文本分类模型,是一个典型的卷积神经网络.
2)BiLSTM模型[16]:作为一个RNN的变体,它从前后两方面考虑上下文的长、短依赖性,使用相同的结构,用BiLSTM构成CNN进行建模.
3)BIMPM模型[4]:首次提出多角度匹配模型,在自然语言句子匹配任务中表现良好.使用BiLSTM去学习句子特征信息,采用多种方法对两个句子进行匹配.
4)DIIN模型[5]:是一个分层语义特征提取模型,实现了从交互空间延伸到对句子的高级理解任务.
5)REFM模型:本文提出多方面提取特征的深度神经网络模型,在训练过程中不断弥补深度神经网络导致的信息丢失问题,最大化保留语义信息特征.
DIIN在英文数据集Quora上有先进的结果,但是在BQ2018中文数据集上BIMPM的模型上效果更好.因此,针对本文的实验,选取BIMPM作为中文语义匹配的基线.
本研究选取准确率(Accuracy)作为评测指标,选用分类任务中常用F1值作为评测指标.
该模型采用GPU进行训练,深度学习框架采用Pytorch编码.中文词向量采用840B-300维的中文GloVe词向量[17]进行训练.对于词表里没有的词,初始化向量为零,不参与训练.经过模型调优后得到的最佳参数设置如表1所示.实验采用的优化器是Adam optimizer[18].
表1 实验参数设置
4.4.1 模型总实验
通过与不同模型进行对比来验证本文模型在中文等价语义识别任务的优良性,得到的结果如表2所示.
表2 BQ数据集测试结果
表2展示了RFEM的精确度结果和F1值与其他基线模型在中文BQ数据集上的测试结果.RFEM达到了82.71%的结果,优于目前相关模型在BQ2018中文数据集上的表现.为了和其他模型有一个公平的比较,采用传统的Glove进行预训练.
4.4.2 消融实验
为了更好的检查模型中每个参数对于整体任务的有效性,如表3所示,通过控制变量进行的消融实验研究,重要的参数实验分析如下:
表3 消融实验
1)剥离了两种编码任务进行实验,结果显示,单一的从某一个层面进行编码,对于上下文信息和局部特征提取都是有限的,结合两种编码提取特征可以同时补充单一编码带来的不足,有效性得以提升;
2)对于同样的序列分成N份进行多头注意力机制进行实验,本文的变体多头注意力机制效果更好.
3)从隐层和学习率的大小调整进行实验.结果显示,学习率太高导致模型呈现过拟合状态,太低则无法精确学习到语义特征,所以该论文中选择的参数及模型设置是有效的.
4.4.3 attention层数实验分析
为了检查模型在不同层attention结构中的效果体现,实验对比分析结果如表4所示,当N=1时,模型对于特征提取还局限于词层面,效果没有达到最优;在不断加深的attention运算中,可以将计算更加精确和集中于语义信息.N=10时,注意力机制不会导致数据结果偏差明显,但是在不断加深的计算中,提取数据信息已达到极限,存在耗时太久的问题,也可能引起不同程度的匹配错误.
表4 在对齐层中注意力递归的实验结果
综上所述,该模型选择N=3,通过两次对齐层,融入残差特征,使得深度网络更容易优化,对于特征提取做了极大的优化和改进.同时结合一个案例研究证明该模型序列间的对齐是有效的,从BQ的训练集中选取一组问句作为演示示例.两个句子分别是:“为什么未达到审核要求”与“为什么有额度审核不过”.
针对对齐层的attention层数选择,经过3次注意力机制的序列匹配情况可视化如图2所示,N=1时,主要在词与词的层面对应,两个序列中的“审核”与“审核”准确匹配;N=2时如图3所示,“审核”与“额度”,“要求”与“审核”的对应关系加强,说明语义匹配层面在不断加强,而不是局限于词本身的意义;N=3时如图4所示,两个句子结合整句话的语义与实词信息,基本可以准确判断匹配位置关联的语义信息.
图2 1层attention 计算的对齐结果
图3 2层attention 计算的对齐结果
图4 3层attention 计算的对齐结果
综上所述,RFEM模型的变体多头attention最大的优点就是更大化保留了每句话的语义信息,从而提高了两个序列的语义匹配准确度.
4.4.4 经过置信区间计算的BQ数据集实验
迁移置信区间是指把原数据进行置信计算,原数据里有一部分句子在没有上下文语境信息时,很难理解是同一个含义,通过置信区间计算,把这类句子进行筛选.筛选方法及事例如表5所示:将分数低于0.5,label为1以及分数高于0.5,label为0的数据删掉,相反情况则保留.表格里删掉的句子在没有语境的情况下,虽然标注为1,但很难理解是同一个意思,所以特征提取也存在一定的偏差,经过百度公开的API计算相似度对句子进行筛选后,效果有了显著提升.
表5 置信区间筛选展示
同时,选择在中文数据集BQ表现最好的BIMPM模型做实验对比,筛选后的数据集实验结果如表6所示.
表6 经过置信区间计算后的模型结果
结果证明,使用清洗之后的数据集,在BIMPM和RFEM模型上均有显著提升,BIMPM模型结果比之前高6.22%,RFEM模型上提高10.49%;说明在有语境的情况下或者句意表达明确的前提下,模型会有一个更好的体现.在清洗后的数据集上,该模型的结果优于基线模型5.1%.综上所述,RFEM模型对于中文数据集在语义相似度分析的任务上具有灵活性及有效性.
本文针对中文语义等价识别任务展开研究,提出了一种丰富特征提取的RFEM模型.该模型从3方面丰富了特征信息的来源:1)在融合编码信息后第一次输入到对齐层时采用CNN提取文本的局部特征;2)采用LSTM的方法弥补CNN提取特征过程中缺少对上下文语义关联方面的不足;3)在第2次输入对齐层时,融入了残差向量,从而解决了深度网络训练可能导致的梯度消失、信息丢失等问题.同时,在对齐层中,模型采用的变体多头注意力机制是递归计算self-attention的过程,这一过程在不断对齐语义信息特征的同时最大化地保留了序列原始语义信息的特征.大量实验结果表明,以上改进措施不仅丰富了特征提取的来源,还保留了更多的原始语义信息,从而提高问句语义识别相似度的准确率.
研究发现,中文的语义等价识别任务对陌生词、指代词的语义特征提取还存在一定的不足.在下一阶段的工作中,还需对上述问题进行深入研究.