Python:字符串的语义相似性分数

参见英文答案 > Similarity between two text documents                                    5个答案                            是否有任何用于计算一对句子的语义相似性分数的库?

我知道WordNet的语义数据库,以及我如何能够生成2个单词的分数,但是我正在寻找在整个句子和输出上执行所有预处理任务,如端口引导,停止单词删除等的库两个句子的相关性得分。

我发现使用.NET框架编写的work正在进行中,该框架使用一系列预处理步骤来计算分数。
有没有任何项目在python这样做?

我不是在寻找有助于我找到分数的操作顺序(如here所要求的那样)
我希望自己实现每个阶段,或者从不同的库中粘贴函数,使其适用于句子对,但是我主要需要这个工具来测试数据的推断。

编辑:我正在考虑使用NLTK并计算每两个单词在两句话中迭代的分数,然后从结果的标准偏差中得出推论,但我不知道这是否是合理的相似估计。此外,这将需要很长的时间长串。
再次,我正在寻找已经实现智能的项目/库。可以让我这样做的东西

import amazing_semsim_package
str1='Birthday party ruined as cake explodes'
str2='Grandma mistakenly bakes cake using gunpowder'

>>similarity(str1,str2)
>>0.889
我看到的最好的包是Gensim,发现在Gensim Homepage.我已经使用了很多次,总体来说非常高兴,它的易用性;它是用Python编写的,并且有一个易于遵循的tutorial让你开始,比较9个字符串。它可以通过点安装,所以你不会有很多麻烦得到它安装我希望。

您使用哪种评分算法在很大程度上取决于您的问题的上下文,但如果您想要基本的东西,我建议您使用LSI功能。 (这是教程引导您完成的。)

如果您通过gensim的教程,它将引导您比较两个字符串,使用“相似性”函数。这将使您能够根据其所包含的文本来了解您的蜇如何相互比较或其他刺痛。

如果您对科学背后的科学感兴趣,请查看this paper.

http://stackoverflow.com/questions/17022691/python-semantic-similarity-score-for-strings

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:Python:字符串的语义相似性分数