当前位置: 首页 > 专利查询>西北大学专利>正文

一种基于多关键词对匹配的文本相似度计算系统、方法、及存储介质技术方案

技术编号:27060608 阅读:46 留言:0更新日期:2021-01-15 14:40
本发明专利技术提出了一种基于多关键词对匹配的文本相似度计算系统、方法、及存储介质,对于文本P和Q,借助Word2vec、双向长短期记忆网络(BiLSTM)、注意力(Attention)机制以及双任务架构完成文本相似度计算。本发明专利技术通过WP‑Attention和双任务架构避免了噪声和冗余数据对模型性能的影响,模型结构简单、易于扩展、鲁棒性强,在实践中易于推广使用。

【技术实现步骤摘要】
一种基于多关键词对匹配的文本相似度计算系统、方法、及存储介质
本专利技术涉及文本挖掘和计算机
,具体而言,涉及一种基于多关键词对匹配的文本相似度计算系统、方法、及存储介质。
技术介绍
随着互联网和人工智能的迅速发展,互联网产生的信息呈现爆炸式的增长,人们迫切希望从海量信息中提取与自身需要和兴趣吻合度高的内容。为了满足此需求,出现了多种应用,如搜索引擎、自动问答系统、文档分类与聚类、文本信息检索等,而这些应用场景的关键技术之一就是文本相似度计算技术,这些应用的性能取决于句子相似度计算的准确性。自然语言处理任务中的文本相似度旨在研究两个文本在语义层面的匹配程度,若相似度越大,则两者的之间越匹配;若相似度越小,则两者之间越不匹配。文本语义相似度计算的核心以及最大的难点就是语义理解,只有对文本具有很好的认知能力、理解能力,才能具备精准的计算能力。文本相似度有着非常重要的意义,例如在某些特定领域(金融、医学)的自动问答系统,需要根据用户所描述的问题含义在已有数据库中进行检索匹配相关问题并返回最优答案,此时需要利用本文相似度技术计算最匹配的问题;在信息智能检索领域,搜索引擎需要对用户输入关键字的列出所有与该关键字相匹配的网页,并且利用文本相似度技术,对搜索结果进行进一步的处理,按照文本的相似度对搜索结果进行排序,以提高信息检索的质量。因此,研究文本相似度的算法具有重要的实际价值。现有的文本相似度计算方法主要包括:基于词袋模型的方法、基于神经网络的方法、基于知识库的方法和基于句法分析的方法。这些方法都是通过捕获文本的语义向量来计算文本的相似度。这些方法都只是对文本对<P、Q>进行浅层的相似度计算并且忽略了文本对<P、Q>本身的特征:存在冗余信息和噪声,大大影响了文本对<P、Q>相似度计算的准确性。
技术实现思路
本专利技术的目的在于文本相似度计算现有技术存在缺陷或者不足,解决文本对<P、Q>存在的冗余和噪声问题,使用多种语义层面和词、句子两个粒度来对文本对<P、Q>进行相似度计算,本专利技术公开基于多关键词对匹配的文本相似度计算系统、方法、及存储介质。为了实现上述任务,本专利技术采用如下技术方案予以实现:一种基于多关键词对匹配的文本相似度计算系统,至少包括依次相连的:文本预处理模块:将获取到的第一文本P、第二文本Q分别进行预处理,得到预处理后的文本对<P,Q>;预训练模块:将文本对<P,Q>通过预训练得到每个词的词向量;上下文模块:将预训练得到每个词的词向量进行语义编码,得到文本对<P,Q>的语义向量;关键词对抽取模块:从文本对<P,Q>中抽取多个具有不同语义层面的关键词对;词级别相似度计算模块:通过词级别的任务计算文本对<P,Q>词级别的相似度;句子级别相似度计算模块:通过句子级别的任务计算文本对<P,Q>句子级别的相似度;相似度结果输出模块:将文本对<P,Q>词级别的任务和句子级别的任务得到的相似度值经过权重加权求和,得到文本相似度值。本专利技术还公开了一种基于多关键词对匹配的文本相似度计算方法,包括如下步骤:步骤S1:将第一文本P、第二文本Q分别进行预处理,包括分词、去停用词处理,得到预处理后的文本对<P,Q>;步骤S2:将预处理之后的文本对<P,Q>通过Word2vec预训练得到词向量;步骤S3:将文本对<P,Q>进行词向量嵌入表示,然后使用BiLSTM得到文本对<P、Q>的上下文表示;步骤S4:使用提出的WP-Attention机制从文本对<P,Q>中抽取多个具有不同语义层面的关键词对;步骤S5:通过词级别的任务计算文本对<P,Q>词级别的相似度,即对每一个关键词对的语义向量进行相似度计算,再将结果求平均之后作为文本对<P,Q>词粒度的相似度;步骤S6:通过句子级别的任务计算文本对<P,Q>句子级别的相似度,即首先对文本对<P,Q>进行去噪,仅保留抽取关键词,得到关键词序列,然后送入BiLSTM聚合得到文本对<P,Q>的句子语义向量,分别对文本P,Q的语义向量进行相似度的计算作为文本对<P,Q>句子粒度的相似度;步骤S7:将步骤S5和S6得到的相似度值加权求和,得到最终的相似度值,输出结果。本专利技术还可以应用制成任意一种计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行本专利技术总体的基于多关键词对匹配的文本相似度计算方法。本专利技术与现有技术相比有益的技术效果:1.本方法通过抽取文本对<P,Q>关键词对,并且只使用这些关键词对来表示句子,避免了文本对<P,Q>中的冗余和噪声对相似度判断的影响。2.本方法通过抽取不同层面的关键词对,来从多个层面计算文本对<P,Q>关键词的相似度,并且通过词级别的任务和句子级别的任务从词和句子两个粒度来计算文本对<P,Q>的相似度,使得结果更加准确。3.本专利技术的模型结构简单、易于扩展、鲁棒性强,在实践中易于推广使用。附图说明图1是本专利技术的基于多关键词对匹配的文本相似度计算系统结构示意图。图2是本专利技术的基于多关键词对匹配的文本相似度计算方法具体流程图。图3是本专利技术的WP-Attention计算的结构示意图。以下结合附图及具体实施方式,对本专利技术涉及的具体内容作进一步详细说明。具体实施方式参加图1,一种基于多关键词对匹配的文本相似度计算系统,至少包括依次相连的:预处理模块:将获取到的文本P、文本Q分别进行预处理,得到预处理后的文本对<P,Q>;预训练模块:将预处理之后的文本对<P、Q>通过预训练得到每个词的词向量;上下文模块:将预训练得到每个词的词向量进行语义编码,得到文本对<P,Q>的语义向量;关键词对抽取模块:从文本对<P,Q>中抽取多个具有不同语义层面的关键词对;词级别相似度计算模块:通过词级别的任务计算文本对<P,Q>词级别的相似度;句子级别相似度计算模块:通过句子级别的任务计算文本对<P,Q>句子级别的相似度;相似度结果输出模块:将文本对<P,Q>词级别的任务和句子级别的任务得到的相似度值经过权重加权求和,得到文本相似度值。所述的预处理模块,对原始数据集完成分词、去停用词,得到文本对<P,Q>。进一步地,所述的预训练模块,预训练得到每个词的词向量为,使用Word2vec算法训练预处理后文本对<P,Q>的词-向量矩阵。...

