在Python中使用Enchant获得类似的单词建议

当我们写东西时,我们经常发生拼写错误的单词。为了克服这个问题,Python提供了Enchant模块。这主要用于检查单词的拼写并为拼写错误的单词提出更正建议。许多流行的拼写检查软件包也使用它来执行此任务,包括ispell,aspell和MySpell。它在处理多种词典和多种语言方面非常灵活。

要安装此程序,我们在命令提示符下使用此命令行。

pip安装pyenchant

示例

Input
>>> import enchant
>>> d.suggest("prfomnc")
Output::['prominence', 'performance', 'preform', 'Provence', 'preferment', 'proforma']

范例程式码

import enchant, difflib
d = enchant.Dict("en_US")
my_word="prfomnc"
dict,max = {},0
a = set(d.suggest(my_word))
for b in a:
   tmp = difflib.SequenceMatcher(None, my_word, b).ratio();
   dict[tmp] = b
   if tmp > max:
      max = tmp
print (dict[max])

输出结果

performance

Dict对象是PyEnchant模块中最重要的对象,它代表字典,这些对象用于检查单词的拼写并获取拼写错误的单词的建议。

>>> import enchant
>>> d = enchant.Dict("en_US")
>>> d.check("Hello")
True
>>> d.check("Helo")
False
>>>

还使用指定要检查的语言的语言标记来创建字典。

>>> d = enchant.Dict()
>>> d.tag
'en_AU'
>>> print d.tag
en_AU
>>>

附魔模块中有不同的功能可用于处理字典。

dict_exists-检查Dict是否可用于给定语言。

request_dict-构造并返回一个新的Dict对象。

list_languages-显示可用字典的语言列表。

>>> enchant.dict_exists("fake")
False
>>> enchant.dict_exists("en_US")
True
>>> d = enchant.request_dict("en_US")
>>> d
<enchant.Dict object at 0x2aaaabdffa50>
>>> enchant.list_languages()
['en', 'en_CA', 'en_GB', 'en_US', 'eo', 'fr', 'fr_CH', 'fr_FR']
>>>