python——jieba模塊

用於中文詞語切分的庫。切分模式有以下三種:

全模式:返回句子中所有可能的詞語,可重複使用字。

精確模式:將句子精確劃分成多個詞語,字不能複用。

搜索引擎模式:在精確模式的基礎上近一步劃分長詞

常用方法

jieba模塊中有Tokenizer類型,很多模塊方法也是Tokenizer實例的屬性。以下僅介紹常用方法(屬性),實現切分中文字符串的功能。

jieba還有其他有用的函數,比如load_userdict可以載入個人字典,提升分詞結果的準確性。

jieba.cut(sentence, cut_all=False, HMM=True, use_paddle=False)
'''
返回Tokenizer類型,參數:
	sentence:輸入要切分的句子,str類型
	cut_all:模式。True:全模式  False:精確模式(默認)
	HMM: 是否使用隱馬爾科夫模型
'''
jieba.cut_for_search(sentence, HMM=True)
#返回Tokenizer類型,切分模式:搜索引擎模式
jieba.lcut
jieba.lcut_for_search
#返回切分結果的列表(list),用法和前兩個方法分別類似

示例

cut
import jieba
words=jieba.cut('這是一個非常有趣的中文分詞庫')   
#<generator object Tokenizer.cut at 0x7f01ca5322b0>
'/'.join(words)   #'這是/一個/非常/有趣/的/中文/分/詞庫'

words=jieba.cut('這是一個非常有趣的中文分詞庫',cut_all=True)   #全模式
'/'.join(words)   #'這/是/一個/非常/常有/有趣/的/中文/分詞/詞庫'
cut_for_search
import jieba
words=jieba.cut_for_search('這是一個非常有趣的中文分詞庫')
'/'.join(words)   #'這是/一個/非常/有趣/的/中文/分/詞庫'

*注:*cut和cut_for_search方法返回的都是Tokenizer對象,需要使用join或list轉爲字符串或列表顯示。

lcut
import jieba
jieba.lcut('這是一個非常有趣的中文分詞庫')    
#['這是', '一個', '非常', '有趣', '的', '中文', '分', '詞庫']
jieba.lcut('這是一個非常有趣的中文分詞庫',cut_all=True)   #全模式
#['這', '是', '一個', '非常', '常有', '有趣', '的', '中文', '分詞', '詞庫']

jieba.lcut('這是一個非常有interesting趣的中文分詞庫',cut_all=True)
#['這', '是', '一個', '非常', '常有', 'interesting', '趣', '的', '中文', '分詞', '詞庫']

*注:*若在輸出中文字符串中包括英文字母、數字、符號等,相當於將句子斷開,即使斷開地方可以組成詞語(比如:”有趣“),但是三種切分模式都不會將它組成詞語。

lcut_for_search
import jieba
jieba.lcut_for_search('這是一個非常有趣的中文分詞庫')
#['這是', '一個', '非常', '有趣', '的', '中文', '分', '詞庫']
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章