一種基于改進的PageRank的微博關鍵用戶識別方法
【專利摘要】本發(fā)明公開了一種基于改進的PageRank的微博關鍵用戶識別方法,包括輸入微博信息數(shù)據(jù),其中包括n條微博;對n條微博文本進行分詞處理;根據(jù)分詞結果建立倒排索引結構,便于根據(jù)指定關鍵詞檢索;根據(jù)檢索到的相關微博提取其轉發(fā)層級信息,構建加權有向圖即轉發(fā)網(wǎng)絡G;將轉發(fā)網(wǎng)絡G劃分為若干個極大連通子圖Gi;利用并行化計算技術在每個子網(wǎng)絡Gi應用PageRank算法;將各個子網(wǎng)絡的計算結果融合生成整個網(wǎng)絡生成整個網(wǎng)絡G的排序結果;將排序結果選擇前m條作為關鍵用戶輸出。本發(fā)明采用并行計算技術,在大數(shù)據(jù)環(huán)境下針對微博平臺的動態(tài)轉發(fā)網(wǎng)絡進行排序計算,從而識別信息傳播過程中的關鍵用戶,應用于網(wǎng)絡輿情分析等領域。
【專利說明】—種基于改進的PageRank的微博關鍵用戶識別方法
【技術領域】
[0001]本發(fā)明涉及微博關鍵用戶識別方法,特別是一種基于改進的PageRank的微博關鍵用戶識別方法,屬于復雜網(wǎng)絡和數(shù)據(jù)挖掘領域,特別針對海量的微博數(shù)據(jù)分析。
【背景技術】
[0002]微博平臺關鍵用戶是對信息的傳播與擴散起到重要作用的用戶。關鍵用戶在大眾傳播效果的形成過程中起著重要的中介或過濾的作用,他們將信息擴散給受眾,形成信息的級聯(lián)傳播。因此,關鍵用戶的識別在信息的發(fā)現(xiàn)以及傳播分析方面起到重要的作用,對于網(wǎng)絡輿情分析等工作具有重大指導意義。然而,基于內容的關鍵用戶識別,由于微博短文本的特點往往不夠準確;基于結構的關鍵用戶識別,即認為由用戶構成的網(wǎng)絡結構中關鍵用戶均是重要節(jié)點,并且只考慮靜態(tài)的關注粉絲關系網(wǎng)絡,但由于相關度、用戶活躍度等原因導致很多重要節(jié)點并不具備關鍵用戶的特征。有鑒于此,本發(fā)明結合內容和網(wǎng)絡結構兩方面特點,利用微博平臺中的轉發(fā)信息構建主題相關的動態(tài)網(wǎng)絡,將關鍵用戶的識別轉化為有向圖上基于PageRank的排序問題。另外,考慮到微博平臺具有海量數(shù)據(jù)的特點,動態(tài)生成的網(wǎng)絡往往規(guī)模巨大,并且需要即時計算結果,因此傳統(tǒng)的冪迭代算法在計算時間與空間上的消耗都難以滿足需求。采用并行計算技術可以將大規(guī)模的計算分解到若干可擴展的計算節(jié)點上,降低了算法的時空復雜度以及對于單節(jié)點的計算能力的要求,特別適合在云計算平臺上部署與應用。所以本發(fā)明采用MapReduce實現(xiàn)PageRank并行計算,在大數(shù)據(jù)環(huán)境下針對微博短文本信息進行挖掘,從而識別信息傳播過程中的關鍵用戶。
【發(fā)明內容】
[0003]本發(fā)明提出一種基于改進的PageRank的微博平臺關鍵用戶識別方法。該方法以PageRank為核心,從微博文本結構提取轉發(fā)信息構建由轉發(fā)關系形成的網(wǎng)絡,進而利用PageRank最終獲得具有高魯棒性和高質量的關鍵用戶識別結果。利用轉發(fā)關系可以得到查詢相關的質量較高的動態(tài)轉發(fā)網(wǎng)絡,從一定程度上克服由短文本、相關性、靜態(tài)網(wǎng)絡結構導致的劣解;多個動態(tài)轉發(fā)網(wǎng)絡通過PageRank分別計算后進行組合提高計算效率和算法魯棒性。一種基于改進的PageRank的微博關鍵用戶識別方法,包括如下步驟:
[0004]步驟1:利用網(wǎng)絡爬蟲和微博API收集互聯(lián)網(wǎng)上的微博客數(shù)據(jù),主要包括微博的作者信息、文本信息、原創(chuàng)作者信息以及時間信息。
[0005]步驟2:將微博數(shù)據(jù)中的文本數(shù)據(jù)進行分詞處理。
[0006]步驟3:停用詞移除、詞干提取。
[0007]步驟4:構建倒排索引結構,便于快速從關鍵詞檢索微博。
[0008]步驟5:動態(tài)轉發(fā)網(wǎng)絡的構建,針對每一條轉發(fā)的微博提取其轉發(fā)層級信息,如圖2所示,包括從原創(chuàng)作者到發(fā)表作者以及之間傳播經(jīng)過的用戶,由此構建有向網(wǎng)絡,節(jié)點為用戶,邊為轉發(fā)的關系,這里是將信息流相反的方向作為邊的方向,邊的權重為轉發(fā)出現(xiàn)的次數(shù),方向為作者指向其轉發(fā)的作者,最終形成的數(shù)據(jù)結構為加權有向圖。[0009]步驟6:轉發(fā)網(wǎng)絡的分解,將轉發(fā)網(wǎng)絡G劃分為若干個極大連通子圖,對于每一個子網(wǎng)絡Gi,賦予其權重,即Wi = V(Gi) /V(G),其中V(G)代表圖G中的節(jié)點數(shù)。
[0010]步驟7:并行迭代,求解子網(wǎng)絡中每個節(jié)點的PageRank (pr)值。
[0011](I)初始階段,對于每個子網(wǎng)絡Gi的每一個節(jié)點V賦予初始PageRank值priQ(v)=1/V (Gi)0
[0012](2)迭代階段,利用MapReduce并行技術計算子網(wǎng)中各節(jié)點PageRank值,其計算公式為prik = ((l-cDE/n+dADprm,其中k為當前迭代階段;d為阻尼系數(shù),一般設為0.85 ;η為網(wǎng)絡中的節(jié)點數(shù);Ε為全I向量夂為子網(wǎng)絡Gi的鄰接矩陣。迭代的終止條件可以為k達到指定的閾值或兩次迭代產(chǎn)生的結果差值小于指定的閾值,即|prik-prik_J < ε。
[0013]步驟8:排序結果的融合,將每個子網(wǎng)絡Gi的排序結果pri;乘以其權重Wi,再將每個子網(wǎng)絡的結果合并最后得到G的排序結果pr。
[0014]步驟9:結果排序輸出,將pr按照值排序,輸出用戶重要度排序列表,前m個用戶即為關鍵用戶。
[0015]本發(fā)明利用動態(tài)轉發(fā)關系構建用戶網(wǎng)絡,并將多個動態(tài)轉發(fā)網(wǎng)絡排序結果進行融合,大大提高大數(shù)據(jù)環(huán)境下微博平臺關鍵用戶識別的效率和質量,還具有很強的魯棒性。本發(fā)明的方法能夠克服短文本以及靜態(tài)網(wǎng)絡結構的缺點,能有效提高網(wǎng)絡輿情分析的效率。
【專利附圖】
【附圖說明】
[0016]圖1為本發(fā)明的整體框架圖。
[0017]圖2為轉發(fā)信息示例圖。
[0018]圖3為動態(tài)網(wǎng)絡圖。
[0019]圖4 為 MapReduce 不意圖。
【具體實施方式】
[0020]下面將結合附圖和具體實施實例對本發(fā)明做出進一步的說明。
[0021]本發(fā)明提出一種基于改進的PageRank的微博平臺關鍵用戶識別方法。該方法以PageRank為核心,采用MapReduce并行計算技術克服微博大數(shù)據(jù)的計算效率低的問題,從微博文本結構提取轉發(fā)信息構建由轉發(fā)關系形成的網(wǎng)絡,進而利用PageRank最終獲得具有高魯棒性和高質量的關鍵用戶識別結果。利用轉發(fā)關系可以得到查詢相關的質量較高的動態(tài)轉發(fā)網(wǎng)絡,從一定程度上克服由短文本、相關性、靜態(tài)網(wǎng)絡結構導致的劣解;多個動態(tài)轉發(fā)網(wǎng)絡通過PageRank分別計算后進行組合提高結果的魯棒性。
[0022]一種基于改進的PageRank的微博平臺關鍵用戶識別方法,分為三個模塊:數(shù)據(jù)收集與預處理模塊,動態(tài)轉發(fā)網(wǎng)絡構建模塊和PageRank計算與融合模塊,其中數(shù)據(jù)收集與預處理模塊包括數(shù)據(jù)收集、處理、停用詞移除、提取詞干和生成倒排索引等過程,動態(tài)轉發(fā)網(wǎng)絡構建模塊利用微博信息提取轉發(fā)關系構建轉發(fā)網(wǎng)絡,PageRank計算與融合模塊包括轉發(fā)網(wǎng)絡劃分、PageRank計算、計算結果融合以及最后的排序和輸出,具體實施過程如下:
[0023]1.利用網(wǎng)絡爬蟲和微博API收集互聯(lián)網(wǎng)上的微博客數(shù)據(jù),主要包括微博的作者信息、文本信息、原創(chuàng)作者信息以及時間信息。以新浪微博為例,本發(fā)明在通過API獲取數(shù)據(jù)階段可能需要的字段包括:[0024]
【權利要求】
1.基于改進的PageRank的微博關鍵用戶識別方法,其特征在于,包括以下步驟: 步驟一,輸入微博信息數(shù)據(jù),其中包括η條微博的用戶、文本、時間信息等; 步驟二,根據(jù)含有m個詞匯的預設詞庫,對η條微博的文本進行分詞處理; 步驟三,根據(jù)分詞后的結果建立倒排索引結構,便于根據(jù)指定關鍵詞檢索; 步驟四,根據(jù)檢索到的相關微博提取其轉發(fā)層級信息,構建加權有向轉發(fā)網(wǎng)絡G ; 步驟五,將轉發(fā)網(wǎng)絡G劃分為若干個極大連通子圖Gi ; 步驟六,在各個子網(wǎng)絡上分別采用并行計算技術,應用PageRank算法得出各個子網(wǎng)絡的排序結果后再融合; 步驟七,排序結果輸出。
2.如權利要求1所述的基于改進的PageRank的微博關鍵用戶識別方法,其特征在于,所述步驟一中的微博信息數(shù)據(jù)來源于在互聯(lián)網(wǎng)、微博平臺API上抓取一預設時間段內的微博信息數(shù)據(jù)。
3.如權利要求1所述的基于改進的PageRank的微博關鍵用戶識別方法,其特征在于,對每條微博的文本進行分詞處理都包括以下步驟: 1)去掉文本中的停止詞; 2)根據(jù)預設詞庫中的詞匯,按照文本文字從前到后的順序,對文本中的文字進行分詞拆分。
4.如權利要求1所述的基于改進的PageRank的微博關鍵用戶識別方法,其特征在于,在權利要求1所述步驟三中建立微博分詞結果到微博之間的倒排索引,方便根據(jù)關鍵詞檢索指定微博。
5.如權利要求1所述的基于改進的PageRank的微博關鍵用戶識別方法,其特征在于,在權利要求1所述步驟四中,根據(jù)微博文本的信息提取其轉發(fā)層級信息,構建加權有向圖。
6.如權利要求1所述的基于改進的PageRank的微博關鍵用戶識別方法,其特征在于,在權利要求1所述步驟五中,將轉發(fā)網(wǎng)絡分解為若干個極大連通子圖,并為每個子網(wǎng)絡賦予權值。
7.如權利要求1所述的基于改進的PageRank的微博關鍵用戶識別方法,其特征在于,在權利要求1所述步驟六中,在各個子網(wǎng)絡采用PageRank算法。
8.如權利要求1所述的基于改進的PageRank的微博關鍵用戶識別方法,其特征在于,在權利要求1所述步驟六中,在各個子網(wǎng)絡采用基于MapReduce計算模型的并行計算技術來實現(xiàn)PageRank算法。
9.如權利要求1所述的基于改進的PageRank的微博關鍵用戶識別方法,其特征在于,在權利要求1所述步驟六中,在各個子網(wǎng)絡的計算結果融合后形成整個轉發(fā)網(wǎng)絡的排序計晳奸里
【文檔編號】G06F17/30GK103530402SQ201310502924
【公開日】2014年1月22日 申請日期:2013年10月23日 優(yōu)先權日:2013年10月23日
【發(fā)明者】程工, 劉春陽, 張旭, 龐琳, 吳俊杰, 韓洋, 劉洪甫, 韓小汀 申請人:北京航空航天大學