CN110781680B - 基于孪生网络和多头注意力机制的语义相似度匹配方法 - Google Patents

基于孪生网络和多头注意力机制的语义相似度匹配方法 Download PDF

Info

Publication number
CN110781680B
CN110781680B CN201910985413.2A CN201910985413A CN110781680B CN 110781680 B CN110781680 B CN 110781680B CN 201910985413 A CN201910985413 A CN 201910985413A CN 110781680 B CN110781680 B CN 110781680B
Authority
CN
China
Prior art keywords
sentence
word
sentences
representation
head
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910985413.2A
Other languages
English (en)
Other versions
CN110781680A (zh
Inventor
孙俊
赵源
吴豪
吴小俊
方伟
陈祺东
李超
游琪
冒钟杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangnan University
Original Assignee
Jiangnan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangnan University filed Critical Jiangnan University
Priority to CN201910985413.2A priority Critical patent/CN110781680B/zh
Publication of CN110781680A publication Critical patent/CN110781680A/zh
Application granted granted Critical
Publication of CN110781680B publication Critical patent/CN110781680B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Machine Translation (AREA)

Abstract

基于孪生网络和多头注意力机制的语义相似度匹配方法,属于自然语言处理问答系统领域。本发明提出模型SNMA,它使用双向GRU构建孪生网络分别对两个句子嵌入进行编码,之后对编码信息利用Jaccard距离进行信息聚合;同时,我们利用多头注意力机制将两个句子的信息进行交互,最终将交互信息与孪生网络得到的聚合信息进行融合。本发明我们首次将多头注意力机制用在了语义相似度匹配工作中;在四个中文语义相似度数据集中验证了我们工作的有效性。

Description

基于孪生网络和多头注意力机制的语义相似度匹配方法
技术领域
本发明属于自然语言处理问答系统领域,提供了一种基于孪生网络和多头注意力机制的语义相似度匹配方法。
背景技术
句子对语义匹配的任务是对比两个句子,并确定句子之间的关系,它在自然语言处理的很多工作中都有应用,比如说问答系统、文本复述判别和文本语义推断等。这些不同的场景中,相同点都是要确定两个句子的关系,不同点是句子的关系不尽相同。在文本复述判别中,语义匹配用于判断句子对是否表达语义相同,句子间是并列关系;在文本语义推断中,语义匹配用于判断前提能不能推导出假设,句子间是因果关系;在问答系统答案选择中,语义匹配用于寻找与问题最相关的答案,句子间是解释关系。
在这些不同的关系中,我们将其分为两类,一类是前后关系,比如因果关系、解释关系;一类是对等关系,比如并列关系。前后关系句子对描述的一般不是同一件事,只是这两件事之间存在关联;而对等关系句子对描述的一般是同一件事或者很类似的事情。这两种关系在描述的时候会存在一个明显的差异:前后关系的句子对描述使用的关键词汇相同的比例低,对等关系的句子对描述使用的关键词汇相同的比例高。
将语义匹配的任务划分为这两种场景实际上之前从没有被提及。在深度学习之前,句子对匹配早期的方法侧重于词汇语义、表面形式匹配和基本的句法相似性。目前深度学习方法针对句子对匹配的现有模型在建模的时候主要考虑两个关键因素,一个是如何区别两个句子之间语义上的差异,一个是如何构建两个句子之间的关联性。区分两个句子之间语义上的差异可以利用孪生网络的结构。孪生网络属于比较典型的结构,主要使用RNN(Recurrent Neural Network,循环神经网络)或者CNN(Convolutional Neural Networks,卷积神经网络)对两个句子分别进行编码,并且保证编码两个句子的模型参数一致,这样可以确保两个句子编码之后没有引入模型上的差异。构建两个句子之间的关联性可以利用匹配-聚合模型,使用RNN 或者CNN对句子编码之后,使用注意力机制直接将两个句子进行交互,之后利用交互信息进行判断。目前在句子对匹配中取得比较好的工作的模型都会在孪生网络结构中采用注意力机制,差别在于如何使用不同的编码模块、不同的交互方式等等。例如,在ESIM(Enhanced LSTM for Natural Language Inference,专为自然语言推断而生的加强版LSTM)中,使用RNN构建了孪生网络,在此基础上,利用注意力机制添加两个句子交互信息,再次利用RNN进行句子编码。在ABCNN(AttentionBaesdConvolutional NeuralNetworks,基于注意力的卷积神经网络)中,使用CNN构建了孪生网络,之后同样利用多种注意力机制构建交互信息,它的特色在于利用注意力机制改变了卷积、池化的基本操作,获得了更好的句子表示。也有像Match Pyramid(匹配金字塔)这种匹配-聚合模型主要考虑交互信息,它受到图像识别的启发,首先构造两个句子的相似度矩阵,接着在矩阵上利用卷积提取特征。我们会同时考虑两个句子之间语义上的差异、两个句子之间的关联性,但是我们使用的方式与现有的方式不太相同。我们提出模型SNMA(Siamese Network cooperatingwith Multi-head Attention,基于孪生网络和多头注意力机制的语义相似度匹配方法),它使用双向GRU构建孪生网络分别对两个句子嵌入进行编码,之后对编码信息利用Jaccard距离进行信息聚合;同时,我们利用多头注意力机制将两个句子的信息进行交互,最终将交互信息与孪生网络得到的聚合信息进行融合,这样的模型在四个中文数据集上得到了有效性证明。
发明内容
本发明提出基于孪生网络和多头注意力机制的语义相似度匹配方法。我们提出模型 SNMA,它使用双向GRU构建孪生网络分别对两个句子嵌入进行编码,之后对编码信息利用杰卡德距离进行信息聚合;同时,我们利用多头注意力机制将两个句子的信息进行交互,最终将交互信息与孪生网络得到的聚合信息进行融合。
本发明的技术方案:
基于孪生网络和多头注意力机制的语义相似度匹配方法,步骤如下:
步骤一:使用结巴(jieba)分词对语料的所有句子进行分词处理。
步骤二:使用Word2Vec在语料的所有句子上进行字、词的词向量的训练。
步骤三:按序输入句子对:长度为m的P={p1,p2,···,pm}和长度为n的Q={q1,q2,···,qn}。
步骤四:对句子进行词嵌入编码
在步骤二预训练完成的Word2Vec模型中提取对应的字/词向量,将每个句子的词向量扩充为字向量的长度,扩充的办法是每个词中有几个汉字,该词对应的词向量就复制几遍,从而得到与字向量序列长度一致的词向量序列。在训练的过程中,我们发现如果保持嵌入层可训练,可能会导致模型过拟合,因此我们将是否可训练参数设置为否,这样实际上也减少了训练集和测试集之间字/词向量的差异。通过嵌入层,我们将数据的维度变为VP∈Rm×d和 VQ∈Rn×d,d是字或者词向量的维度,在这里为了保证字和词向量可融合,我们在预训练阶段将字和词向量大小d都设置为300。
步骤五:使用批正则和空间随机失活进行句子编码的正则化
将两个句子VP∈Rm×d和VQ∈Rn×d通过一层批正则和空间随机失活,在这里的空间随机失活是Tompson等人在图像领域提出的一种随机失活方法。普通随机失活是随机独立地将部分元素置零,空间随机失活则是随机地将某个维度的元素全部置零。一般来讲字/词向量中的不同维度代表不同的语义,通过不同维度的置零,我们可以获得不同语义信息的组合。
Figure BDA00022365479900000319
Figure BDA00022365479900000320
步骤六:使用两层双向GRU对句子进行编码
将获得的
Figure BDA0002236547990000031
Figure BDA0002236547990000032
传入两层双向GRU,通过双向GRU的编码为每个位置上的单词引入上下文信息。
Figure BDA0002236547990000033
Figure BDA0002236547990000034
其中,
Figure BDA0002236547990000035
表示句子P对应的第i个字/词的编码向量,
Figure BDA0002236547990000036
表示句子Q对应的第i个字/词的编码向量。
Figure BDA0002236547990000037
表示句子P对应的第i个字/词经过双向GRU的编码向量,
Figure BDA0002236547990000038
表示句子Q对应的第i个字/词经过双向GRU的编码向量。双向GRU中两个方向获得的编码信息最终通过对应位置相加的方式组合起来。
步骤七:利用池化层提取特征,缩小维度
采用全局平均池化和全局最大池化,计算如下式所示:
Figure BDA0002236547990000039
Figure BDA00022365479900000310
其中,
Figure BDA00022365479900000311
表示句子P第i个字/词的向量表示,
Figure BDA00022365479900000312
是全局平均池化获得的句子P的向量,
Figure BDA00022365479900000313
是全局最大池化获得的句子P的向量。
Figure BDA00022365479900000314
Figure BDA00022365479900000315
其中,Vi Q表示句子Q第i个字/词的向量表示,
Figure BDA00022365479900000317
是全局平均池化获得的句子Q的向量,
Figure BDA00022365479900000318
是全局最大池化获得的句子Q的向量。
步骤八:使用层正则对编码后的句子向量进行正则化
在池化操作之后采用了层正则,这有利于我们更好地优化和获得更好的结果。层正则中同层神经元输入拥有相同的均值和方差;而批正则中则针对不同神经元输入计算均值和方差,同一个小批次中的输入拥有相同的均值和方差。实践证明,层正则用于RNN进行正则时,取得了比批正则更好的效果。层正则的计算公式如下所示:
Figure BDA0002236547990000041
Figure BDA0002236547990000042
Figure BDA0002236547990000043
其中,ui表示第i层所有神经元的均值;j表示第j个神经元;xij表示第i层的第j个神经元的数值;σi表示第i层所有神经元的标准差;
Figure BDA00022365479900000412
表示进过层正则之后的第i层的第j个神经元的数值;ε表示避免分母为0的偏移系数;
步骤九:使用Jaccard距离将两个句子不同表示信息融合
获得了池化和正则后的
Figure BDA0002236547990000044
Figure BDA0002236547990000045
我们要将句子进行聚合比较。与其他基于语义相似度模型利用句子间的四则运算来计算句子最终表示的差距不同,我们只使用Jaccard 距离来衡量最终获得的句子编码之间在每个维度上的距离。Jaccard距离计算公式如下式所示:
Figure BDA0002236547990000046
Figure BDA0002236547990000047
Figure BDA0002236547990000048
其中,Vmax表示全局最大池化后的两个句子利用Jaccard距离计算公式求得的距离,Vavg表示全局平均池化后的两个句子利用Jaccard距离计算公式求得的距离。;f(·)表示杰卡德距离计算公式;xi表示句子P在维度i的数值;yi表示句子Q在维度i的数值
步骤十:拼接步骤九中不同表示方法的句子信息,并使用ReLU激活
之后我们将两者拼接在一起获得Vconcated=Concat(Vmax;Vavg)   (15-1)
并利用激活函数Relu进行激活:
Vmerged=ReLU(Vconcated)   (15-2)
其中,Vmerged是利用孪生网络获得的句子融合表示,这个表示将用来跟接下来的多头注意力机制获得的融合信息进行再融合。
步骤十一:将步骤五两个编码后的句子信息拼接
将嵌入层的两个结果
Figure BDA0002236547990000049
Figure BDA00022365479900000410
进行拼接,
Figure BDA00022365479900000411
获得长句子表示Vtext∈R(m+n)×d
步骤十二:使用多头注意力机制对上述步骤十一拼接句子进行自编码
之后就是要将该表示通过多头注意力机制来获得两个句子的交互信息。多头注意力机制目前广泛应用于NLP各种课题。文中采用的的注意力机制主要是自注意力机制,即论文中提到的“Scaled Dot-Product Attention”,计算公式如下:
Figure BDA0002236547990000051
Figure BDA0002236547990000052
多头注意力机制可以针对不同的位置利用不同的注意来表示,可以获得更好的语义信息表示,有效的防止过拟合,多头注意力机制通过自自注意力机制的不同权重构造不同表示,达到多头的目标。多头注意力机制的计算公式如下:
Vinter=Multi-Head(Q,K,V)=Concat(head1,head2,…,head8)Wo   (18)
headi=Attention(QWi Q;KWi K;VWi V)   (19)
其中,请补充字母含义:Q表示一个句子表达,K表示该句子的关键信息,V表示另一个句子的表达、dk表示缩放因子、Vinter是进过多头注意力机制表达之后的句子、head1,head2,…,head8表示每个头表示下的句子信息、Wo表示拼接多头注意力机制时不同头表示的权重、Wi Q句子表达Q上的第i个权重、Wi K句子关键信息K上的第i个权重、Wi V句子表达V上的第i个权重。
步骤十三:利用池化层提取步骤十二的特征,缩小维度
同时采用全局平均池化和全局最大池化,池化的结果应当使得句子的表示大小等同于比较模块最终获得的结果,计算公式如下:
Figure BDA0002236547990000053
Figure BDA0002236547990000054
其中,Vi inter表示句子表示Vinter的第i个单词的表示,m表示句子的长度,
Figure BDA0002236547990000055
表示句子表示Vinter经过平均池化后的结果,
Figure BDA0002236547990000056
表示句子表示Vinter经过最大池化后的结果。
步骤十四:拼接步骤十三不同表示方法的句子信息,并使用ReLU激活
将两个池化结果进行拼接
Figure BDA0002236547990000057
其中,Vinter拼接了最大池化和平均池化后的句子表示。
步骤十五:拼接步骤十和步骤十四的句子信息
我们将比较模块和交互模块拼接,获得一个融合了两个句子的最终表示:
Vall=Concat(Vmerged;Vinter)   (23)
其中,Vall表示拼接了利用孪生网络获得的句子融合表示和利用多头注意力机制获得的句子交互表示。
该表示既有重点关注句子间差异的语义信息,也有关注句子间交互的语义信息,
步骤十六:输入全连接和最后的sigmoid函数,得到结果
损失函数和评价指标
损失函数在本文中我们采用的损失函数是交叉熵损失,计算公式如下式:
Figure BDA0002236547990000061
评价指标我们的观测指标主要是F1值:
(1)precision rate=TP/(TP+FP)
(2)recall rate=TP/(TP+FN)
(3)accuracy=(TP+TN)/(TP+FP+TN+FN)
(4)F1-score=2*precision rate*recall rate/(precision rate+recallrate)
其中True Positive(TP)意思表示做出同义的判定,而且判定是正确的,TP的数值表示正确的同义判定的个数;同理,False Positive(FP)数值表示错误的同义判定的个数;
依此,True Negative(TN)数值表示正确的不同义判定个数;False Negative(FN)数值表示错误的不同义判定个数。
本发明的有益效果:(i)我们提出了将句子对的比较和融合分开训练再融合的模型SNMA; (ii)我们首次将多头注意力机制用在了语义相似度匹配工作中;(iii)我们在四个中文语义相似度数据集中验证了我们工作的有效性。
附图说明
图1为基于孪生网络和多头注意力机制的语义相似度匹配模型。
图2为基于孪生网络和多头注意力机制的语义相似度匹配方法网络结构示意图。
具体实施方式
下面将结合具体实施例对本发明的技术方案进行进一步的说明。
我们分别使用Word2Vec训练了文本中字和词的向量表示,每个向量的维度都是300维。未登录词和padding词采用随机初始化的固定向量。在Embedding阶段我们会对使用分词后序列化的句子进行扩长,将每个词语复制一定倍数,倍数等于该词语包含的字的个数,之后我们可以对词向量和字向量进行融合。SpatialDropout的比例值设置为0.2。Embedding阶段之后我们将字向量连续输入两个双向GRU,第一个GRU的隐藏层维度为384,第二个GRU 的隐藏层维度为256。注意力机制共有8个,每个注意力机制单词维度的大小为16。激活函数采用ReLU。为了训练模型我们使用了Nadam优化器,学习率设置为0.0008。训练过程中,我们采用了学习率下降措施。同时为了获得更好的实验效果,我们采用了早停训练方法。
ATEC数据集
数据集源于蚂蚁金服提供的“ATEC NLP之问题相似度计算”比赛,所有数据均来自蚂蚁金服金融大脑的实际应用场景。问题相似度计算,即给定客服里用户描述的两句话,用算法来判断是否表示了相同的语义。比赛提供10万对的标注数据,作为训练数据,包括同义对和不同义对。数据集中每一行就是一条样例。格式如下:
表1 ATEC数据集的样例
Figure BDA0002236547990000071
行号指当前问题对在训练集中的第几行,句1和句2分别表示问题句对的两个句子,标注指当前问题对的同义或不同义标注,同义为1,不同义为0。
我们将10万对的标注数据按照9:1的比例划分为训练集和测试集,并在训练集中按照8:2 的比例划分训练集和验证集。
表2不同模型在ATEC数据集上的表现
Figure BDA0002236547990000072
针对ATEC数据集不同模型实验数据如上表格所示。所有的模型都没有额外使用手工特征。表格中除了我们自己设计模型外,另外5个模型都是摘录自在英文数据集中获得比较好的成绩的模型。我们根据这些模型的原论文进行复现并在ATEC数据集上进行训练以获得比较好的结果。我们设计的模型在该数据集上取得了比其他模型都要好的结果。
表3模型各部分取舍在ATEC数据集上的表现
Figure BDA0002236547990000081
在该数据集中,将字向量换成词向量可以发现F1值会下降很多,直接从53.92下降至 41.08,这说明了字编码对于模型是至关重要的,也说明了我们预训练的词向量的质量不高,这个可能跟中文分词本身的难度有关,也跟jieba分词质量有关;我们将字向量与词向量相结合之后使用,虽然没有获得比原始模型好的结果,但是要比单一词向量模型要好,只是词向量质量太差,所用影响了模型的最终结果;针对模型最后的池化取舍发现,最大池化明显没有平均池化在数据集中的作用大;我们在模型中对句子的编码使用了两层双向LSTM,如果只使用一层的话,确实会影响到最后的结果,说明两层编码是有效的;在最后,我们发现句子交互阶段的多头注意力机制有助于提高模型效果,只是由于句子之间本身的相似性所以交互作用可能比较小。考略到实验的重复性和论文的目标,我们下面的实验将重点关注多头注意力机制取舍的影响。
CCKS数据集
数据集源于CCKS 2018微众银行智能客服问句匹配大赛,所有数据均都是主要来自金融领域的真实文本。本次评测任务的主要目标是针对中文的真实客服语料,进行问句意图匹配。集给定两个语句,要求判定两者意图是否相同或者相近。所有语料来自原始的银行领域智能客服日志,并经过了筛选和人工的意图匹配标注。比赛提供10万对的标注数据,作为训练数据,包括同义对和不同义对,可下载。数据集中每一行就是一条样例。格式如下:
行号指当前问题对在训练集中的第几行,句1和句2分别表示问题句对的两个句子,标注指当前问题对的同义或不同义标注,同义为1,不同义为0。
我们将10万对的标注数据按照9:1的比例划分为训练集和测试集,并在训练集中按照8:2 的比例划分训练集和验证集。
表4 CCKS数据集的样例
Figure BDA0002236547990000091
表5不同模型在CCKS数据集上的表现
Figure BDA0002236547990000092
针对CCKS数据集不同模型实验数据如上表格所示。所有的模型都没有额外使用手工特征。同ATEC数据集中使用的模型一样,表格中除了我们自己设计模型外,其余5个模型都是摘录自在英文数据集中获得比较好的成绩的模型。我们根据这些模型的原论文进行复现并在CCKS数据集上进行训练以获得比较好的结果。我们设计的模型在该数据集上取得了比其他模型都要好的结果。实验分析如表6:
表6模型取舍在CCKS数据集上的表现
Figure BDA0002236547990000093
上表可以发现多头注意力机制存在句子交互作用。
PPDAI数据集
数据集源于拍拍贷第三届魔镜杯大赛,此次提供智能客服聊天机器人真实数据。智能客服聊天机器人场景中,待客户提出问题后,往往需要先计算客户提出问题与知识库问题的相似度,进而定位最相似问题,再对问题给出答案。本次比赛的题目便是问题相似度算法设计。比赛提供25万对的标注数据,作为训练数据,包括同义对和不同义对。格式如下:
表7 PPDAI数据集的样例
Figure BDA0002236547990000101
我们将25万对的标注数据按照9:1的比例划分为训练集和测试集,并在训练集中按照8:2 的比例划分训练集和验证集。
表8不同模型在PPDAI数据集上的表现
Figure BDA0002236547990000102
针对PPDAI数据集不同模型实验数据如上表格所示。所有的模型都没有额外使用手工特征。同ATEC数据集中使用的模型一样,表格中除了我们自己设计模型外,其余5个模型都是摘录自在英文数据集中获得比较好的成绩的模型。我们根据这些模型的原论文进行复现并在CCKS数据集上进行训练以获得比较好的结果。我们设计的模型在该数据集上的验证集F1 值取得了比其他模型都要好的结果,但是在测试集中略微逊色于模型MatchPyramid,不过我们的参数量要远小于Match Pyramid。
表9模型取舍在PPDAI数据集上的表现
Figure BDA0002236547990000103
观察表9,多头注意力机制存在句子交互作用。
CHIP数据集
数据集源于第四届中国健康信息处理会议(CHIP),本次评测任务的主要目标是针对中文的真实患者健康咨询语料,进行问句意图匹配。给定两个语句,要求判定两者意图是否相同或者相近。所有语料来自互联网上患者真实的问题,并经过了筛选和人工的意图匹配标注。官方提供了训练集包含20000条左右标注好的数据(经过脱敏处理,包含标点符号),包含若干对由问题id组成的pair。以label表示问句之间的语义是否相同。若相同,标为1,若不相同,标为0。其中,训练集label已知,测试集label未知。
表10 CHIP数据集的样例
Figure BDA0002236547990000111
本实验数据集过小,不再适合划分测试集,因此这里的实验结果只展示了验证集结果。
表11不同模型在CHIP数据集上的表现
Figure BDA0002236547990000112
针对CHIP数据集不同模型实验数据如上表格所示。所有的模型都没有额外使用手工特征。同ATEC数据集中使用的模型一样,表格中除了我们自己设计模型外的5个模型都是摘录自在英文数据集中获得比较好的成绩的模型。我们根据这些模型的原论文进行复现并在 CCKS数据集上进行训练以获得比较好的结果。我们设计的模型在该数据集上要比ESIM结果略微差一点,但是我们的参数量只有ESIM的一半左右。实验分析如表12:
表12模型各部分取舍在CCKS数据集上的表现
Figure BDA0002236547990000113
从上表可以发现,句子交互阶段的多头注意力机制可以提升模型实验结果。
我们针对中文数据集文本相似度匹配提出了新的模型,实验表明我们的模型在这些数据集中取得了比较理想的结果。我们的模型主要分为两个方面,一个模块是利用双向GRU构建了孪生网络来提取句子之间的差异,另一个模块则是利用多头注意力机制来获取两个句子之间的交互。我们发现在中文短句子匹配情况下,比较复杂的模型反而没有取得较好的成绩,而是利用双向GRU构建的简单孪生网络取得了比较好的结果,考虑到单纯的孪生网络没有能够引入句子之间的交互信息,因此额外使用多头注意力机制来进行句子之间的交互。我们认为句子之间的匹配既离不开句子之间的差异性,也离不开句子之间的相似性,有效合理地匹配句子需要多角度地比较。

Claims (1)

1.基于孪生网络和多头注意力机制的语义相似度匹配方法,其特征在于,步骤如下:
步骤一:使用结巴分词对语料的所有句子进行分词处理;
步骤二:使用Word2Vec在语料的所有句子上进行字、词的词向量的训练;
步骤三:按序输入句子对:长度为m的P={p1,p2,···,pm}和长度为n的Q={q1,q2,···,qn};
步骤四:对句子进行词嵌入编码;
在步骤二预训练完成的Word2Vec模型中提取对应的字、词向量,将每个句子的词向量扩充为字向量的长度,扩充方法:每个词中有几个汉字,该词对应的词向量就复制几遍;在训练的过程中,将是否训练参数设置为否;通过嵌入层,将数据的维度变为VP∈Rm×d和VQ∈Rn ×d,d是字或者词向量的维度;
步骤五:使用批正则和空间随机失活进行句子编码的正则化;
将两个句子VP∈Rm×d和VQ∈Rn×d通过一层批正则和一层空间随机失活,获得不同语义信息的组合:
Figure FDA0004076667510000011
Figure FDA0004076667510000012
步骤六:使用两层双向GRU对句子进行编码;
将获得的
Figure FDA0004076667510000013
Figure FDA0004076667510000014
传入两层双向GRU,通过双向GRU的编码为每个位置上的单词引入上下文信息;
Figure FDA0004076667510000015
Figure FDA0004076667510000016
其中,
Figure FDA0004076667510000017
表示句子P对应的第i个字/词的编码向量,
Figure FDA0004076667510000018
表示句子Q对应的第i个字/词的编码向量;
Figure FDA0004076667510000019
表示句子P对应的第i个字/词经过双向GRU的编码向量,
Figure FDA00040766675100000110
表示句子Q对应的第i个字/词经过双向GRU的编码向量;双向GRU中两个方向获得的编码信息最终通过对应位置相加的方式组合起来;
步骤七:利用池化层提取特征,缩小维度;
采用全局平均池化和全局最大池化,计算如下图所示:
Figure FDA00040766675100000111
Figure FDA00040766675100000112
其中,Vi P表示句子P第i个字/词的向量表示,
Figure FDA0004076667510000021
是全局平均池化获得的句子P的向量,
Figure FDA0004076667510000022
是全局最大池化获得的句子P的向量;
Figure FDA0004076667510000023
Figure FDA0004076667510000024
其中,Vi Q表示句子Q第i个字/词的向量表示,
Figure FDA0004076667510000025
是全局平均池化获得的句子Q的向量,
Figure FDA0004076667510000026
是全局最大池化获得的句子Q的向量;
步骤八:使用层正则对编码后的句子向量进行正则化;
在池化操作之后采用层正则,层正则中同层神经元输入拥有相同的均值和方差;层正则的计算公式如下所示:
Figure FDA0004076667510000027
Figure FDA0004076667510000028
Figure FDA0004076667510000029
其中,ui表示第i层所有神经元的均值;j表示第j个神经元;xij表示第i层的第j个神经元的数值;σi表示第i层所有神经元的标准差;
Figure FDA00040766675100000210
表示进过层正则之后的第i层的第j个神经元的数值;ε表示避免分母为0的偏移系数;
步骤九:使用杰卡德距离将两个句子不同表示信息融合;
获得了池化和正则后的
Figure FDA00040766675100000211
Figure FDA00040766675100000212
只使用杰卡德距离来衡量最终获得的句子编码之间在每个维度上的距离,需要将句子进行聚合比较;杰卡德距离计算公式如下所示:
Figure FDA00040766675100000213
Figure FDA00040766675100000214
Figure FDA00040766675100000215
其中,Vmax表示全局最大池化后的两个句子利用杰卡德距离计算公式求得的距离,Vavg表示全局平均池化后的两个句子利用杰卡德距离计算公式求得的距离;f(·)表示杰卡德距离计算公式;xi表示句子P在维度i的数值;yi表示句子Q在维度i的数值;
步骤十:拼接步骤九中不同表示方法的句子信息Vmax和Vavg,并使用ReLU激活;
拼接结果为:Vconcated=Concat(Vmax;Vavg);    (15-1)
Relu激活过程为:Vmerged=ReLU(Vconcated);     (15-2)
其中,Vmerged是利用孪生网络获得的句子融合表示,这个表示将用来跟接下来的多头注意力机制获得的融合信息进行再融合;
步骤十一:将步骤五中两个编码后的句子信息拼接;
将嵌入层的两个结果
Figure FDA0004076667510000031
Figure FDA0004076667510000032
进行拼接,
Figure FDA0004076667510000033
获得长句子表示Vtext∈R(m+n)×d
步骤十二:使用多头注意力机制对步骤十一拼接的句子进行自编码,计算公式如下:
Figure FDA0004076667510000034
Figure FDA0004076667510000035
多头注意力机制针对不同的位置利用不同的注意来表示,获得更好的语义信息表示,有效的防止过拟合,多头注意力机制的计算公式如下:
Vinter=Multi-Head(Q,K,V)=Concat(head1,head2,…,head8)Wo    (18)
headi=Attention(QWi Q;KWi K;Vi V)          (19)
其中,Q表示一个句子表达,K表示该句子的关键信息,V表示另一个句子的表达、dk表示缩放因子、Vinter是进过多头注意力机制表达之后的句子、head1,head2,…,head8表示每个头表示下的句子信息,Wo表示拼接多头注意力机制时不同头表示的权重、Wi Q句子表达Q上的第i个权重、Wi K句子关键信息K上的第i个权重、Wi V句子表达V上的第i个权重;
步骤十三:利用池化层提取步骤十二的特征,缩小维度,计算公式如下:
Figure FDA0004076667510000036
Figure FDA0004076667510000037
其中,Vi inter表示句子表示Vinter的第i个单词的表示,m表示句子的长度,
Figure FDA0004076667510000038
表示句子表示Vinter经过平均池化后的结果,
Figure FDA0004076667510000039
表示句子表示Vinter经过最大池化后的结果;
步骤十四:拼接步骤十三将两个池化结果进行拼接,并使用ReLU激活;
将两个池化结果进行拼接:
Figure FDA0004076667510000041
其中,Vinter拼接了最大池化和平均池化后的句子表示;
步骤十五:拼接步骤十和步骤十四的句子表示:
Vall=Concat(Vmerged;Vinter)       (23)
其中,Vall表示拼接了利用孪生网络获得的句子融合表示和利用多头注意力机制获得的句子交互表示;
步骤十六:输入全连接和最后的逻辑回归函数,得到结果。
CN201910985413.2A 2019-10-17 2019-10-17 基于孪生网络和多头注意力机制的语义相似度匹配方法 Active CN110781680B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910985413.2A CN110781680B (zh) 2019-10-17 2019-10-17 基于孪生网络和多头注意力机制的语义相似度匹配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910985413.2A CN110781680B (zh) 2019-10-17 2019-10-17 基于孪生网络和多头注意力机制的语义相似度匹配方法

Publications (2)

Publication Number Publication Date
CN110781680A CN110781680A (zh) 2020-02-11
CN110781680B true CN110781680B (zh) 2023-04-18

Family

ID=69385696

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910985413.2A Active CN110781680B (zh) 2019-10-17 2019-10-17 基于孪生网络和多头注意力机制的语义相似度匹配方法

Country Status (1)

Country Link
CN (1) CN110781680B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111310411B (zh) * 2020-03-09 2022-07-12 重庆邮电大学 一种基于多样性模型的文本相关性判定方法、装置和设备
CN111967487B (zh) * 2020-03-23 2022-09-20 同济大学 一种用于视觉问答模型训练的增量型数据增强方法及应用
CN111428003A (zh) * 2020-03-26 2020-07-17 广州市南方人力资源评价中心有限公司 一种基于神经网络的评分方法
CN111489738B (zh) * 2020-04-13 2021-02-23 深圳市友杰智新科技有限公司 基于多头注意力机制的特征提取方法及语音命令识别方法
CN111714117A (zh) * 2020-05-07 2020-09-29 北京中科千寻科技有限公司 一种基于时序深度模型的心电信号异常检测方法
CN111737954B (zh) * 2020-06-12 2023-07-28 百度在线网络技术(北京)有限公司 文本相似度确定方法、装置、设备和介质
CN111785287B (zh) 2020-07-06 2022-06-07 北京世纪好未来教育科技有限公司 说话人识别方法、装置、电子设备及存储介质
CN111858961B (zh) * 2020-07-27 2024-02-02 西交利物浦大学 用于知识图谱中节点和链接的多语言知识匹配方法及装置
CN112052319B (zh) * 2020-09-01 2022-05-17 杭州师范大学 一种基于多特征融合的智能客服方法及系统
CN112183310B (zh) * 2020-09-25 2022-12-13 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 冗余监控画面过滤及无效监控画面筛选的方法及系统
CN112182180A (zh) * 2020-09-27 2021-01-05 京东方科技集团股份有限公司 问答处理的方法、电子设备、计算机可读介质
CN112148894B (zh) * 2020-09-30 2024-01-26 武汉大学 一种基于深度学习和定性空间推理的泛在道路信息定位方法
CN112330342A (zh) * 2020-11-11 2021-02-05 佰聆数据股份有限公司 企业名称与系统用户名称优化匹配的方法及系统
CN112328767B (zh) * 2020-11-11 2022-10-14 重庆邮电大学 基于bert模型和比较聚合框架的问答匹配方法
CN112800196B (zh) * 2021-01-18 2024-03-01 南京明略科技有限公司 一种基于孪生网络的faq问答库匹配方法与系统
CN112966524B (zh) * 2021-03-26 2024-01-26 湖北工业大学 基于多粒度孪生网络的中文句子语义匹配方法及系统
CN112966073B (zh) * 2021-04-07 2023-01-06 华南理工大学 一种基于语义和浅层特征的短文本匹配方法
CN113761935B (zh) * 2021-08-04 2024-02-27 厦门快商通科技股份有限公司 一种短文本语义相似度度量方法、系统及装置
CN113673152A (zh) * 2021-08-09 2021-11-19 浙江浙能技术研究院有限公司 一种基于数字孪生体的集团级kks编码智能映射推荐方法
CN113779996B (zh) * 2021-08-31 2023-10-10 中国中医科学院中医药信息研究所 基于BiLSTM模型的标准实体文本确定方法、装置及存储介质
CN114595306B (zh) * 2022-01-26 2024-04-12 西北大学 基于距离感知自注意力机制和多角度建模的文本相似度计算系统及方法
CN117689117B (zh) * 2024-01-30 2024-05-03 湖南破壳智能科技有限公司 一种智能化学业规划咨询方法与系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108932342A (zh) * 2018-07-18 2018-12-04 腾讯科技(深圳)有限公司 一种语义匹配的方法、模型的学习方法及服务器
CN109213995A (zh) * 2018-08-02 2019-01-15 哈尔滨工程大学 一种基于双语词嵌入的跨语言文本相似度评估技术
EP3454260A1 (en) * 2017-09-11 2019-03-13 Tata Consultancy Services Limited Bilstm-siamese network based classifier for identifying target class of queries and providing responses thereof
CN109492227A (zh) * 2018-11-16 2019-03-19 大连理工大学 一种基于多头注意力机制和动态迭代的机器阅读理解方法
CN109783817A (zh) * 2019-01-15 2019-05-21 浙江大学城市学院 一种基于深度强化学习的文本语义相似计算模型
CN110134757A (zh) * 2019-04-19 2019-08-16 杭州电子科技大学 一种基于多头注意力机制的事件论元角色抽取方法
CN110298037A (zh) * 2019-06-13 2019-10-01 同济大学 基于增强注意力机制的卷积神经网络匹配的文本识别方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3454260A1 (en) * 2017-09-11 2019-03-13 Tata Consultancy Services Limited Bilstm-siamese network based classifier for identifying target class of queries and providing responses thereof
CN108932342A (zh) * 2018-07-18 2018-12-04 腾讯科技(深圳)有限公司 一种语义匹配的方法、模型的学习方法及服务器
CN109213995A (zh) * 2018-08-02 2019-01-15 哈尔滨工程大学 一种基于双语词嵌入的跨语言文本相似度评估技术
CN109492227A (zh) * 2018-11-16 2019-03-19 大连理工大学 一种基于多头注意力机制和动态迭代的机器阅读理解方法
CN109783817A (zh) * 2019-01-15 2019-05-21 浙江大学城市学院 一种基于深度强化学习的文本语义相似计算模型
CN110134757A (zh) * 2019-04-19 2019-08-16 杭州电子科技大学 一种基于多头注意力机制的事件论元角色抽取方法
CN110298037A (zh) * 2019-06-13 2019-10-01 同济大学 基于增强注意力机制的卷积神经网络匹配的文本识别方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Mueller J.Siamese recurrent architectures for learning sentence similarity.《thirtieth AAAI conference on artificial intelligence》.2016,1-7. *
王明阳.句子级和段落级的语义相似度算法的设计与实现.《中国优秀硕士学位论文全文数据库信息科技辑》.2019,(第8期),I138-1507. *

Also Published As

Publication number Publication date
CN110781680A (zh) 2020-02-11

Similar Documents

Publication Publication Date Title
CN110781680B (zh) 基于孪生网络和多头注意力机制的语义相似度匹配方法
Du et al. Convolution-based neural attention with applications to sentiment classification
Dos Santos et al. Deep convolutional neural networks for sentiment analysis of short texts
Ren et al. Conversational query understanding using sequence to sequence modeling
CN110222163A (zh) 一种融合cnn与双向lstm的智能问答方法及系统
CN110781306B (zh) 一种英文文本的方面层情感分类方法及系统
CN113297364A (zh) 一种面向对话系统中的自然语言理解方法及装置
CN111914553B (zh) 一种基于机器学习的金融信息负面主体判定的方法
CN112232053A (zh) 一种基于多关键词对匹配的文本相似度计算系统、方法、及存储介质
Pan et al. Macnet: Transferring knowledge from machine comprehension to sequence-to-sequence models
CN114417097A (zh) 一种基于时间卷积与自注意力的情感预测方法及系统
Hu et al. A multi-level supervised contrastive learning framework for low-resource natural language inference
CN111145914B (zh) 一种确定肺癌临床病种库文本实体的方法及装置
Fang et al. A method of automatic text summarisation based on long short-term memory
CN116975350A (zh) 图文检索方法、装置、设备及存储介质
CN113935459B (zh) 一种基于bert的深度神经网络模型的自动评卷方法
CN114282592A (zh) 一种基于深度学习的行业文本匹配模型方法及装置
Tsakiris et al. The development of a chatbot using Convolutional Neural Networks
Zhang et al. Description-Enhanced Label Embedding Contrastive Learning for Text Classification
Singh et al. Unity in diversity: Multilabel emoji identification in tweets
CN113807079A (zh) 一种基于序列到序列的端到端实体和关系联合抽取方法
Dilawari et al. Neural attention model for abstractive text summarization using linguistic feature space
CN115456176A (zh) 一种基于知识增强的文本匹配方法及系统
CN115510230A (zh) 一种基于多维特征融合与比较增强学习机制的蒙古语情感分析方法
Huang et al. Pqsct: Pseudo-siamese bert for concept tagging with both questions and solutions

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant