一种基于关键词的多粒度中文短文本匹配方法

文档序号:31658530发布日期:2022-09-27 22:41阅读:107来源:国知局
一种基于关键词的多粒度中文短文本匹配方法

1.本发明属于自然语言处理领域,涉及一种基于关键词的多粒度中文短文本匹配方法。


背景技术:

2.随着大数据技术和互联网的发展,短文本信息飞速增长,如新闻、手机短信、网络聊天、购物介绍、出行提示等。在海量的信息中,如何获取与自身需要和吻合度更高的内容成为了关键所在,因此使得自然语言处理成为了研究的热点,而短文本匹配就是其中的关键技术之一,由此也成为一个热门的研究话题。短文本匹配指对于给定的两条短文本,按照语义的相似程度,判断是否匹配。
3.随着深度学习的发展,利用深度学习的方法研究短文本匹配任务成为了如今的主流方法。shen等人提出了基于卷积神经网络的深度语义结构化模型,得到句子的局部和全局信息从而进行匹配;paul等人提出孪生bilstm方法,在获得句中每一个词的前向和后向信息,利用上下文信息进行匹配;sandeep等人提出利用多任务训练的方法进行短文本匹配;chen等人提出bilstm结合注意力机制的方法进行短文本匹配;yang等人提出反复对齐和融合句子的原始特征、上下文特征、对齐特征的方法进行文本匹配。
4.现有技术中存在以下问题:(1)对于中文文本的特征信息提取不够充分,不同粒度的文本序列包含了不同的文本特征,现有的方法仅仅考虑了单一特征,缺乏多粒度的语义特征和多特征融合。(2)短文本内容简短,关键词对语义的影响比长文本更大,但是现有模型大都忽略了关键词信息。


技术实现要素:

