只是想看到一个单词是英语还是不行。这个:
english_words = set(nltk.corpus.words.words())
print("revised" in english_words)
结果假。难道我做错了什么?这是可以预料的?是否有这样做的更好的方法?谢谢。
看来,“修订”的确不在词表:
import nltk
english_words = set(nltk.corpus.words.words())
for w in english_words:
if w.startswith("revise"):
print(w)
打印以下列表:
reviser
revise
revisee
revisership
基于this source,第4.1节,这是那里的单词列表源自于:
该字语料库是在/ usr /共享/字典/单词从Unix文件
所以,你必须决定你的使用情况,如果从NLTK提供的单词列表就够了,或者如果你想切换到一个更完整的(和更大的)一个。
尝试这个
from nltk.corpus import wordnet
if not wordnet.synsets(word_to_test):
#Not an English Word
else:
#English Word