在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'] >>>