教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

中文分詞模塊jieba有幾種模式?

更新時間:2021年11月05日10時27分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓

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

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

>>> pip install jieba

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

import jieba


jieba模塊支持以下3種分詞模式。
(1)精確模式,試圖將句子最精準地切開。
(2)全模式,將句子中所有可以成詞的詞語都掃描出來,速度非??臁?br /> (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))

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

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

猜你喜歡:

Python模塊如何導入__all__屬性?

什么是Python模塊?Python模塊有幾類?

Python如何安裝pymysql模塊?

偏函數(shù)是什么?Functools模塊偏函數(shù)詳解

傳智python+大數(shù)據(jù)開發(fā)培訓

0 分享到:
和我們在線交談!