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