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

时间:2010-12-21 15:17:49

标签: python spell-checking

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

4 个答案:

答案 0 :(得分:29)

两种可能的方法:

  1. 拥有自己拥有的所有文件 有效的话。将文件加载到 设置并比较每个单词以查看 它是否存在于其中(单词中的单词)
  2. (更好的方法)使用PyEnchant,一个Python的拼写检查库
  3. 现在没有积极维护PyEnchant。

答案 1 :(得分:6)

我一直在寻找相同的功能,并且很难找到适用于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

使用定时器检查,您会发现这几乎没有时间搜索该套装。 1000字的测试耗时0.004秒。

答案 2 :(得分:2)

我个人使用过:http://textblob.readthedocs.io/en/dev/ 这是一个活跃的项目,根据网站:

拼写纠正是基于Peter Norvig在模式库中实现的“如何编写拼写校正器”[1]。准确率约为70%

答案 3 :(得分:0)

Yahoo通过YQL提供拼写检查API

非常简单,你可以获得5000个查询/ IP地址/天用于非商业用途(免费)