用于自己学习和记录!
借鉴于 【jieba 模块文档】
jieba 模块是一个用于中文分词的模块
此模块支持三种分词模式
精确模式(试图将句子最精确的切开,适合文本分析)
全模式(把句子在所有可以成词的成语都扫描出来,速度非常快,但是不能解决歧义的问题)
搜索引擎模式(在精确模式的基础上,对长词再次切分,提高召回率)
主要功能
- 分词
需要分词的字符串可以是 unicode 或 UTF-8 字符串、GBK 字符串。但是,不建议直接输入 GBK 字符串,可能无法预料地错误解码成 UTF-8
jieba.cut()
jieba.lcut()
此方法接受三个参数: 需要分词的字符串;cut_all 参数用来控制是否采用全模式;HMM 参数用来控制是否使用 HMM 模型
lcut 方法直接返回 list,cut 方法返回一个 可迭代的 generator
用法
import jieba
seg_list = jieba.cut(“我来到北京清华大学”, cut_all=True)
print("全模式: " + "/ ".join(seg_list)) # 全模式
seg_list = jieba.cut(“我来到北京清华大学”, cut_all=False)
print("精确模式: " + "/ ".join(seg_list)) # 精确模式
seg_list = jieba.cut(“他来到了网易杭研大厦”) # 默认是精确模式
print("默认模式: " + "/ ".join(seg_list))
结果:
Full Mode: 我/ 来到/ 北京/ 清华/ 清华大学/ 华大/ 大学
Default Mode: 我/ 来到/ 北京/ 清华大学
默认模式: 他/ 来到/ 了/ 网易/ 杭研/ 大厦
jieba.cut_for_search ###### jieba.lcut_for_search
此方法接受两个参数:需要分词的字符串;是否使用 HMM 模型。该方法适合用于搜索引擎构建倒排索引的分词,粒度比较细
cut_for_search返回一个 可迭代的 generator,lcut_for_search返回一个list
用法
seg_list = jieba.cut_for_search(“小明硕士毕业于中国科学院计算所,后在日本京都大学深造”) # 搜索引擎模式
print(", ".join(seg_list))
结果:
小明, 硕士, 毕业, 于, 中国, 科学, 学院, 科学院, 中国科学院, 计算, 计算所, ,, 后, 在, 日本, 京都, 大学, 日本京都大学