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

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

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

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

本文特別適合以下人群:

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

2、想了解如何利用Python進(jìn)行情感分析。

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

otocparse.png

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

用戶名

發(fā)布時(shí)間

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

圖片鏈接

Tweet鏈接

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

首先在Twitter采集模板的關(guān)鍵詞參數(shù)中輸入"Donald Trump",然后點(diǎn)擊啟動(dòng)采集就會(huì)自動(dòng)采集數(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ìn)行情感分析

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

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

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

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

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

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

2.png

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

3.png

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

5.png

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

4 (1).png

情感分析:消極還是積極

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

%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)鍵詞更加多樣化,他們大多十分正式并且高級(jí),最常用的是“illegal”、“l(fā)ies”、“racist”。其他詞語,如“delinquent”、“inflammatory”、“hypocrites”也是經(jīng)常出現(xiàn)的。

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

總結(jié):

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

(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)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼登錄
打開掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
個(gè)人VIP
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家