我想在WordNet中找到至少18个字符长的单词。我尝试了以下代码:

from nltk.corpus import wordnet as wn
sorted(w for w in wn.synset().name() if len(w)>18)

我收到以下错误消息:



我正在使用Python 3.4.3。

如何修复我的代码?

最佳答案

使用wn.all_lemma_names()获取所有引理的列表。我相信这是您将从Wordnet中得到的所有单词,因此不需要遍历同义词集(但是如果您愿意,可以为每个引理调用同义词集)。

您可能需要按长度对匹配进行排序:

longwords = [ n for n in wn.all_lemma_names() if len(n) > 18 ]
longwords.sort(key=len, reverse=True)

关于python - NLTK-WordNet : list of long words,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34083039/

10-13 01:22