【目录】
1. jieba库常用的分词函数
2. jieba库的引用
3. jieba.cut函数练习
4.jieba.add_word(w) 向分词词典中增加新词w
5. jieba.add_word(w)练习题
【正文】
学习时间30分钟。
1. jieba库常用的分词函数
2. jieba库的引用
如何在程序中引用jieba库?
【代码示例】
# 导入jieba库
import jieba
【语法】
import
+ 模块名
import [ˈɪmpɔːt]:导入。
jieba就是要引用的模块名。
3. jieba.cut函数练习
【jieba.lcut(s)语法回顾】
jieba
是库名。.
英文小圆点。luct
是函数名。( )
英文圆括号。s
要操作的字符串对象。
jieba.lcut(s)-精准模式-将句子最精准的切分。
返回的是一个字符串列表。
【cut和lcut的区别】
jieba.cut(s)和jieba.lcut(s)都是精确模式,但返回值不一样。
jieba.cut(s) -精确模式-返回 可迭代的数据类型
jieba.lcut(s)-精确模式-返回 字符串列表
【jieba.lcut(s)示例】
import jieba
# 输入待分词的字符串
s = '中华人民共和国是一个伟大的国家'
# 使用jieba.cut()进行分词
word_list = jieba.lcut(s)
print("输出word_list:")
print(word_list)
print("输出word_list的数据类型:")
print(type(word_list))
【终端输出】
输出word_list:
['中华人民共和国', '是', '一个', '伟大', '的', '国家']
输出word_list的数据类型:
<class 'list'>
jieba.lcut(s)-精确模式-返回字符串列表
【jieba.cut(s)示例】
使用jieba.cut()对“中华人民共和国是一个伟大的国家”进行分词。
import jieba
# 输入待分词的字符串
s = '中华人民共和国是一个伟大的国家'
# 使用jieba.cut()进行分词
word_list = jieba.cut(s)
print("输出word_list:")
print(word_list)
print("输出word_list的数据类型:")
print(type(word_list))
【终端输出】
输出word_list:
<generator object Tokenizer.cut at 0x0000024004C9A510>
输出word_list的数据类型:
<class 'generator'>
jieba.cut(s) -精确模式-返回可迭代的数据类型
打印输出word_list,<generator object Tokenizer.cut at 0x000001AEEFE23510>
表示word_list是一个可迭代对象。
type函数打印输出word_list的数据类型,class 'generator'
表示类型为生成器。
class[klɑːs]:类型。
generator [ˈdʒenəreɪtə]:生成器。
【练习】
将迭代器转换为列表类型。
【list代码示例】
import jieba
# 输入待分词的字符串
s = '中华人民共和国是一个伟大的国家'
# 使用jieba.cut()进行分词
word_list = jieba.cut(s)
print(list(word_list))
【终端输出】
['中华人民共和国', '是', '一个', '伟大', '的', '国家']
list()函数可以将迭代器转换为列表类型
。
如果只要求输出迭代器内容,对数据类型没有要求,我们可以使用for循环来遍历迭代器里的内容。
【for循环代码示例】
import jieba
# 输入待分词的字符串
s = '中华人民共和国是一个伟大的国家'
# 使用jieba.cut()进行分词
word_list = jieba.cut(s)
# 使用for循环遍历迭代器
for word in word_list:
print(word)
print(type(word))
【终端输出】
中华人民共和国
是
一个
伟大
的
国家
<class 'str'>
使用for循环遍历和list函数得到的内容是一样的,但是返回的数据类型不一样。 for循环返回值类型为字符串。 list函数返回值类型为列表。
4.jieba.add_word(w) 向分词词典中增加新词w
【语法】
jieba.add_word(w)
jieba
是库名。.
英文小圆点。add_word
是函数名。( )
英文圆括号。w
要添加的自定义词语。
【作用】
调用jieba.add_word(w)
,可以将自定义词语w
添加到jieba分词的词典中。
作用是在分词时能够正确识别和切分这些自定义词语。
5. jieba.add_word(w)练习题
【任务】
向分词词典中加入一些新的网络用语,并编写例子观察分词效果。
【代码示例:无jieba.add_word()】
import jieba
# 要分词的字符串对象
text= '我的公主请上车'
# 进行精准模式分词
seg_list = jieba.lcut(text)
# 输出分词结果
print(seg_list)
【终端输出】
['我', '的', '公主', '请', '上车']
【代码示例:有jieba.add_word()】
import jieba
# 自定义一个新词:公主请上车
# 将网络词语【公主请上车】添加到分词字典中
# 【公主请上车】作为一个词组,将不会在被分开
jieba.add_word("公主请上车")
# 要分词的字符串对象
text= '我的公主请上车'
# 进行精准模式分词
seg_list = jieba.lcut(text)
# 输出分词结果
print(seg_list)
【终端输出】
['我', '的', '公主请上车']
【返回结果对比】
['我', '的', '公主','请' '上车'] ['我', '的', '公主请上车']
jieba.add_word("公主请上车")将公主请上车
作为一个分词中的固定搭配词语,分词时不会把这个词语拆分开。
【代码示例:无jieba.add_word()】
import jieba
# 要分词的字符串对象
text = '公主请上车公主请上班公主请下单'
# 进行精准模式分词
seg_list = jieba.lcut(text)
# 输出分词结果
print(seg_list)
【终端输出】
['公主', '请', '上车',
'公主', '请', '上班',
'公主', '请', '下单']
【代码示例:有jieba.add_word()】
【添加词语:公主请】
import jieba
# 自定义一个新词:公主请
jieba.add_word("公主请")
# 要分词的字符串对象
text = '公主请上车公主请上班公主请下单'
# 进行精准模式分词
seg_list = jieba.lcut(text)
# 输出分词结果
print(seg_list)
【终端输出】
['公主请', '上车', '公主请', '上班', '公主请', '下单']
【添加词语:公主请上】
import jieba
# 自定义一个新词:公主请上
jieba.add_word("公主请上")
# 要分词的字符串对象
text = '公主请上车公主请上班公主请下单'
# 进行精准模式分词
seg_list = jieba.lcut(text)
# 输出分词结果
print(seg_list)
【终端输出】
['公主请上', '车', '公主请上', '班', '公主', '请', '下单']
【添加词语:公主请上车】
import jieba
# 自定义一个新词:公主请上车
jieba.add_word("公主请上车")
# 要分词的字符串对象
text = '公主请上车公主请上班公主请下单'
# 进行精准模式分词
seg_list = jieba.lcut(text)
# 输出分词结果
print(seg_list)
【终端输出】
['公主请上车', '公主', '请', '上班', '公主', '请', '下单']