一种基于同义词典的短文本相似度匹配方法及系统与流程

文档序号:17131203发布日期:2019-03-16 01:15阅读:263来源:国知局
一种基于同义词典的短文本相似度匹配方法及系统与流程

本发明涉及通信技术领域,特别是一种基于同义词典的短文本相似度匹配方法及其应用该方法的系统。



背景技术:

在文本相似度的度量算法中,经常会用到word2vec训练网络。但是,对于出现频率很低的词语(如出现次数小于5次),word2vec训练网络训练得到的低频词的词向量表示效果就会比较差,甚至是直接去除停用词和低频词,极大的降低了相似度算法的准确性。



技术实现要素:

本发明为解决上述问题,提供了一种基于同义词典的短文本相似度匹配方法及系统,对高频词和低频词采用不同的算法,并将高频词和低频词重新融合为完整的同义词典来计算短文本的相似度,算法准确性更高。

为实现上述目的,本发明采用的技术方案为:

一种基于同义词典的短文本相似度匹配方法,其包括以下步骤:

a.对待处理的短文本进行分词处理,并对分词结果进行词频统计;

b.对于词频大于预设的词频阈值的分词结果,则利用词语语义相似度,对词语语义相似度大于预设的相似度阈值的分词结果进行构建第一同义词典;

c.对于词频小于或等于预设的词频阈值的分词结果,则利用字符串相似度,对字符串相似度高于预设的相似度阈值的分词结果进行构建第二同义词典,并对所述第一同义词典和所述第二同义词典进行聚类处理,得到所述短文本的完整同义词典;或者,直接将字符串相似度高于预设的相似度阈值的分词结果存放到所述第一同义词典中的对应位置,得到更新的第一同义词典,即得到所述短文本的完整同义词典;

d.计算所述完整同义词典中的所有词语与其同义词的欧氏距离或余弦相似度,并利用带有所述欧氏距离或余弦相似度的完整同义词典计算两个短文本之间的语义相似度。

优选的,所述的步骤a中,是指通过结巴分词工具对所述短文本进行分词处理,并去除停用词,得到分词结果;并利用python工具对所述分词结果进行词频统计,得到每个分词结果对应的词频。

进一步的,所述的步骤b中,对于词频大于预设的词频阈值的分词结果,采用word2vec算法进行学习每个分词结果的词向量,并根据所述词向量进行计算各个分词结果之间的词语语义相似度,对词语语义相似度大于预设的相似度阈值的分词结果进行构建第一同义词典。

优选的,所述的步骤c中,对于词频小于或等于预设的词频阈值的分词结果,利用编辑距离进行计算各个分词结果之间的字符串相似度,并根据所述字符串相似度对所述分词结果进行聚类处理。

进一步的,所述的步骤c中,对于词频小于或等于预设的词频阈值的分词结果,所述聚类处理是以所述分词结果中的任一个为类中心,计算其他分词结果与所述类中心之间的编辑距离,进而得到其他分词结果与所述类中心之间的字符串相似度;以此类推进行遍历所述分词结果,并对字符串相似度高于预设的相似度阈值的分词结果进行构建第二同义词典。

或者,所述的步骤c中,对于词频小于或等于预设的词频阈值的分词结果,所述聚类处理是以所述第一同义词典中的任一个类别为类中心,计算所述分词结果与所述类中心之间的编辑距离,进而得到所述分词结果与所述类中心之间的字符串相似度;以此类推进行遍历所述分词结果,并直接将字符串相似度高于预设的相似度阈值的分词结果存放到所述第一同义词典中的对应类别位置,得到更新的第一同义词典。

优选的,所述的步骤b中,对词语语义相似度大于预设的相似度阈值的分词结果进行构建第一同义词典;所述的步骤c中,对字符串相似度高于预设的相似度阈值的分词结果进行构建第二同义词典,或者,直接将字符串相似度高于预设的相似度阈值的分词结果存放到所述第一同义词典中的对应位置;是利用机器学习库gensim进行查找前n个大于预设的相似度阈值的分词结果及其对应的词语语义相似度或字符串相似度。

