我在计算两个词之间的语义相似度。我使用的是基于Wordnet的相似性度量,即Resnik measure(Resnik measure,Resnik measure,Lin measure(Lin)),Jiang,Conrath measure(JNC)和(LCH),但是相似性值不在[0-1]之间,所以我需要规范化相似性值,因为有些度量值给出的值介于0和1之间,而其他度量值则大于1。甚至这个词都是相似或不同的。在
代码示例:
from nltk.corpus import wordnet as wn
from nltk.corpus import wordnet_ic
brown_ic = wordnet_ic.ic('ic-brown.dat')
s1 = wordnet.synsets("car")
s2 = wordnet.synsets("car")
wn.wup_similarity(s1[0], s2[0])
1.0
wn.lch_similarity(s1[0], s2[0])
3.6375861597263857
wn.path_similarity(s1[0], s2[0])
1.0
wn.jcn_similarity(s1[0], s2[0], brown_ic)
1e+300
wn.res_similarity(s1[0], s2[0], brown_ic)
7.591401417609093
wn.lin_similarity(s1[0], s2[0], brown_ic)
1.0
目前没有回答
相关问题 更多 >
编程相关推荐