我试图了解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的好和好。 但是,好与坏之间的分数如何大于好而且更好,因为它们都具有几乎相同的语义含义
所以我在这里遗漏了一些东西,这不是路径相似性的工作方式,有人能解释一下吗?
答案 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:
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