一种基于词林和词向量的文本相似度计算方法技术

技术编号:34468551 阅读:16 留言:0更新日期:2022-08-10 08:42
一种基于词林和词向量的文本相似度计算方法,利用同义词词林和wordsim

【技术实现步骤摘要】
一种基于词林和词向量的文本相似度计算方法


[0001]本专利技术涉及文本分析
,具体涉及一种基于词林和词向量的文本相似度计算方法。

技术介绍

[0002]随着计算机互联网络的飞速发展,文本相似度计算在许多领域有着广泛的应用。例如,在机器翻译中,语义相似度通过衡量参考译文与机器翻译输出结果的等价程度来估量机器翻译的质量。此外,在信息检索、情感分析、文本分类、文本聚类、自动问答、语义消歧等领域中文本相似度计算更是一项基础而又重要的工作。在计算文本相似度时,现有技术一般使用基于语义的同义词词林、词向量等计算,采用这种方法,没有考虑到文本中词语间的相关性。相关性反映的是两个词语互相关联的程度。可以用这两个词语在同一个语境中共现的可能性衡量。词语相关性也是一个[ 0, 1] 之间的实数。例如“医生”和“疾病”两个词语, 其相似性非常低, 而相关性却很高。

技术实现思路

[0003]本专利技术为了克服以上技术的不足,提供了一种通过构建相关词词林,并与同义词词林和词向进行融合,以达到更加准确有效地分析文本之间的相似程度的方法。
[0004]本专利技术克服其技术问题所采用的技术方案是:一种基于词林和词向量的文本相似度计算方法,包括如下步骤:a)对待处理的两条文本分别进行分词操作,得到两个词汇列表,第一个词汇列表中有个词,第二个词汇列表中有个词;b)计算第一个词汇列表中的第一个词与第二个词汇列表中所有词的相似度,取相似度的最大值作为第一个词汇列表中第一个词与第二个词汇列表的相似度;c)重复步骤b)次,直至完成计算第一个词汇列表中其余个词分别与第二个词汇列表中所有词的相似度,求取个相似度的平均值作为第一个词汇列表与第二个词汇列表的相似度sim1;d)计算第二个词汇列表中的第一个词与第一个词汇列表中所有词的相似度,取相似度的最大值作为第一个词汇列表中第一个词与第二个词汇列表的相似度;e)重复步骤d)次,直至完成计算第二个词汇列表中其余个词分别与第一个词汇列表中所有词的相似度,求取个相似度的平均值作为第二个词汇列表与第一个词汇列表的相似度sim2;f)计算相似度sim1与相似度sim2的平均值,得到两条文本的相似度。
[0005]进一步的,步骤b)中计算相似度的步骤为:b

1)判断第一个词汇列表中的第一个词与第二个词汇列表中对应的词是否属于同一大类,如果属于,则使用基于同义词词林的计算相似度的算法计算两个词的相似度,如果不属于同一大类,则使用基于相关词词林的计算相似度的算法计算两个词的相似度;
b

2)使用权值系数对使用基于同义词词林的计算相似度的算法计算两个词的相似度与使用基于相关词词林的计算相似度的算法计算两个词的相似度进行求和得到第一个词汇列表中的第一个词与第二个词汇列表中所有词的相似度。
[0006]进一步的,步骤d)中计算相似度的步骤为:d

1)判断第二个词汇列表中的第一个词与第一个词汇列表中对应的词是否属于同一大类,如果属于,则使用基于同义词词林的计算相似度的算法计算两个词的相似度,如果不属于同一大类,则使用基于相关词词林的计算相似度的算法计算两个词的相似度;d

2)使用权值系数对使用基于同义词词林的计算相似度的算法计算两个词的相似度与使用基于相关词词林的计算相似度的算法计算两个词的相似度进行求和得到第二个词汇列表中的第一个词与第一个词汇列表中所有词的相似度。
[0007]进一步的,步骤b

1)与步骤d

1)中构建相关词词林的步骤为:b

1)预处理wordsim

240及wordsim

297两个数据集,wordsim

240分值为0

10,wordsim

297分值为0

5,读取wordsim

240数据集和wordsim

297数据集,将wordsim

240数据集和wordsim

297数据集分值范围调整为0

1,合并wordsim

240数据集和wordsim

297数据集,保留相似度大于0.2的词对,生成数据集1;b

2)查找数据集1中的词在同义词词林中的编码,如果同一个词有多个编码,则只选择两个词相似度最高的编码,生成数据集2,数据集2每行的格式为:词1的编码

词2的编码

相似度;b

3)扩展数据集2第一层到第四层的编码和相似度,生成数据集3;b

