祁步法 夏戰(zhàn)國(guó) 崔員寧 樂珍
摘要:如今互聯(lián)網(wǎng)迅速發(fā)展,無論何時(shí)何地,我們都可以利用網(wǎng)絡(luò)感受大千世界的萬象更新,大數(shù)據(jù)也就應(yīng)運(yùn)而生。我們選用Python語言編寫爬蟲程序?qū)ξ⒉┑臄?shù)據(jù)進(jìn)行抓取。由于數(shù)據(jù)存在不可供我們可視化使用的數(shù)據(jù),我們對(duì)數(shù)據(jù)進(jìn)行了一系列處理,除去了所有的臟數(shù)據(jù)。對(duì)數(shù)據(jù)進(jìn)行整合以后,我們根據(jù)情感詞典對(duì)數(shù)據(jù)進(jìn)行了情感分析,將得出的結(jié)果導(dǎo)入到AdobeIllustrator中的可視化分析字體FFChartwell生成對(duì)應(yīng)的可視化視圖,該論文通過分析了美國(guó)大選的大數(shù)據(jù),并將分析結(jié)果可視化呈現(xiàn)。
關(guān)鍵詞:微博;大數(shù)據(jù);可視化分析
中圖分類號(hào):TP311
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2017)10-0205-03
1.概述
隨著科技時(shí)代的飛速發(fā)展,信息交流也越來越暢通,大數(shù)據(jù)便是人類在信息時(shí)代的產(chǎn)物。大數(shù)據(jù)以它獨(dú)特的優(yōu)勢(shì)占領(lǐng)了各種不斷發(fā)展的領(lǐng)域,上至天文、下至地理,以大數(shù)據(jù)處理為中心的計(jì)算技術(shù)也逐漸滲透到各個(gè)領(lǐng)域,它通過數(shù)據(jù)資源共享與集成的方式完成對(duì)自然的探索以及對(duì)情感的動(dòng)向等分析,可以說大數(shù)據(jù)打開了人類認(rèn)知新世界的大門。微博是一個(gè)基于用戶關(guān)系信息分享、傳播以及獲取的提供微型博客服務(wù)類的社交網(wǎng)站,是一種通過關(guān)注機(jī)制分享簡(jiǎn)短實(shí)時(shí)信息的廣播式的社交網(wǎng)絡(luò)平臺(tái),用戶可以通過WEB、WAP等各種客戶端組建個(gè)人社區(qū),以140字的文字更新信息,并實(shí)現(xiàn)即時(shí)分享。微博以它的便捷性與原創(chuàng)性收獲了眾多用戶,由于微博話題覆蓋面極廣,用戶可以在任意時(shí)間、任意地點(diǎn)記錄下所看所想的內(nèi)容,因此分析微博數(shù)據(jù)的重要性可見一斑,同時(shí)也為大數(shù)據(jù)的研究提供了良好的載體。
2.數(shù)據(jù)采集
(1)新浪微博AH
新浪微博開放平臺(tái)類似于Twitter,平臺(tái)有相關(guān)接口,可以獲取用戶的用戶名、頭像圖片、當(dāng)前用戶的粉絲和關(guān)注對(duì)象列表等信息。利用開放的AH進(jìn)行數(shù)據(jù)抓取是一種容易上手的方式。其優(yōu)點(diǎn)是抓取的數(shù)據(jù)冗余小,數(shù)據(jù)的結(jié)構(gòu)清晰,便于進(jìn)一步的處理與分析,抽取數(shù)據(jù)也十分方便。
(2)Python網(wǎng)絡(luò)爬蟲
Python是一種優(yōu)雅而健壯的編程語言,它繼承了傳統(tǒng)編程語言的強(qiáng)大.陛和通用性,同時(shí)也借鑒了簡(jiǎn)單腳本和解釋語言的易用性。我們采用Python編寫的網(wǎng)絡(luò)爬蟲來進(jìn)行微博數(shù)據(jù)抓取。
我們針對(duì)美國(guó)大選的相關(guān)關(guān)鍵詞進(jìn)行數(shù)據(jù)抓取。
由于要抓取的內(nèi)容只包括微博正文、微博作者、微博發(fā)布時(shí)間、點(diǎn)贊轉(zhuǎn)發(fā)量等,我們?cè)谧ト〉倪^程中通過匹配篩選以上內(nèi)容并保留,去掉不相關(guān)的內(nèi)容,然后將其以XML格式保存在本機(jī)上。
為了應(yīng)對(duì)新浪微博的反爬蟲機(jī)制,在數(shù)據(jù)抓取的過程中,我們采用控制抓取頻度的方法來應(yīng)對(duì)反爬機(jī)制。即控制每次抓取后空隔幾秒,每抓五條后進(jìn)行一次長(zhǎng)時(shí)間的空隔,并且限制每天訪問的頁(yè)面量。事實(shí)證明這種方法是簡(jiǎn)單而有效的。
3.數(shù)據(jù)預(yù)處理
(1)數(shù)據(jù)整理
原始數(shù)據(jù)從服務(wù)器上抓取下來,按照關(guān)鍵字分類有多個(gè)文件。經(jīng)過整理,得到包括關(guān)鍵字、博主ID、博文、發(fā)布時(shí)間、評(píng)論數(shù)等內(nèi)容的9列數(shù)據(jù),總共50243條數(shù)據(jù)。
(2)數(shù)據(jù)去噪
抓取的微博數(shù)據(jù)中,含有同一博主轉(zhuǎn)發(fā)自己微博的情況,因此會(huì)出現(xiàn)博主與博文內(nèi)容一致的數(shù)據(jù)。為了保證數(shù)據(jù)的可靠性與精確性,將數(shù)據(jù)中博文一列的重復(fù)數(shù)據(jù)進(jìn)行刪除,共刪除數(shù)據(jù)1025條,剩余數(shù)據(jù)49218條。
(3)清除無關(guān)數(shù)據(jù)
除了重復(fù)數(shù)據(jù),數(shù)據(jù)中還存在借熱門話題進(jìn)行廣告宣傳或發(fā)表的無關(guān)內(nèi)容,這類數(shù)據(jù)在筆者進(jìn)行粗略審閱之后,對(duì)博文一列利用關(guān)鍵詞進(jìn)行篩選,然后刪除,關(guān)鍵詞包括:石油、產(chǎn)品、促銷、訂購(gòu)等(這些通過數(shù)據(jù)文本提煉)。共刪除數(shù)據(jù)478條,剩余有效數(shù)據(jù)48740條。
(4)數(shù)據(jù)集成
將整理好的數(shù)據(jù),按照關(guān)鍵字保存整理至同一文件夾以便分析。整理后數(shù)據(jù)如圖1所示:
4.情感值計(jì)算
(1)概況
情感分析與研究是一項(xiàng)重要的工作,很多研究團(tuán)隊(duì)開發(fā)了文本情感分析工具,我們采用的是武漢大學(xué)沈陽(yáng)教授團(tuán)隊(duì)開發(fā)的專門做Emotion Analysis的軟件ROST EA。這款軟件的機(jī)制是根據(jù)情感詞典對(duì)有情感色彩的詞進(jìn)行選取,然后通過預(yù)先輸入的公式來統(tǒng)計(jì)文字的情感值。
但是由于這款軟件開發(fā)時(shí)間較早,而詞庫(kù)沒有實(shí)時(shí)更新,考慮到近幾年新生的熱詞越來越多,有很多都是用來表達(dá)內(nèi)心感情的,如“點(diǎn)贊”、“伐開心”、“也是醉了”等等,我們決定對(duì)詞庫(kù)進(jìn)行補(bǔ)充,來滿足研究需要。
(2)情感詞典補(bǔ)充
微博熱詞、百度熱詞和很多網(wǎng)站每年都會(huì)統(tǒng)計(jì)當(dāng)年新興的熱詞,其中有很多用來表達(dá)強(qiáng)烈的感情。于是我們按年份在熱詞中選取近四年有感情色彩地加入到新增詞中。
然后我們對(duì)這些詞語進(jìn)行分類,分為正面詞匯和負(fù)面詞匯。
我們?cè)谧ト〉奈谋局谐槿〕鲇星楦袃A向的詞語,其中微博表情包占了相當(dāng)?shù)囊徊糠?,因此我們把微博表情羅列出來并將其分成褒貶和中性三個(gè)類型。
5.可視化分析
(1)數(shù)據(jù)可視化過程
數(shù)據(jù)可視化的部分使用Adobe Illustrate軟件,通過安裝專門用來做數(shù)據(jù)可視化的字體FF Chartwell Font Family實(shí)現(xiàn)。具體步驟如下:
1)下載并安裝FF Chartwell Font Family字體,以達(dá)到不同可視化效果。
2)給代表不同數(shù)據(jù)的內(nèi)容修改不同顏色,以便獲得更好的可視化體驗(yàn)。
3)在OpenType屬性窗口選擇連字便可得到數(shù)據(jù)可視化的結(jié)果。
(2)數(shù)據(jù)可視化結(jié)果
經(jīng)過數(shù)據(jù)可視化過程后,我們將最終的結(jié)果以可視化的圖表形式展示如下:
1)關(guān)鍵詞為“共和黨”的微博數(shù)據(jù)可視化分析結(jié)果
從“民主黨”和“共和黨”兩個(gè)關(guān)鍵詞的分析圖不難看出,兩黨的情緒狀況差別不大,微博用戶對(duì)兩黨的支持率只有微小的差異,對(duì)于兩者積極和消極情緒的程度也大致相同??傮w上來說,微博用戶對(duì)于民主黨的支持率要略高于共和黨。
3)關(guān)鍵詞為“特朗普”的微博數(shù)據(jù)可視化分析結(jié)果
從“特朗普”和“希拉里”兩個(gè)關(guān)鍵詞的統(tǒng)計(jì)分析圖來看,特朗普的支持率要明顯高于希拉里。這里我們注意到一個(gè)很有意思的現(xiàn)象,微博用戶對(duì)于希拉里的消極情緒趨于平和,程度都是很淺的;而反對(duì)特朗普的人消極情緒卻十分高漲,可見反對(duì)特朗普的人對(duì)特朗普的厭惡程度是很深的。
5)關(guān)鍵詞為“伊萬卡”的微博數(shù)據(jù)可視化分析結(jié)果
我們從兩個(gè)數(shù)據(jù)分析圖中可以看出,微博用戶對(duì)于伊萬卡的積極情緒明顯高于消極情緒,并且積極情緒的情緒程度也明顯高于消極情緒。廣大微博用戶對(duì)于伊萬卡的評(píng)價(jià)幾乎是一邊倒的,可見伊萬卡為特朗普贏得了許多選票。
6)關(guān)鍵詞為“郵件門”的微博數(shù)據(jù)可視化分析結(jié)果
從圖12中可以推斷微博用戶對(duì)于郵件門事件的消極情緒要明顯高于積極情緒,從圖13中可以看出微博用戶的高度消極情緒也是占有了相當(dāng)大的比重??梢哉f,郵件門事件對(duì)于希拉里的選舉產(chǎn)生了非常大的負(fù)面影響。
綜合以上統(tǒng)計(jì)分析結(jié)果來看,特朗普的支持率要高于希拉里的支持率,其中兩黨本身對(duì)于選舉并沒有產(chǎn)生太大的影響,伊萬卡是特朗普高支持率不可忽視的原因之一,而郵件門則是拉低希拉里支持率的重要因素。最終美國(guó)大選的結(jié)果也驗(yàn)證了我們的研究結(jié)論。
6.研究結(jié)果
我們通過用python所編寫的爬蟲抓取微博上關(guān)于美國(guó)大選的微博數(shù)據(jù),并對(duì)這些數(shù)據(jù)進(jìn)行去噪處理,通過情感計(jì)算統(tǒng)計(jì)出各關(guān)鍵詞的情感數(shù)據(jù)和情感程度數(shù)據(jù)并分析建模,進(jìn)行可視化處理,以直觀易懂的統(tǒng)計(jì)分析圖的形式展現(xiàn)出來,最終得出結(jié)論特朗普的支持率高于希拉里的支持率,而美國(guó)大選的最終結(jié)果也驗(yàn)證了我們這個(gè)研究。由此可推出,在一定條件下,對(duì)大數(shù)據(jù)的分析可以在一定程度上預(yù)測(cè)事件的走向及結(jié)果。