Python工具包-中文处理工具FoolNLTK
FoolNTLK的使用
簡(jiǎn)介
NLTK(自然語(yǔ)言處理工具包)可以說(shuō)是五花八門,但是,用戶wu.zheng開源的這個(gè)使用雙向LSTM構(gòu)建的中文處理工具包FoolNLTK,不僅可以實(shí)現(xiàn)分詞、詞性標(biāo)注和命名實(shí)體識(shí)別,同時(shí)還能使用用戶自定義字典加強(qiáng)分詞的效果。該工具包Github官方地址,不過(guò),最近的一次維護(hù)已經(jīng)是一年前了。該工具包有Java版本,Pyhton版本后端使用TensorFlow。
工具包特點(diǎn)
- 可能不是最快的開源中文分詞,但很可能是最準(zhǔn)的開源中文分詞
- 基于BiLSTM模型訓(xùn)練而成
- 包含分詞,詞性標(biāo)注,實(shí)體識(shí)別, 都有比較高的準(zhǔn)確率
- 用戶自定義詞典
- 可訓(xùn)練自己的模型
- 批量處理
參考論文
上述所說(shuō)的BiLSTM可以參考這篇論文。
具體使用
安裝
pip install foolnltk安裝默認(rèn)下載模型。
分詞
import fooldef cut_words():text = "一個(gè)傻子在北京"print(fool.cut(text))也可以使用命令行對(duì)文件進(jìn)行分詞
python -m fool [filename]可指定-b參數(shù),每次切割的行數(shù),能加快分詞速度
用戶自定義詞典(類似jieba)
詞典每一行格式如下,詞的權(quán)重越高,詞的長(zhǎng)度越長(zhǎng)就越越可能出現(xiàn), 權(quán)重值請(qǐng)大于1
詞語(yǔ)名稱 權(quán)重值(建議整數(shù)且大于1)加載詞典并使用,示例如下。
def user_dict():import foolfool.load_userdict('myDict.txt')text = ["我在北京天安門看你難受香菇", "我在北京曬太陽(yáng)你在非洲看雪"]print(fool.cut(text))刪除字典
fool.delete_userdict()詞性標(biāo)注(標(biāo)注規(guī)則見官方文檔)
def cixinbiaozhu():import fooltext = ["一個(gè)傻子在北京"]print(fool.pos_cut(text))實(shí)體識(shí)別
import fooltext = ["一個(gè)傻子在北京", "你好啊"] words, ners = fool.analysis(text) print(ners)補(bǔ)充說(shuō)明
我的環(huán)境是Linux下Python3環(huán)境,Windows環(huán)境下類似。找不到模型文件的, 可以看下sys.prefix,一般默認(rèn)為/usr/local/。具體代碼和配置好的Linux下的venv環(huán)境可以查看我的GitHub。
總結(jié)
以上是生活随笔為你收集整理的Python工具包-中文处理工具FoolNLTK的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 数字笔记-Notion使用教程
- 下一篇: Python爬虫-代理ip池建立