python-2个句子的语义相似性度量
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-2个句子的语义相似性度量,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1450字,纯文字阅读大概需要3分钟。
内容图文
![python-2个句子的语义相似性度量](/upload/InfoBanner/zyjiaocheng/662/7716a9f812fa46298df38e38b00eda76.jpg)
这个问题已经在这里有了答案: > How to compute the similarity between two text documents? 8个
我需要测量两个句子之间的相似度.例如:
s1 = "she is good a dog "
s2 = "she is nice a heel"
我需要证明“好”类似于“好”.对于名词和动词,按路径进行相似性度量的工作方式类似于此伪代码:
def get max :
for loop
(wn.synset ('dog ')).path_similarity(wn.synset ('animal'))
结果:.33,这是一个很高的值,那么这些词是相关的,我可以说这是相似的.但是对于副词(“ nice”和“ good”),. 09值很低!
有任何想法吗?
解决方法:
您可以找到所有好的同义词集的path_similarity然后选择最大值:
>>> from nltk.corpus import wordnet as wn
>>> n=wn.synsets('nice')
>>> g=wn.synsets('good')
>>> [i.path_similarity(n[0]) for i in g]
[0.0625, 0.06666666666666667, 0.07142857142857142, 0.09090909090909091, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None]
>>> max(i.path_similarity(n[0]) for i in g)
0.09090909090909091
请注意,单词的同义词集包含单词的许多形式,例如动词,none,adj等,因此您需要选择适当的单词!
另外,您还可以使用wup_similarity:
>>> round(max(i.wup_similarity(n[0]) for i in g), 1)
0.4
Wu-Palmer Similarity: Return a score denoting how similar two word senses are, based on the depth of the two senses in the taxonomy and that of their Least Common Subsumer (most specific ancestor node).
阅读更多关于Synsets http://www.nltk.org/howto/wordnet.html的信息
内容总结
以上是互联网集市为您收集整理的python-2个句子的语义相似性度量全部内容,希望文章能够帮你解决python-2个句子的语义相似性度量所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。