好的,我来帮你系统梳理 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️⃣ 分词注意事项
- 中文文本建议 去除标点符号 或用正则预处理
- 对于专有名词和新词,建议 自定义词典
- 搜索场景推荐 搜索引擎模式,文本分析推荐 精确模式
7️⃣ 总结
- 核心功能:
- 分词(精确 / 全 / 搜索模式)
- 自定义词典
- 关键词提取(TF-IDF / TextRank)
- 词性标注
- 应用场景:文本分析、搜索引擎、舆情分析、自然语言处理(NLP)
如果你需要,我可以帮你画一张 jieba 分词流程图,展示 输入文本 → 分词模式选择 → 自定义词典 → 输出分词 → 关键词提取,让整个流程直观易懂。
你希望我画吗?
发表回复