Jieba 官網文件
Jieba 支援三種分詞模式:
- 精確模式,試圖將句子最精確地切開,適合文字分析;
- 全模式,把句子中所有的可以成詞的詞語都掃描處理,速度非常快,但是不能解決歧義;
- 搜尋引擎模式,在精確模式的基礎上,對長詞再次切分,提高召回率,適合用於引擎分詞。
Jieba 還支援繁體分詞,並支援自定義詞典。
(env) pip3 install jieba
- 基於字首詞典實現高效的詞圖掃描,生成句子中漢字所有可能成詞情況所構成的有向無環圖 (DAG)
- 採用了動態規劃查詢最大機率路徑, 找出基於詞頻的最大切分組合
- 對於未登入詞,採用了基於漢字成詞能力的 HMM(隱馬爾科夫)模型,使用了 Viterbi 演算法
分詞
jieba.cut(需要分詞的字串, cut_all=?, HMM=?)
# 適合用於搜尋引擎構建倒排索引的分詞,粒度比較細
jieba.cut_for_search(需要分詞的字串, HMM=?)
jieba.cut
以及 jieba.cut_for_search
返回的結構都是一個可迭代的 generator,可以使用 for 迴圈來獲得分詞後得到的每一個詞語(unicode)。
或者用 jieba.lcut
以及 jieba.lcut_for_search
直接返回 list。
jieba.Tokenizer(dictionary=DEFAULT_DICT)
新建自定義分詞器,可用於同時使用不同詞典。jieba.dt
為預設分詞器,所有全域性分詞相關函式都是該分詞器的對映。
新增自定義詞典
雖然 jieba 有新詞識別能力,但是自行新增新詞可以保證更高的正確率。
# 一個詞佔一行;每一行分三部分:詞語、詞頻(可省略)、詞性(可省略),用空格隔開,順序不可顛倒。
# file_name 若為路徑或二進位制方式開啟的檔案,則檔案必須為 UTF-8 編碼。
jieba.load_userdict(dict.txt)
更改分詞器(預設為 jieba.dt
)的 tmp_dir
和 cache_file
屬性,可分別指定快取檔案所在的資料夾及其檔名,用於受限的檔案系統。
調整詞典
使用 add_word(word, freq=None, tag=None)
和 del_word(word)
可在程式中動態修改詞典。
使用 suggest_freq(segment, tune=True)
可調節單個詞語的詞頻,使其能(或不能)被分出來。
自動計算的詞頻在使用 HMM 新詞發現功能時可能無效。
本作品採用《CC 協議》,轉載必須註明作者和本文連結