首頁技術(shù)文章正文

什么是jieba?怎么使用jieba進(jìn)行中文分詞?

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

IT培訓(xùn)班

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

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

>>> pip install jieba

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

import jieba


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

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

程序輸出的結(jié)果如下:

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






猜你喜歡:

python中的字典如何使用?【python培訓(xùn)】

Python字典有哪些常見操作?

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

Python中如何使用構(gòu)造方法定義類?

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

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