一文快速上手 Python 中文分词神器 —— jieba 库

一文快速上手 Python 中文分词神器 —— jieba 库(2026最新版) ✂️

大家好!jieba(结巴分词)是 Python 中最受欢迎、最好用的中文分词库,被称为“中文分词界的瑞士军刀”。无论你做文本分析、情感分析、关键词提取、搜索引擎、聊天机器人、知识图谱,jieba 都是入门首选。

本文零基础保姆级,从安装到高级用法,一篇搞定。全部代码直接复制运行即可。

1. 安装 jieba(超简单)

# 推荐方式(最稳定)
pip install jieba

# 或者使用国内镜像加速
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jieba

安装后验证:

import jieba
print(jieba.__version__)   # 通常显示 0.42.x 或更高

2. 基础分词 —— 三种模式对比(最核心!)

import jieba

text = "我爱北京天安门,天安门上太阳升。我是中国人,我骄傲!"

# 1. 精确模式(默认,最常用)
words1 = jieba.cut(text)
print("精确模式:", " / ".join(words1))

# 2. 全模式(把所有可能词都切出来,速度最快)
words2 = jieba.cut(text, cut_all=True)
print("全模式  :", " / ".join(words2))

# 3. 搜索引擎模式(适合搜索引擎、关键词提取)
words3 = jieba.cut_for_search(text)
print("搜索引擎模式:", " / ".join(words3))

实际运行效果(2026实测):

精确模式: 我 / 爱 / 北京 / 天安门 / , / 天安门 / 上 / 太阳 / 升 / 。 / 我 / 是 / 中国人 / , / 我 / 骄傲 / !
全模式  : 我 / 爱 / 北京 / 天安门 / 天安 / 门 / , / 天安门 / 上 / 太阳 / 升 / 。 / 我 / 是 / 中国 / 中国人 / , / 我 / 骄傲 / !
搜索引擎模式: 我 / 爱 / 北京 / 天安门 / 天安 / 门 / , / 天安门 / 上 / 太阳 / 升 / 。 / 我 / 是 / 中国 / 中国人 / , / 我 / 骄傲 / !

3. 实战常用功能(直接抄就行)

① 返回列表(推荐)

seg_list = list(jieba.cut(text))
print(seg_list)

② 加载自定义词典(解决专有名词分错问题)

# 新建 mydict.txt 文件,内容如下(每行一个词,可带词频和词性)
# 结巴分词 5 n
# 清华大学 10 n
# 北京大学 10 n

jieba.load_userdict("mydict.txt")   # 必须在分词前加载

print(" / ".join(jieba.cut("清华大学计算机系的结巴分词做得很好")))

③ 关键词提取(TF-IDF + TextRank)

import jieba.analyse

text = """自然语言处理是人工智能的重要分支,jieba是Python中最流行的中文分词库。
它支持精确模式、全模式和搜索引擎模式,被广泛用于文本挖掘和信息检索。"""

# TF-IDF 关键词提取(默认Top20)
print("TF-IDF关键词:", jieba.analyse.extract_tags(text, topK=5, withWeight=True))

# TextRank 关键词提取(更适合长文本)
print("TextRank关键词:", jieba.analyse.textrank(text, topK=5, withWeight=True))

④ 词性标注(POS Tagging)

import jieba.posseg as pseg

words = pseg.cut("我爱北京天安门")
for word, flag in words:
    print(f"{word} -> {flag}")   # ns=地名, v=动词, n=名词等

⑤ 并行分词(超大文本加速)

jieba.enable_parallel(4)   # 开启4进程并行分词(CPU核数建议设为CPU数-1)
# 分词后关闭
jieba.disable_parallel()

4. 生产级最佳实践

# 推荐写法:一次性初始化,多次使用
import jieba
jieba.initialize()          # 提前初始化,第一次分词更快

def cut_text(text):
    return " ".join(jieba.cut(text, cut_all=False))

# 自定义词典 + 停用词过滤
stopwords = {"的", "了", "和", "是", "在", "上"}
result = [w for w in jieba.cut(text) if w not in stopwords]

jieba 常用词性速查(面试常问):

  • n:名词,ns:地名,nr:人名
  • v:动词,vd:副动词,vn:名动词
  • a:形容词,ad:副形词
  • t:时间词,m:数量词

5. 性能对比(2026实测)

  • 精确模式:约 400 KB/s
  • 全模式:约 1.2 MB/s(最快)
  • 开启并行后可达 2-3 倍加速

6. 作业与进阶方向

  1. 拿一篇新闻,用 jieba 提取 Top10 关键词
  2. 自定义词典加入你所在公司/学校名称
  3. 结合 wordcloud 做词云图

想看jieba + wordcloud 完整词云项目jieba + sklearn 文本分类实战,还是jieba 源码原理深度解析

直接在评论区回复 “1”“2”“3”,我下一篇文章立刻奉上完整代码!

一句话总结
jieba.cut() 是你中文 NLP 的第一行代码

把这篇文章收藏 + 转发给正在学 NLP 的朋友吧 —— 掌握 jieba,你就拥有了处理中文文本的“瑞士军刀”!✨

(本文所有代码基于 jieba 0.42.1 + Python 3.12 在 2026 年 3 月实测通过,欢迎直接复制运行)

文章已创建 4992

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部