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

介绍

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

1

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

准备工作

首先需要说明的最重要的一点是,我们使用 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(对学生账号免费)。

导入工具

2

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

成为推特开发者

3

数据挖掘

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

4

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

5

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

数据清洗

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

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

6

数据整理

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

7

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

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

数据可视化

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

10

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

12

结论

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

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

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

使用 Tableau 画出推特标签词云

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

13

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

15

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

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

更多课程和文章尽在微信号:「datartisan数据工匠」

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • 前面三篇文章《使用python机器学习(一)》、《使用python机器学习(二)》、《使用python机器学习(三...
    jacksu在简书阅读 2,925评论 1 7
  • 这个标题,有意思吧? 其实,有意思的还不止这个,而是故事的情节。 别急!故事,如下。 她,与我也就聊过两回,而且每...
    安郎若素阅读 296评论 0 1
  • 时间总是那么公平,在夏天没有完成的事情,到了秋天,会实现吗?减肥,应该是每个女孩一件大事。然而,唯有美食与美女子不...
    木鱼Leo阅读 199评论 0 0
  • 为了保持其连贯性,略记一笔。 早上懒觉,9点吃早饭。 中午小鱼到访,四菜一汤,吃至下午2点。 晚上吃了几颗花生,一...
    Rabbit622阅读 217评论 1 0