Twitter數(shù)據(jù)采集以及情感分析方法

來源: octoparse
作者:Ashley Weldon
時間:2020-11-19
18418
在這篇文章中,我們談到了如何Octoparse軟件采集Twitter推文,我們還討論了如何進行數(shù)據(jù)清洗和使用Python對Twitter推文進行情感分析。

我不是唐納德·特朗普(Donald Trump)的超級粉絲。嚴格說來,我一點也不喜歡他。然而,他的個人魅力是不容忽視的,他的名字一直占據(jù)著大多數(shù)報紙和社交媒體。人們對他的態(tài)度是戲劇性的和雙邊的。他的描述詞要么是非常積極的,要么是非常消極的,對于網(wǎng)絡(luò)搜集和情感分析來說,這是一些完美的材料。

本次研究的目的主要是使用Octoparse爬蟲工具抓取Twitter上關(guān)于唐納德·特朗普的相關(guān)推文。然后,我們使用python語言進行情感分析,以此來分析公眾對總統(tǒng)的看法。最后,我們使用Tableau Public進行可視化。

本文特別適合以下人群:

1、想了解如何采集社交媒體上的內(nèi)容或者評論。

2、想了解如何利用Python進行情感分析。

首先我們打開Octoparse官網(wǎng),下載官方最新版本,并按照指示完成注冊,登錄后,再打開內(nèi)置的Twitter簡易模板。

otocparse.png

采集的數(shù)據(jù)字段包括:

用戶名

發(fā)布時間

發(fā)布內(nèi)容

圖片鏈接

Tweet鏈接

評論數(shù),轉(zhuǎn)發(fā)數(shù),點贊數(shù)

首先在Twitter采集模板的關(guān)鍵詞參數(shù)中輸入"Donald Trump",然后點擊啟動采集就會自動采集數(shù)據(jù),正如下圖所示,很簡單,我大概采集了1萬多條Twitter推文,你可以盡可能多的輸入關(guān)鍵詞,從而采集更多的推文,采集到推文數(shù)據(jù)后,將數(shù)據(jù)導(dǎo)出為文本文件,文件命名為"data.txt"。

%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20190416104152.png

利用Python進行情感分析

在開始之前,請確保您的電腦已經(jīng)安裝Python開發(fā)環(huán)境以及文本編輯器,我文章中使用的是Python2.7和Notepad++文本編輯器。

然后,我們使用了兩個情感關(guān)鍵詞列表組成的txt文件,來分析之前采集下來的Twitter信息,你可以在文末下載這兩個文件。

這里的想法是把txt文件中的每個情感關(guān)鍵詞提取到list列表中,然后計算這些關(guān)鍵詞在每條推文中的頻率,最后我們把相應(yīng)包含情感詞的推文給記錄下來。

首先,把兩個txt文件中的積極和消費情感關(guān)鍵詞分別存儲在plist和nlist的列表中。

%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20190416110317.png

然后,對采集下來的Twitter推文進行數(shù)據(jù)清洗,處理掉所有特殊符號(標(biāo)點和數(shù)字等),將每條推文數(shù)據(jù)保存到word_list列表中。

2.png

經(jīng)過數(shù)據(jù)處理后,數(shù)據(jù)只包含清洗后的推文,讓我們更易進行數(shù)據(jù)分析。后續(xù),我們會創(chuàng)建三個字典:wordcountdict,wordcountpositive,and wordcountnegative。

3.png

接下來,定義每個字典,如果在Twitter數(shù)據(jù)中出現(xiàn)相應(yīng)的推文,則增加1,并儲存到wordcountdict字典中。

5.png

接下來的話,確定每條推文是否包含積極或者消極的情感關(guān)鍵詞,如果包含了積極的情感關(guān)鍵詞,則wordcountpositive字典關(guān)鍵詞加1,否則保證一個相同的值。如果包含了消極的情感關(guān)鍵詞,wordcountnegative做相同處理。如果推文不包含任何積極或者消極關(guān)鍵詞,則不作任何處理。

4 (1).png

情感分析:消極還是積極

通過運行上面的Python腳本,我得到了5352個消極關(guān)鍵詞以及3894個積極關(guān)鍵詞,保存在上面相應(yīng)的列表中,然后打開Tableau,建立了一個氣泡圖,如下所示。

%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20190416120630.png

由圖可以看出,很多積極關(guān)鍵詞都是片面的,只有404種積極關(guān)鍵詞被使用,最常見的話,例如“l(fā)ike”、“great”和“right”,大多數(shù)關(guān)鍵詞是基礎(chǔ)的并且偏口語化,如“wow”和“cool”,而使用的否定關(guān)鍵詞更加多樣化,他們大多十分正式并且高級,最常用的是“illegal”、“l(fā)ies”、“racist”。其他詞語,如“delinquent”、“inflammatory”、“hypocrites”也是經(jīng)常出現(xiàn)的。

上面關(guān)鍵詞同時也說明支持者比反對者的教育水平更低,顯然,唐納德·特朗普在推特用戶中并不受歡迎。

總結(jié):

在這篇文章中,我們談到了如何Octoparse軟件采集Twitter推文,我們還討論了如何進行數(shù)據(jù)清洗和使用Python對Twitter推文進行情感分析。對于代碼的完整版本,你可以在以下鏈接下載。

(https://gist.github.com/octoparse/fd9e0006794754edfbdaea86de5b1a51)

參考鏈接:

https://medium.com/datamonsters/text-preprocessing-in-python-steps-tools-and-examples-bf025f872908

https://www.cs.uic.edu/~liub/FBS/sentiment-analysis.html

https://github.com/jeffreybreen/twitter-sentiment-analysis-tutorial-201107/blob/master/data/opinion-lexicon-English/positive-words.txt

http://nohumanbeingisillegal.com/Home.html

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于octoparse,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多