jieba 利用jieba分詞

2021-10-03 05:14:44 字數 2078 閱讀 7312

目錄

三種分詞模式

新增自定義詞典進行分詞

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連...