jieba--做最好用的中文分片語件詳解【1】
阿新 • • 發佈:2018-12-21
寫在最前面:
今天只做基礎使用介紹,關於分詞使用的演算法、模型會在下面的部落格詳細介紹。
特點:
- jieba是一款中文分片語件,支援python2,3
- 支援三種分詞模式:
- 精確模式,試圖將句子最精確地切開,適合文字分析;
- 全模式,把句子中所有的可以成詞的詞語都掃描出來, 速度非常快,但是不能解決歧義;
- 搜尋引擎模式,在精確模式的基礎上,對長詞再次切分,提高召回率,適合用於搜尋引擎分詞。
- 支援繁體分詞
- 支援自定義詞典
- MIT 授權協議
安裝方式:
- 全自動安裝:
easy_install jieba
或者pip install jieba
/pip3 install jieba
- 手動安裝:將 jieba 目錄放置於當前目錄或者 site-packages 目錄
通過
import jieba
來引用
import jieba seg_list = jieba.cut("我來到北京清華大學", cut_all=True) print("Full Mode: " + "/ ".join(seg_list)) # 全模式 seg_list = jieba.cut("我來到北京清華大學", cut_all=False) print("Default Mode: " + "/ ".join(seg_list)) # 精確模式 seg_list = jieba.cut("他來到了網易杭研大廈") # 預設是精確模式 print(", ".join(seg_list)) seg_list = jieba.cut_for_search("小明碩士畢業於中國科學院計算所,後在日本京都大學深造") # 搜尋引擎模式 print(", ".join(seg_list))
Full Mode: 我/ 來到/ 北京/ 清華/ 清華大學/ 華大/ 大學
Default Mode: 我/ 來到/ 北京/ 清華大學
他, 來到, 了, 網易, 杭研, 大廈
小明, 碩士, 畢業, 於, 中國, 科學, 學院, 科學院, 中國科學院, 計算, 計算所, ,, 後, 在, 日本, 京都, 大學, 日本京都大學, 深造
jieba.cut方法接受三個輸入引數: 需要分詞的字串;cut_all 引數用來控制是否採用全模式;HMM 引數用來控制是否使用 HMM 模型,HMM=True就是開啟使用HMM模型,需要注意的是,cut_all預設為False,就是精確模式。
jieba.cut_for_search 方法接受兩個引數:需要分詞的字串;是否使用 HMM 模型。該方法適合用於搜尋引擎構建倒排索引的分詞,粒度比較細。
來測試一下吧!傳說中讓老外瘋狂的中文分句練習,看看jieba的表現如何。
import jieba
seg_list1 = jieba.cut("今天下雨我騎車差點摔倒了好在我一把把把把住了")
seg_list2 = jieba.cut('我想過過兒過過的生活')
print(", ".join(seg_list1))
print(", ".join(seg_list2))
今天, 下雨, 我, 騎車, 差點, 摔倒, 了, 好, 在, 我, 一把, 把, 把, 把住, 了
我, 想, 過, 過兒, 過過, 的, 生活
哎喲,不錯喲