使用 Python 中的 Enchant 获取相似词建议


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

安装它,请在命令提示符中使用以下命令:

pip install 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
>>>

Enchant 模块中有一些不同的函数可以用于处理字典。

dict_exists − 检查给定语言的 Dict 是否可用。

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

list_languages − 显示可用的 Dict 的语言列表。

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

更新于:2019年7月30日

302 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.