Python有一个库名为jieba的中文分词库,可以把中文句子切分成一个个的词语以用于文本分析、制作词云图等。
首先我们要安装jieba,在命令行输入“pip install jieba”即可。jieba有3种分词模式,分别是精准模式(将句子尽量精准切分开)、全模式(将所有能成为词语的都切分出来)、搜索引擎模式(在精准模式的基础上再次切分比较长的词语)。
安装好后就可以直接使用了。
import jieba#导入jieba库s = '我喜欢九龙公园游泳池,那里我不再执着一些往事。'#定义测试字符串
精准模式
jieba.cut(s)
#返回的结果是生成器
#<generator object Tokenizer.cut at 0x000001E58DCC6248>
print('/'.join(jieba.cut(s)))
#将结果用“/”拼接后打印出来:
'我/喜欢/九龙/公园/游泳池/,/那里/我/不再/执着/一些/往事/。'
全模式
jieba.cut(s, cut_all=True)
#输入参数cut_all=True即是全模式,返回的结果也是生成器
print('/'.join(jieba.cut(s, cut_all=True)))
#将结果用“/”拼接后打印出来:
'我/喜欢/九龙/公园/游泳/游泳池/泳池/,/那里/我/不再/执着/一些/往事/。'
#可以看到“游泳池”被切分为3个词
搜索引擎模式
jieba.cut_for_search(s)
#返回的结果也是生成器
print('/'.join(jieba.cut_for_search(s)))
#将结果用“/”拼接后打印出来:
'我/喜欢/九龙/公园/游泳/泳池/游泳池/,/那里/我/不再/执着/一些/往事/。'
获取其它类型的结果
#在方法面前加上“l”,返回的就是列表了jieba.lcut(s)jieba.lcut(s, cut_all=True)jieba.lcut_for_search(s)
向词典中添加新词
jieba.add_word('龙公')
#该方法每次只能添加一个词,添加后可以识别该词
print('/'.join(jieba.cut(s, cut_all=True)))
#将结果用“/”拼接后打印出来:
'我/喜欢/九龙/龙公/公园/游泳/游泳池/泳池/,/那里/我/不再/执着/一些/往事/。'
#可以识别到新添加的词了