我想检查NLTK的同义词中是否存在某些单词。以下代码执行此操作,
from nltk.corpus import wordnet
if wordnet.synsets(word):
... do something ...
但如果你要检查很多单词,那就相当慢了。有更快的方法吗? 我不需要实际的synset对象,只有是/否,如果有任何东西的话。我没有提前提供单词列表,所以我无法预先计算答案。
答案 0 :(得分:4)
因为你需要知道的是哪些单词匹配,形成一组所有的词条并在那里查找你的单词。形成集合非常快(当然集合查找更快)。
wn_lemmas = set(wordnet.all_lemma_names())
...
if word in wn_lemmas:
<do something>