如何规范化[0,1]之间的相似性测量(lch,wup,path,res,lin,jcn)?

时间:2016-03-02 15:18:03

标签: python nltk wordnet

我正在尝试计算两个单词之间的语义相似度。我正在使用基于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

    
  

0 个答案:

没有答案