首页技术文章正文

什么是jieba?怎么使用jieba进行中文分词?

更新时间:2021-11-04 来源:黑马程序员 浏览量:

IT培训班

随着汉语言的广泛应用,中文信息处理成了一个重要的研究课题,常见于搜索引擎:信息检索、中外文自动翻译、数据挖掘技术、自然语言处理等领域。在处理的过程中,中文分词是最基础的一环。
中文分司是指将个汉字序列切分成一个一个单独的话,是一个学生”经分词中文语句或语段拆成若干汉语词汇。例如,用户输人的语句“我是一个学生,经分词系统处理之后,该语句被分成“我”是”“一个”“学生”四个汉语词汇。

在英文本中,每个单词之间以空格作为自然分界符,而中文只有句子和段落能够
通过明显的分界符来简单划分,词并没有有二个形式上的分界符,虽然英文也同样存在短语的划分问题,但是在词这层上,中文要比英文复杂得多、困难得多。jieba是国内使用人数最多的中文分词工具,可以采用如下方式进行安装:

>>> pip install jieba

安装完之后,通过import语句将其引入:

import jieba


jieba模块支持以下3种分词模式。
(1)精确模式,试图将句子最精准地切开。
(2)全模式,将句子中所有可以成词的词语都扫描出来,速度非常快。
(3)搜索引擎模式,在精确模式的基础上对长词再次切分。
jieba模块中提供了一系列分词函数,常用的是jieba.cut()函数,该函数需要接收如下3个参数。
(1)sentence,需要分词的字符串。
(2)cut_all,控制是否采用全模式。若设为True,代表按照全模式进行分词;若设为False,代表按照精确模式进行分词。
(3)HMM,控制是否使用HMM(Hidden Markov Model,隐马尔可夫模型)。
若要采用搜索引擎模式对中文进行分词,需要使用cut_for_search()函数,该函数中需要接收两个参数: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("小明硕土毕业于中国科学院计算所,
后在日本京都大学深造")  #搜索引擎模式
print("[搜索引擎模式] :" + ",".join(seg list))

程序输出的结果如下:

[全模式]:我/来到/北京/清华/清华大学/华大/大学
[精确模式]:我/来到/北京/清华大学
[搜索引擎模式]: 小明,硕士,毕业,于,中国,,科学院,中国科学院,计算,
计算所,后,在,日本,京都,大学,日本京都大学,深造






猜你喜欢:

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

Python字典有哪些常见操作?

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

Python中如何使用构造方法定义类?

黑马程序员Python+大数据开发开发培训

分享到:
在线咨询 我要报名
和我们在线交谈!