首頁 > 軟體

Python第三方庫jieba庫與中文分詞全面詳解

2022-07-07 14:03:05

一、什麼是jieba庫

jieba是優秀的中文分詞第三方庫,由於中文文字之間每個漢字都是連續書寫的,我們需要通過特定的手段來獲得其中的每個片語,這種手段叫做分詞,我們可以通過jieba庫來完成這個過程。

二、jieba分詞原理

jieba庫的分詞原理是利用了一箇中文詞庫,將待分詞的內容與分詞詞庫對比,通過圖結構和動態規則劃分方法找到最大概率的片語。除了分詞,jieba還提供增加自定義中文單詞的功能。

三、jieba庫支援的三種分詞模式

1.精確模式

將句子最精確地分開,適合文字分析;

2.全模式

把句子中所有可以成詞的詞語都掃描出來,速度非常快,但是不能解決歧義;

3.搜尋引擎模式

在精確模式的基礎上,對長詞再次切分,提高召回率,適合用於搜尋引擎分詞

注:對中文分詞來說,jieba庫只需要一行程式碼即可。英文文字不存在分詞問題

四、jieba庫常用函數

函數描述
jieba.lcut(s)精確模式,返回一個列表值
jieba.lcut(s,cut_all=True)全模式,返回一個列表值
jieba.lcut_for_search(s)搜尋引擎模式,返回一個列表值
jieba.add_word(w)向分詞詞典中增加新詞w

五、jieba實操

首先你需要安裝jieba庫
pip install jieba

練習一(jieba.lcut)精確模式

jieba.lcut(s)是最常用的中文分詞函數,用於精確模式,將字串分割成等量的中文片語。

import jieba

ls = jieba.lcut("我願意穿過璀璨繁星")
print(ls)

練習二(jieba.lcut(s,cut_all=True) )全模式

jieba.lcut(s,cut_all=True)用於全模式,將字串的所有分詞可能列出來,冗餘最大。

import jieba
ls = jieba.lcut("人面不知何處去,桃花依舊笑春風", cut_all=True)
print(ls)

練習三(jieba.lcut_for_search)搜尋引擎模式

jieba.lcut_for_search該模式首先執行精確模式,然後在對其中長詞進一步分獲得最終結果

import jieba
ls1 = jieba.lcut("仰天大笑出門去我輩豈是蓬蒿人")
ls = jieba.lcut_for_search("仰天大笑出門去我輩豈是蓬蒿人")
print(ls1)
print(ls)

練習四(jieba.add_word(w))增加新詞

import jieba

ls = jieba.lcut_for_search("仰天大笑出門去我輩豈是蓬蒿人")
print(ls)
jieba.add_word("蓬蒿人")
ls1 = jieba.lcut("仰天大笑出門去我輩豈是蓬蒿人")
print(ls1)

小結:精確模式因為不產生冗餘,最為常用。

總結 

到此這篇關於Python第三方庫jieba庫與中文分詞的文章就介紹到這了,更多相關Python jieba庫與中文分詞內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com