5.有鉴于此,本发明的目的在于提供一种基于关键词的多粒度中文短文本匹配方法。
6.为达到上述目的,本发明提供如下技术方案:
7.一种基于关键词的多粒度中文短文本匹配方法,包括以下步骤:
8.s1:多粒度词嵌入:将句子分为字和词两个粒度,将两个粒度的句子统一填充到长度n,在对应数据集上训练word2vec,获得字和词两个粒度的嵌入表示
9.s2:上下文编码:用两个bigru对句子向量进行编码,获得句子两个方向的上下文信息;
10.s3:句子特征融合:用交叉注意力获得字粒度特征和词粒度特征之间的关联,再对其及逆行平均池化并连接获得句子最终的表示向量;
11.s4:关键词特征提取:连接两句子的词粒度嵌入向量,用11层transformer编码器和一层关注关键词的transformer进行编码;所述关注关键词的transformer是指在transformer的自注意力层中,句子一对句子二做注意力操作时只关注句子二的关键词,反之亦然;
12.s5:特征融合:连接关键词特征和两句子的表示向量作为最终的预测向量。
13.进一步,步骤s1中,通过词粒度信息提取模块和字粒度信息提取模块进行;
14.词粒度信息提取模块先将中文句子切分为基于词语的句子表示,再将句子填充到相同的长度n;通过在目标数据集上训练word2vec获得词语级别的嵌入向量;
15.字粒度信息提取模块先将中文句子切分为基于字的句子表示,再将句子填充到相同的长度n;通过在目标数据集上训练word2vec获得字粒度的嵌入向量。
16.进一步,步骤s2中,获得句子两个方向的上下文信息,具体通过以下方式计算:
[0017][0018]
其中,表示句子一字粒度的上下文表示向量,表示句子一字粒度的嵌入向量;
[0019]
句子一词粒度的上下文表示向量句子二字粒度的上下文表示向量句子二词粒度的上下文表示向量也用同样的方式计算。
[0020]
进一步,步骤s3具体通过以下方式计算:
[0021][0022][0023][0024]
其中,s1表示句子一的最终表示向量;句子二的最终表示向量s2也用同样的方式计算。
[0025]
进一步,步骤s4中,通过关键词特征提取模块进行关键词特征提取,选择名词作为关键词,通过jieba标注关键词。
[0026]
进一步,步骤s5中,利用特征提取模块,通过交叉注意力对同一个句子的字粒度信息和词粒度信息进行融合,对于两个句子的特征向量和关键词特征向量,先拼接两句子特征向量及它们的差值绝对值,然后拼接关键词特征向量:
[0027]
f=concat(s1,s2,|s
1-s2|,p
key
)
[0028]
最后将f传入mlp进行预测。
[0029]
本发明的有益效果在于:
[0030]
1)考虑到中文文本是由词语构成的,本发明从字粒度和词粒度两方面提取句子的特性信息,并通过交叉注意力融合两个粒度的特征,捕获它们之间的关联信息,提取到丰富的语义信息。
[0031]
2)由于句子文本长度较短,关键词对句子的语义的影响很大,本发明采用关注关键词的transformer编码器对句子进行编码,提取句子的关键词信息,提高模型的性能。
[0032]
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
[0033]
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
[0034]
图1为基于关键词的多粒度中文短文本匹配模型。
具体实施方式
[0035]
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0036]
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
[0037]
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
[0038]
本发明提供一种基于关键词的多粒度中文短文本匹配模型,包括词粒度信息提取模块、字粒度特征提取模块、关键词特征提取模块、特征融合模块和预测模块五部分,其结构如图1所示。
[0039]
在学习句子文本表示时,本发明提出的模型采用了孪生网络结构,孪生网络是对两个句子应用共享参数的相同结构的编码器进行编码,这样得到的编码得到的两个句子向量特征就欸映射到同一向量空间,在区分句子的语义差异方面表现更好并且保证了句子特征向量不被模型差异所影响。
[0040]
1)词粒度信息提取模块
[0041]
词粒度模块先将中文句子切分为基于词语的句子表示,再将句子填充到相同的长度n。通过在目标数据集上训练word2vec获得词语级别的嵌入向量。获得嵌入向量后,将其传入上下文编码层,上下文编码层由两个bigru组成,嵌入向量经两个bigru编码得到的结果就是句子最后的语义表示向量。
[0042]
2)字粒度信息提取模块
[0043]
词粒度模块先将中文句子切分为基于词语的句子表示,再将句子填充到相同的长度n。然后对句子做和词粒度句子同样的操作,先训练word2vec获得字粒度的嵌入向量,再将其传入上下文编码层编码得到包含上下文信息的语义表示向量。
[0044]
3)关键词特征提取模块
[0045]
在句子中,通常名词对句子语义的影响较大,因此选择名词作为关键词,通过jieba标注关键词。连接词粒度信息提取模块和字粒度信息提取模块的嵌入向量,先通过11层transformer编码层对向量进行编码获得特征向量,然后通过只关注关键词的transformer层获得关键词信息。
[0046]
4)特征融合模块
[0047]
对于同一个句子的字粒度信息和词粒度信息,通过交叉注意力进行融合。交叉注意力遵循与多头自注意力机制相似的原理,不同的是,自注意力机制中,q、k、v三个矩阵是从同一个矩阵计算出来的,而交叉注意力则是来自两个矩阵。对于两个句子的特征向量和关键词特征向量,先拼接两句子特征向量及它们的差值绝对值,然后拼接关键词特征向量。
[0048]
5)预测模块
[0049]
预测模块采用mlp分类器根据特征融合的结果判断两个句子的语义是否匹配。mlp由三个rule函数激活的完全连接的隐藏层和一个由softmax激活的输出层构成。
[0050]
本发明的具体实施步骤如下:
[0051]
步骤一:多粒度词嵌入。本发明首先使用分词工具jieba将句子分为字和词两个粒度,将两个粒度的句子统一填充到长度n,在对应数据集上训练word2vec,获得字和词两个粒度的嵌入表示
[0052]
步骤二:上下文编码。用两个bigru对句子向量进行编码,获得句子两个方向的上下文信息,如公式(1)(2)(3)(4)所示。
[0053][0054]
其中,表示句子一字粒度的上下文表示向量,表示句子一字粒度的嵌入向量,表示句子一字粒度的嵌入向量,也用同样的方式计算。
[0055]
步骤三:句子特征融合。用交叉注意力获得字粒度特征和词粒度特征之间的关联,再对其及逆行平均池化并连接获得句子最终的表示向量,如公式(2)(3)(4)所示:
[0056][0057][0058][0059]
其中,s1表示句子一的最终表示向量,s2也用同样的方式计算。
[0060]
步骤四:关键词特征提取。连接两句子的词粒度嵌入向量,用11层transformer编码器和一层关注关键词的transformer进行编码。其中关注关键词的transformer是指在transformer的自注意力层中,句子一对句子二做注意力操作时只关注句子二的关键词,反之亦然。
[0061]
步骤五:最终的特征融合。连接关键词特征和两句子的表示向量作为最终的预测向量:
[0062]
f=concat(s1,s2,|s
1-s2|,p
key
)
[0063]
最后将f传入mlp进行预测。
[0064]
本发明的数据集在大规模开放数据集lcqmc和银行领域数据集bq上进行实验,数
据集的划分和数据量的组成如表1所示。
[0065]
表1
[0066][0067]
本发明采用精确率p、召回率r和准确率acc、综合评价f1值作为评价指标,计算方法如公式(8)~(10)所示:
[0068][0069][0070][0071][0072]
其中,tp表示将正类预测为正类的数量,fn表示将正类预测为负类的数目,fp表示将负类预测为正类的数目,tn表示将负类预测为负类的数目。
[0073]
本发明的实验环境是基于tensorflw和keras框架,采用nvidia tesla p100 gpu训练模型,预训练模型的嵌入维度是768,编码层的维度也设置为768,预测模块的隐藏层激活函数是relu和softmax,设置每个隐藏层的单元数为60个。采用动态的学习率,初始学习率为0.001,batch_size设置为512,优化函数是adam。实验采用了早停机制,设置patience为10。
[0074]
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1