检查单词是否在NLTK同义词中的最快方法?

时间:2017-12-21 20:05:26

标签: python nlp nltk wordnet

我想检查NLTK的同义词中是否存在某些单词。以下代码执行此操作,

from nltk.corpus import wordnet
if wordnet.synsets(word): 
    ... do something ...

但如果你要检查很多单词,那就相当慢了。有更快的方法吗? 我不需要实际的synset对象,只有是/否,如果有任何东西的话。我没有提前提供单词列表,所以我无法预先计算答案。

1 个答案:

答案 0 :(得分:4)

因为你需要知道的是哪些单词匹配,形成一组所有的词条并在那里查找你的单词。形成集合非常快(当然集合查找更快)。

wn_lemmas = set(wordnet.all_lemma_names())
...
if word in wn_lemmas:
    <do something>