在採集美女站時,需要對關鍵詞進行分詞,最終採用的是python的結巴分詞方法. 中文分詞是中文文本處理的一個基礎性工作,結巴分詞利用進行中文分詞。其基本實現原理有三點: 安裝(Linux環境) 下載工具包,解壓後進入目錄下,運行:python setup.py install 模式 介面 組件只提供 ...
在採集美女站時,需要對關鍵詞進行分詞,最終採用的是python的結巴分詞方法.
中文分詞是中文文本處理的一個基礎性工作,結巴分詞利用進行中文分詞。其基本實現原理有三點:
- 基於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
- seg=jieba.cut("http://www.gg4493.cn/"):
實例
#! -*- 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)
結果