融合多路注意力机制的语句匹配模型

2023-06-26 03:09刘麒麟马樱仪孙开伟
关键词:语句注意力语义

王 进,刘麒麟,马樱仪,孙开伟,胡 珂

(重庆邮电大学 数据工程与可视计算重庆市重点实验室,重庆 400065)

0 引 言

语句匹配是比较两个句子之间关系的任务,是信息检索[1]、自动问答[2]、释义识别[3]和自然语言推理[4]等任务的基础技术。

随着神经网络模型的发展,对语句匹配问题的研究逐渐从传统语句匹配模型向深度语句匹配模型转移[5]。传统的匹配技术只是简单地判断单词是否相似,同时需要人工提取相关特征,导致模型泛化能力较差。深度语句匹配模型结合词嵌入技术[6],从语义层面解决了词语匹配的多元性问题[5]。近几年提出的预训练模型,如基于Transformer的双向编码模型[7](bidirectional encoder representations from transformers,BERT)和优化的BERT方法 ( robustly optimized BERT pretraining approach,RoBERTa)[8]等,可以有效提升语句匹配的性能。然而预训练模型结构复杂、参数多,训练时间长。深度语句匹配模型可以自动提取匹配特征,代价小,效果更好;并且结构灵活,参数少,训练更容易。

深度语句匹配模型有两种流行的框架。第1种基于Siamese架构[9],使用神经网络对输入向量编码,然后对编码向量做匹配,但未捕捉到句子间的交互信息。第2种是Matching-aggregation模型[10],先对句子内较小单元(如单词)做匹配,然后聚合为一个向量再做匹配,能够捕捉到句子间交互特征,但捕捉到的交互特征不够,没有考虑语句内的关键信息,并且整合匹配特征存在缺陷。

本文提出了一种融合多路注意力机制的语句匹配模型,旨在解决传统模型捕捉到句子交互特征不足以及忽略句子内关键信息等问题。模型采用了词嵌入层和双向长短时记忆网络[11](bi-directional long short-term memory,Bi-LSTM)对输入进行编码,同时引入了句内自注意力机制和4种句间交互注意力机制,从多角度、高层次捕捉句子间的交互特征,并结合后输入到Bi-LSTM中进行聚合,最终通过全连接层得到语句匹配得分。在4个基准数据集(SNLI[12]、MultiNLI[13]、Quora Question Pairs[14]和SQuAD[15])上与经典深度语句匹配模型对比的结果表明,本文提出的融合多路注意力机制的语句匹配方法比传统深度语句匹配模型表现更好。

1 相关工作

深度语句匹配的研究可以总结为4个阶段模型:单语义模型、多语义模型、匹配矩阵模型和深层次语句交互匹配模型。

单语义模型使用简单神经网络编码句子,无法捕捉局部信息。比如深层语义相似模型[16](deep semantic similarity model,DSSM),使用5层网络对文本进行向量化。

多语义模型能够补充单语义模型在压缩整个句子时的信息损失,但很难将局部信息和全局信息有效地整合。比如一种基于多位置句子表示的深层语义匹配体系结构[17]使用Bi-LSTM处理句子,实现多粒度考察句子的效果。

匹配矩阵模型让两段文本进行交互,得到匹配信息,再提取匹配特征来捕捉匹配中的结构信息。比如基于图像识别的文本匹配[18](text matching as image recognition,TMIR)从3个角度构建相似度矩阵,再用CNN提取特征。

深层次语句交互模型使用更复杂的attention[15]结构来挖掘多维度的交互信息。比如具有密集连接的重复和共同注意力信息的语句匹配[19],结合Bi-LSTM、密集卷积网络[20]和attention机制提取特征,再采用多样化的交互策略提取交互特征。

本文在增强序列推理模型(enhanced sequential inference model,ESIM)的基础上进行改进,采用句内自注意力机制挖掘语句内关键信息,采用多路注意力机制捕获语句间多维度的交互信息 以及深层次的结构信息,再将多路注意力机制得到的多个交互特征有效地结合,增强语句匹配的表征能力并实现对语句的高层次理解。

2 融合多路注意力机制的语句匹配模型

2.1 模型整体框架描述

本文提出的融合多路注意力机制的语句匹配模型。模型主要包括3部分:自注意力机制层、多路注意力机制层以及聚合层。一条样本可以表示为(Qi,Pi,yi),其中,Qi=(q1,q2,…,qn)和Pi=(p1,p2,…,pm)为第i个待匹配的语句对,qi和pj分别为语句Qi和语句Pj中第i个词和第j个词,语句Qi的长度为n,语句Pj的长度为m,yi表示Qi和Pj的关系,用N表示样本总个数。

