中文分詞是中文文本處理的壹個基礎性工作,結巴分詞利用進行中文分詞。其基本實現原理有三點:
基於Trie樹結構實現高效的詞圖掃描,生成句子中漢字所有可能成詞情況所構成的有向無環圖(DAG)
采用了動態規劃查找最大概率路徑, 找出基於詞頻的最大切分組合
對於未登錄詞,采用了基於漢字成詞能力的HMM模型,使用了Viterbi算法
安裝(Linux環境)
下載工具包,解壓後進入目錄下,運行:python setup.py install
模式
默認模式,試圖將句子最精確地切開,適合文本分析
全模式,把句子中所有的可以成詞的詞語都掃描出來,適合搜索引擎
接口
組件只提供jieba.cut 方法用於分詞
cut方法接受兩個輸入參數:
第壹個參數為需要分詞的字符串
cut_all參數用來控制分詞模式
待分詞的字符串可以是gbk字符串、utf-8字符串或者unicode
jieba.cut返回的結構是壹個可叠代的generator,可以使用for循環來獲得分詞後得到的每壹個詞語(unicode),也可以用list(jieba.cut(...))轉化為list
實例
#! -*- coding:utf-8 -*-
import jieba
seg_list = jieba.cut("我來到北京清華大學", cut_all = True)
print "Full Mode:", ' '.join(seg_list)
seg_list = jieba.cut("我來到北京清華大學")
print "Default Mode:", ' '.join(seg_list)