好的,我来帮你系统梳理 Python 中 jieba 库的使用说明,从基础安装、分词方法到高级应用,让你快速掌握中文文本处理。


1️⃣ jieba 库简介

  • jieba 是 Python 中文分词库
  • 特点:
    • 支持 精准模式、全模式、搜索引擎模式
    • 可自定义词典,提高分词准确率
    • 支持关键词提取和词性标注
  • 安装:
pip install jieba


2️⃣ 分词模式

2.1 精确模式

  • 目标:尽可能精确地切分句子,适合文本分析
import jieba

text = "我爱北京天安门"
words = jieba.cut(text, cut_all=False)  # 精确模式
print(list(words))
# 输出: ['我', '爱', '北京', '天安门']

2.2 全模式

  • 目标:把句子中所有可能的词语都扫描出来,速度快
words = jieba.cut(text, cut_all=True)
print(list(words))
# 输出: ['我', '爱', '北京', '天安门', '北京天安门']

2.3 搜索引擎模式

  • 目标:在精确模式的基础上,对长词再次切分,提高召回率,适合搜索引擎分词
words = jieba.cut_for_search(text)
print(list(words))
# 输出: ['我', '爱', '北京', '天安门', '北京天安门']


3️⃣ 自定义词典

  • 可添加用户自定义词,提高分词准确度
jieba.load_userdict("userdict.txt")

  • userdict.txt 示例:
天安门 10 n
北京大学 5 ns

  • 格式:词语 词频 词性
  • 动态添加:
jieba.add_word("小米手机")
jieba.del_word("一些错误词")


4️⃣ 关键词提取

jieba 提供 TF-IDF 和 TextRank 方法:

import jieba.analyse

text = "小米手机发布了新款旗舰,性能提升明显。"

# TF-IDF
keywords = jieba.analyse.extract_tags(text, topK=3, withWeight=True)
print(keywords)
# [('小米手机', 1.2), ('旗舰', 0.8), ('性能', 0.6)]

# TextRank
keywords = jieba.analyse.textrank(text, topK=3, withWeight=True)
print(keywords)


5️⃣ 词性标注

import jieba.posseg as pseg

words = pseg.cut("小米手机发布了新款旗舰")
for word, flag in words:
    print(word, flag)
# 输出:
# 小米手机 n
# 发布 v
# 新款 n
# 旗舰 n

常用词性:

  • n:名词
  • v:动词
  • a:形容词
  • ns:地名

6️⃣ 分词注意事项

  1. 中文文本必须 去除标点符号 或用正则预处理
  2. 对于专有名词和新词,建议 自定义词典
  3. 搜索场景推荐 搜索引擎模式,文本分析推荐 精确模式

7️⃣ 总结

  • 核心功能
    1. 分词(精确 / 全 / 搜索模式)
    2. 自定义词典
    3. 关键词提取(TF-IDF / TextRank)
    4. 词性标注
  • 应用场景:文本分析、搜索引擎、舆情分析、自然语言处理(NLP)