2.2 编码层

(1)

(2)

图1 融合多路注意力机制的语句匹配模型图Fig.1 Sentence matching model diagram fused with multi-channel attention mechanism

2.3 自注意力机制层

注意力机制能够捕捉句子词语之间的语义和语法联系,同时考虑上下文之间的联系。研究表明,词级别的注意力机制在句子对建模中非常有效[21]。

M=tanh(h)

(3)

α=softmax(wTM)

(4)

r=hαT

(5)

h*=tanh(r)

(6)

(3)—(6)式中:α为注意力权重系数,权重越高说明该词所带信息在句内越关键;r为h经过加权求和的结果,通过非线性函数生成表征向量h*。将编码层的输出h和自注意力层的输出h*拼接起来作为下一层的输入,表示为

x=[h;h*]

(7)

2.4 多路注意力机制层

大多数语句交互模型只使用一种句间交互注意力机制,导致捕获到的交互特征不完整。本文使用4种句间注意力机制来比较单词对,即连接[23]、双线性[24]、点积[25]和余弦[26]注意力机制,以捕获多维度、深层次的交互特征。

连接注意力机制表示为

(8)

双线性注意力机制表示为

(9)

点积注意力机制表示为

(10)

余弦注意力机制表示为

(11)

归一化公式[27]为

(12)

余弦距离的计算公式为

(13)

2.5 聚合层

为了保留原始信息,增强关键信息、捕获矛盾等推理关系,本文将多路注意力机制的匹配信息聚合起来,可得

(14)

(15)

每个attention会得到一个三维向量,将4个三维向量与x拼接得到新的特征向量z,再将z输入到Bi-LSTM中整合语句对之间的全局匹配信息。

采用平均池化和最大池化操作,并将所有向量连接起来,形成最终的定长向量v,可表示为

(16)

(17)

v=[vq,ave;vq,max;vp,max]

(18)

将v放入多层感知分类器中,以获得相应任务中每个标签的概率。

3 实 验

使用4个数据集对3个任务进行实验,并进行消融实验,以分析句内自注意力机制、多路注意力机制以及聚合层的有效性。实验运行环境如表1所示。

表1 实验运行环境Tab.1 Experimental operation environment

3.1 参数设置

使用预先训练的300-D Glove 840B向量来初始化单词嵌入,并随机初始化词汇表外单词嵌入。多路注意力信息压缩之后采用一层全连接层进行降维,该全连接层的维度为612,非线性激活函数选择的是relu函数。全连接层的维度为2 400,非线性激活函数选择的是tanh函数。在训练期间,不更新预先训练的词嵌入。为了验证单模型的实验性能,对所有的模型进行10次实验,去掉异常数据,选择在验证集中工作最好的模型,然后在测试集中进行评估。更多的参数设置如表2所示。

表2 参数设置Tab.2 Parameter settings

3.2 数据集

本文在4个数据集中进行3种语句匹配任务,来评估提出的模型性能,数据集划分如表3所示。

表3 数据集描述Tab.3 Dataset description

表3中,自然语言推理数据集(SNLI)[12]和扩大的自然语言推理数据集 (MultiNLI)[13]属于自然语言推理任务,问题答案对数据集(Quora )[14]属于释义识别任务,阅读理解数据集(SQuAD)[15]属于问答语句选择任务。

3.3 对比方法

将本文模型与经典深度语句匹配方法进行比较,以验证模型的有效性,如表4所示。

表4 对比方法信息Tab.4 Comparison method information

3.4 评估指标

本文采用精确度(Accuracy)和平均倒数排名(MRR)作为评估指标。

精确度由被分配的样本数除以所有的样本数计算得到,计算公式为

(19)

(19)式中:TP为判断正确且标签为正的样本数;TN为判断正确且标签为负的样本数;P为实际为正的所有样本数;N为实际为负的所有样本数。

MRR为多个查询语句排名倒数的均值,计算表达式为

(20)

(19)式中:|Q|为查询语句query的个数;rankq表示第q个查询语句第1个正确答案的排名。

3.5 实验结果与分析

本文在SNLI和MultiNLI数据集上评估提出的语句匹配模型,使用精确度和参数量两个指标在SNLI数据集上进行评估,使用精确度在MultiNLI数据集的匹配样本和不匹配样本上进行评估。参数量评估结果在一个数据集中得出,不再进行对比。

