Python:检查单词是否拼写正确

Nik*_*lai 19 python spell-checking

我正在寻找一种简单的方法来检查某个字符串是否是正确拼写的英文单词.例如,'looking'将返回True,而'hurrr'将返回False.我不需要拼写建议或任何拼写纠正功能.只是一个简单的函数,它接受一个字符串并返回一个布尔值.

use*_*312 31

两种可行的方法:

  1. 拥有自己的文件,其中包含所有有效的单词.将文件加载到一个集合中并比较每个单词以查看它是否存在(单词集合)
  2. (更好的方法)使用PyEnchant,一个Python的拼写检查库

现在没有积极维护PyEnchant.

  • 使用集合而不是列表,并询问`my_set`中是否有单词以获得更好的性能. (3认同)

Chr*_*arr 7

我一直在寻找相同的功能,并努力寻找一个适用于Windows 64位的现有库.PyEnchant虽然是一个很棒的库,但目前还没有活动,不能在64位工作.我发现的其他库在Windows中不起作用.

我终于找到了一个解决方案,我希望其他人会觉得有价值.

解决方案...

  • 使用nltk
  • 从nltk.corpus.brown中提取单词列表
  • 将单词列表转换为集合(用于高效搜索)
  • 使用in关键字确定您的字符串是否在集合中

from nltk.corpus import brown
word_list = brown.words()
word_set = set(word_list)

# Check if word is in set
"looked" in word_set  # Returns True
"hurrr" in word_set  # Returns False
Run Code Online (Sandbox Code Playgroud)

使用定时器检查,你会发现这几乎没有时间来搜索集合.1000字的测试耗时0.004秒.