王書夢 吳曉松
摘要:大數(shù)據(jù)環(huán)境下的網(wǎng)絡(luò)輿情分析更側(cè)重于在海量數(shù)據(jù)的采集、存儲、清洗和文本聚類,因此傳統(tǒng)的僅依據(jù)數(shù)據(jù)統(tǒng)計的輿情分析方法不再適用。文章對大數(shù)據(jù)網(wǎng)絡(luò)輿情分析的相關(guān)文獻進行總結(jié)研究,歸納出網(wǎng)絡(luò)輿情分析的基本流程框架,并闡明了在大數(shù)據(jù)環(huán)境下網(wǎng)絡(luò)輿情分析中文本聚類的各個階段如何運用MapReduce進行分布式計算,以此提高網(wǎng)絡(luò)輿情分析的準確度與及時性。
關(guān)鍵詞:大數(shù)據(jù);輿情熱點;MapReduce;文本聚類
中圖分類號:TP391.1
文獻標識碼:A
DOI: 10.3969/j.issn.1003-6970.2015.07.022
0 引言
輿情是一定時期一定范圍內(nèi)社會民眾對社會現(xiàn)實的主觀反映,是群體性的態(tài)度、思想、情緒和要求的綜合表現(xiàn)。大數(shù)據(jù)時代已經(jīng)到來,大數(shù)據(jù)下的網(wǎng)絡(luò)輿情分析已經(jīng)成為當(dāng)前政府和科研機構(gòu)研究的熱點問題。2011年,經(jīng)濟學(xué)人發(fā)表“Building with big data”指出在數(shù)據(jù)極度膨脹的時代,要掌握數(shù)據(jù)分析的能力,成為數(shù)據(jù)的主人,而不要成為數(shù)據(jù)的奴隸。
在大數(shù)據(jù)時代,如何及時的收集、分析處理海量數(shù)據(jù),并為決策者提供有用的信息是當(dāng)前研究的熱點與難點。相較于傳統(tǒng)的輿情分析,大數(shù)據(jù)環(huán)境下的網(wǎng)絡(luò)輿情分析更側(cè)重于在海量數(shù)據(jù)的采集、存儲、清洗和文本聚類,因此傳統(tǒng)的僅依據(jù)數(shù)據(jù)統(tǒng)計的輿情分析方法不再適用。
文章對大數(shù)據(jù)網(wǎng)絡(luò)輿情分析的相關(guān)文獻進行總結(jié)研究,歸納出網(wǎng)絡(luò)輿情分析的基本流程框架,并提出了在大數(shù)據(jù)環(huán)境下網(wǎng)絡(luò)輿情分析各個階段的解決方案,構(gòu)建大數(shù)據(jù)網(wǎng)絡(luò)輿情分析的基礎(chǔ)模型,以此提高網(wǎng)絡(luò)輿情分析的準確度與及時性。
1 網(wǎng)絡(luò)輿情分析發(fā)展概述
從已有的輿情分析的相關(guān)文獻中不難發(fā)現(xiàn),社會輿情分析大致經(jīng)歷了以下幾個階段,簡單的社會輿情分析,網(wǎng)絡(luò)輿情分析和大數(shù)據(jù)環(huán)境下的網(wǎng)絡(luò)輿情分析三個階段。簡單的社會輿情分析主要分析當(dāng)下熱點事件、政府頒布的法令法規(guī)與社會輿情之間的關(guān)系。簡單的社會輿情分析主要通過問卷調(diào)查取得原始數(shù)據(jù)進行分析,例如MacLennan等通過抽樣調(diào)查的方式研究新西蘭民眾對于酒精政策的態(tài)度,Alan等使用蓋洛普世界民意調(diào)查數(shù)據(jù)研究了恐怖襲擊與民眾態(tài)度之間的關(guān)系。網(wǎng)絡(luò)輿情分析伴隨著Facebook、微博、微信、人人、Twitter等社交網(wǎng)絡(luò)平臺的興起應(yīng)用而生,例如著名的Ceron通過分析2012年Twitter上的法國大選時網(wǎng)民的情感取向數(shù)據(jù)預(yù)測大選的結(jié)果。大數(shù)據(jù)環(huán)境下的網(wǎng)絡(luò)輿情分析是在海量、多樣性網(wǎng)絡(luò)數(shù)據(jù)的背景下利用大數(shù)據(jù)分析技術(shù)進行的網(wǎng)絡(luò)輿情分析。
目前大數(shù)據(jù)時代的數(shù)據(jù)具有規(guī)模性、多樣性、變化快速性特征,首先由于網(wǎng)絡(luò)的開放性每天產(chǎn)生大量的信息,其次多媒體的發(fā)展使得數(shù)據(jù)有多種形態(tài)比如文本、視頻、圖片、音頻等?;谀壳熬W(wǎng)絡(luò)輿情分析的大數(shù)據(jù)特征,出現(xiàn)了以下幾種網(wǎng)絡(luò)輿情分析方法:基于網(wǎng)絡(luò)日志數(shù)據(jù)挖掘的輿情分析、基于社會網(wǎng)絡(luò)分析的輿情主體關(guān)系發(fā)現(xiàn)、網(wǎng)絡(luò)輿情熱點分析、關(guān)聯(lián)不同領(lǐng)域的數(shù)據(jù)輿情分析。
大數(shù)據(jù)網(wǎng)絡(luò)輿情分析是一個熱點問題,從現(xiàn)有的研究文獻來看,對于大數(shù)據(jù)網(wǎng)絡(luò)輿情分析更多的是體現(xiàn)在大數(shù)據(jù)輿情分析的機遇與挑戰(zhàn)、以及研究方法的概述與總結(jié)上,從技術(shù)層面對大數(shù)據(jù)網(wǎng)絡(luò)輿情分析的研究較少。
2 大數(shù)據(jù)網(wǎng)絡(luò)輿情分析技術(shù)
2.1 大數(shù)據(jù)技術(shù)
大數(shù)據(jù)時代的到來對現(xiàn)有的數(shù)據(jù)處理技術(shù)帶來了巨大的挑戰(zhàn),目前針對大數(shù)據(jù)的多樣性等特征,在數(shù)據(jù)存儲和數(shù)據(jù)處理方面都提出了相應(yīng)的解決方案。在數(shù)據(jù)存儲方面,目前網(wǎng)絡(luò)輿情分析的數(shù)據(jù)存儲方法主要還是將獲取的熱點數(shù)據(jù)直接存儲在傳統(tǒng)的SQLServer、ORACLE、Sybase等數(shù)據(jù)庫中,大數(shù)據(jù)的出現(xiàn)導(dǎo)致數(shù)據(jù)結(jié)構(gòu)多樣性,傳統(tǒng)的結(jié)構(gòu)性數(shù)據(jù)庫遠不能滿足當(dāng)下快速多樣的大數(shù)據(jù)存儲的要求,對此目前出現(xiàn)了三種大數(shù)據(jù)的存儲技術(shù):針對海量的非結(jié)構(gòu)化數(shù)據(jù)的分布式文件存儲系統(tǒng)、針對海量半結(jié)構(gòu)化數(shù)據(jù)存儲的NoSQL數(shù)據(jù)庫、針對海量結(jié)構(gòu)化數(shù)據(jù)存儲的分布式并行數(shù)據(jù)庫。在數(shù)據(jù)計算處理方面,目前并行處理和云計算是解決大數(shù)據(jù)計算的比較有效率的方式,Hadoop是當(dāng)前學(xué)術(shù)界和企業(yè)用來解決大數(shù)據(jù)存儲和分析的一個主要技術(shù)手段,它是Apache開源分布系統(tǒng)的架構(gòu)基礎(chǔ),由HDFS、MapReduce和HBase組成,其運行環(huán)境如圖1所示。
(l)HDFS(Hadoop分布式文件系統(tǒng))
HDFS是整個Hadoop體系結(jié)構(gòu)中處于最基礎(chǔ)的地位,分為三個部分:客戶端、主控節(jié)點(Namenode)和數(shù)據(jù)節(jié)點(Datanode)。Nanenode是分布式文件系統(tǒng)的管理者,主要負責(zé)文件系統(tǒng)的命名空間、集群的配置信息和數(shù)據(jù)塊的復(fù)制信息等,并將文件系統(tǒng)的元數(shù)據(jù)存儲在內(nèi)存中;Datanode是文件實際存儲的位置,它將數(shù)據(jù)塊(Block)信息存儲在本地文件系統(tǒng)中,并且通過周期性的心跳報文將所有數(shù)據(jù)塊信息發(fā)送給Namenode。
(2)MapReduce
MapReduce分布式計算模型,封裝了并行運算、容錯處理、本地化計算、負載均衡等細節(jié),提供了簡單而強大的接口。通過這個接口,可以把大數(shù)據(jù)量的計算自動地并發(fā)和分布執(zhí)行,其運行模型如圖2所示。
(3) HBase
HBase即Hadoop Database,是一個構(gòu)建在HSFS上,面向列的開源分布式數(shù)據(jù)庫系統(tǒng),是GoogleBigtable的開源實現(xiàn)。HBase不是關(guān)系型數(shù)據(jù)庫,不支持SQL,HBase提供了一組簡單的API接口,用于存儲和管理數(shù)據(jù)。
2.2 網(wǎng)絡(luò)輿情分析技術(shù)
網(wǎng)絡(luò)輿情分析主要涉及數(shù)據(jù)采集、文本分詞、文本向量表示、文本聚類分類幾個方面。
(1)向量空間模型
向量空間模型(VSM)起源于信息檢索,簡單說來VSM是一種將非結(jié)構(gòu)化的文本表示成向量形式的模型,網(wǎng)絡(luò)文本用VSM向量空間模型來表示:
v(d)=(t1,w1(t1);…;ti,wi(ti);…tIl,wn(tn))
其中,ti為網(wǎng)絡(luò)文本d的關(guān)鍵詞,wi(ti)為關(guān)鍵詞的權(quán)值。
如何確定關(guān)鍵詞和關(guān)鍵詞的權(quán)重是網(wǎng)絡(luò)輿情分析是否有效的關(guān)鍵因素,文章采用TF.IDF指標來確定網(wǎng)絡(luò)文本的關(guān)鍵詞和權(quán)值。詞頻(TF)指的是某一文檔中給定單詞出現(xiàn)的頻次,規(guī)范化的表示一般用給定單詞的頻數(shù)除以文檔總的單詞數(shù)。IDF是指逆向文件頻率,是一個詞語普遍性的度量,規(guī)范性的表示一般由包含此單詞的文檔的數(shù)量除以文檔的總數(shù),然后取對數(shù)得到。
(2)文本相似度計算
相似度計算方式目前有海明距離(Hamming Distance)、歐幾里得距離(Euclidean Distance)、余弦距離(Cosine Distance),其中文本相似度計算比較常用的是余弦距離,其計算公式1如下
其中,ai、bi是文本A和B的項。余弦距離的取值區(qū)間是[0,1],“0”代表兩個文本完全一樣,“1”代表兩個文本完全不相似。
(3)文本聚類算法
文本聚類算法有很多,比較常用的有四種,基于層次的聚類、基于密度的聚類、基于網(wǎng)格的聚類、基于劃分的聚類。文章選用在文本聚類中應(yīng)用比較多的基于劃分的聚類中的K-Means算法,其流程如表1所示。
3 實驗方案
文章對大數(shù)據(jù)環(huán)境下網(wǎng)絡(luò)輿情熱點發(fā)現(xiàn)提出了基本的技術(shù)路線如圖3所示
3.1 數(shù)據(jù)采集
網(wǎng)絡(luò)信息的采集可以利用網(wǎng)絡(luò)爬蟲技術(shù)在特定的網(wǎng)站上進行數(shù)據(jù)收集也可以利用網(wǎng)站的API接口直接對網(wǎng)站的信息進行采集,獲得的網(wǎng)站數(shù)據(jù)存儲在Hbase中。傳統(tǒng)的基于網(wǎng)絡(luò)爬蟲的網(wǎng)頁解析方式抓取速度較慢,在大數(shù)據(jù)環(huán)境下基于某網(wǎng)站API的分布式數(shù)據(jù)抓取具有更快的速度。
文章采用了基于Mapreduce的文本采集技術(shù)對網(wǎng)站信息進行采集,將普通的網(wǎng)頁爬蟲系統(tǒng)部署在hadoop平臺上,文本采集由主節(jié)點和若干分節(jié)點組成,主節(jié)點作為爬蟲系統(tǒng)的NameNode和Jobtracker,負責(zé)文件管理及任務(wù)調(diào)度;分節(jié)點作為DataNode和TaskTracker,負責(zé)存儲文件及運行任務(wù)。Jobtracker作為主節(jié)點負責(zé)分發(fā)任務(wù)給各分節(jié)點,在Map階段分節(jié)點TaskTracker通過網(wǎng)站API進行信息抓取,抓取的數(shù)據(jù)分布存儲在各個DataNode中。
3.2 數(shù)據(jù)預(yù)處理
數(shù)據(jù)的預(yù)處理主要是對原始數(shù)據(jù)的清洗、抽取元數(shù)據(jù),對于網(wǎng)絡(luò)的文本信息預(yù)處理主要是文本的分詞、去停用詞(主要是一些標點、單字和一些沒有具體意義的詞,如:的、了等重復(fù)出現(xiàn)的詞)、文本的特征向量提取、詞頻統(tǒng)計、文本的模型化表示等操作。
文章采用基于MapReduce的文本預(yù)處理技術(shù),MapReduce以函數(shù)的方式提供了Map和Reduce操作來進行分布式計算,利用一個輸入key/value集合來產(chǎn)生一個輸出的key/value集合。在文本預(yù)處理過程中,Map函數(shù)主要完成文本的分詞,將輸入的文本進行中文分詞,形成詞語序列(X1、x2、x3、x4……、Xn)將文本用key/value的形式表示,輸出的形式為:(xl、1),(x2、1),(x3、1),……,(xn、1),當(dāng)所有的Map任務(wù)完成后,由主程序?qū)ap函數(shù)的輸出作為Reduce函數(shù)的輸入即Reduce函數(shù)的輸人為(k,[vl、v2、……、vn]),其中(k,V1),(k,v2)……,,(k,vn)Map函數(shù)輸出結(jié)果中鍵為k的key/value值,如表2所示Map處理過程。
Reduce函數(shù)需要計算出特定某個詞的IDF值,通過IDF的計算公式 可知需要知道文本數(shù)據(jù)大小和詞語在文本中出現(xiàn)的頻率,此時Map輸出的Value值為詞語的頻率,N在文本預(yù)處理時可以直接計算得到,經(jīng)過Reduce計算過后可得到詞語的IDF值,將之與Value中的TF值相乘可得到詞語的TF.IDF值,將其存儲在HBase中的TF.IDF表中。
對于每個文檔,保留排列在前面的10個TF.IDF值,識別其對應(yīng)的主題,以向量空間模型(VSM)表示,行表示主題數(shù),列表示文檔數(shù),通過VSM與單位列向量的乘積統(tǒng)計出每個主題所包含的文檔數(shù),從而發(fā)現(xiàn)網(wǎng)絡(luò)輿情熱點。以上的主題識別和VSM矩陣向量的乘法,同樣可以通過Map和Reduce分布式計算得到,在此就不再贅述。
4 實驗結(jié)果
文章的實驗環(huán)境總共有四臺主機,其中每臺機器搭載CORE 15雙核處理器,1G內(nèi)存,500G硬盤,選擇其中一臺主機作為master節(jié)點,剩余3臺作為slaves節(jié)點,配置Hadoop,配置Linux和Eclipse。文章通過新浪微博的網(wǎng)站API收集了170萬條數(shù)據(jù),利用上述數(shù)據(jù)分析方法,對數(shù)據(jù)進行分析處理得到的分析結(jié)果如表3所示:
實驗結(jié)果與2014年新浪微博熱點話題分析報告里的結(jié)果有很大程度上的相似,說明了并行分析的準確性,而實驗用時比起傳統(tǒng)的分析方法節(jié)約了很多時間。
5 結(jié)論與展望
隨著互聯(lián)網(wǎng)的快速發(fā)展,每天都會產(chǎn)生巨大的網(wǎng)絡(luò)數(shù)據(jù),如何快速有效的分析處理數(shù)據(jù)而不是讓數(shù)據(jù)成為災(zāi)難,是在大數(shù)據(jù)環(huán)境下迫切需要解決的問題,在海量的網(wǎng)絡(luò)數(shù)據(jù)中快速的獲得準確的輿情信息是當(dāng)前研究的熱點和重點。文章結(jié)合網(wǎng)絡(luò)輿情熱點發(fā)現(xiàn)的基本理論方法和大數(shù)據(jù)處理技術(shù),提出了在大數(shù)據(jù)環(huán)境下分布式輿情分析的解決方案,重點對網(wǎng)絡(luò)輿情分析中數(shù)據(jù)的分布式預(yù)處理做了詳述,最后利用K-means聚類算法進行網(wǎng)絡(luò)輿情熱點發(fā)現(xiàn)。
當(dāng)然文章還存在很多不足,只是對網(wǎng)絡(luò)輿情分析的基本過程使用了分布式的處理方法,關(guān)于輿情分析過程中的情感傾向分析以及語義分析并未進行研究。