Jieba分词

本文介绍了Jieba分词工具的三种模式:精确模式、全模式和搜索引擎模式,并展示了如何使用这些模式进行中文文本的分词处理。此外,还介绍了如何通过Jieba的posseg模块获取词性。

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

随着NLP 技术的成熟,开源的分词工具越来越多,下面主要学习Jieba分词这一工具的操作。

一、三种分词模式

import jieba

sent = '中文分词是文本处理不可或缺的一步!'

seg_list = jieba.cut(sent, cut_all=True)

print('全模式:', '/ ' .join(seg_list)) 

seg_list = jieba.cut(sent, cut_all=False)
print('精确模式:', '/ '.join(seg_list)) 

seg_list = jieba.cut(sent)  
print('默认精确模式:', '/ '.join(seg_list))

seg_list = jieba.cut_for_search(sent)  
print('搜索引擎模式', '/ '.join(seg_list))

全模式: 中文/ 分词/ 是/ 文本/ 文本处理/ 本处/ 处理/ 不可/ 不可或缺/ 或缺/ 的/ 一步/ / 
精确模式: 中文/ 分词/ 是/ 文本处理/ 不可或缺/ 的/ 一步/ !
默认精确模式: 中文/ 分词/ 是/ 文本处理/ 不可或缺/ 的/ 一步/ !
搜索引擎模式 中文/ 分词/ 是/ 文本/ 本处/ 处理/ 文本处理/ 不可/ 或缺/ 不可或缺/ 的/ 一步/ !

 

1.精确模式:将句子最精确的分开,适合文本分析

2.全模式:将句,子中所有可以成词的词语都扫描出来,速度快,但不能解决歧义

3.搜索引擎模式:在精确模式的基础上,对长词再次切分,提高召回率,适合搜索引擎分词

注意:jieba.cut返回的结构是一个可迭代的生成器(关于Python生成器的知识见下一篇文章),需用for循环来获得分词后得到的每一个词语。如果需要分词的句子较短,我们希望得到一个list,则可以用jiaba.lcut函数来实现,它对cut的结果做了封装,l代表list,返回一个list集合。

sent = '中文分词是文本处理不可或缺的一步!'
seg_list = jieba.cut(sent,cut_all=False)
print(seg_list)

<generator object Tokenizer.cut at 0x07C68F00>

sent = '中文分词是文本处理不可或缺的一步!'
seg_list = jieba.lcut(sent,cut_all=False)
print(seg_list)

['中文', '分词', '是', '文本处理', '不可或缺', '的', '一步', '!']

二、获取词性

词性属于词汇的语法范畴,也被称为词类。词性标注是在给定句子中判定每个词的语法范畴,确定其词性并加以标注的过程。下演示用jieba.posseg模块实现词性标注

sent = '中文分词是文本处理不可或缺的一步!'
#用lcut生成列表
import jieba.posseg as psg
print([(x.word,x.flag) for x in psg.lcut(sent)])

[('中文', 'nz'), ('分词', 'n'), ('是', 'v'), ('文本处理', 'n'), ('不可或缺', 'l'), ('的', 'uj'), ('一步', 'm'), ('!', 'x')]

#用cut生成器
seg_list = psg.cut(sent)
print(' '.join(['{0}/{1}'.format(w,t) for w,t in seg_list]))

中文/nz 分词/n 是/v 文本处理/n 不可或缺/l 的/uj 一步/m !/x

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值