【技术保护点】
1.一种基于多关键词对匹配的文本相似度计算系统,其特征在于,至少包括依次相连的:/n文本预处理模块:将获取到的第一文本P、第二文本Q分别进行预处理,得到预处理后的文本对<P,Q>;/n预训练模块:将文本对<P,Q>通过预训练得到每个词的词向量;/n上下文模块:将预训练得到每个词的词向量进行语义编码,得到文本对<P,Q>的语义向量;/n关键词对抽取模块:从文本对<P,Q>中抽取多个具有不同语义层面的关键词对;/n词级别相似度计算模块:通过词级别的任务计算文本对<P,Q>词级别的相似度;/n句子级别相似度计算模块:通过句子级别的任务计算文本对<P,Q>句子级别的相似度;/n相似度结果输出模块:将文本对<P,Q>词级别的任务和句子级别的任务得到的相似度值经过权重加权求和,得到文本相似度值。/n

【技术特征摘要】
1.一种基于多关键词对匹配的文本相似度计算系统,其特征在于,至少包括依次相连的:
文本预处理模块:将获取到的第一文本P、第二文本Q分别进行预处理,得到预处理后的文本对<P,Q>;
预训练模块:将文本对<P,Q>通过预训练得到每个词的词向量;
上下文模块:将预训练得到每个词的词向量进行语义编码,得到文本对<P,Q>的语义向量;
关键词对抽取模块:从文本对<P,Q>中抽取多个具有不同语义层面的关键词对;
词级别相似度计算模块:通过词级别的任务计算文本对<P,Q>词级别的相似度;
句子级别相似度计算模块:通过句子级别的任务计算文本对<P,Q>句子级别的相似度;
相似度结果输出模块:将文本对<P,Q>词级别的任务和句子级别的任务得到的相似度值经过权重加权求和,得到文本相似度值。


