统计热词频率词云图
本文最后更新于221 天前,如有错误请发送邮件到yaoshengliy@gmail.com

前言

时间:4月9日

题目:编写程序,统计两会政府工作报告热词频率,并生成词云。

题目分析与方法

题目要求有两个部分:

  1. 统计两会政府工作报告热词频率
  2. 生成词云图

首先需要统计两会政府工作报告的热词频率,通过在网络上搜寻,我找到一篇新华网在2025年3月12日发布的关于《两会受权发布丨政府工作报告》,全文共18526个字左右,将其作为我的report.txt以进行接下来的统计热词频率。

两会受权发布丨政府工作报告_2025全国两会大型融媒体专题_新华网

热词频率统计的核心流程包括:读取文本、进行中文分词,并对分词结果进行词频统计。在中文处理中,由于文本没有明显的词界分隔符,因此我借助 jieba 分词工具对原始语句进行切分,得到有意义的词语列表。随后,利用 collections.Counter 对词语出现次数进行计数,并筛选出高频热词,从而揭示报告的主要关注点与主题内容,最终可以将热频词可视化为直方图。

若Python环境中没有包含jieba库,则通过如下命令下载:

pip install jieba -i https://mirrors.aliyun.com/pypi/simple/ # 阿里云镜像源进行下载,速度较快

词云图是一种将关键词按出现频率以可视化形式呈现的方法。通过将词频作为输入,将出现频率映射为词语字号,并随机排列显示位置,使重要词汇在图中更为突出。它可以快速让读者获取文本的核心关键词和内容分布,是文本分析中常用的直观呈现方式,在Python中可以导入WordCloud库来实现(若环境不包含则同理通过上文的下载命令进行按照)。

以下是实现功能的完整代码:

import jieba
from collections import Counter
from wordcloud import WordCloud
import matplotlib.pyplot as plt

# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

# 1. 读取政府工作报告文本
with open('report.txt', 'r', encoding='utf-8') as f:
    text = f.read()

# 2. 中文分词 + 过滤长度为1的词
words = jieba.lcut(text)
filtered_words = [word for word in words if len(word) > 1]

# 3. 词频统计
word_freq = Counter(filtered_words)

# 4. 输出前20个热词
top_n = 20
top_words = word_freq.most_common(top_n)
print("Top 20 热词:")
for word, freq in top_words:
    print(f"{word}: {freq}")

# 5. 绘制词频直方图(柱状图)
words, counts = zip(*top_words)

plt.figure(figsize=(12, 6))
plt.bar(words, counts, color='skyblue')
plt.title('Top 20 热词频率统计')
plt.xlabel('词语')
plt.ylabel('频率')
plt.xticks(rotation=45, ha='right')  # 横轴标签旋转以适应长词
plt.tight_layout()  # 自动调整布局防止重叠
plt.show()

# 6. 生成词云图
wc = WordCloud(
    font_path='msyh.ttc',  # 微软雅黑字体路径,确保中文正常显示
    background_color='white',
    width=800,
    height=600,
    max_words=100
)

wc.generate_from_frequencies(word_freq)

# 7. 显示词云
plt.figure(figsize=(10, 8))
plt.imshow(wc, interpolation='bilinear')
plt.axis('off')
plt.show()

对于代码的运行结果,首先是热词频率统计直方图。

然后是词云图统计。

由统计分析可知,《政府工作报告》通过高频词如“发展”“推进”“建设”“加强”“推动”等,凸显了2025年中国政府工作以高质量发展为核心,强调通过深化改革、科技创新、制度完善和政策支持,加快构建现代化产业体系,扩大内需,推进城乡区域协调发展,强化生态保护和社会民生保障,统筹发展和安全,以实现经济持续回升向好、社会和谐稳定及“十四五”规划目标的圆满收官,为中国式现代化注入强劲动力。

结语

我通过Python编程,结合jieba分词和WordCloud库,成功完成了2025年《政府工作报告》的热词频率统计与词云图生成,直观呈现了以“发展”“推进”“建设”为核心的高频词汇以及词云图。

jieba分词工具高效精准地处理中文文本,解决了中文无明显词界分隔的难题,让够快速提取有意义的词语并进行词频统计,为文本分析提供了相当好的便利,而WordCloud库则以直观的视觉化方式将词频数据转化为词云图方便数据分析。这两个工具不仅适用于政策文本分析,还可在舆情监测、文献研究、市场分析等领域大放异彩,助力我更高效地挖掘数据。

原文作者:© 风影 版权所有


原文链接:https://sily.showbyte.top/cloud-map/


本作品采用 CC BY-NC-ND 4.0 许可协议。禁止修改原文内容,引用时务必注明文章标题、原文链接及作者信息


暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