python PyEnchant(拼寫檢查)
本文主要是記錄了一下pyenchant包的安裝以及簡單使用。這個包主要功能是對英語單詞進行拼寫檢查,並可以對拼寫錯誤的單詞推薦一些可能的正確單詞。
1 installing PyEnchant
使用pip直接安裝即可,指令如下:
pip install pyenchant
使用上述指令,如果安裝沒有錯誤就是安裝成功了,一般情況下(mac、ubuntu等系統)是沒有任何問題的。但是在亞馬遜的EC2機器上,使用上述指令會提示錯誤。主要原因是EC2系統上缺少enchant
組建,這裡就需要在EC2機器上安裝該組建。使用如下指令:
sudo yum install enchant
安裝好enchant
之後,在使用pip安裝pyenchant
即可。但是在python中使用enchant
時,會發現剛剛裝好的enchant
沒有安裝預設字典。這就需要另外安裝常用英語字典,來支援pyenchant
的正常使用,使用如下指令:
sudo yum install aspell-en
sudo yum install enchant-aspell
2 基礎用法
2.1 建立和使用Dictionary Object
在PyEnchant中最主要的就是Dict
物件,我們可以使用它來檢查單詞的拼寫是否正確,同時還可以對拼寫錯誤的單詞提供幾個可能的正確拼寫。
首先介紹如何建立Dict
物件,並用其檢查某個單詞的拼寫:
>>> import enchant
>>> d = enchant.Dict("en_US")
>>> d.check("Hello")
True
>>> d.check("Helo")
False
建立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
,檔案中每一行只存放一個單詞。
enchant模組還提供瞭如下幾個關於語言的方法:
方法 | 描述 |
---|---|
enchant.dict_exits(language) | 檢視當前enchant模組是否支援某種語言 |
enchant.list_languages() | 檢視當前enchant模組支援的所有語言 |
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']
2.2 檢查一段文字的拼寫
這裡使用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
2.3 英語分詞器(Tokenization)
將英語文字進行分詞,返回結果格式(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)]
3 更多enchant功能與用法,請檢視如下連結
相關文章
- 用 Python 做單詞拼寫檢查Python
- 怎樣寫一個拼寫檢查器(Python 版)Python
- idea取消拼寫檢查Idea
- vscode配置拼寫檢查VSCode
- 去除ckeditor裡的拼寫檢查
- 21行Python程式碼實現拼寫檢查器Python
- 使用SPELLCHECK屬性禁用輸入框拼寫檢查
- Android基礎知識之拼寫檢查框架Android框架
- 雜湊表:如何實現word編輯器的拼寫檢查?
- Win10系統下禁用OneNote中拼寫檢查的方法Win10
- 貝葉斯推斷及其網際網路應用(三):拼寫檢查
- pycharm一些減少程式碼warning的拼寫檢查設定PyCharm
- java 實現中英文拼寫檢查和錯誤糾正?可我只會寫 CRUD 啊!Java
- IBM Lotus Symphony 拼寫檢查功能介紹及使用者擴充套件IBM套件
- python多程式檢查埠並寫日誌Python
- PowerPoint 教程:如何在 PowerPoint 中檢查拼寫?
- 基於海量詞庫的單詞拼寫檢查、推薦到底是咋做的?
- win10訪問xp共享一直提示請檢查拼寫怎麼解決Win10
- Python 型別檢查Python型別
- win10無法訪問共享檔案提示找不到請檢查拼寫名稱的解決方法Win10
- webstorm(二):拼寫warningWebORM
- 【MV】物化檢視查詢重寫
- 教你如何檢查 Python 版本Python
- 關閉簡體中文版Office 2007/2010中文拼寫檢查,提高儲存速度
- 關於Room資料庫,拼寫模糊查詢語句遇到的問題OOM資料庫
- Python中的型別檢查Python型別
- 如何用 Linux 幫助你拼寫Linux
- javascript實現文字拼寫動畫效果JavaScript動畫
- 【SQL】Oracle查詢轉換之物化檢視查詢重寫SQLOracle
- win10 ltsb共享提示請檢查名稱的拼寫否則網路可能有問題的最佳解決方法Win10
- python程式碼檢查工具(靜態程式碼審查)Python
- elasticsearch拼寫糾錯之Term SuggesterElasticsearch
- win10訪問網路共享提示請檢查名稱的拼寫,否則網路可能有問題怎麼修復Win10
- 使用物化檢視查詢重寫 優化對於 UNION ALL檢視的CONNECT BY查詢優化
- 怎麼檢查是否安裝了pythonPython
- python庫怎麼檢查和安裝?Python
- 如何用Python做三階拼圖?Python
- 淺析物化檢視與查詢重寫(Enable query rewrite)