2010-12-21 115 views
10

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

回答

24

两种可能的方式:

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

谢谢,这正是我在等待答案时所做的;) – Nikolai 2010-12-21 15:34:34

0

雅虎提供拼写通过YQL检查API

它很简单,你会得到非商业用途5000个查询/ IP地址/天(FREE)

1

我一直在寻找相同的功能,并在努力寻找现有的库,在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秒。

0

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

拼写校正是基于彼得·诺维格的“如何写的拼写检查” [1]在模式库中实现。它约为70%准确