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('这是一个非常有趣的中文分词库')
#['这是', '一个', '非常', '有趣', '的', '中文', '分', '词库']
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章