賈沖沖,王名揚*,鄭 丹,張曉霞 (東北林業大學信息與計算機工程學院,黑龍江哈爾濱150040)
云計算和Web 2.0技術的發展帶領人們走進了“大數據”時代和社交網絡交互時代,新技術催生了微博并使之成為新的信息互動和傳播的社會化媒體,網絡與用戶間的關系已由用戶被動接受網絡呈現的信息轉變為主動參與的模式。用戶通過發布內容、參與討論以及分享轉載等行為使互聯網呈現出更加主動、豐富的形態。數據的增長海量化、類型多樣化、傳播即時化以及事件的突發性、影響持久化等諸多表現,從一定程度上影響著社會的穩定和輿論走勢[1]。技術在提供便利的同時也考驗著人們對海量數據的分析和駕馭能力。如何從時刻變化的海量數據中提取出有價值的信息,同時對消極、負面和虛假的信息進行及時監管,已經成為社會化媒體數據研究的重要問題[2]。而云計算可以為海量數據處理和分析提供高效的計算平臺,數據挖掘技術在云計算平臺的應用將使得微博成為互聯網領域的又一變革力量。
為此,筆者以新浪微博為研究對象,從微博數據的獲取,到好友推薦、用戶影響力評價、網絡輿情監測等實際應用,闡述了如何借助云計算平臺對微博產生的大量數據進行挖掘的研究成果。
微博數據挖掘的前提是數據獲取。新浪開放平臺為第三方提供了獲取微博信息的API接口以及方便微博API調用的支持多種計算機語言的SDK軟件開發包,其中封裝了從授權認證到數據獲取與解析的各項功能,開發者通過申請Accesstoken獲得開發者權限,就可編寫程序調用API接口獲取用戶信息和微博內容等數據。此外,開發者也可通過Web爬蟲方式訪問新浪微博平臺頁面,解析后獲取所需數據。
新浪微博擁有數以億計的微博用戶群體,其產生的海量數據給分析研究工作帶來一定的困難。作為一個社會化媒體,微博要為用戶呈現實時的準確數據和良好的用戶體驗,因此需要先進的計算分析手段提供技術支撐,而Hadoop就是這樣一個能夠應用的主流云計算平臺。Hadoop是一個能夠對大量數據進行分布式處理的軟件框架,主要由分布式文件系統HDFS和分布式編程模型MapReduce組成。Hadoop使得用戶能輕松開發和運行處理海量數據的應用程序,新浪微博海量數據的獲取、處理、存儲以及數據挖掘算法均可編寫相應的MapReduce程序實現分布式運行,MapReduce架構如圖1所示。

圖1 Hadoop MapReduce架構
2.1 微博用戶的好友推薦研究 微博好友推薦系統是微博數據挖掘最基礎的應用,它通過關系預測來幫助用戶找到感興趣的人。目前,推薦算法使用較為廣泛的是基于內容的推薦和基于協同過濾的推薦。基于內容的推薦主要是依據用戶個人信息、標簽及以往瀏覽記錄等;協同過濾的原理是查找與目標用戶相似的近鄰用戶,根據近鄰用戶的評價對目標用戶作出推薦。
傳統的用戶關系預測方法通過共同關注計算用戶間的關系強度,假設用N表示關注列表集合,那么用戶A和用戶B的關系強度R計算公式為:

在式(1)基礎上,學者們又進一步提出一些改進的算法,如胡文江等提出一種基于標簽的協同過濾算法,用于尋找與目標用戶最相似的用戶,以進行推薦[3];楊婷設計了基于MapReduce的Dijkstm算法和PageRank算法,計算被推薦用戶到其他用戶的距離和用戶影響力,并結合用戶信息基于內容的方式進行推薦[4];Papadimitriou等基于小世界理論探索了更大范圍的用戶對好友關系的影響,并嘗試將算法應用于MapReduce[5]。
微博好友推薦系統是微博用戶擴展社交圈子的重要途徑,且用戶間的關注和粉絲關系處于時時的動態變化中。云計算所具有的效用計算和自主計算特點使得推薦更加快速和準確,對于提高用戶體驗具有重要意義。
2.2 用戶影響力的評價研究 微博用戶的影響力體現在發博用戶通過輿論對其粉絲用戶所帶來的影響,用戶影響力越大,其傳播能力越強,由此,影響力最強的那些用戶就成了意見領袖,他們擁有更多的話語權,對于信息擴散、輿論導向和商品推介等有著重要作用[6]。目前,國內外學者研究影響力的方法有以下幾類。
(1)基于PageRank的評價方法。舒琰等將好友數量作為用戶影響力的一個重要指標,基于PageRank進行了MapReuce改造完成了用戶影響力排名[7]。PageRank的計算公式為:

