本技术涉及自然语言处理,尤其涉及一种文本匹配方法及装置。
背景技术:
1、自然语言处理中,文本匹配方法广泛应用于各个领域,如问答匹配,自然语言检索,文本蕴含识别,文本相似度计算等。其输入是两段不同的文本,模型输出需要判断两段文本是否满足某种匹配要求。
2、传统的文本匹配通常使用词袋模型,tf-idf,jaccard距离等方法,比较两段文本中字符的区别。基于机器学习或深度学习的文本匹配模型通常使用预训练词向量和神经网络或预训练语言模型进行匹配,将文本中的文字向量化后,比较文本内容的差异。但此类方法因为仅考虑了两段文本匹配时的交互作用影响,从而使文本匹配的结果较差。
技术实现思路
1、本技术实施例提供一种文本匹配方法及装置,用以解决相关技术中文本匹配的结果较差的技术问题。
2、第一方面,本技术实施例提供一种文本匹配方法,包括:
3、获取第一文本的句表征向量和第二文本的句表征向量,并获取所述第一文本的含有词级交互信息的表征向量和所述第二文本的含有词级交互信息的表征向量;
4、基于所述第一文本的句表征向量和所述第一文本的含有词级交互信息的表征向量,确定第一匹配特征向量,并基于所述第二文本的句表征向量和所述第二文本的含有词级交互信息的表征向量,确定第二匹配特征向量;
5、基于所述第一匹配特征向量和所述第二匹配特征向量,确定文本匹配结果。
6、在一些实施例中,所述获取第一文本的句表征向量和第二文本的句表征向量,包括:
7、获取所述第一文本的三层表征向量列表和所述第二文本的三层表征向量列表,所述表征向量列表中包括词表征向量;
8、基于每层的词表征向量,确定每层的句表征向量;
9、基于每层的句表征向量,获取第一文本的句表征向量和第二文本的句表征向量。
10、在一些实施例中,获取所述第一文本的三层表征向量列表和所述第二文本的三层表征向量列表,包括:
11、拼接所述第一文本和所述第二文本得到第三文本;
12、将所述第三文本中的词映射至词id列表,获取所述第一文本的三层表征向量列表和所述第二文本的三层表征向量列表。
13、在一些实施例中,所述获取所述第一文本的含有词级交互信息的表征向量和所述第二文本的含有词级交互信息的表征向量,包括:
14、基于所述第一文本的表征向量列表和所述第二文本的表征向量列表,确定所述第一文本相对于所述第二文本的表征向量列表和所述第二文本相对于所述第一文本的表征向量列表;
15、将所述第一文本相对于所述第二文本的表征向量列表进行加权求和,得到所述第一文本的含有词级交互信息的表征向量;将所述第二文本相对于所述第一文本的表征向量列表进行加权求和,得到所述第二文本的含有词级交互信息的表征向量。
16、在一些实施例中,所述基于所述第一文本的表征向量列表和所述第二文本的表征向量列表,确定所述第一文本相对于所述第二文本的表征向量列表和所述第二文本相对于所述第一文本的表征向量列表,包括:
17、按词遍历所述第一文本的表征向量列表和所述第二文本的表征向量列表,确定词级别相似度矩阵;
18、基于所述词级别相似度矩阵,确定所述第一文本相对于所述第二文本的表征向量列表和所述第二文本相对于所述第一文本的表征向量列表。
19、在一些实施例中,所述基于所述第一文本的句表征向量和所述第一文本的含有词级交互信息的表征向量,确定第一匹配特征向量,包括:
20、基于所述第一文本的句表征向量和所述第一文本的含有词级交互信息的表征向量,确定第一交互特征向量;
21、拼接所述第一交互特征向量、所述第一文本的句表征向量和所述第一文本的含有词级交互信息的表征向量,确定所述第一匹配特征向量。
22、在一些实施例中,所述基于所述第二文本的句表征向量和所述第二文本的含有词级交互信息的表征向量,确定第二匹配特征向量,包括:
23、基于所述第二文本的句表征向量和所述第二文本的含有词级交互信息的表征向量,确定第二交互特征向量;
24、拼接所述第二交互特征向量、所述第二文本的句表征向量和所述第二文本的含有词级交互信息的表征向量,确定所述第二匹配特征向量。
25、在一些实施例中,所述基于所述第一匹配特征向量和所述第二匹配特征向量,确定文本匹配结果,包括:
26、拼接所述第一匹配特征向量和所述第二匹配特征向量,确定融合特征向量;
27、基于所述融合特征向量,确定所述文本匹配结果。
28、第二方面,本技术实施例还提供一种文本匹配装置,包括:
29、第一获取模块,用于获取第一文本的句表征向量和第二文本的句表征向量,并获取所述第一文本的含有词级交互信息的表征向量和所述第二文本的含有词级交互信息的表征向量;
30、第一确定模块,用于基于所述第一文本的句表征向量和所述第一文本的含有词级交互信息的表征向量,确定第一匹配特征向量,并基于所述第二文本的句表征向量和所述第二文本的含有词级交互信息的表征向量,确定第二匹配特征向量;
31、第二确定模块,用于基于所述第一匹配特征向量和所述第二匹配特征向量,确定文本匹配结果。
32、在一些实施例中,所述第一获取模块包括第一获取子模块,第一确定子模块,第二获取子模块,其中:
33、所述第一获取子模块用于获取所述第一文本的三层表征向量列表和所述第二文本的三层表征向量列表,所述表征向量列表中包括词表征向量;
34、所述第一确定子模块用于基于每层的词表征向量,确定每层的句表征向量;
35、所述第二获取子模块用于基于每层的句表征向量,获取第一文本的句表征向量和第二文本的句表征向量。
36、在一些实施例中,获取第一获取子模块包括第一处理单元,第一获取单元,其中:
37、所述第一处理单元用于拼接所述第一文本和所述第二文本得到第三文本;
38、所述第一获取单元用于将所述第三文本中的词映射至词id列表,获取所述第一文本的三层表征向量列表和所述第二文本的三层表征向量列表。
39、在一些实施例中,所述第一获取模块还包括第二确定子模块,第一处理子模块,其中:
40、所述第二确定子模块用于基于所述第一文本的表征向量列表和所述第二文本的表征向量列表,确定所述第一文本相对于所述第二文本的表征向量列表和所述第二文本相对于所述第一文本的表征向量列表;
41、所述第一处理子模块用于将所述第一文本相对于所述第二文本的表征向量列表进行加权求和,得到所述第一文本的含有词级交互信息的表征向量;将所述第二文本相对于所述第一文本的表征向量列表进行加权求和,得到所述第二文本的含有词级交互信息的表征向量。
42、在一些实施例中,所述第二确定子模块包括第一确定单元,第二确定单元,其中:
43、所述第一确定单元用于按词遍历所述第一文本的表征向量列表和所述第二文本的表征向量列表,确定词级别相似度矩阵;
44、所述第二确定单元用于基于所述词级别相似度矩阵,确定所述第一文本相对于所述第二文本的表征向量列表和所述第二文本相对于所述第一文本的表征向量列表。
45、在一些实施例中,所述第一确定模块包括第三确定子模块,第四确定子模块,其中:
46、所述第三确定子模块用于基于所述第一文本的句表征向量和所述第一文本的含有词级交互信息的表征向量,确定第一交互特征向量;
47、所述第四确定子模块用于拼接所述第一交互特征向量、所述第一文本的句表征向量和所述第一文本的含有词级交互信息的表征向量,确定所述第一匹配特征向量。
48、在一些实施例中,所述第二确定模块包括第五确定子模块,第六确定子模块,其中:
49、所述第五确定子模块用于基于所述第二文本的句表征向量和所述第二文本的含有词级交互信息的表征向量,确定第二交互特征向量;
50、所述第六确定子模块用于拼接所述第二交互特征向量、所述第二文本的句表征向量和所述第二文本的含有词级交互信息的表征向量,确定所述第二匹配特征向量。
51、在一些实施例中,所述第三确定模块包括第七确定子模块,第八确定子模块,其中:
52、所述第七确定子模块用于拼接所述第一匹配特征向量和所述第二匹配特征向量,确定融合特征向量;
53、所述第八确定子模块用于基于所述融合特征向量,确定所述文本匹配结果。
54、第三方面,本技术实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述文本匹配方法。
55、第四方面,本技术实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述文本匹配方法。
56、第五方面,本技术实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述文本匹配方法。
57、本技术实施例提供的文本匹配方法及装置,根据匹配中的两段文本的句表征向量和含有词级交互信息的表征向量,可以分别确定两段文本的匹配特征向量,从而确定文本匹配结果,能够对匹配中的两段文本的表征向量做融合句级别和词级别的深度特征匹配,且能够保留各自的表征能力,能提升文本匹配的准确率。