wordNet 中**good** vs **bad** 和**good** vs **better** 之间的路径相似度得分

Path similarity score between **good** vs **bad** and **good** vs **better** in wordNet

我正在尝试了解 wordNet 在 2 个同义词集之间给出的路径相似度分数


    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。 但是好与坏之间的得分如何大于好与好,因为它们具有几乎相同的语义

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

您为 "good" 选择了错误的同义词集:

good = nltk.wordnet.wordnet.synset('good.n.03')
good.path_similarity(better)
#0.5
good.path_similarity(bad)
#0.33333333333333

可能您没有使用正确的同义词集:

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

好名词 3 与坏名词 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 与 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