自制多功能词云图生成程序——多文件分析、删除关键词等
前言
一直以来很喜欢词云图,能够很直观地体现文本的关键词,无奈技术有限,现使用AI写出了比较完整、功能强大的词图,分享给大家。
可以先看下成果,这是使用脚本生成的由chinese-poetry/chinese-poetry中宋词的词云图。

运行环境
系统环境:
安装:
1 | pip3 install jieba wordcloud matplotlib |
需要的文件:
- 字体:scp_zh/fonts/SimHei.ttf at master · StellarCN/scp_zh
- 停用词表:goto456/stopwords: 中文常用停用词表(哈工大停用词表、百度停用词表等)
常见停用词表来源说明:
根据中文自然语言处理(NLP)任务的差异,可选择不同版本的词表:
- 哈工大(HIT)停用词表:应用最广泛,包含约767个词,涵盖了大多数日常用语中的无意义词汇。
- 百度停用词表:包含约1395 个词,对搜索引擎产生的冗余词过滤效果较好。
- 四川大学(SCU)停用词表:包含约1208个词,在处理社交媒体和长文章时表现较稳健。
脚本文件
开源地址:
zhyong26/Mac_shells: Mac M1个人使用脚本
其中第24行的停用词表文件路径,可根据实际修改。
1 | #!/usr/bin/env python |
使用说明
帮助文档:
1 | usage: get_word_cloud.py [-h] [--font FONT] [--stop STOP] [--exclude [EXCLUDE ...]] [--skip_top SKIP_TOP] filenames [filenames ...] |
如进行宋词的内容分析,根据实际关键词请问,去除不必要关键字,最终使用及输出如下:

其中get_wc命令即为脚本文件,为方便使用,设置了alias。
1 | alias get_wc="~/Project/Python_wordcloud/.venv/bin/python3 ~/Project/Python_wordcloud/get_word_cloud.py" |
转换为正常使用命令,即为:
1 | python3 get_word_cloud.py *song* --skip_top 8 -e tags null |
分析文件即为chinese poety中所有含有”song”的文件名。
AI 总结 (Qwen API)
生成时间: 2026-02-14 10:53:18
深度总结:
该文章介绍了一个自主开发、面向中文文本的多功能词云图生成工具,核心目标是提升文本关键词可视化分析的实用性与灵活性。不同于基础词云脚本,该项目具备显著的工程化特征:
- 多文件批量处理能力:支持通配符(如
*song*)传入多个文本文件,自动合并词频统计,适用于大规模语料(如宋词全集); - 精细化文本过滤机制:集成停用词表(哈工大/百度等主流资源)、用户自定义排除词(
--exclude)及高频词自动跳过(--skip_top),有效抑制“的”“了”“人”等无意义高频干扰项,提升语义代表性; - 跨平台字体智能适配:针对 macOS、Windows 系统预置常见中文字体路径,并支持手动指定,彻底解决
wordcloud中文乱码/方块字问题——这是中文词云落地的关键技术瓶颈; - 鲁棒性设计:包含文件存在性校验、编码异常捕获、空内容防护、数据空值预警等生产级容错逻辑,保障非专业用户也能稳定运行;
- 开源可扩展架构:代码结构清晰(模块化函数 + Argparse CLI),便于二次开发(如接入 TF-IDF 权重、情感加权、词性筛选等高级功能)。
整体体现了“小而美”的数字人文工具理念:以轻量 Python 脚本为载体,融合自然语言处理(jieba 分词)、数据聚合(Counter)、可视化(WordCloud + Matplotlib)与系统交互(跨平台字体探测),在学术分析、内容运营、教学演示等场景中具备直接复用价值。
核心关键词标签(3–5个):
#词云图 #中文分词 #停用词过滤 #跨平台字体适配 #多文件批量分析