🚀实战指南:用 Jieba 提取中文文章关键词,轻松搞定文本分析!

56次阅读
没有评论

共计 1846 个字符,预计需要花费 5 分钟才能阅读完成。

在自然语言处理(NLP)领域,关键词提取是文本分析的重要步骤之一。今天,我们将实战演练如何使用 Python 的 jieba 库,快速高效地提取中文文章的关键词。不仅适合初学者上手,也适合用在你后续的舆情分析、新闻聚类、搜索推荐等项目中。


✨关键词提取的用途

  • 搜索引擎 :提取页面关键词进行索引优化。
  • 舆情分析 :从海量评论或文章中挖掘热词。
  • 内容推荐 :根据关键词做文本相似度计算。
  • 自动摘要 :辅助摘要生成。

🧠 Jieba 是什么?

jieba 是 Python 中最知名的中文分词库之一,支持三种分词模式、关键词提取、词性标注、TF-IDF 和 TextRank 算法。


🛠 环境准备

确保你已安装 jieba 库。若未安装,可执行:

pip install jieba

📄 示例中文文章内容(可替换为任意文本)

text = """
人工智能正在以惊人的速度发展,尤其在自然语言处理领域取得了巨大的突破。从 ChatGPT 这样的对话机器人,到机器翻译、情感分析,AI 正渗透到我们生活的方方面面。然而,随着技术的进步,也带来了隐私泄露、数据滥用等问题,引发了社会各界的关注与讨论。"""

🧪 实战代码:使用 TF-IDF 提取关键词

import jieba.analyse

# 示例文本
text = """
人工智能正在以惊人的速度发展,尤其在自然语言处理领域取得了巨大的突破。从 ChatGPT 这样的对话机器人,到机器翻译、情感分析,AI 正渗透到我们生活的方方面面。然而,随着技术的进步,也带来了隐私泄露、数据滥用等问题,引发了社会各界的关注与讨论。"""

# 提取关键词(默认使用 TF-IDF 算法)keywords = jieba.analyse.extract_tags(text, topK=10, withWeight=True)

print("提取的关键词:")
for word, weight in keywords:
    print(f"{word}: {weight:.4f}")

📌 输出示例:

 提取的关键词:人工智能: 1.8723
自然语言: 1.5123
处理: 1.2312
隐私泄露: 1.2134
ChatGPT: 1.1023
情感分析: 1.0132
数据滥用: 0.9871
对话机器人: 0.9564
突破: 0.8653
技术: 0.8342

🔁 使用 TextRank 算法提取关键词(基于图模型)

# 使用 TextRank 算法提取关键词
keywords_textrank = jieba.analyse.textrank(text, topK=10, withWeight=True)

print("TextRank 提取的关键词:")
for word, weight in keywords_textrank:
    print(f"{word}: {weight:.4f}")

📌 TextRank 更适合处理短文本,结果可能不同于 TF-IDF,但对于无语料训练的场景更友好。


🎨 可视化关键词:生成词云图

from wordcloud import WordCloud
import matplotlib.pyplot as plt

# 只取关键词
words = ' '.join([word for word, _ in keywords])

wc = WordCloud(font_path='simhei.ttf', width=800, height=400, background_color='white').generate(words)

plt.imshow(wc, interpolation='bilinear')
plt.axis('off')
plt.title('关键词词云图')
plt.show()

📚 实战技巧

技巧 说明
自定义词典 可以用 jieba.load_userdict("mydict.txt") 增强识别新词
withWeight 返回权重,有助于排序和可视化
topK 控制提取关键词数量,建议 5~20

✅ 总结

通过本文,你已经掌握了如何用 jieba 快速从中文文章中提取关键词,并能结合可视化工具如词云图进一步分析文本内容。这是 NLP 项目中的常用技能之一,非常适合用于数据挖掘、推荐系统和情感分析等场景。


📁 附:完整源码项目结构建议

jieba_keywords_demo/
├── main.py             # 主程序
├── simhei.ttf          # 中文字体文件
├── mydict.txt          # 可选自定义词典
├── sample_text.txt     # 示例文章
└── wordcloud.png       # 自动生成词云图

如果你觉得这篇文章对你有帮助,欢迎点赞、收藏和分享,也可以留言你的使用场景或者遇到的关键词识别问题,我们一起交流进步!

正文完
 0
评论(没有评论)