我正在尝试计算两个单词之间的语义相似度。我正在使用基于Wordnet的相似性度量,即Resnik度量(RES),Lin度量(LIN),Jiang,Conrath度量(JNC)和(LCH),但相似度值不在[0-1]之间,所以我需要标准化相似度值,因为某些度量值介于0和1之间,而其他值则给出大于1的值。即使单词相似或不同。
代码示例: 的 的
的从nltk.corpus导入wordnet作为wn
来自nltk.corpus导入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
的