优选的,所述的步骤d中,根据rwmd算法进行计算第一短文本的完整同义词典和第二短文本的完整同义词典之间的欧式距离,得到第一短文本与第二短文本的相似度;或者,根据rwms算法进行计算第一短文本的完整同义词典和第二短文本的完整同义词典之间的余弦相似度,得到第一短文本与第二短文本的相似度。

对应的,本发明还提供一种基于同义词典的短文本相似度匹配系统,其包括:

文本预处理模块,用于对待处理的短文本进行分词处理,并对分词结果进行词频统计;

高频词的同义词典构建模块,其对于词频大于预设的词频阈值的分词结果,则利用词语语义相似度,对词语语义相似度大于预设的相似度阈值的分词结果进行构建第一同义词典;

低频词的同义词典构建模块,其对于词频小于或等于预设的词频阈值的分词结果,则利用字符串相似度,对字符串相似度高于预设的相似度阈值的分词结果进行构建第二同义词典,并对所述第一同义词典和所述第二同义词典进行聚类处理,得到所述短文本的完整同义词典;或者,直接将字符串相似度高于预设的相似度阈值的分词结果存放到所述第一同义词典中的对应位置,得到更新的第一同义词典,即得到所述短文本的完整同义词典;

同义词典的相似度计算模块,用于计算所述完整同义词典中的所有词语与其同义词的欧氏距离或余弦相似度,并利用带有所述欧氏距离或余弦相似度的完整同义词典计算两个短文本之间的语义相似度。

本发明的有益效果是:

(1)本发明通过对高频词和低频词采用不同的算法,并将高频词和低频词重新融合为完整的同义词典来计算短文本的相似度,算法准确性更高;

(2)本发明对高频词采用词语语义相似度算法,对低频词采用字符串相似度算法,能够兼顾算法的准确性和计算效率,适用范围更广;

(3)本发明对低频词的相似度计算结果进一步进行聚类处理,使得低频词与高频词的同义词典相融合得到完整的同义词典,从而便于对短文本之间进行相似度匹配,算法准确性更高。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为第一实施例的基于同义词典的短文本相似度匹配方法的流程简图;

图2为第二实施例的基于同义词典的短文本相似度匹配方法的流程简图。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图及实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

如图1和图2所示,本发明的一种基于同义词典的短文本相似度匹配方法,其包括以下步骤:

a.对待处理的短文本进行分词处理,并对分词结果进行词频统计;

b.对于词频大于预设的词频阈值的分词结果,则利用词语语义相似度,对词语语义相似度大于预设的相似度阈值的分词结果进行构建第一同义词典;

c.对于词频小于或等于预设的词频阈值的分词结果,则利用字符串相似度,对字符串相似度高于预设的相似度阈值的分词结果进行构建第二同义词典,并对所述第一同义词典和所述第二同义词典进行聚类处理,得到所述短文本的完整同义词典(如图1所示);或者,直接将字符串相似度高于预设的相似度阈值的分词结果存放到所述第一同义词典中的对应位置,得到更新的第一同义词典,即得到所述短文本的完整同义词典(如图2所示);

d.计算所述完整同义词典中的所有词语与其同义词的欧氏距离或余弦相似度,并利用带有所述欧氏距离或余弦相似度的完整同义词典计算两个短文本之间的语义相似度。

所述的步骤a中,是指通过结巴分词工具对所述短文本进行分词处理,并去除停用词,得到分词结果;并利用python工具对所述分词结果进行词频统计,得到每个分词结果对应的词频。

所述的步骤b中,对于词频大于预设的词频阈值的分词结果,采用word2vec算法进行学习每个分词结果的词向量,并根据所述词向量进行计算各个分词结果之间的词语语义相似度,对词语语义相似度大于预设的相似度阈值的分词结果进行构建第一同义词典。例如,预设的词频阈值为5;对于词频大于5的分词结果,利用词向量查找每个分词结果的词语语义最接近的20个其他分词结果,将该21个分词结果组成一个同义词典,得到第一同义词典。

