賈沖沖,王名揚(yáng)*,鄭 丹,張曉霞 (東北林業(yè)大學(xué)信息與計(jì)算機(jī)工程學(xué)院,黑龍江哈爾濱150040)
云計(jì)算和Web 2.0技術(shù)的發(fā)展帶領(lǐng)人們走進(jìn)了“大數(shù)據(jù)”時(shí)代和社交網(wǎng)絡(luò)交互時(shí)代,新技術(shù)催生了微博并使之成為新的信息互動(dòng)和傳播的社會(huì)化媒體,網(wǎng)絡(luò)與用戶間的關(guān)系已由用戶被動(dòng)接受網(wǎng)絡(luò)呈現(xiàn)的信息轉(zhuǎn)變?yōu)橹鲃?dòng)參與的模式。用戶通過(guò)發(fā)布內(nèi)容、參與討論以及分享轉(zhuǎn)載等行為使互聯(lián)網(wǎng)呈現(xiàn)出更加主動(dòng)、豐富的形態(tài)。數(shù)據(jù)的增長(zhǎng)海量化、類型多樣化、傳播即時(shí)化以及事件的突發(fā)性、影響持久化等諸多表現(xiàn),從一定程度上影響著社會(huì)的穩(wěn)定和輿論走勢(shì)[1]。技術(shù)在提供便利的同時(shí)也考驗(yàn)著人們對(duì)海量數(shù)據(jù)的分析和駕馭能力。如何從時(shí)刻變化的海量數(shù)據(jù)中提取出有價(jià)值的信息,同時(shí)對(duì)消極、負(fù)面和虛假的信息進(jìn)行及時(shí)監(jiān)管,已經(jīng)成為社會(huì)化媒體數(shù)據(jù)研究的重要問(wèn)題[2]。而云計(jì)算可以為海量數(shù)據(jù)處理和分析提供高效的計(jì)算平臺(tái),數(shù)據(jù)挖掘技術(shù)在云計(jì)算平臺(tái)的應(yīng)用將使得微博成為互聯(lián)網(wǎng)領(lǐng)域的又一變革力量。
為此,筆者以新浪微博為研究對(duì)象,從微博數(shù)據(jù)的獲取,到好友推薦、用戶影響力評(píng)價(jià)、網(wǎng)絡(luò)輿情監(jiān)測(cè)等實(shí)際應(yīng)用,闡述了如何借助云計(jì)算平臺(tái)對(duì)微博產(chǎn)生的大量數(shù)據(jù)進(jìn)行挖掘的研究成果。
微博數(shù)據(jù)挖掘的前提是數(shù)據(jù)獲取。新浪開(kāi)放平臺(tái)為第三方提供了獲取微博信息的API接口以及方便微博API調(diào)用的支持多種計(jì)算機(jī)語(yǔ)言的SDK軟件開(kāi)發(fā)包,其中封裝了從授權(quán)認(rèn)證到數(shù)據(jù)獲取與解析的各項(xiàng)功能,開(kāi)發(fā)者通過(guò)申請(qǐng)Accesstoken獲得開(kāi)發(fā)者權(quán)限,就可編寫程序調(diào)用API接口獲取用戶信息和微博內(nèi)容等數(shù)據(jù)。此外,開(kāi)發(fā)者也可通過(guò)Web爬蟲(chóng)方式訪問(wèn)新浪微博平臺(tái)頁(yè)面,解析后獲取所需數(shù)據(jù)。
新浪微博擁有數(shù)以億計(jì)的微博用戶群體,其產(chǎn)生的海量數(shù)據(jù)給分析研究工作帶來(lái)一定的困難。作為一個(gè)社會(huì)化媒體,微博要為用戶呈現(xiàn)實(shí)時(shí)的準(zhǔn)確數(shù)據(jù)和良好的用戶體驗(yàn),因此需要先進(jìn)的計(jì)算分析手段提供技術(shù)支撐,而Hadoop就是這樣一個(gè)能夠應(yīng)用的主流云計(jì)算平臺(tái)。Hadoop是一個(gè)能夠?qū)Υ罅繑?shù)據(jù)進(jìn)行分布式處理的軟件框架,主要由分布式文件系統(tǒng)HDFS和分布式編程模型MapReduce組成。Hadoop使得用戶能輕松開(kāi)發(fā)和運(yùn)行處理海量數(shù)據(jù)的應(yīng)用程序,新浪微博海量數(shù)據(jù)的獲取、處理、存儲(chǔ)以及數(shù)據(jù)挖掘算法均可編寫相應(yīng)的MapReduce程序?qū)崿F(xiàn)分布式運(yùn)行,MapReduce架構(gòu)如圖1所示。
圖1 Hadoop MapReduce架構(gòu)
2.1 微博用戶的好友推薦研究 微博好友推薦系統(tǒng)是微博數(shù)據(jù)挖掘最基礎(chǔ)的應(yīng)用,它通過(guò)關(guān)系預(yù)測(cè)來(lái)幫助用戶找到感興趣的人。目前,推薦算法使用較為廣泛的是基于內(nèi)容的推薦和基于協(xié)同過(guò)濾的推薦?;趦?nèi)容的推薦主要是依據(jù)用戶個(gè)人信息、標(biāo)簽及以往瀏覽記錄等;協(xié)同過(guò)濾的原理是查找與目標(biāo)用戶相似的近鄰用戶,根據(jù)近鄰用戶的評(píng)價(jià)對(duì)目標(biāo)用戶作出推薦。
傳統(tǒng)的用戶關(guān)系預(yù)測(cè)方法通過(guò)共同關(guān)注計(jì)算用戶間的關(guān)系強(qiáng)度,假設(shè)用N表示關(guān)注列表集合,那么用戶A和用戶B的關(guān)系強(qiáng)度R計(jì)算公式為:
在式(1)基礎(chǔ)上,學(xué)者們又進(jìn)一步提出一些改進(jìn)的算法,如胡文江等提出一種基于標(biāo)簽的協(xié)同過(guò)濾算法,用于尋找與目標(biāo)用戶最相似的用戶,以進(jìn)行推薦[3];楊婷設(shè)計(jì)了基于MapReduce的Dijkstm算法和PageRank算法,計(jì)算被推薦用戶到其他用戶的距離和用戶影響力,并結(jié)合用戶信息基于內(nèi)容的方式進(jìn)行推薦[4];Papadimitriou等基于小世界理論探索了更大范圍的用戶對(duì)好友關(guān)系的影響,并嘗試將算法應(yīng)用于MapReduce[5]。
微博好友推薦系統(tǒng)是微博用戶擴(kuò)展社交圈子的重要途徑,且用戶間的關(guān)注和粉絲關(guān)系處于時(shí)時(shí)的動(dòng)態(tài)變化中。云計(jì)算所具有的效用計(jì)算和自主計(jì)算特點(diǎn)使得推薦更加快速和準(zhǔn)確,對(duì)于提高用戶體驗(yàn)具有重要意義。
2.2 用戶影響力的評(píng)價(jià)研究 微博用戶的影響力體現(xiàn)在發(fā)博用戶通過(guò)輿論對(duì)其粉絲用戶所帶來(lái)的影響,用戶影響力越大,其傳播能力越強(qiáng),由此,影響力最強(qiáng)的那些用戶就成了意見(jiàn)領(lǐng)袖,他們擁有更多的話語(yǔ)權(quán),對(duì)于信息擴(kuò)散、輿論導(dǎo)向和商品推介等有著重要作用[6]。目前,國(guó)內(nèi)外學(xué)者研究影響力的方法有以下幾類。
(1)基于PageRank的評(píng)價(jià)方法。舒琰等將好友數(shù)量作為用戶影響力的一個(gè)重要指標(biāo),基于PageRank進(jìn)行了MapReuce改造完成了用戶影響力排名[7]。PageRank的計(jì)算公式為:
式中,Vi表示用戶i;d為阻尼系數(shù),表示某用戶隨機(jī)關(guān)注其他用戶的概率;F(Vi)表示用戶i的粉絲集合;L(Vi)表示用戶Vj的關(guān)注數(shù)。
(2)基于用戶行為的評(píng)價(jià)方法。Cha等在研究中,對(duì)微博中最常見(jiàn)的轉(zhuǎn)發(fā)、評(píng)論、提及3種行為進(jìn)行研究,并分析了這3種行為所表征的用戶影響力類型[8]。
(3)基于PageRank和用戶行為的評(píng)價(jià)方法。陳浩基于PageRank從用戶自身質(zhì)量及其粉絲質(zhì)量著手,考慮了粉絲數(shù)量、評(píng)論率、轉(zhuǎn)發(fā)率和是否微博認(rèn)證用戶等因素進(jìn)行影響力評(píng)價(jià)[6];康書(shū)龍結(jié)合用戶發(fā)表微博活躍度和PageRank算法,提出了Behavior-Relationship Rank算法來(lái)評(píng)價(jià)用戶影響力[9]。
(4)基于URL追蹤的評(píng)價(jià)方法。Bakshy等指出口碑信息通過(guò)許多級(jí)聯(lián)進(jìn)行傳播。通過(guò)追蹤URL傳播情況,并按一定方式分配相應(yīng)的影響力進(jìn)行評(píng)價(jià)[10]。
(5)新浪微博的用戶影響力評(píng)價(jià)模型。新浪微博定義的影響力由活躍度、傳播力和覆蓋度3大指標(biāo)構(gòu)成。活躍度代表發(fā)博、轉(zhuǎn)發(fā)、評(píng)論的有效條數(shù);傳播力與微博被轉(zhuǎn)發(fā)、被評(píng)論的有效條數(shù)和有效人數(shù)相關(guān);覆蓋度則取決于微博的活躍粉絲數(shù)的多少。其計(jì)算公式為:
由以上可知,微博用戶影響力研究考慮的因素主要是用戶關(guān)系(關(guān)注、粉絲等)和用戶行為(評(píng)論、轉(zhuǎn)發(fā)等),其中PageRank是當(dāng)前用戶影響力研究的主流應(yīng)用算法。由于PageRank算法需要多次迭代,所以當(dāng)用戶量較大時(shí),云計(jì)算將是很好的解決手段。
2.3 網(wǎng)絡(luò)輿情監(jiān)測(cè)研究 網(wǎng)絡(luò)輿情是指在一定社會(huì)空間內(nèi),針對(duì)社會(huì)事件的發(fā)生、發(fā)展和變化,民眾通過(guò)網(wǎng)絡(luò)對(duì)公共問(wèn)題或社會(huì)管理者產(chǎn)生和表現(xiàn)出的態(tài)度、價(jià)值觀?;ヂ?lián)網(wǎng)的開(kāi)放性和虛擬性讓言論自由得到釋放,對(duì)那些能引起公眾關(guān)注的事件,尤其是突發(fā)事件(如地震、恐怖襲擊等),很快便成了網(wǎng)絡(luò)輿情[11]。網(wǎng)絡(luò)輿情是社會(huì)輿情在互聯(lián)網(wǎng)空間的映射,是社會(huì)輿情的直接反映,對(duì)政治生活秩序和社會(huì)穩(wěn)定的影響越來(lái)越大。
社會(huì)管理者應(yīng)當(dāng)熟悉網(wǎng)絡(luò)輿情的特點(diǎn),對(duì)于網(wǎng)絡(luò)中出現(xiàn)的引起相當(dāng)關(guān)注的輿論能夠及時(shí)作出反饋,防患于未然。因此,使用現(xiàn)代信息技術(shù)對(duì)網(wǎng)絡(luò)輿情進(jìn)行分析,形成一套自動(dòng)化網(wǎng)絡(luò)輿情分析系統(tǒng),從而控制和引導(dǎo)輿論走向是非常必要的。輿情分析系統(tǒng)的技術(shù)核心在于輿情分析引擎,主要涉及文本分類、聚類、觀點(diǎn)傾向性識(shí)別、主題檢測(cè)與跟蹤、自動(dòng)摘要等計(jì)算機(jī)文本信息內(nèi)容識(shí)別技術(shù)。目前,針對(duì)微博輿情,研究者主要從如下幾個(gè)方面展開(kāi)分析。
(1)熱點(diǎn)話題識(shí)別??梢愿鶕?jù)微博出處權(quán)威度、評(píng)論數(shù)量、發(fā)言時(shí)間密集程度等參數(shù),識(shí)別出某時(shí)間段內(nèi)的熱門話題。
(2)傾向性分析。對(duì)微博內(nèi)容及其評(píng)論進(jìn)行情感分析。
(3)主題跟蹤。分析新發(fā)微博的話題是否與已有主題相同。
(4)自動(dòng)摘要。對(duì)各類微博主題能夠形成自動(dòng)摘要,幫助理解話題的核心語(yǔ)義。
(5)趨勢(shì)分析。分析某話題在不同的時(shí)間段內(nèi)人們所關(guān)注的程度,來(lái)預(yù)測(cè)它的發(fā)展趨勢(shì)。
(6)突發(fā)事件分析。對(duì)突發(fā)事件綜合分析,獲知事件發(fā)生的全貌并預(yù)測(cè)事件的發(fā)展趨勢(shì)。
(7)警報(bào)系統(tǒng)。對(duì)突發(fā)事件、涉及公共或人身安全的敏感話題及時(shí)發(fā)現(xiàn)并報(bào)警。
(8)統(tǒng)計(jì)報(bào)告。根據(jù)輿情分析結(jié)果生成報(bào)告,提供信息檢索功能。
2.3.1 熱點(diǎn)話題發(fā)現(xiàn)。熱點(diǎn)話題是指在特定的時(shí)間段內(nèi)出現(xiàn)頻率較高或傳播范圍較廣的主題特征詞[12]。通過(guò)熱點(diǎn)話題可以了解當(dāng)前的微博討論熱點(diǎn)、發(fā)現(xiàn)輿情事件等。熱點(diǎn)話題的獲取一般包括中文分詞處理、微博文本特征詞獲取和話題提取3個(gè)主要步驟。
2.3.1.1 微博分詞處理。微博文本內(nèi)容長(zhǎng)短不一,為了提取話題,需要對(duì)其進(jìn)行分詞處理。常用中文分詞效果較好的是由中國(guó)科學(xué)院開(kāi)發(fā)的ICTCLAS漢語(yǔ)分詞系統(tǒng),ICTCLAS分詞精度達(dá)到98.45%,分詞速度500 kB/s左右,并且支持多級(jí)詞性標(biāo)注,提供了包括Java在內(nèi)的多種計(jì)算機(jī)語(yǔ)言開(kāi)發(fā)工具包。完成分詞后,還要對(duì)照停用詞表進(jìn)行去停用詞處理,停用詞是指對(duì)文本意思表達(dá)無(wú)用的詞,如“的”、“呢”等。去除停用詞可以降低文本特征向量的維度,減少數(shù)據(jù)處理復(fù)雜度。
2.3.1.2 微博文本特征詞獲取。文本特征詞提取的常用算法是TF-IDF,其思想是:如果某詞在一個(gè)文本中出現(xiàn)頻率(TF)較高,在其他文本中很少出現(xiàn),則該詞具有很好的類別區(qū)分能力,選取幾個(gè)這樣權(quán)重較高的詞可作為該文本的主題特征詞。TF-IDF算法表示如下:
式中,Wi表示單詞i的權(quán)重;TFi表示單詞i在該文本中出現(xiàn)的頻率;DFi表示文本集合中出現(xiàn)單詞i的文本數(shù)量;N表示文本集合的數(shù)量。
2.3.1.3 微博話題提取。獲取某時(shí)段每條微博的特征詞后,基于MapReduce的并行FP-growth算法挖掘主題特征詞的關(guān)聯(lián)規(guī)則頻繁項(xiàng)集,根據(jù)產(chǎn)生的頻繁項(xiàng)集提取該時(shí)段的熱點(diǎn)話題?;贛apReduce的并行FP-growth算法執(zhí)行過(guò)程如下:①掃描數(shù)據(jù),計(jì)算一項(xiàng)集的計(jì)數(shù)。②根據(jù)計(jì)數(shù)與支持度計(jì)算出頻繁一項(xiàng)集,對(duì)于頻繁一項(xiàng)集按照計(jì)數(shù)從大到小排序,存入HDFS,執(zhí)行Map或Reduce任務(wù)前到HDFS上讀取相應(yīng)的項(xiàng)集和序號(hào)。③根據(jù)劃分集合的數(shù)目將頻繁一項(xiàng)集劃分為G份,對(duì)每份標(biāo)號(hào)(GID),把一項(xiàng)集映射到對(duì)應(yīng)的GID上,將產(chǎn)生的G-List存入HDFS,以后讀取。④再次掃描事務(wù)數(shù)據(jù),將事務(wù)項(xiàng)集轉(zhuǎn)換成項(xiàng)集的序號(hào)集合,并對(duì)其排序,再生成相應(yīng)的條件事務(wù)序號(hào)集合。將其根據(jù)GID收集,再對(duì)每個(gè)GID構(gòu)造FP樹(shù),然后得出條件模式基和條件FP樹(shù),再得出最大的K個(gè)頻繁模式。⑤將所有項(xiàng)集的頻繁模式收集起來(lái),對(duì)于每個(gè)項(xiàng)生成最大的K個(gè)頻繁模式。
2.3.2 情感分析。情感分析是對(duì)帶有情感色彩的主觀性文本進(jìn)行分析、歸納和推理的過(guò)程。微博中的情感分析是根據(jù)微博內(nèi)容、發(fā)博時(shí)間等信息,分析發(fā)博者所表現(xiàn)出的情緒狀態(tài),進(jìn)而對(duì)發(fā)博者即將可能產(chǎn)生的行為作出評(píng)估。微博及其評(píng)論中包含了很多發(fā)博者的主觀情感內(nèi)容,對(duì)其情感數(shù)據(jù)的挖掘可用于輿情監(jiān)控、商品口碑評(píng)估、民意傾向預(yù)測(cè)、網(wǎng)絡(luò)救助等實(shí)際應(yīng)用中。
微博文本情感分類一般被作為一個(gè)二分類問(wèn)題,即將微博文本集T分為兩個(gè)類型:T={T1,T2},T1表示(支持、積極的)正面類型,T2表示(反對(duì)、消極的)負(fù)面類型。情感分類就是利用分類器模型判斷微博文本t屬于T1還是T2。目前情感分類的方法有基于特征的情感分類方法和基于情感知識(shí)的情感分類方法。前者主要使用機(jī)器學(xué)習(xí)手段,讓機(jī)器學(xué)習(xí)人工標(biāo)注好的數(shù)據(jù)集,從中發(fā)現(xiàn)分類規(guī)則作為對(duì)其他數(shù)據(jù)集分類的依據(jù);后者建立在情感詞典或語(yǔ)義規(guī)則的基礎(chǔ)上,由于新的網(wǎng)絡(luò)詞語(yǔ)不斷出現(xiàn),且用戶更傾向于對(duì)新詞的使用,使得情感詞典的選擇和維護(hù)工作給此方法帶來(lái)一定的難度。目前中文微博的情感分類主要是借助情感詞典作為特征選擇并利用機(jī)器學(xué)習(xí)方法實(shí)現(xiàn)分類。該研究總結(jié)了基于機(jī)器學(xué)習(xí)的微博文本情感分類算法流程,如圖2所示。
圖2 微博文本情感分類算法流程
微博情感分析的文本數(shù)據(jù)可以選擇話題微博,也可以選擇話題微博的評(píng)論。情感分析完成后,就可進(jìn)行綜合分析和趨勢(shì)預(yù)測(cè),來(lái)獲知公眾對(duì)該話題所持的態(tài)度,以此為管理者提供決策。
同時(shí)應(yīng)該注意到的是,由于人類情感的復(fù)雜性、中文的多義性、受公眾情緒的影響而導(dǎo)致的情緒轉(zhuǎn)變和傳遞等眾多因素,使得簡(jiǎn)單的二分類或者是正、中、負(fù)三維描述已無(wú)法準(zhǔn)確評(píng)判用戶情感,挑戰(zhàn)是一直存在的。
針對(duì)微博大數(shù)據(jù)平臺(tái),該研究從最初的數(shù)據(jù)抓取、預(yù)處理到最后數(shù)據(jù)挖掘和實(shí)際應(yīng)用進(jìn)行了較為全面的介紹,說(shuō)明了微博平臺(tái)數(shù)據(jù)挖掘的價(jià)值。微博作為網(wǎng)絡(luò)時(shí)代產(chǎn)物,隨著計(jì)算機(jī)技術(shù)的發(fā)展和網(wǎng)絡(luò)用戶數(shù)量的增多,其產(chǎn)生的影響力也將越來(lái)越大。云計(jì)算在微博平臺(tái)上的應(yīng)用,使得對(duì)數(shù)據(jù)的處理更加方便和快捷,為新應(yīng)用產(chǎn)品的出現(xiàn)和帶來(lái)更好的用戶體驗(yàn),提供了更多可能性。
[1]許斌.中文微博的情感分析和影響力技術(shù)研究[D].鄭州:解放軍信息工程大學(xué),2013.
[2]姚海波.微博熱點(diǎn)話題檢測(cè)與趨勢(shì)預(yù)測(cè)研究[D].廣州:華南理工大學(xué),2013.
[3]胡文江,胡大偉,高永兵,等.基于關(guān)聯(lián)規(guī)則與標(biāo)簽的好友推薦算法[J].計(jì)算機(jī)工程與科學(xué),2013(2):109 -113.
[4]楊婷.基于MapReduce的好友推薦系統(tǒng)的研究與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),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].廣州:華東理工大學(xué),2014.
[7]舒琰,向陽(yáng),張騏,等.基于PageRank的微博排名MapReduce算法研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,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]康書(shū)龍.基于用戶行為及關(guān)系的社交網(wǎng)絡(luò)節(jié)點(diǎn)影響力評(píng)價(jià)[D].北京:北京郵電大學(xué),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的微博輿情監(jiān)控系統(tǒng)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2013(4):18 -22,9.
[12]林大云.基于Hadoop的微博信息挖掘[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2012(1):7-8.