1. 程式人生 > >python中文分詞,使用結巴分詞對python進行分詞

python中文分詞,使用結巴分詞對python進行分詞

php 分詞

在采集美女站時,需要對關鍵詞進行分詞,最終采用的是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

  • seg=jieba.cut("http://www.gg4493.cn/"):

技術分享圖片

實例

技術分享圖片

Hljs gradle代碼 技術分享圖片

  1. <span style="margin: 0px; padding: 0px;">#! -*- coding:utf-<span class="hljs-number" style="margin: 0px; padding: 0px; color: rgb(0, 102, 102);"

    >8</span> -*-

  2. <span class="hljs-keyword" style="margin: 0px; padding: 0px; color: rgb(0, 0, 136);">import</span> jieba

  3. seg_list = jieba.cut(<span class="hljs-string" style="margin: 0px; padding: 0px; color: rgb(0, 136, 0);">"我來到北京清華大學"</span>, cut_all = <span class="hljs-keyword" style="margin: 0px; padding: 0px; color: rgb(0, 0, 136);">True</span>)

  4. <span class="hljs-keyword" style="margin: 0px; padding: 0px; color: rgb(0, 0, 136);">print</span> <span class="hljs-string" style="margin: 0px; padding: 0px; color: rgb(0, 136, 0);">"Full Mode:"</span>, <span class="hljs-string" style="margin: 0px; padding: 0px; color: rgb(0, 136, 0);">‘ ‘</span>.<span class="hljs-keyword" style="margin: 0px; padding: 0px; color: rgb(0, 0, 136);">join</span>(seg_list)

  5. seg_list = jieba.cut(<span class="hljs-string" style="margin: 0px; padding: 0px; color: rgb(0, 136, 0);">"我來到北京清華大學"</span>)

  6. <span class="hljs-keyword" style="margin: 0px; padding: 0px; color: rgb(0, 0, 136);">print</span> <span class="hljs-string" style="margin: 0px; padding: 0px; color: rgb(0, 136, 0);">"Default Mode:"</span>, <span class="hljs-string" style="margin: 0px; padding: 0px; color: rgb(0, 136, 0);">‘ ‘</span>.<span class="hljs-keyword" style="margin: 0px; padding: 0px; color: rgb(0, 0, 136);">join</span>(seg_list)</span>


python中文分詞,使用結巴分詞對python進行分詞