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

Fastest way to check if word is in NLTK synsets?

我想检查 NLTK 的同义词集中是否存在某些词。下面的代码就是这样做的,

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

但如果要检查的单词很多,速度会很慢。有没有更快的方法? 我不需要实际的同义词集对象,只需要 yes/no(如果有的话)。我没有提前的单词列表,所以我无法预先计算答案。

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

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