开发 | 使用 Rodeo 分析总统候选人的推特内容

AI 科技评论按 :本文作者Datartisan,载于其知乎专栏——Datartisan数据工匠。AI 科技评论转载已获得原作者授权。

介绍

选举季已经到来,对于每个一直在关注这些事情的人来说,这绝对是一场最疯狂、涉及最多社交媒体、充满戏剧性的选举。距离最后的选举已经不到3个月,各个州的投票结果也逐渐公示出来,我们认为是时候,通过分析候选人的演讲内容,以及他们与大众的互动情况,来了解这些候选人的竞选方式了。

想要分析社交媒体上的大众对这场选举的看法,那么我们从分析候选人自己的推特内容着手,这似乎是比较合理的。在查看、总结这些推特的特点后,我们的目标变为搞清楚候选人用来吸引民众注意力的词语是哪些。

准备工作

首先需要说明的最重要的一点是,我们使用 Rodeo 作为我们的 IDE,随后调用推特的 API 来获取所有推文,最后将使用 Tableau 来完成可视化部分。也就是说,我们的第一件事情是去 https://www.yhat.com/products/rodeo 下载 Rodeo。接下来下一步是获取调用推特 API 的权限,我们只需要在 https://dev.twitter.com/ 上注册一个 app,随后我们就获得了调用 API 的令牌秘钥(token keys)。最后,我们需要去 https://www.tableau.com/Tableau-Download 下载 Tableau(对学生账号免费)。

导入工具

注:你也可以使用Rodeo中的菜单操作选择 improved package,来查找、安装需要的包。

成为推特开发者

数据挖掘

经过以上步骤后,我们的第一步是对给定用户的推特内容进行挖掘,并以一种数据友好的方式展现出来。上面调用API的语句是会返回 JSON 格式的推特数据,为了将数据变换为我们能够使用的数据格式,我们使用一个 for 循环来获取赞、转发、日期、推文内容,并用不同的列表来分别存储它们。

在得到所有列表后,我们就可以将每个列表合并成一个干净、简洁的数据框了。

使用这些列,我们能搞清楚,在选举的进程中,候选人措辞方面所发生的变化,然而考虑到我们的目标是分析推文中的关键词,因此我们对候选人推文中出现的词语总词频更感兴趣,我们接下来将主要关注“text”列表。

数据清洗

因为“text”列表中不仅包括了大小写字母,还包括了一些特殊的的字符,比如“@”、“:”等。毫无疑问地,这些字符会在进一步的分析引发错误,所以我们需要对数据进行清洗。

我们的清洗目标分为 2 步。首先,先将列表转化为一个字符串。然后,去掉一些不是特殊字符但却属于格式化的单词,比如 “WWW” 和 “http.”。

数据整理

到目前为止,所有推文中的句子都被分裂成了单词,我们现在可以开始计算词频了。我们的首要任务是初始化一个空字典,并且往字典里添加新单词及其词频。

该词典包含了所有单词及其对应的词频,但里面仍然存在一些单词,它们对我们的分析没有什么太大意义。为了解决这个问题,我们首先考虑词频超过给定数量(在本例中是50)的单词,然后在这些单词中,删除我们认为是停止词的单词。

现在,让我们看看 filtertrump 词典长什么样子:

数据可视化

完成了挖掘和清洗的工作后,我们就可以进行可视化了。我们的第一张图是一张条形图,它画出了川普推文中前20个最常使用单词的分布。通过查看前20个最常用单词的分布,这进一步阻止了任何特殊字符及无意义的单词显示在图表上。

利用相同的方法,只需要将前面 for 循环里的 screen_name 赋值为 “HillaryClinton”,我们就能找到希拉里·克林顿推文中前 20 个最常用单词。

结论

现在,第一张图已经绘制完成。我们可以开始分析数据,并找出候选人之间的语言倾向和模式了。

川普的最常用词语包括 “Hillary Clinton”,“Trump”。克林顿的最常用词语是 “Trump”,其次则是如 “Americans”,“American”,“women”,“people” 等群体性词语。

另外,我们能看到希拉里的最常用词语和川普有关,并且其词频几乎三倍于其他单词。与此同时,川普的最常用单词都指向了克林顿,但其词频并没有出现特别过分的倾斜。同样地,我们可以看到这些候选人间的不同之处:川普更多地喜欢使用 “me” 和 “ImWithYou” 这样的词来谈论自己;而克林顿显得更包容一些,经常使用 “us” 和 “people” 这样的词。

使用 Tableau 画出推特标签词云

此外,我们可以将上文中的字典存储起来,便于下一步使用 Tableau 来实现可视化。使用下面的代码,我们能将字典存储起来:

一旦你运行了上面的代码,那么你就可以在 Tableau 上打开这个 csv 文件,然后按下 F1 来调整颜色,按下 F2 来调整词云大小,从而创建出下面的词云:

祝贺你!到了这一步,你已经完成了:

  1. 调用 API 来挖掘推文数据;
  2. 清洗文本成可用的格式;
  3. 对两种不同格式的数据进行可视化;
  4. 分析候选人的语言特征。

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2017-08-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据处理

碰运气的约会-几何概率

2195
来自专栏奇点大数据

python需要系统学习一下

1、python是脚本语言,作为程序员我觉得至少应该掌握一本通用脚本语言,因为脚本语言与编译语言的开发测试过程不同,可以极大的提高编程效率。

1012
来自专栏企鹅号快讯

R实战——大众点评-汉拿山评论情感浅析

有实际的需求才有行动的动力,因为一个朋友开了一家烤肉店,在大众点评上线了团购套餐,遭遇了几次中差评,朋友第一次接触这个,也不知道怎么回复和处理,于是向我寻求帮助...

2189
来自专栏牛客网

今日头条前端实习一面

面试官没通知有二面,于是觉得自己凉凉了。面试氛围还不错, 就是自己网络不好,老是卡很尴尬,所以请一定要检查好网络环境再开始。 一上来估计是在看投的简历,随便聊...

3899
来自专栏玉树芝兰

如何用 R 绘制动态统计图?

漫长的演化史上,人类的感官只要能有效发现食物(包含猎物),快速捕获危险信号(例如捕食者逼近),和同类高效交流(使用声音、表情或肢体语言)就大概率可以在残酷的自然...

472
来自专栏州的先生

【我爱背单词】用Python提炼3000英语新闻高频词汇

1185
来自专栏机器之心

教程 | 如何优雅而高效地使用Matplotlib实现数据可视化

2665
来自专栏CDA数据分析师

【技能get】简单而有效的 EXCEL 数据分析小技巧

作者 CDA 数据分析师 我一直很欣赏 EXCEL 蕴藏的巨大能量。这款软件不仅具备基本的数据运算,还能使用它对数据进行分析。EXCEL 被广泛运用到很多领域...

2359
来自专栏大数据文摘

手把手 | 教你爬下100部电影数据:R语言网页爬取入门指南

2257
来自专栏CDA数据分析师

3个步骤彻底学透Excel

本文为简书作者数据充电宝原创,CDA数据分析师已获得授权 目录 Excel函数学习常见的误区和问题及解决办法 ● 苦恼 ● 原因 ● 解决办法 学习3步法 (重...

1868

扫描关注云+社区