Python中文分词之Jieba

本文深入探讨了中文分词技术,介绍了jieba分词库的使用方法,包括基本的分词模式、搜索引擎模式以及如何通过自定义词典来提高分词精度。文章还提供了丰富的示例,帮助读者理解不同参数对分词结果的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值