我试图找到使用wordnet的python nltk两个单词之间的相似性。两个样本关键字是'游戏'和'莱昂纳多'。首先,我提取了这两个单词的所有同义词,并对每个同义词进行交叉匹配以找到它们的相似性。这里是我的代码python nltk返回单词结果为wordnet相似性度量
from nltk.corpus import wordnet as wn
xx = wn.synsets("game")
yy = wn.synsets("leonardo")
for x in xx:
for y in yy:
print x.name
print x.definition
print y.name
print y.definition
print x.wup_similarity(y)
print '\n'
这里是总输出:
game.n.01与规则的较量,以确定一个胜利者leonardo.n.01 意大利画家,雕刻家和工程师和科学家和建筑师; 意大利文艺复兴时期最多才多艺的天才(1452-1519) 0.285714285714
game.n.02运动或其他竞赛leonardo.n.01 意大利画家,雕刻家和工程师,科学家和建筑师的单次播放; 意大利文艺复兴时期最多才多艺的天才(1452-1519) 0.285714285714
game.n.03游或消遣leonardo.n.01意大利画家,雕刻家 和工程师兼科学家和建筑师;意大利文艺复兴时期最多才多艺的天才 (1452-1519) 0.25
game.n.04动物捕猎食物或运动leonardo.n.01意大利0画家,雕刻家和工程师,科学家和建筑师;意大利文艺复兴时期的 最多才多艺的天才(1452-1519) 0.923076923077
game.n.05(网球)的在此期间,一名球员提供 leonardo.n.01意大利画家,雕刻家和工程师,发挥分工科学家 和建筑师;意大利文艺复兴时期 (1452-1519) 0.222222222222
game.n.06(游戏)在特定点的分数或分数的最多才多艺的天才需要 赢得leonardo.n.01意大利画家和雕塑家和工程师和 科学家和建筑师;意大利文艺复兴时期 的最多才多艺的天才(1452-1519) 0.285714285714
game.n.07是用于食品 leonardo.n.01意大利画家,雕刻家和工程师和科学家 野生动物的肉和建筑师;意大利文艺复兴时期 的最多才多艺的天才(1452-1519) 0.5
plot.n.01秘密计划做一些事情(尤指 阴招或非法)leonardo.n.01意大利画家,雕刻家和 工程师和科学家和建筑师;在 意大利文艺复兴时期(1452-1519) 0.2
game.n.09的最多才多艺的天才,以便在需要的游戏设备玩特定游戏 leonardo.n.01意大利画家,雕刻家和工程师和科学家 和建筑师;意大利文艺复兴时期最多才多艺的天才 (1452-1519) 0.666666666667
game.n.10你的职业或工作线路leonardo.n。01意大利0画家和雕塑家兼工程师和科学家和建筑师;意大利文艺复兴时期的 最多才多艺的天才(1452-1519) 0.25
game.n.11轻浮琐碎或行为leonardo.n.01意大利画家 和雕刻家和工程师,科学家和建筑师;意大利文艺复兴时期最 多才多艺的天才(1452-1519) 0.222222222222
bet_on.v.01发生在leonardo.n.01意大利画家和雕塑家 和工程师,科学家和建筑师赌注;的 最多才多艺的天才意大利文艺复兴时期(1452-1519) -1
crippled.s.01在脚或腿leonardo.n.01意大利0画家,雕刻家和工程师,科学家和建筑师禁用;意大利文艺复兴时期的 最多才多艺的天才(1452-1519) -1
game.s.02愿意面对leonardo.n.01意大利画家,雕刻家 和工程师兼科学家和建筑师的危险;最多才多艺的天才 意大利文艺复兴时期(1452-1519) -1
但game.n.04和leonardo.n.01之间的相似性是非常奇怪的。我认为相似度(0.923076923077)不应该这么高。
game.n.04
动物捕猎食物或运动
leonardo.n.01
的意大利画家,雕刻家和工程师,科学家和建筑师;意大利文艺复兴时期(1452-1519)
0.923076923077
最多才多艺的天才有没有用我的概念什么问题吗?
感谢您的解释。但是什么计算会显示它们的原始/近似不相似性? – qmaruf
@QuaziMarufurRahman取决于你如何定义“不相似性”。你可能会用'path_distance()'方法得到更好的结果,但这取决于你想要测量的是什么。 – Aya
其实我想要一些测量,表明不相似('游戏','国际象棋')比差异性要小得多('游戏','leonardo') – qmaruf