目錄
三種分詞模式
新增自定義詞典進行分詞
jieba提供了三種分詞模式,分別是全模式,精確模式和搜尋引擎模式。
全模式下會將所有可能的詞語都進行分詞,精確模式下會盡可能的將句子精確切開,搜尋引擎模式實在精確模式的基礎上,對長詞再進行劃分,提高分詞的召回率。使用cut和cut_for_search即可實現這三種分詞模式
jieba.cut 方法接受三個輸入引數:需要分詞的字串,cut_all引數用來控制是否採用全模式,hmm引數用來控制是否使用hmm模型。
jieba.cut_for_search 方法接受兩個引數:需要分詞的字串,是否使用hmm模型。
輸出:import jieba
sentence = 'jieba提供了三種分詞模式,分別是全模式,精確模式和搜尋引擎模式。'
# 全模式
seg_list = jieba.cut(sentence, cut_all = true)
print("全模式:"," ".join(seg_list))
# 精確模式(cut方法的預設模式)
seg_list = jieba.cut(sentence, cut_all = false)
print("精確模式:"," ".join(seg_list))
# 搜尋引擎模式
seg_list = jieba.cut_for_search(sentence)
print("搜尋引擎模式:"," ".join(seg_list))
另:jieba分詞時,python檔名不能叫jieba,否則會導致jieba沒有cut屬性等錯誤。待分詞的字串可以是unicode或utf-8字串、gbk字串,但是不建議直接輸入gbk字串,可能無法預料地錯誤解碼成utf-8。以及上述方法返回的都是乙個可迭代的generator,也可以使用jieba.lcut和jieba.lcut_for_search直接返回list。
可以自行新增詞典,以便保證jieba能夠識別想識別的且jieba詞庫中沒有的詞。
add_word(word, feq = none, tag = none),del_word(word) 可以很方便的動態修改詞庫。
suggest_freq(segment, tune = true) 可調節單個詞語的詞頻,使其能(或不能)被分出來。
jieba.load_userdict(file) ,通過file指定詞典路徑或檔案物件(若路徑或二進位制檔案,則檔案需為utf-8編碼),載入使用者自定義詞典,詞典格式為乙個詞佔一行,每一行分三部分:詞語、詞頻(可省略)、詞性(可省略),空格隔開。
輸出:import jieba
sentence = 'jieba提供了三種分詞模式,分別是全模式,精確模式和搜尋引擎模式。'
seg_list = jieba.cut(sentence, cut_all = false)
print("新增前:"," ".join(seg_list))
jieba.del_word('詞模式')
seg_list = jieba.cut(sentence, cut_all = false)
print("刪除後:"," ".join(seg_list))
jieba.add_word('分詞模式')
seg_list = jieba.cut(sentence, cut_all = false)
print("新增後:"," ".join(seg_list))
jieba.load_userdict('./word.txt')
seg_list = jieba.cut(sentence, cut_all = false)
print("新增詞典後:"," ".join(seg_list))
其中,word.txt檔案內容如下:
jieba分詞原理
關於jieba分詞的原理,在平時做文字方面的演算法時沒有仔細研究過,昨晚在網上看了一篇部落格,寫的很全面很詳細,其中有些深入的部分還並沒有完全看懂。jieba分詞系統介紹 涉及演算法 基於字首詞典實現詞圖掃瞄,生成句子中漢字所有可能成詞情況所構成的有向無環圖 dag 採用動態規劃查詢最大概率路徑,找...
Jieba分詞簡介
jieba分詞官網 jieba提供了三種分詞模式 精確模式,試圖將句子最精確地切開,適合文字分析 全模式,把句子中所有的可以成詞的詞語都掃瞄出來,速度非常快,但是不能解決歧義 搜尋引擎模式,在精確模式的基礎上,對長詞再次切分,提高召回率,適合用於搜尋引擎分詞。import jieba sent 用刀...
jieba分詞詞性
jieba詞性類別如下 ag形語素 形容詞性語素。形容詞 為 a,語素 前面置以a。a形容詞 取英語形容詞 adjective的第1個字母。ad副形詞 直接作狀語的形容詞。形容詞 a和副詞 d並在一起。an名形詞 具有名詞功能的形容詞。形容詞 a和名詞 n並在一起。b區別詞 取漢字 別 的聲母。c連...