式中,Vi表示用戶i;d為阻尼系數,表示某用戶隨機關注其他用戶的概率;F(Vi)表示用戶i的粉絲集合;L(Vi)表示用戶Vj的關注數。
(2)基于用戶行為的評價方法。Cha等在研究中,對微博中最常見的轉發、評論、提及3種行為進行研究,并分析了這3種行為所表征的用戶影響力類型[8]。
(3)基于PageRank和用戶行為的評價方法。陳浩基于PageRank從用戶自身質量及其粉絲質量著手,考慮了粉絲數量、評論率、轉發率和是否微博認證用戶等因素進行影響力評價[6];康書龍結合用戶發表微博活躍度和PageRank算法,提出了Behavior-Relationship Rank算法來評價用戶影響力[9]。
(4)基于URL追蹤的評價方法。Bakshy等指出口碑信息通過許多級聯進行傳播。通過追蹤URL傳播情況,并按一定方式分配相應的影響力進行評價[10]。
(5)新浪微博的用戶影響力評價模型。新浪微博定義的影響力由活躍度、傳播力和覆蓋度3大指標構成。活躍度代表發博、轉發、評論的有效條數;傳播力與微博被轉發、被評論的有效條數和有效人數相關;覆蓋度則取決于微博的活躍粉絲數的多少。其計算公式為:

由以上可知,微博用戶影響力研究考慮的因素主要是用戶關系(關注、粉絲等)和用戶行為(評論、轉發等),其中PageRank是當前用戶影響力研究的主流應用算法。由于PageRank算法需要多次迭代,所以當用戶量較大時,云計算將是很好的解決手段。
2.3 網絡輿情監測研究 網絡輿情是指在一定社會空間內,針對社會事件的發生、發展和變化,民眾通過網絡對公共問題或社會管理者產生和表現出的態度、價值觀。互聯網的開放性和虛擬性讓言論自由得到釋放,對那些能引起公眾關注的事件,尤其是突發事件(如地震、恐怖襲擊等),很快便成了網絡輿情[11]。網絡輿情是社會輿情在互聯網空間的映射,是社會輿情的直接反映,對政治生活秩序和社會穩定的影響越來越大。
社會管理者應當熟悉網絡輿情的特點,對于網絡中出現的引起相當關注的輿論能夠及時作出反饋,防患于未然。因此,使用現代信息技術對網絡輿情進行分析,形成一套自動化網絡輿情分析系統,從而控制和引導輿論走向是非常必要的。輿情分析系統的技術核心在于輿情分析引擎,主要涉及文本分類、聚類、觀點傾向性識別、主題檢測與跟蹤、自動摘要等計算機文本信息內容識別技術。目前,針對微博輿情,研究者主要從如下幾個方面展開分析。
(1)熱點話題識別。可以根據微博出處權威度、評論數量、發言時間密集程度等參數,識別出某時間段內的熱門話題。
(2)傾向性分析。對微博內容及其評論進行情感分析。
(3)主題跟蹤。分析新發微博的話題是否與已有主題相同。
(4)自動摘要。對各類微博主題能夠形成自動摘要,幫助理解話題的核心語義。
(5)趨勢分析。分析某話題在不同的時間段內人們所關注的程度,來預測它的發展趨勢。
(6)突發事件分析。對突發事件綜合分析,獲知事件發生的全貌并預測事件的發展趨勢。
(7)警報系統。對突發事件、涉及公共或人身安全的敏感話題及時發現并報警。
(8)統計報告。根據輿情分析結果生成報告,提供信息檢索功能。
2.3.1 熱點話題發現。熱點話題是指在特定的時間段內出現頻率較高或傳播范圍較廣的主題特征詞[12]。通過熱點話題可以了解當前的微博討論熱點、發現輿情事件等。熱點話題的獲取一般包括中文分詞處理、微博文本特征詞獲取和話題提取3個主要步驟。
2.3.1.1 微博分詞處理。微博文本內容長短不一,為了提取話題,需要對其進行分詞處理。常用中文分詞效果較好的是由中國科學院開發的ICTCLAS漢語分詞系統,ICTCLAS分詞精度達到98.45%,分詞速度500 kB/s左右,并且支持多級詞性標注,提供了包括Java在內的多種計算機語言開發工具包。完成分詞后,還要對照停用詞表進行去停用詞處理,停用詞是指對文本意思表達無用的詞,如“的”、“呢”等。去除停用詞可以降低文本特征向量的維度,減少數據處理復雜度。
2.3.1.2 微博文本特征詞獲取。文本特征詞提取的常用算法是TF-IDF,其思想是:如果某詞在一個文本中出現頻率(TF)較高,在其他文本中很少出現,則該詞具有很好的類別區分能力,選取幾個這樣權重較高的詞可作為該文本的主題特征詞。TF-IDF算法表示如下:

