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
可能您没有使用正确的同义词集:
好名词 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
我正在尝试了解 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
可能您没有使用正确的同义词集:
好名词 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