当前位置: 首页 > article >正文

jieba中文分词模块,详细使用教程

jieba中文分词模块,详细使用教程

    • **✅ 1. 安装 jieba**
    • **✅ 2. 基本使用**
      • **2.1 精确模式(最常用)**
      • **2.2 全模式(会把所有可能的词都列出来)**
      • **2.3 搜索引擎模式**
    • **✅ 3. 处理文件**
    • **✅ 4. 添加自定义词典**
      • **4.1 添加新词**
      • **4.2 词频调整**
      • **4.3 加载自定义词典**
    • **✅ 5. 词性标注(jieba.posseg)**
    • **✅ 6. 关键词提取**
      • **6.1 TF-IDF 提取关键词**
      • **6.2 TextRank 提取关键词**
    • **🔥 总结**

jieba 是 Python 中文分词的 神器,可以用来对中文文本进行 精确分词、全模式分词、搜索引擎分词 等。


✅ 1. 安装 jieba

如果你还没安装:

pip install jieba

✅ 2. 基本使用

2.1 精确模式(最常用)

适用于文本分析、NLP任务

import jieba

text = "我爱自然语言处理"
words = jieba.lcut(text)  # 精确分词
print(words)

输出

['我', '爱', '自然语言处理']

2.2 全模式(会把所有可能的词都列出来)

适用于搜索引擎、关键词提取

jieba.lcut("我爱自然语言处理", cut_all=True)

输出

['我', '爱', '自然', '自然语言', '自然语言处理', '语言', '语言处理', '处理']

🚀 优点:可以发现所有可能的词组
⚠️ 缺点:会产生很多冗余的词,通常不用于 NLP 任务


2.3 搜索引擎模式

适用于 搜索引擎索引

jieba.lcut_for_search("小明硕士毕业于中国科学院计算技术研究所")

输出

['小明', '硕士', '毕业', '于', '中国', '中国科学院', '科学院', '计算', '计算技术', '计算技术研究所', '技术', '研究所']

🚀 特点:会把长词拆分成多个短词,方便搜索引擎检索。


✅ 3. 处理文件

如果你要对整篇文章进行分词:

with open("article.txt", "r", encoding="utf-8") as f:
    text = f.read()

words = jieba.lcut(text)
print(" ".join(words))  # 用空格连接分词结果

适用于:

  • 处理新闻、论文、小说等文本
  • 数据预处理(如 Word2Vec)

✅ 4. 添加自定义词典

默认 jieba 可能会漏掉专业术语,需要自己添加词汇!

4.1 添加新词

jieba.add_word("深度学习")
jieba.add_word("自然语言处理")

4.2 词频调整

jieba.suggest_freq("自然语言", tune=True)

适用于 纠正错误的分词,例如 “自然语言” 被切成 “自然” 和 “语言”。

4.3 加载自定义词典

如果有大量术语(比如医学、金融、游戏术语),建议用自定义词典

jieba.load_userdict("my_dict.txt")

my_dict.txt 内容示例:

深度学习 10
机器学习 5
自然语言处理 8

格式:

  • 词语(必填)
  • 词频(可选)
  • 词性(可选)

✅ 5. 词性标注(jieba.posseg)

jieba.posseg 可以给每个词添加 词性(如名词、动词、形容词):

import jieba.posseg as pseg

words = pseg.lcut("我爱自然语言处理")
for word, flag in words:
    print(f"{word} ({flag})")

输出

(r)(v)  自然语言处理 (n)

常见词性

  • n → 名词
  • v → 动词
  • adj → 形容词
  • r → 代词
  • m → 数量词

✅ 6. 关键词提取

6.1 TF-IDF 提取关键词

import jieba.analyse

text = "人工智能是计算机科学的一个分支,它使机器能够模仿人类的智能行为。"
keywords = jieba.analyse.extract_tags(text, topK=3, withWeight=True)

for word, weight in keywords:
    print(f"{word}: {weight}")

输出

人工智能: 0.572
计算机科学: 0.482
机器: 0.367

6.2 TextRank 提取关键词

jieba.analyse.textrank(text, topK=3, withWeight=True)

区别

  • TF-IDF 适用于短文本(新闻、微博)
  • TextRank 适用于长文本(论文、小说)

🔥 总结

功能jieba 代码
精确分词jieba.lcut(text)
全模式分词jieba.lcut(text, cut_all=True)
搜索引擎模式jieba.lcut_for_search(text)
添加自定义词jieba.add_word("自然语言处理")
词性标注pseg.lcut(text)
TF-IDF 关键词提取jieba.analyse.extract_tags(text, topK=3)
TextRank 关键词提取jieba.analyse.textrank(text, topK=3)

http://www.kler.cn/a/596187.html

相关文章:

  • 基于 PyTorch 的 MNIST 手写数字分类模型
  • 学习笔记:黑马程序员JavaWeb开发教程(2025.3.21)
  • 卷积神经网络 - 汇聚层
  • 使用Three.js渲染器创建炫酷3D场景
  • m4i.22xx-x8系列-PCIe总线直流耦合5G采集卡
  • 基于Django的动物图像识别分析系统
  • 阿里云平台Vue项目打包发布
  • EtherCAT 八口交换机方案测试介绍,FCE1100助力工业交换机国产芯快速移植。
  • 《Python实战进阶》No26: CI/CD 流水线:GitHub Actions 与 Jenkins 集成
  • DeepSeek 3FS 与 JuiceFS:架构与特性比较
  • C++《红黑树》
  • 微信小程序登陆之反向代理
  • 接口自动化测试框架详解
  • LLM(大型语言模型) 和 VLM(视觉语言模型)
  • Cursor IDE 入门指南
  • 基于springboot的甘肃非物质文化网站(030)
  • 多语言生成语言模型的少样本学习
  • 由于 “系统找不到指定的路径” 导致Pymol_1.8_win-7_64bit 安装失败的原因分析与解决方法
  • Qt 关键技术点总结与实践经验
  • WireShark与rtps协议组合使用