所述的步骤c中,对于词频小于或等于预设的词频阈值的分词结果,利用编辑距离进行计算各个分词结果之间的字符串相似度,并根据所述字符串相似度对所述分词结果进行聚类处理。例如,预设的词频阈值为5;对于词频小于或等于5的分词结果,则利用字符串相似度对该部分分词结果进行聚类处理。本实施例中,根据不同的类中心可采用不同的聚类处理方法:

聚类方法1:以所述分词结果中的任一个为类中心,计算其他分词结果与所述类中心之间的编辑距离,进而得到其他分词结果与所述类中心之间的字符串相似度;以此类推进行遍历所述分词结果,并对字符串相似度高于预设的相似度阈值的分词结果进行构建第二同义词典。

聚类方法2:以所述第一同义词典中的任一个类别为类中心,计算所述分词结果与所述类中心之间的编辑距离,进而得到所述分词结果与所述类中心之间的字符串相似度;以此类推进行遍历所述分词结果,并直接将字符串相似度高于预设的相似度阈值的分词结果存放到所述第一同义词典中的对应类别位置,得到更新的第一同义词典。

所述的步骤b中,对词语语义相似度大于预设的相似度阈值的分词结果进行构建第一同义词典;所述的步骤c中,对字符串相似度高于预设的相似度阈值的分词结果进行构建第二同义词典,或者,直接将字符串相似度高于预设的相似度阈值的分词结果存放到所述第一同义词典中的对应位置;是利用机器学习库gensim进行查找前n个大于预设的相似度阈值的分词结果及其对应的词语语义相似度或字符串相似度;或者也可以直接通过阈值法进行计算,不以此为限。

所述的步骤d中,根据rwmd算法进行计算第一短文本的完整同义词典和第二短文本的完整同义词典之间的欧式距离,得到第一短文本与第二短文本的相似度;或者,根据rwms算法进行计算第一短文本的完整同义词典和第二短文本的完整同义词典之间的余弦相似度,得到第一短文本与第二短文本的相似度。其中,所述rwmd算法是wmd的改进算法,rwmd算法中计算两个欧式词间的距离(distance)来表示词语间的相关性(距离越大,相似度或者相关性就越小),其优点是能够降低计算复杂度,提高计算速度。所述rwms算法是将wmd算法中的距离表示改为计算余弦相似度(similar),d换成s可理解为词语到另外一个词语的可替换度。若所述同义词典中存储的是词语和词语间的相似度,则采用rwms算法;若所述同义词典中存储的是词语及距离该词语最近的若干个词语,则采用rwmd算法。

对应的,本发明还提供一种基于同义词典的短文本相似度匹配系统,其包括:

文本预处理模块,用于对待处理的短文本进行分词处理,并对分词结果进行词频统计;

高频词的同义词典构建模块,其对于词频大于预设的词频阈值的分词结果,则利用词语语义相似度,对词语语义相似度大于预设的相似度阈值的分词结果进行构建第一同义词典;

低频词的同义词典构建模块,其对于词频小于或等于预设的词频阈值的分词结果,则利用字符串相似度,对字符串相似度高于预设的相似度阈值的分词结果进行构建第二同义词典,并对所述第一同义词典和所述第二同义词典进行聚类处理,得到所述短文本的完整同义词典;或者,直接将字符串相似度高于预设的相似度阈值的分词结果存放到所述第一同义词典中的对应位置,得到更新的第一同义词典,即得到所述短文本的完整同义词典;

同义词典的相似度计算模块,用于计算所述完整同义词典中的所有词语与其同义词的欧氏距离或余弦相似度,并利用带有所述欧氏距离或余弦相似度的完整同义词典计算两个短文本之间的语义相似度。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

并且,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

上述说明示出并描述了本发明的优选实施例,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1