2.如权利要求1所述的基于多关键词对匹配的文本相似度计算系统,其特征在于:所述的预处理模块,对原始数据集完成分词、去停用词,得到文本对<P,Q>。


3.如权利要求1所述的基于多关键词对匹配的文本相似度计算系统,其特征在于:所述的预训练得到每个词的词向量为,使用Word2vec算法训练预处理后文本对<P,Q>的词-向量矩阵。


4.如权利要求1所述的基于多关键词对匹配的文本相似度计算系统,其特征在于:所述的上下文表示模块,首先对文本对<P,Q>序列进行词嵌入表示,然后将词嵌入表示通过一个BiLSTM得到文本对<P,Q>的上下文表示<hp,hq>。


5.如权利要求1所述的基于多关键词对匹配的文本相似度计算系统,其特征在于:所述的关键词对抽取模块,提出一种基于词对的注意力机制WP-Attention来计算文本对<P,Q>对P和Q的注意力分数,选择注意力分数最大的一组词作为关键词对<wp,wq>,使用不同的参数抽取多组表示不同语义层面的关键词对<wpk,wqk>,k=1,2,...,K。


6.如权利要求1所述的基于多关键词对匹配的文本相似度计算系统,其特征在于:所述的词级别相似度计算模块,通过词级别的任务计算对每一个关键词对的语义向量进行相似度计算,再将结果求平均之后作为文本对<P,Q>词粒度的相似度。


7.如权利要求1所述的基于多关键词对匹配的文本相似度计算系统,其特征在于:所述的句子级别相似度计算模块,首先进行去噪,即仅保留抽取的关键词,得到关键词序列,然后送入BiLSTM聚合得到文本对<P,Q>的句子语义向量,分别对文本P,Q的语义向量进行相似度的计算作为文本对<P,Q>句子粒度的相似度。


8.一种基于多关键词对匹配的文本相似度计算方法,其特征在于:包括如下步骤:
步骤S1:将第一文本P、第二文本Q分别进行预处理,包括分词、去停用词处理,得到预处理后的文本对<P,Q>;
步骤S2:将预处理之后的文本对<P,Q>通过Word2vec预训练得到词向量;
步骤S3:将文本对<P,Q>进行词向量嵌入表示,然后使用BiLSTM得到文本对<P,Q>的上下文表示;
步骤S4:使用提出的WP-Attention机制从文本对<P,Q>中抽取多个具有不同语义层面的关键词对;
步骤S5:通过词级别的任务计算文本对<P,Q>词级别的相似度,即对每一个关键词对的语义向量进行相似度计算,再将结果求平均之后作为文本对<P,Q>词粒度的相似度;
步骤S6:通过句子级别的任务计算文本对<P,Q>句子级别的相似度,即首先对文本对<P,Q>进行去噪,仅保留抽取关键词,得到关键词序列,然后送入BiLSTM聚合得到文本对<P,Q>的句子语义向量,分别对文本P,Q的语义向量进行相似度的计算作为文本对<P,Q>句子粒度的相似度;
步骤S7:将步骤S5和S6得到的相似度值加权求和,得到最终的相似度值,输出结果。


9.如权利要求8所述的基于基于多关键词对匹配的文本相似度计算方法,其特征在于:所述的步骤S1采用Jieba分词工具完成对文本对<P、Q>的分词,并对分词后的文本进行去停用词的操作,得到文本对<P,Q>。


10.如权利要求8所述的基于基于多关键词对匹配的文本相似度计算方法,其特征在于:步骤S2使用步骤S1预处理后的文本对<P,Q>作为训练语料,采用Word2vec算法预训练得到单词-向量矩阵wv_matrix,得到每个词到词向量的映射。


11.如权利要求8所述的基于基于多关键词对匹配的文本相似度计算方法,其特征在于:所述的步骤S3进一步包含如下步骤:
步骤S3.1使用Word2vec预训练词向量,字向量和精确匹配标记拼接在一起作为文本对<P,Q>的嵌入表示<Ep,Eq>;
步骤S3.2将文本对<P,Q>的嵌入表示送入BiLSTM得到文本对<P,Q>的嵌入的上下文表示<hp,h...

【专利技术属性】
技术研发人员:冯筠卢鑫孙霞邓瑶
申请(专利权)人:西北大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1