Computer >> Máy Tính >  >> Lập trình >> Python

Nhận đề xuất các từ tương tự bằng cách sử dụng Enchant trong Python

Khi chúng ta viết một cái gì đó, rất nhiều lần xảy ra với chúng ta rằng chúng ta viết sai chính tả một số từ. Để khắc phục vấn đề này, Python cung cấp mô-đun Enchant. Điều này chủ yếu được sử dụng để kiểm tra chính tả của các từ và đề xuất sửa chữa cho các từ bị sai chính tả. Nó cũng được sử dụng trong nhiều gói kiểm tra chính tả phổ biến để thực hiện tác vụ này, bao gồm ispell, aspell và MySpell. Nó rất linh hoạt trong việc xử lý nhiều từ điển và nhiều ngôn ngữ.

Để cài đặt, chúng tôi sử dụng dòng lệnh này trong dấu nhắc lệnh.

pip cài đặt pyenchant

Ví dụ

 Đầu vào>>> nhập mê hồn>>> d.suggest ("prfomnc") Đầu ra ::['prominence', 'performance', 'preform', 'Provence', 'preferment', 'proforma']  

Mã mẫu

 import Enchant, difflibd =Enchant.Dict ("en_US") my_word ="prfomnc" dict, max ={}, 0a =set (d.suggest (my_word)) cho b trong a:tmp =difflib.SequenceMatcher ( Không, my_word, b) .ratio (); dict [tmp] =b if tmp>
 max:max =tmpprint (dict [max]) 

Đầu ra

 hiệu suất 

Đối tượng Dict là đối tượng quan trọng nhất trong mô-đun PyEnchant, đại diện cho một từ điển và các đối tượng này được sử dụng để kiểm tra chính tả của các từ và nhận đề xuất cho các từ sai chính tả.

>>> import Enchant>>> d =Enchant.Dict ("en_US")>>> d.check ("Xin chào") Đúng>>> d.check ("Helo") Sai>>>  

Từ điển cũng được tạo bằng THẺ NGÔN NGỮ chỉ định ngôn ngữ cần kiểm tra.

>>> d =Enchant.Dict ()>>> d.tag'en_AU '>>> in d.tagen_AU>>> 

Có các chức năng khác nhau trong mô-đun Enchant có thể được sử dụng để xử lý từ điển.

dict_exists - Để kiểm tra xem một Dict có khả dụng cho một ngôn ngữ nhất định hay không.

request_dict - Để tạo và trả về một đối tượng Dict mới.

list_languages ​​ - Hiển thị danh sách các ngôn ngữ mà các Phái có sẵn.

>>> Enchant.dict_exists ("giả") Sai>>> Enchant.dict_exists ("en_US") Đúng>>> d =Enchant.request_dict ("en_US")>>> d >>> Enchant.list_languages ​​() ['en', 'en_CA', 'en_GB', 'en_US', 'eo', 'fr', 'fr_CH', ​​'fr_FR']>>>