4)将数据集3中去除每行词语属于同一大类的所有编码和相似度,保留不同大类的数据,将重复的词对进行合并,对相似度取均值,生成数据集4;b

5)将数据集4中的词对按编码顺序排序,去除相似度低于0.1的词对,生成数据集5,数据集5即为最终生成的相关词词林。
[0008]本专利技术的有益效果是:利用同义词词林和wordsim

240、wordsim

297两个数据集,创建了相关词词林相似度表,并基于这两个词林,计算出基于词林的文本相似度。然后与词向量进行权值相加,计算出文本的相似度。通过构建相关词词林,并与同义词词林和词向进行融合,以达到更加准确有效地分析文本之间的相似程度。
附图说明
[0009]图1为本专利技术的方法结构框图;图2为本专利技术的相关词词表构建流程图;图3为本专利技术的基于词林相似度计算流程图;图4为本专利技术的基于词林和词向量相似度计算流程图。
具体实施方式
[0010]下面结合附图1至附图4对本专利技术做进一步说明。
[0011]一种基于词林和词向量的文本相似度计算方法,包括如下步骤:a)对待处理的两条文本分别进行分词操作,得到两个词汇列表,第一个词汇列表中有个词,第二个词汇列表中有个词。
[0012]b)计算第一个词汇列表中的第一个词与第二个词汇列表中所有词的相似度,取相似度的最大值作为第一个词汇列表中第一个词与第二个词汇列表的相似度。
[0013]c)重复步骤b)次,直至完成计算第一个词汇列表中其余个词分别与第二个词汇列表中所有词的相似度,求取个相似度的平均值作为第一个词汇列表与第二个词汇列表的相似度sim1。
[0014]d)计算第二个词汇列表中的第一个词与第一个词汇列表中所有词的相似度,取相似度的最大值作为第一个词汇列表中第一个词与第二个词汇列表的相似度。
[0015]e)重复步骤d)次,直至完成计算第二个词汇列表中其余个词分别与第一个词汇列表中所有词的相似度,求取个相似度的平均值作为第二个词汇列表与第一个词汇列表的相似度sim2。
[0016]f)计算相似度sim1与相似度sim2的平均值,得到两条文本的相似度。
...

【技术保护点】

【技术特征摘要】
1.一种基于词林和词向量的文本相似度计算方法,其特征在于,包括如下步骤:a)对待处理的两条文本分别进行分词操作,得到两个词汇列表,第一个词汇列表中有个词,第二个词汇列表中有个词;b)计算第一个词汇列表中的第一个词与第二个词汇列表中所有词的相似度,取相似度的最大值作为第一个词汇列表中第一个词与第二个词汇列表的相似度;c)重复步骤b)次,直至完成计算第一个词汇列表中其余个词分别与第二个词汇列表中所有词的相似度,求取个相似度的平均值作为第一个词汇列表与第二个词汇列表的相似度sim1;d)计算第二个词汇列表中的第一个词与第一个词汇列表中所有词的相似度,取相似度的最大值作为第一个词汇列表中第一个词与第二个词汇列表的相似度;e)重复步骤d)次,直至完成计算第二个词汇列表中其余个词分别与第一个词汇列表中所有词的相似度,求取个相似度的平均值作为第二个词汇列表与第一个词汇列表的相似度sim2;f)计算相似度sim1与相似度sim2的平均值,得到两条文本的相似度。2.根据权利要求1所述的基于词林和词向量的文本相似度计算方法,其特征在于,步骤b)中计算相似度的步骤为:b

1)判断第一个词汇列表中的第一个词与第二个词汇列表中对应的词是否属于同一大类,如果属于,则使用基于同义词词林的计算相似度的算法计算两个词的相似度,如果不属于同一大类,则使用基于相关词词林的计算相似度的算法计算两个词的相似度;b

2)使用权值系数对使用基于同义词词林的计算相似度的算法计算两个词的相似度与使用基于相关词词林的计算相似度的算法计算两个词的相似度进行求和得到第一个词汇列表中的第一个词与第二个词汇列表中所有词的相似度。3.根据权利要求2所述的基于词林和词向量的文本相似度计算方法,其特征在于:步骤d)中计算相似度的步骤为:d

1)判断第二个词汇列表中的第一个词与第一个词汇列表中对应的词是否属于同一大类,如果属于,则使用基于同义词词林的计算相似度的算法计算两个词的相似度,如果不属于同一大类,则使用基于相关词词林的计算相似度的算法计算两个词的相似度;d

2)使用...

【专利技术属性】
技术研发人员:王辉王建华高明尹青山
申请(专利权)人:山东新一代信息产业技术研究院有限公司
类型:发明
国别省市:

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

1