式中,Wi表示單詞i的權重;TFi表示單詞i在該文本中出現的頻率;DFi表示文本集合中出現單詞i的文本數量;N表示文本集合的數量。
2.3.1.3 微博話題提取。獲取某時段每條微博的特征詞后,基于MapReduce的并行FP-growth算法挖掘主題特征詞的關聯規則頻繁項集,根據產生的頻繁項集提取該時段的熱點話題。基于MapReduce的并行FP-growth算法執行過程如下:①掃描數據,計算一項集的計數。②根據計數與支持度計算出頻繁一項集,對于頻繁一項集按照計數從大到小排序,存入HDFS,執行Map或Reduce任務前到HDFS上讀取相應的項集和序號。③根據劃分集合的數目將頻繁一項集劃分為G份,對每份標號(GID),把一項集映射到對應的GID上,將產生的G-List存入HDFS,以后讀取。④再次掃描事務數據,將事務項集轉換成項集的序號集合,并對其排序,再生成相應的條件事務序號集合。將其根據GID收集,再對每個GID構造FP樹,然后得出條件模式基和條件FP樹,再得出最大的K個頻繁模式。⑤將所有項集的頻繁模式收集起來,對于每個項生成最大的K個頻繁模式。
2.3.2 情感分析。情感分析是對帶有情感色彩的主觀性文本進行分析、歸納和推理的過程。微博中的情感分析是根據微博內容、發博時間等信息,分析發博者所表現出的情緒狀態,進而對發博者即將可能產生的行為作出評估。微博及其評論中包含了很多發博者的主觀情感內容,對其情感數據的挖掘可用于輿情監控、商品口碑評估、民意傾向預測、網絡救助等實際應用中。
微博文本情感分類一般被作為一個二分類問題,即將微博文本集T分為兩個類型:T={T1,T2},T1表示(支持、積極的)正面類型,T2表示(反對、消極的)負面類型。情感分類就是利用分類器模型判斷微博文本t屬于T1還是T2。目前情感分類的方法有基于特征的情感分類方法和基于情感知識的情感分類方法。前者主要使用機器學習手段,讓機器學習人工標注好的數據集,從中發現分類規則作為對其他數據集分類的依據;后者建立在情感詞典或語義規則的基礎上,由于新的網絡詞語不斷出現,且用戶更傾向于對新詞的使用,使得情感詞典的選擇和維護工作給此方法帶來一定的難度。目前中文微博的情感分類主要是借助情感詞典作為特征選擇并利用機器學習方法實現分類。該研究總結了基于機器學習的微博文本情感分類算法流程,如圖2所示。

圖2 微博文本情感分類算法流程
微博情感分析的文本數據可以選擇話題微博,也可以選擇話題微博的評論。情感分析完成后,就可進行綜合分析和趨勢預測,來獲知公眾對該話題所持的態度,以此為管理者提供決策。
同時應該注意到的是,由于人類情感的復雜性、中文的多義性、受公眾情緒的影響而導致的情緒轉變和傳遞等眾多因素,使得簡單的二分類或者是正、中、負三維描述已無法準確評判用戶情感,挑戰是一直存在的。
針對微博大數據平臺,該研究從最初的數據抓取、預處理到最后數據挖掘和實際應用進行了較為全面的介紹,說明了微博平臺數據挖掘的價值。微博作為網絡時代產物,隨著計算機技術的發展和網絡用戶數量的增多,其產生的影響力也將越來越大。云計算在微博平臺上的應用,使得對數據的處理更加方便和快捷,為新應用產品的出現和帶來更好的用戶體驗,提供了更多可能性。
[1]許斌.中文微博的情感分析和影響力技術研究[D].鄭州:解放軍信息工程大學,2013.
[2]姚海波.微博熱點話題檢測與趨勢預測研究[D].廣州:華南理工大學,2013.
[3]胡文江,胡大偉,高永兵,等.基于關聯規則與標簽的好友推薦算法[J].計算機工程與科學,2013(2):109 -113.
[4]楊婷.基于MapReduce的好友推薦系統的研究與實現[D].北京:北京郵電大學,2013.
[5]PAPADIMITRIOU A,SYMEONIDISP,MANOLOPOULOSY.Fast and accurate link prediction in social networking systems[J].Journal of Systems and Software,2012,85(9):2119 -2132.
[6]陳浩.基于Hadoop的微博用戶影響力排名算法研究[D].廣州:華東理工大學,2014.
[7]舒琰,向陽,張騏,等.基于PageRank的微博排名MapReduce算法研究[J].計算機技術與發展,2013(2):73 -76,81.
[8]CHA M,HADDADI H,BENEVENUTO F,et al.Measuring user influence in twitter:The million follower fallacy[C]//AAAI.Washington,DC,USA:ICWSM,2010:11 -13.
[9]康書龍.基于用戶行為及關系的社交網絡節點影響力評價[D].北京:北京郵電大學,2011.
[10]BAKSHY E,HOFMAN JM,MASON WA,et al.Everyone’s an influencer:Quantifying influence on twitter[C]//WSDM.Hong Kong.China,2011:67-69.
[11]陳彥舟,曹金璇.基于Hadoop的微博輿情監控系統[J].計算機系統應用,2013(4):18 -22,9.
[12]林大云.基于Hadoop的微博信息挖掘[J].計算機光盤軟件與應用,2012(1):7-8.