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