我需要从事一个需要 NLTK 的项目,所以我两周前开始学习 Python,但很难理解 Python 和 NLTK。
从 NLTK 文档中,我可以理解以下代码,如果我在下面的代码中手动添加单词 apple 和 pear,它们可以很好地工作。
from nltk.corpus import wordnet as wn
apple = wn.synset('apple.n.01')
pear = wn.synset('pear.n.01')
print apple.lch_similarity(pear)
Output: 2.53897387106
但是,我需要使用 NLTK 来处理项目列表。例如,我有一个下面的项目列表,我想将 list1 中的项目与 list2 进行比较 - 例如:将 list1 中的 word1 与列表 2 中的每个单词进行比较,然后将 list1 中的 word2 与 list2 中的每个单词进行比较,直到所有单词list1 进行比较。
list1 = ["apple", "honey", "drinks", "flowers", "paper"]
list2 = ["pear", "shell", "movie", "fire", "tree", "candle"]
wordFromList1 = list1[0]
wordFromList2 = list2[0]
wordFromList1 = wn.synset(wordFromList1)
wordFromList2 = wn.synset(wordFromList2)
print wordFromList1.lch_similarity(wordFromList2)
上面的代码当然会出错。谁能告诉我如何将变量传递给synset 方法 [wn.synset(*pass_variable_in_here*)] 以便我可以使用双循环来获取它们的 lch_similarity 值。谢谢你。