Python中文分词之Jieba

时间秒杀一切 提交于 2019-12-13 07:56:38

 

1、分词方法

jieba.cut()  # 返回对象 generator,可迭代

jieba.cut_for_search()  # 返回对象 generator,可迭代

jieba.lcut()  # 返回 list

jieba.lcut_for_search()  # 返回 list

'/'.join()   # 将 cut() 结果用指定符号拼接

2、方法调用(一)

jieba.cut(s, cut_all, HMM)  和  jieba.lcut(s, cut_all, HMM),接受三个参数

s:要分词的字符串(unicode、UTF-8、GBK)

cut_all:是否使用全模式,默认False

HMM:是否使用HMM模型(隐马可夫模型,新词识别),默认True

示例1(cut_all):

example1 = jieba.cut('下午去西安交大打球')       # 下午/去/西安交大/打球   (generator)

example2 = jieba.cut('下午去西安交大打球', cut_all=True)  # 下午/去/西安/西安交大/交大/打球

example3 = jieba.lcut('下午去西安交大打球')       # ['下午', '去', '西安交大', '打球'](list)

示例2(HMM):

example1 = jieba.cut('下午去西大打球', HMM=True)  # 转为list  ['下午', '去', '西大', '打球']

example2 = jieba.cut('下午去西大打球', HMM=False) # 转为list ['下午', '去', '西', '大', '打球']

3、方法调用(二)

搜索引擎模式

jieba.cut_for_search(s, HMM)jieba.lcut_for_search(s, HMM) # 接受两个参数

对比示例:

jieba.lcut("西北大学历史系和考古系很牛")

        ['西北大学', '历史系', '和', '考古系', '很', '牛']

jieba.lcut_for_search("西北大学历史系和考古系很牛")

        ['西北', '北大', '大学', '西北大学', '历史', '历史系', '和', '考古', '考古系', '很', '牛']

4、自定义词典

jieba有一定的新词识别能力,添加自定义的词典,可更精确的提高词语识别。

用法:jieba.load_userdict('dict.txt')

词典文本格式:词语 词频(可省略) 词性(可省略) ,以空格为分隔符

示例:example = jieba.cut('我的白球鞋上有很多泥点点,需要刷一刷')

          return:我| 的| 白| 球鞋| 上| 有| 很多| 泥| 点点| ,| 需要| 刷| 一刷

示例:jieba.load_userdict('./data_set/word_cloud/dict.txt')

          example = jieba.cut('我的白球鞋上有很多泥点点,需要刷一刷')

          return:我| 的| 白球鞋| 上| 有| 很多| 泥点点| ,| 需要| 刷一刷

PS: 添加词:add_word(word, freq=None, tag=None) 
              删除词:del_word(word) 

END
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!