English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

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

출력 결과

성능

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']
>>>
Elasticsearch 튜토리얼