python PyEnchant(檢查拼寫)


一。PyEnchant(檢查拼寫)

1.安裝:

使用pip直接安裝:
    pip3 install pyenchant

在Linux服務器中部署安裝問題及解決方案:
以上命令安裝如果失敗,檢查本機是否有enchant組件,沒有執行命令安裝:
sudo yum install enchant

安裝常用英語字典命令,來支持pyenchant的正常使用
sudo yum install aspell-en
sudo yum install enchant-aspell

2.基礎用法:

PyEnchant中最主要的就是Dict對象,我們可以使用它來檢查單詞的拼寫是否正確,同時還可以對拼寫錯誤的單詞提供幾個可能的正確拼寫。

PyEnchant附帶一些字典(en_GB,en_US,de_DE,fr_FR),但如果你想要更多語言,可以使用任何OpenOffice字典

>>> import enchant
>>> d = enchant.Dict("en_US")
>>> d.check("Hello")
True
>>> d.check("Helo")
False
>>> d.suggest("Helo")
['He lo', 'He-lo', 'Hello', 'Helot', 'Help', 'Halo', 'Hell', 'Held', 'Helm', 'Hero', "He'll"]
>>>

2.1.創建Dict對象可以使用如下方式:

方法描述:
d = enchant.Dict(language)                     #使用指定語言創建Dict對象
d = enchant.request_dict(language)             #使用指定語言創建Dict對象
d = enchant.request_pwl_dict(filename)         #只用本地文件中的詞匯創建Dict對象
d = enchant.DictWithPWL(language, filename)    #將內置某語言以及本地文件中的詞匯合並來創建Dict對象
注意上述方法中用到了本地文件filename,文件中每一行只存放一個單詞。

2.2.enchant模塊還提供了如下幾個關於語言的方法:

方法描述:
enchant.dict_exits(language)    #查看當前enchant模塊是否支持某種語言
enchant.list_languages()        #查看當前enchant模塊支持的所有語

2.3.Dict對象有如下方法與屬性方便用戶使用:

方法or屬性描述:
d = enchant.Dict(language)    #指定語言創建一個Dict對象
d.tag                         #當前Dict使用的語言
d.check(word)                 #檢查word的拼寫是否正確
d.suggest(word)               #對拼寫錯誤的word提供幾個正確拼寫的單詞
>>> import enchant
>>> d = enchant.Dict("en_US")
>>> d.tag
'en_US'
>>> d.check("Hello")
True
>>> d.check("Helo")
False
>>> d.suggest("helo")
['hole', 'hello', 'helot', 'halo', 'hero', 'hell', 'held', 'helm', 'help', 'he lo']
>>> enchant.dict_exists("aa")
False
>>> enchant.dict_exists("en_US")
True
>>> enchant.list_languages()
['de_DE', 'en_AU', 'en_GB', 'en_US', 'fr_FR']
方法演示

3.檢查一段文本中的拼寫

這里使用enchant.checker中的SpellChecker類來解決對一整段文本中的單詞進行拼寫檢查

>>> from enchant.checker import SpellChecker
>>> chkr = SpellChecker("en_US")
>>> chkr.set_text("This is sme sample txt with erors.")
>>> for err in chkr:
...     print "ERROR", err.word
...
ERROR sme
ERROR txt
ERROR erors

4.英語分詞器

將英語文本進行分詞,返回結果格式(word, pos),其中pos是word在整個文本中出現的位置

>>> from enchant.tokenize import get_tokenizer
>>> tknzr = get_tokenizer("en_US")
>>> [w for w in tknzr("this is some simple text.")]
[('this', 0), ('is', 5), ('some', 8), ('simple', 13), ('text', 20)]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM