1. 程式人生 > >jieba--做最好用的中文分片語件詳解【1】

jieba--做最好用的中文分片語件詳解【1】

寫在最前面:

今天只做基礎使用介紹,關於分詞使用的演算法、模型會在下面的部落格詳細介紹。

特點:

  • 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))
今天, 下雨, 我, 騎車, 差點, 摔倒, 了, 好, 在, 我, 一把, 把, 把, 把住, 了
我, 想, 過, 過兒, 過過, 的, 生活

哎喲,不錯喲