在wordNet中,**好**对**坏**和**好**对** **之间的路径相似性得分

时间:2017-09-08 05:47:10

标签: python nlp nltk wordnet

我试图了解wordNet在2个Synset之间给出的路径相似性得分


    good = wn.synset('good.n.01')
    bad = wn.synset('bad.n.01')
    better = wn.synset('better.n.01')
    print good.path_similarity(better)
    print good.path_similarity(good)
    print good.path_similarity(bad)

输出


    0.166666666667
    1.0
    0.2

好的和好的得分在0.16666之间,得分在好的和坏的是0.2和ofcorse得分为1.0的好和好。 但是,好与坏之间的分数如何大于好而且更好,因为它们都具有几乎相同的语义含义

所以我在这里遗漏了一些东西,这不是路径相似性的工作方式,有人能解释一下吗?

2 个答案:

答案 0 :(得分:0)

您为" good":

选择了错误的同义词集
good = nltk.wordnet.wordnet.synset('good.n.03')
good.path_similarity(better)
#0.5
good.path_similarity(bad)
#0.33333333333333

答案 1 :(得分:0)

可能您没有使用正确的synset:

http://labs.fc.ul.pt/dishin/

good-noun-3 vs bad-noun-1

Measure MICA/DiShIn (Ex/In)trinsic  Similarity
Resnik  MICA    intrinsic   3.49406003202
Lin MICA    intrinsic   0.459704995741
Jiang&Conrath   MICA    intrinsic   0.121755310731

good-noun-3 vs better-noun-3

Measure MICA/DiShIn (Ex/In)trinsic  Similarity
Resnik  MICA    intrinsic   7.78451947317
Lin MICA    intrinsic   0.876326016756
Jiang&Conrath   MICA    intrinsic   0.455119613313