检测英语单词和NLTK的话语料库

问题描述 投票:1回答:2

只是想看到一个单词是英语还是不行。这个:

english_words = set(nltk.corpus.words.words())
print("revised" in english_words)

结果假。难道我做错了什么?这是可以预料的?是否有这样做的更好的方法?谢谢。

python nlp nltk
2个回答
2
投票

看来,“修订”的确不在词表:

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提供的单词列表就够了,或者如果你想切换到一个更完整的(和更大的)一个。


1
投票

尝试这个

from nltk.corpus import wordnet

if not wordnet.synsets(word_to_test):
  #Not an English Word
else:
  #English Word
© www.soinside.com 2019 - 2024. All rights reserved.