jieba(結巴)—— Python 中文分詞
阿新 • • 發佈:2019-02-12
學術界著名的分詞器:
- 中科院的 ICTCLAS,程式碼並不十分好讀
- 哈工大的 ltp,
- 東北大學的 NIU Parser,
另外,中文 NLP 和英文 NLP 不太一致的地方還在於,中文首先需要分詞,針對中文的分詞問題,有兩種基本的解決思路:
- 啟發式(Heuristic):查字典
- 機器學習/統計方法:HMM、CRF
jieba 分詞是python寫成的一個算是工業界的分詞開源庫,其 github 地址為:<a href=“https://github.com/fxsjy/jieba”, target="_blank">https://github.com/fxsjy/jieba
jieba 分詞雖然效果上不如 ICTCLAS 和 ltp,但是勝在 python 編寫,程式碼清晰,擴充套件性好,對 jieba 有改進的想法可以很容易的自己寫程式碼進行魔改。
<a href=“https://segmentfault.com/a/1190000004061791”, target="_blank">jieba分詞學習筆記(一)
0. install
有兩種方式:
- 進入 cmd:
pip install jiebe
- 在 <a href=“https://pypi.python.org/pypi/jieba/”, target="_blank">https://pypi.python.org/pypi/jieba/,下載 jieba-0.38.zip
- 解壓後,執行
python setup.py install
- 解壓後,執行
1. jieba 的特色
-
支援三種分詞模式,對於
sentence = '我來到了陝西西安'
- 精確模式(也是預設模式),試圖將句子最精確地切開,適合文字分析;
>> '/'.join(jieba.cut(sentence)) 我/來到/了/陝西/西安 >> '/'.join(jieba.cut(sentence, cut_all=False)) 我/來到/了/陝西/西安
- 全模式,把句子中所有的可以成詞的詞語都掃描出來, 速度非常快,但是不能解決歧義;
>> '/'.join(jieba.cut(sentence, cut_all=True)) '我/來到/了/陝西/西西/西安'
- 搜尋引擎模式,在精確模式的基礎上,對長詞再次切分,提高召回率,適合用於搜尋引擎分詞。
>> '/'.join(jieba.cut_for_search("⼩小明碩⼠士畢業於中國科學院計算所,後在⽇日本京都⼤大學深造")) '⼩/小明碩/⼠/士/畢業/於/中國/科學/學院/科學院/中國科學院/計算/計算所/,/後/在/⽇/日本/京都/⼤/大學/深造'
-
支援繁體分詞
-
支援自定義詞典
-
MIT 授權協議