本文涉及jieba.cut、jieba.addword、jieba.load_userdict这3个函数
运行环境:IPython
import jieba; for w in jieba.cut("我爱Python"): print(w)输出:
Building prefix dict from the default dictionary ... Loading model from cache D:\TEMP\jieba.cache Loading model cost 1.150 seconds. Prefix dict has been built succesfully. 我 爱 Python可以看到,该句的分词成功。
接下来来对分词界中一个很污很难的测试样例进行分词:
for w in jieba.cut("工信处女干事每月经过下属科室都要亲口交代24口交换机等技术性器件的安装工作"): print(w)输出:
工信处 女干事 每月 经过 下属 科室 都 要 亲口 交代 24 口 交换机 等 技术性 器件 的 安装 工作输出结果表示准确率很高。
seg_list = jieba.cut("真武七截阵和天罡北斗阵哪个更厉害呢?") for w in seg_list: print(w)输出结果:
真武 七截阵 和 天罡 北斗 阵 哪个 更 厉害 呢 ?从这里可以看到,一些比较偏的(比如这里小说中的特殊词汇——武功招式)就不可以被正确分词了,add_word函数提供了解决方法:
jieba.add_word('真武七截阵') #add_word保证添加的词语不会被cut掉 jieba.add_word('天罡北斗阵') seg_list = jieba.cut("真武七截阵和天罡北斗阵哪个更厉害呢?") for w in seg_list: print(w)输出结果:
真武七截阵 和 天罡北斗阵 哪个 更 厉害 呢 ?那么自然就会想到,如果靠add_word人工添加词,这样的效率实在太低了,load_userdic提供了解决方法:
jieba.load_userdict('金庸武功招式.txt') #添加词库矫正jieba分词 #“金庸武功招式”所在词库地址:http://pinyin.sogou.com/dict/,下载到的是.scel格式文件,可使用 深蓝词库转换 将文件格式转换为txt格式