python 中文分詞:結巴分詞


中文分詞是中文文本處理的一個基礎性工作,結巴分詞利用進行中文分詞。其基本實現原理有三點:

  1. 基於Trie樹結構實現高效的詞圖掃描,生成句子中漢字所有可能成詞情況所構成的有向無環圖(DAG)
  2. 采用了動態規划查找最大概率路徑, 找出基於詞頻的最大切分組合
  3. 對於未登錄詞,采用了基於漢字成詞能力的HMM模型,使用了Viterbi算法

安裝(Linux環境)

下載工具包,解壓后進入目錄下,運行:python setup.py install

 

模式

  1. 默認模式,試圖將句子最精確地切開,適合文本分析
  2. 全模式,把句子中所有的可以成詞的詞語都掃描出來,適合搜索引擎

 

接口

  • 組件只提供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)

結果

 

實現原理

1. Trie樹:參考http://www.cnblogs.com/kaituorensheng/p/3602155.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM