當前位置:成語大全網 - 新華字典 - 如何利用Python對中文進行分詞處理

如何利用Python對中文進行分詞處理

python做中文分詞處理主要有以下幾種:結巴分詞、NLTK、THULAC

1、fxsjy/jieba

結巴的標語是:做最好的 Python 中文分詞組件,或許從現在來看它沒做到最好,但是已經做到了使用的人最多。結巴分詞網上的學習資料和使用案例比較多,上手相對比較輕松,速度也比較快。

結巴的優點:

支持三種分詞模式

支持繁體分詞

支持自定義詞典

MIT 授權協議

2、THULAC:壹個高效的中文詞法分析工具包

前兩天我在做有關於***享單車的用戶反饋分類,使用jieba分詞壹直太過零散,分類分不好。後來江兄給我推薦了THULAC: 由清華大學自然語言處理與社會人文計算實驗室研制推出的壹套中文詞法分析工具包 。THULAC的接口文檔很詳細,簡單易上手。

THULAC分詞的優點:

能力強。利用規模最大的人工分詞和詞性標註中文語料庫(約含5800萬字)訓練而成,模型標註能力強大。

準確率高。該工具包在標準數據集Chinese Treebank(CTB5)上分詞的F1值可達97.3%,詞性標註的F1值可達到92.9%

速度較快。同時進行分詞和詞性標註速度為300KB/s,每秒可處理約15萬字。只進行分詞速度達到1.3MB/s,速度比jieba慢

Python 解決中文編碼問題基本可以用以下邏輯:

utf8(輸入) ——> unicode(處理) ——> (輸出)utf8

Python 裏面處理的字符都是都是unicode 編碼,因此解決編碼問題的方法是把輸入的文本(無論是什麽編碼)解碼為(decode)unicode編碼,然後輸出時再編碼(encode)成所需編碼。

由於處理的壹般為txt 文檔,所以最簡單的方法,是把txt 文檔另存為utf-8 編碼,然後使用Python 處理的時候解碼為unicode(sometexts.decode('utf8')),輸出結果回txt 的時候再編碼成utf8(直接用str() 函數就可以了)。