首頁技術文章正文

什么是jieba?怎么使用jieba進行中文分詞?

更新時間:2021-11-04 來源:黑馬程序員 瀏覽量:

IT培訓班

隨著漢語言的廣泛應用,中文信息處理成了一個重要的研究課題,常見于搜索引擎:信息檢索、中外文自動翻譯、數(shù)據挖掘技術、自然語言處理等領域。在處理的過程中,中文分詞是最基礎的一環(huán)。
中文分司是指將個漢字序列切分成一個一個單獨的話,是一個學生”經分詞中文語句或語段拆成若干漢語詞匯。例如,用戶輸人的語句“我是一個學生,經分詞系統(tǒng)處理之后,該語句被分成“我”是”“一個”“學生”四個漢語詞匯。

在英文本中,每個單詞之間以空格作為自然分界符,而中文只有句子和段落能夠
通過明顯的分界符來簡單劃分,詞并沒有有二個形式上的分界符,雖然英文也同樣存在短語的劃分問題,但是在詞這層上,中文要比英文復雜得多、困難得多。jieba是國內使用人數(shù)最多的中文分詞工具,可以采用如下方式進行安裝:

>>> pip install jieba

安裝完之后,通過import語句將其引入:

import jieba


jieba模塊支持以下3種分詞模式。
(1)精確模式,試圖將句子最精準地切開。
(2)全模式,將句子中所有可以成詞的詞語都掃描出來,速度非???。
(3)搜索引擎模式,在精確模式的基礎上對長詞再次切分。
jieba模塊中提供了一系列分詞函數(shù),常用的是jieba.cut()函數(shù),該函數(shù)需要接收如下3個參數(shù)。
(1)sentence,需要分詞的字符串。
(2)cut_all,控制是否采用全模式。若設為True,代表按照全模式進行分詞;若設為False,代表按照精確模式進行分詞。
(3)HMM,控制是否使用HMM(Hidden Markov Model,隱馬爾可夫模型)。
若要采用搜索引擎模式對中文進行分詞,需要使用cut_for_search()函數(shù),該函數(shù)中需要接收兩個參數(shù):sentence和HMM。
下面分別采用以上3種模式對中文進行分詞操作,代碼如下:

#02_word_segmentation.py
seg_list = jieba.cut("我來到北京清華大學 ",cut_all-True)
print("[全模式]: "+"/".join(seglist))
#全模式
seg_list = jieba.cut("我來到北京清華大學",cut_all=False)
print("[精確模式]:"+"/".join(seg_list))
#精確模式
seg_list = jieba.cut_for_search("小明碩土畢業(yè)于中國科學院計算所,
后在日本京都大學深造")  #搜索引擎模式
print("[搜索引擎模式] :" + ",".join(seg list))

程序輸出的結果如下:

[全模式]:我/來到/北京/清華/清華大學/華大/大學
[精確模式]:我/來到/北京/清華大學
[搜索引擎模式]: 小明,碩士,畢業(yè),于,中國,,科學院,中國科學院,計算,
計算所,后,在,日本,京都,大學,日本京都大學,深造






猜你喜歡:

python中的字典如何使用?【python培訓】

Python字典有哪些常見操作?

Python文件操作:finally子句的使用

Python中如何使用構造方法定義類?

黑馬程序員Python+大數(shù)據開發(fā)開發(fā)培訓

分享到:
在線咨詢 我要報名
和我們在線交談!