使用 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閱讀 229,763評論 6 539
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,238評論 3 428
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,823評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,604評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,339評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,713評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,712評論 3 445
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,893評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,448評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,201評論 3 357
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,397評論 1 372
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,944評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,631評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,033評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,321評論 1 293
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,128評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,347評論 2 377

推薦閱讀更多精彩內容

  • 前面三篇文章《使用python機器學習(一)》、《使用python機器學習(二)》、《使用python機器學習(三...
    jacksu在簡書閱讀 2,991評論 1 7
  • 這個標題,有意思吧? 其實,有意思的還不止這個,而是故事的情節。 別急!故事,如下。 她,與我也就聊過兩回,而且每...
    安郎若素閱讀 316評論 0 1
  • 時間總是那么公平,在夏天沒有完成的事情,到了秋天,會實現嗎?減肥,應該是每個女孩一件大事。然而,唯有美食與美女子不...
    木魚Leo閱讀 203評論 0 0
  • 為了保持其連貫性,略記一筆。 早上懶覺,9點吃早飯。 中午小魚到訪,四菜一湯,吃至下午2點。 晚上吃了幾顆花生,一...
    Rabbit622閱讀 224評論 1 0