如今大力倡导以文化视角进行企业的管理活动,这主要是因为文化与制度的相结合,能够弥补制度的机械与僵化。所以两者的关系并不是所谓的替代性关系,反而是一种良性互补的关系。通过互补,从而使企业的经济效益得到最大化,让企业的管理效率更高。如今的市场形势瞬息万变,无论是多大规模的企业,都没有绝对的优势与安全,比如说之前的手机企业---诺基亚,是当之无愧的行业巨头,却也很快就会被市场所击垮了。但是,文化所带来的企业团队精神和创新精神,将让企业始终处于快速领跑的地位,使企业有更宽广的成长空间。

表5为各模型在SNLI上的评估结果。由表5可以看出,本文提出的模型在SNLI上表现优异,相比于其他深层次匹配模型性能获得了明显提升,在精确度方面达到了88.90%。与预训练模型BERT进行比较,本文提出模型的参数量远远低于BERT,不依赖任何外部知识,仍然获得了有竞争力的性能。

表5 各模型在SNLI上的评估结果Tab.5 Evaluation results of each model on SNLI

表6为各模型在MultiNLI数据集上匹配样本和不匹配样本的精确度(*表示进行了五折交叉集成学习后的模型,下同)。与其他深度匹配模型相比,本文提出的模型在匹配样本中表现最好,达到了80.34%的精确度,但在不匹配样本中略低于DBDIN模型。选择其他模型中表现最好的模型进行集成学习比较,在匹配样本和不匹配样本中,本文模型都优于DBDIN模型。

表6 各模型在MultiNLI上的评估结果Tab.6 Evaluation results of each model on MultiNLI

本文采用精确度作为评估指标,使用Quora Question Pairs数据集评估语句匹配模型在释义识别任务中的性能,表7为各模型的评估结果。本文提出的模型在单模型和集成学习方法中均表现出了最好的效果,超过其他经典的深层次匹配模型。

表7 各模型在Quora Question Pairs上的评估结果Tab.7 Evaluation results of each model on Quora Question Pairs

本文模型在SQuAD数据集上进行问答语句选择任务的评估,采用MRR作为评估指标,表8展示了各模型在SQuAD数据集上的评估结果。与其他经典深层次模型相比,本文模型在单模型和集成学习方法中表现最好。

表8 各模型在SQuAD上的评估结果Tab.8 Evaluation results of each model on SQuAD

3.6 消融实现分析

为了验证本文模型不同组件的有效性,选择在具有代表性的数据集SNLI上进行消融实验,实验结果如表9所示。表9中,“-”表示从模型中删除该组件;“+”表示在模型中添加该组件;self-Att表示本文使用的自注意力机制;co-Att表示本文使用的多路注意力机制;dot、concat、bilinear以及cosine为多路注意力机制中用到的4种句间注意力机制;aggregate表示本文用到的聚合方式、fc为拼接聚合、fm为点积聚合、fs为相减聚合;compress表示本文用到的压缩函数;concat表示简单拼接。

表9 本文模型在SNLI上的消融实验结果Tab.9 Ablation experiment results of the model proposed in this article on SNLI

在表9(2)中,为了验证本文使用的自注意力机制的有效性,用常规的句内注意力机制对齐函数dot[17]来替换本文的对齐函数,可以看出本文使用的自注意力机制效果更好。

在表9(11)—表9(13)中,为了验证多路注意力机制3种聚合方式的有效性,使用单独的聚合方式进行消融实验,结果显示单独使用任何一种聚合方式都没有结合3种效果好。

在表9(14)验证了压缩公式的有效性,用常规的简单拼接多个特征向量方法concat来替换本文方法,结果显示本文的压缩方法效果更好。

4 结束语

本文提出的融合多路注意力机制的语句匹配模型,使用句内自注意力机制计算语句中每个词向量的重要程度,捕获语句内的关键信息。多路注意力机制比较两个句子中的单词对,也就是4种句间匹配公式:连接注意力机制、双线性注意力机制、点积注意力机制、余弦注意力机制,从不同语义角度来捕获交互信息,最后可以得到4种交互特征。压缩函数将高维度的交互特征聚合到一起,增强语句表达的同时,保留原始信息,避免了网络层的膨胀和参数开销,将匹配信息输入分类器以进行最终决策。本文提出的模型能够挖掘到语句深层次的结构信息,实现对语句高层次的理解。

实验结果表明,本文提出的模型在自然语言推理任务、释义识别任务和问答语句选择任务中均表现出了更好的效果,能够有效提升语句匹配的性能。

猜你喜欢
语句注意力语义
让注意力“飞”回来
重点:语句衔接
语言与语义
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
“上”与“下”语义的不对称性及其认知阐释
认知范畴模糊与语义模糊
如何搞定语句衔接题
语义分析与汉俄副名组合
作文语句实录