基於python的中文分詞庫:jieba
阿新 • • 發佈:2018-12-12
簡介
分詞共分三種模式:
- 精確模式: 試圖將句子最精確的切開
- 全模式:掃描出句子中所有可能的詞語,速度快
- 搜尋引擎模式:在精確模式的基礎上,對長詞再次切分適合用於搜尋引擎分詞
例子:
import jieba string = '結巴這個分詞工具真的特別的好玩兒' # 精確模式:cut_all=False words_list = jieba.lcut(string, cut_all=False) print(“精確模式:”,words_list) # 全模式:cut_all=True words_list = jieba.lcut(string, cut_all=True) print(“全模式:”,words_list) 精確模式: ['結巴', '這個', '分詞', '工具', '真的', '特別', '的', '好玩兒'] 全模式:['結巴', '這個', '分詞', '工具', '真的', '特別', '別的', '好玩', '好玩兒', '玩兒']
新增自定義詞典
可以指定自己自定義的詞典,以便包含 jieba 詞庫裡沒有的詞。
用法: jieba.load_userdict(my_dict.txt)
詞典格式:一個詞佔一行,每行分三部分:詞語、詞頻(可省略)、詞性(可省略),用空格隔開,順序不可顛倒。
例如:
創新辦 3 i
雲端計算 5
import jieba string = '李小福是創新辦主任也是雲端計算方面的專家' print(jieba.lcut(string)) 輸出結果: ['李小福', '是', '創新', '辦', '主任', '也', '是', '雲', '計算', '方面', '的', '專家'] jieba.load_userdict('my_dict.txt') print(jieba.lcut(string)) 輸出結果: ['李小福', '是', '創新辦', '主任', '也', '是', '雲端計算', '方面', '的', '專家']
或者用 add_word(word, freq=None, tag=None)
可在程式中動態修改詞典
jieba.add_word('創新辦', freq=3)
jieba.add_word('雲端計算', freq=3)
print(jieba.lcut(string))
輸出結果: ['李小福', '是', '創新辦', '主任', '也', '是', '雲端計算', '方面', '的', '專家']
或者用 suggest_freq(segment, tune=True)
可調節單個詞語的詞頻,使其能(或不能)被分出來
jieba.suggest_freq('創新辦', tune=True) jieba.suggest_freq('雲端計算', tune=True) print(jieba.lcut(string)) 輸出結果: ['李小福', '是', '創新辦', '主任', '也', '是', '雲端計算', '方面', '的', '專家']
具體深入學習請參考官方github