资讯专栏INFORMATION COLUMN

Python文本分析:2016年政府工作报告有哪些高频词?

CntChen / 2701人阅读

摘要:据小编简单了解,已知对工作报告高频词汇进行梳理的媒体包括法制日报和新华网。高频词词频年以来政府工作报告中的提及总数发展经济改革建设社会推进创新政策企业加强下面是新华网数据新闻部统计的高频词汇。

本文首发于微信公众号号“编程派”。微信搜索“编程派”,获取更多Python编程一手教程及优质资源吧。

上周六,总理在大会堂作政府工作报告,全球媒体瞩目。每年都会有媒体对报告中的高频词汇进行梳理,我们也可以尝试利用Python和分词jieba来自己分析一下。


我们首先来看国内部分媒体的梳理结果。据小编简单了解,已知对工作报告高频词汇进行梳理的媒体包括法制日报和新华网。

国内媒体梳理的高频词

下面是法制日报公布的十大高频词。

高频词 词频 1978年以来政府工作报告中的提及总数
发展 151 4828
经济 90 4449
改革 74 2758
建设 71 3274
社会 66 3402
推进 61 1096
创新 61 414
政策 52 1231
企业 48 2304
加强 41 2238

下面是新华网数据新闻部统计的高频词汇。

新华网的信息图其实有些含糊不清,有些词频不知道到底是2016年还是2015年的,但这里并不是我们关注的重点。

另外,新华网和法制日报得出的数据似乎有些出入,虽然并不大。那么,到底那家的数据是准确的呢?


接下来,我们就自己来计算一下报告中的高频词汇吧。

准备工作

我们需要从网上爬取政府报告的全文,这里小编选择中国政府网发布的报告页面。为此,我们需要安装requests和BeautifulSoup4这两个常用第三方库。

pip requests beautifulsoup

获取了报告文本之后,接下来需要对文本进行分词。我们选择号称“做最好的中文分词组件”的jieba中文分词库。

pip install jieba

这里提示一下,这三个库都支持Python 2和Python 3。但是在Python 2下,很容易就碰到编码问题,最后打印出的中文无法正常显示。因此,建议使用Python 3执行该脚本。

安装好依赖包之后,我们在脚本analyze_report.py的顶部导入它们。

import jieba
import requests
from bs4 import BeautifulSoup
文本提取

首先,我们从网上抓取政府工作报告的全文。我将这个步骤封装在一个名叫extract_text的简单函数中,接受url作为参数。因为目标页面中报告的文本在所有的p元素中,所以我们只需要通过BeautifulSoup选中全部的p元素即可,最后返回一个包含了报告正文的字符串,简单粗暴!

def extract_text(url):
    """Extract html content."""
    page_source = requests.get(url).content
    bs_source = BeautifulSoup(page_source)
    report_text = bs_source.find_all("p")

    text = ""

    for p in report_text:
        text += p.get_text()
        text += "
"

    return text
利用jieba分词,并计算词频

然后,我们就可以利用jieba进行分词了。这里,我们要选择全模式分词。jieba的全模式分词,即把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义。之所以这么做,是因为默认的精确模式下,返回的词频数据不准确。

分词时,还要注意去除标点符号,由于标点符号的长度都是1,所以我们添加一个len(word) >= 2的条件即可。

最后,我们就可以利用Counter类,将分词后的列表快速地转化为字典,其中的键值就是键的出现次数,也就是这个词在全文中出现的次数啦。

def word_frequency(text):
    from collections import Counter

    words = [word for word in jieba.cut(text, cut_all=True) if len(word) >= 2]
    c = Counter(words)

    for word_freq in c.most_common(10):
        word, freq = word_freq
        print(word, freq)
执行脚本

两个函数都写好之后,我们就可以愉快地执行啦。

url_2016 = "http://www.gov.cn/guowuyuan/2016-03/05/content_5049372.htm"
text_2016 = extract_text(url_2016)
word_frequency(text_2016)

最后的结果如下:

高频词 次数
发展 152
经济 90
改革 76
建设 71
社会 67
推进 62
创新 61
政策 54
企业 48
服务 44

## 小结

从上面的结果可以看出,新华网发布的高频词统计数据与我们自己的分析最为接近。当然,新华网的里面少了一个高频词:推进。

如果有朋友想要验证结果的话,可以自己把报告全文复制到word里,然后查询下相关的高频词即可,比如下面这样:

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/37801.html

相关文章

  • 深度学习即将攻陷的下一领域:NLP—ACL2016优秀论文解读上

    摘要:而自然语言处理被视为深度学习即将攻陷的下一个技术领域,在今年全球较高级的学术会议上,我们也看到大量的在深度学习引入方面的探索研究。和也是近几年暂露头角的青年学者,尤其是在将深度学习应用于领域做了不少创新的研究。 深度学习的出现让很多人工智能相关技术取得了大幅度的进展,比如语音识别已经逼近临界点,即将达到Game Changer水平;机器视觉也已经在安防、机器人、自动驾驶等多个领域得到应用。 ...

    mengera88 评论0 收藏0
  • 做大数据分析的怎么可以不会这个?

    摘要:中试牛刀我们这里有一张祖国地图,是否可以定制生成一个祖国版图样式的词云图呢答案是肯定的,只因为太强大,实现思路直接看代码。 showImg(https://segmentfault.com/img/remote/1460000018757943?w=1280&h=640);Overview:0 引言1 环境2 模块准备3 实现思路4 小试牛刀5 中试牛刀6 总结 0 引言 词云图,也叫...

    aristark 评论0 收藏0
  • 海航生态科技舆情大数据平台容器化改造

    摘要:本文转载自微信公众号账号,作者为海航生态科技技术研究院大数据开发工程师高颜。文章介绍了海航生态科技舆情大数据平台的容器化改造经验,包括初期技术架构应用容器化架构迁移持续发布与部署。 本文转载自微信公众号Docker(账号:dockerone),作者为海航生态科技技术研究院大数据开发工程师高颜。 文章介绍了海航生态科技舆情大数据平台的容器化改造经验,包括初期技术架构、应用容器化、架构迁...

    idealcn 评论0 收藏0
  • 达观数据特聘专家复旦大学黄萱菁教授带你了解自然语言理解中的表示学习

    摘要:表示学习和深度学习的兴起是密切相关。自然语言处理中的深度学习在自然语言的表示学习中提及深度学习这是因为深度学习首要的用处就是进行自然语言的表示。图是深度学习在自然语言理解中应用描述。 本文根据达观数据特聘专家复旦大学黄萱菁教授在达观数据举办的长三角人工智能应用创新张江峰会上的演讲整理而成,达观数据副总裁魏芳博士统稿 一、概念 1 什么是自然语言和自然语言理解? 自然语言是指汉语、英语、...

    Rocture 评论0 收藏0

发表评论

0条评论

CntChen

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<