在自然语言处理(NLP)任务中,中文文本处理的第一步通常是分词。由于中文不像英文那样有空格分隔单词,我们需要借助工具来识别词语边界。
jieba 是目前最流行且强大的中文分词库之一。它基于前缀词典实现高效的词图扫描算法,并结合 HMM(隐马尔可夫模型)来识别新词。本文将带你从安装到实战,掌握其核心用法。
一、安装 jieba
可以通过 pip 一键安装:
pip install jieba
安装完成后,在 Python 脚本中导入即可:
import jieba
二、三种分词模式
jieba 提供了三种常用分词模式,适用于不同场景。
1. 精确模式(默认)
尽量切分出最精确的词语,适合文本分析。
import jieba
text = "我来到北京清华大学"
words = jieba.cut(text, cut_all=False)
print("/".join(words))
输出结果为:
我/来到/北京/清华大学
这是最常用的模式,也是默认行为。
2. 全模式
找出句子中所有可能的词,速度最快但不精确,会有冗余。
words = jieba.cut("我来到北京清华大学", cut_all=True)
print("/".join(words))
输出结果包含更多细分词汇:
我/来到/北京/清华/清华大学/华大/大学
这种模式适合搜索引擎分词,即匹配尽可能多的词。
3. 搜索引擎模式
在精确模式的基础上,再次对长词进行细分,适合用于搜索引擎索引。
words = jieba.cut_for_search("小明硕士毕业于中国科学院计算所")
print("/".join(words))
输出结果:
小明/硕士/毕业/于/中国/中国科学院/科学/学院/中国科学院计算所/计算/计算所
适用于关键词匹配与搜索引擎分词场景。
三、添加自定义词典
有时候,jieba 默认词典可能无法识别专有词汇,比如品牌名、人名或特定术语。


