Python 中文分词库 Jieba 核心用法详解
概述
中文分词是将连续的汉字序列切分成有意义的词语单元的过程,是自然语言处理(NLP)的基础步骤。在搜索引擎、机器翻译、情感分析、文本摘要等应用场景中,分词质量直接影响后续任务的效果。
在 Python 生态中,jieba 是最流行且功能完善的中文分词库之一。它结合了精确模式、全模式和搜索引擎模式,支持自定义词典和词性标注,能够灵活适应不同的业务需求。
安装与环境准备
基础安装
使用 pip 进行安装,兼容 Python 2 和 Python 3:
pip install jieba
如果网络下载较慢,建议指定国内镜像源以提升速度:
pip install jieba -i https://pypi.tuna.tsinghua.edu.cn/simple
PaddlePaddle 深度学习模式
Jieba 也支持基于 PaddlePaddle 的深度学习分词模式,精度更高但依赖较重。需先安装轻量级版本:
pip install paddlepaddle-tiny==1.6.1
注意:部分镜像源可能不稳定,若遇到下载问题,可访问 PaddlePaddle 官网获取最新安装指引。启用该模式需在调用时设置 use_paddle=True。
分词模式详解
jieba.cut() 方法支持多种分词策略,适用于不同场景。
1. 精确模式
特点:试图将句子最精确地切开,适合文本分析。
代码示例:
import jieba
test_content = '迅雷不及掩耳盗铃儿响叮当仁不让世界充满爱之势'
cut_res = jieba.cut(test_content, cut_all=False)
print('[精确模式]:', list(cut_res))
输出结果:
['迅雷不及', '掩耳盗铃', '儿响', '叮', '当仁不让', '世界', '充满', '爱之势']
说明:默认开启 HMM(隐马尔可夫模型)识别新词。若设置 HMM=False,则不会尝试组合未登录词,结果会更保守。
2. 全模式
特点:扫描所有可能的词语,速度快但不解决歧义。
代码示例:
cut_res = jieba.cut(test_content, cut_all=True)
(, (cut_res))

