Thư viện pyenchant (cài: pip install pyenchant) hỗ trợ kiểm tra chính tả và gợi ý sửa lỗi, dùng cho nhiều ngôn ngữ.
Ví dụ cơ bản
import enchant
d = enchant.Dict("en_US")
print(d.check("Hello")) # True
print(d.check("Helo")) # False
print(d.suggest("Helo")) # ['Hello', 'Helot', 'Helios', ...]
Tìm gợi ý gần nhất (kết hợp difflib)
import enchant, difflib
d = enchant.Dict("en_US")
my_word = "prfomnc"
best_match = ""
max_ratio = 0
for suggestion in d.suggest(my_word):
ratio = difflib.SequenceMatcher(None, my_word, suggestion).ratio()
if ratio > max_ratio:
max_ratio = ratio
best_match = suggestion
print(best_match) # performance
Các hàm hữu ích
enchant.dict_exists("en_US")– Kiểm tra từ điển có sẵn.enchant.request_dict("en_US")– Tạo đối tượng Dict.enchant.list_languages()– Liệt kê ngôn ngữ hỗ trợ.
Hỗ trợ đa ngôn ngữ
>> enchant.list_languages()
['en', 'en_CA', 'en_GB', 'en_US', 'eo', 'fr', 'fr_CH', 'fr_FR', ...]
Ứng dụng
- Spell checker cho trình soạn thảo, IDE.
- Tự động sửa lỗi nhập liệu người dùng.
- Xử lý ngôn ngữ tự nhiên (NLP) tiền xử lý.