張鳳娟,王 濛,周 剛
(信息工程大學,河南 鄭州 450001)
微博作為一種在線社會網絡以其實時性、高效性吸引了大量用戶。與傳統在線社會網絡相比,微博用戶間只需通過“關注”行為便可獲得目標用戶的微博信息,并以此構成具有廣播性質的社會信息傳播網絡;用戶間交互方便,可以實時地獲取所關注用戶的消息并參與討論;而且微博具有多種信息發布平臺和發布形式,已經逐漸成為人們傳播消息和獲取消息的重要媒介。
在微博中,有一些用戶對信息傳播和話題發展起到了極大的促進和推動作用,或者能夠對其他用戶產生很大的影響,這些用戶被稱為有影響力的用戶,這些用戶能夠引導微博輿論的發展方向。分析并預測微博網絡中的用戶影響力,有利于分析輿情在網絡中的傳播軌跡,追蹤熱點話題的關鍵人物,為輿情分析提供支持,準確判斷影響力高的用戶,以便進行網絡輿情引導或者社會網絡營銷等。
影響力一般認為是一種以別人樂于接受的方式,改變他人情感、思想或行為的能力。在微博平臺上,用戶影響力本質上是某用戶發布的帖子等信息引起其他用戶行為改變的能力,一個用戶對其他用戶的作用越大,該用戶的影響力也越大。用戶通過發布微博消息、評論他人的消息等行為來表達自己的情感與觀點,通過關注、轉發、評論等與其他用戶交互。文中認為那些影響力很大的用戶,他們的微博信息,很多都會在微博網絡中影響其他用戶,與之交互的用戶越多,受其影響的用戶也越多,表明該用戶的影響力也就越大。
因此,做出兩個假設:微博中用戶通過發布信息和行為影響他人;信息和行為的傳播依賴于用戶間的交互行為。基于此,文中首先根據用戶間的交互行為構建活動網絡,在此基礎上利用用戶的行為特征結合用戶間交互的強度改進PageRank算法,提出了一種新的基于活動網絡的微博用戶影響力分析算法—ANR,并通過實驗進行驗證。
近年來,隨著互聯網的迅速發展,微博呈現爆炸式發展,對于微博的研究受到了科研人員的廣泛關注。在微博網絡中用戶是處于核心地位的,許多文獻都對微博網絡尤其是微博Twitter中的用戶影響力進行探索,主要側重于對用戶屬性和網絡結構兩個方面的研究。Kwak等[1]研究了社交網站Twitter中的數據,使用了粉絲數、微博被轉發數以及PageRank算法對用戶影響力進行了分析,對排序結果的相關性進行比較,實驗結果說明基于粉絲數的排序結果和采用PageRank算法的排序結果具有較強的相關性,但是,基于粉絲數的排序結果卻與基于轉發數的排序結果有很大差別。Cha等[2]分別從粉絲數、轉發數和評論次數三個屬性對微博用戶影響力進行考量,通過實驗對比了三種用戶影響力排序方法,得出的結論與文獻[1]類似,即粉絲數越多不代表具有越大的影響力,說明了粉絲數并不是衡量用戶影響力的唯一與最好指標。Web Ecology Project中對用戶影響力的研究[3]同樣表明粉絲數多并不代表具有較大的影響力,像轉帖的次數、回復的次數、瀏覽的次數等這些代表用戶發表話題的受關注程度的屬性也是評價用戶影響力的重要指標。上述對微博用戶影響力的衡量方法大多依賴于主觀感覺,文獻[4]通過對微博中多種指標的回歸分析詳細研究了不同屬性在信息傳播中的作用,并以此來度量用戶影響力,實驗表明,用戶行為和交互的特征比微博網絡的靜態拓撲特征(比如粉絲數)更能反映用戶的影響力大小。
PageRank算法[5]是Google創始人Lary Page和Sergey Brin提出的,是Google搜索重要的網頁排名算法。它主要是通過網頁之間的鏈接結構來確定網頁的重要性,不僅可以衡量網頁的重要度,由于微博用戶節點間的交互行為類似網頁的鏈接關系,因此該算法還可以用來評價社會網絡中用戶影響力的大小。Daniel Tunkelang[6]改進了PageRank算法,將隨機游走的思想和用戶微博數量等特征用于Twitter中用戶影響力的排序上,提出了用戶影響力計算的TunkRank算法。文獻[1]中也用到了PageRank算法,并與用戶粉絲數、被轉發數度量用戶影響力的方法進行了比較。Weng等[7]對PageRank算法進行了改進,提出了判斷用戶在給定某個話題內的影響力的TwitterRank算法。Lü等[8]以傳統PageRank算法為基礎提出了LeaderRank算法,該算法通過附加一個超級節點來處理PageRank算法中孤懸節點和網絡不連通等問題。和PageRank算法相比,LeaderRank算法的優勢有無額外參數、適用范圍廣、收斂性好和排序結果穩定等。但是這些方法,都只是研究了網絡結構而沒有考慮用戶屬性和用戶的交互行為。
綜上所述,以往對微博用戶影響力度量的方法無論是基于粉絲數還是基于對PageRank算法的改進,都只是分析了微博網絡的不同拓撲特征或節點間的相互作用且多是直接使用微博網絡的靜態拓撲作結構作為分析的基礎。但是微博網絡的靜態拓撲只關注了網絡中的好友關系,而忽略了用戶間的真實交互情況。文獻[9-10]的研究表明,社交網絡中的用戶交互網絡遠小于基于好友關系的靜態網絡,網絡中有大量“不活動”的用戶,即“僵尸”用戶,顯然,使用包含大量“僵尸”用戶的關系網來度量用戶影響力是不夠準確的。另外,還有研究僅使用被轉發數、被評論數、用戶被提及數等來度量用戶影響力,這些指標雖然考慮到了用戶之間的交互行為,但是僅利用了交互行為在單個目標上的聚合結果,沒有考慮用戶間交互行為的強弱和相互作用。
因此,文中將微博用戶間的交互行為作為度量用戶影響力的標準,首先基于用戶交互行為建立活動網絡(activity network)[11-13],結合用戶交互行為強度、用戶在網絡中的活躍度、PageRank算法等因素,提出了一種基于活動網絡來評估微博用戶影響力的新算法。
活動網絡是在用戶交往的基礎上建立起來的網絡,但是這種交往并不一定是友好關系,這種網絡的拓撲結構稱為活動拓撲結構[9]。例如,微博用戶通常通過互相關注(follow)、互相提及(mention)、轉發動態(retweet)和評論回復(remark)四種行為進行網絡互動行為。通過這幾種主要行為來構建活動網絡。
以三元組Gr=(V,E,D)形式表示活動網絡G,其中:
r∈R={follow,mention,retweet,remark}:活動網絡對應的用戶交互行為;
V={vi|i=1,2,…,N}:活動網絡的節點集合,每個節點對應一個微博用戶,N為網絡中的節點數目;
E={(vi,vj,wij)|vi,vj∈V,i≠j,viRvj}:活動網絡的邊集合,viRvj定位為節點vi和節點vj間產生了交互R,wij為邊的權值,與交互R的次數、類型等相關;
D={di|i=1,2,…,L}:活動網絡中節點的屬性向量,對于每一個屬性向量,都有一個節點與之對應。
微博用戶的所有交互活動內容都在微博文本上得以體現。結構化信息可以從半結構化微博文本中提取,從而間接完成網絡活動的構建,這些結構化信息主要包括微博用戶的網絡節點及其相互之間的聯系。
構建微博活動網絡的主要過程為:
(1)進行節點獲取,得到用戶基本信息,把微博用戶的節點集結起來,形成集合V。
(2)分析節點間的關系,通過對微博用戶互動行為的分析,把用戶節點間的關系集結起來,形成集合E,把用戶交互行為的次數記錄下來,當作邊的屬性。
(3)提取網絡屬性,分析數據和網絡需求,通過對用戶節點屬性的構造,得到邊與節點之間的屬性結果,比如節點的訪出和訪問可以由用戶的好友數和粉絲數來代表,可以作為用戶網絡行為的特征表示,用戶相互間的行為邊屬性特征等也可以因此表示出來。選取屬性時可以參考數據的儲量和算法需求程度對其進行合理設置。
在微博網絡中,用戶之間的聯系是通過關注關系形成的,但是這個關注是單方面的用戶網絡行為,用戶v可以單向關注用戶u,而且并不用得到用戶u的同意確認,甚至可以把用戶u的動態隨時隨地發給其他關注了用戶u的人follow(u),對用戶u的評論、回復和轉發等操作都沒有限制,這樣的信息交互過程如圖1(a)所示。通過關注關系建立起來的就是好友關系網絡,利用這個網絡建立信息傳播和交互機制,用戶可以方便地獲取信息和發布消息,并對其他用戶產生影響。因此,傳統對用戶影響力的評價都是通過分析好友關系網絡的拓撲特征實現的。
但是,還有一些特殊功能,不同的用戶分為了不同的圈子,圈子內的用戶可以隨意互相評論其他用戶的微博動態,而不用互相關注。這種消息傳播模式的一個應用如新浪微博微吧,其中,用戶圈子內信息傳播的主要途徑不再是由關注行為構成的好友關系網絡,而是通過評論、轉發、提及等交互行為構成的新網絡,如圖1(b)所示。
所以,文中首要任務就是在微博用戶行為分析的基礎上建立活動網絡,再借鑒PageRank算法的隨機游走思想建立用戶影響力分析模型,最后結合節點的行為特征對鏈接分析過程進行優化。

圖1 微博網絡中信息的不同傳播模式
PageRank算法是Google搜索重要的網頁排名算法,它主要是通過網頁之間的鏈接結構來確定網頁的重要性。由于微博網絡中的用戶節點鏈接關系與網頁節點間的鏈接關系相似,可以用PageRank算法來分析在線社會網絡中重要用戶、發現最優話語權的用戶。PageRank算法的基本原理如下:凡是一個網頁受到用戶的擁護和追捧,而得到了很高的排名,那么它必然與許多其他網頁相鏈接。PageRank算法的兩個基本假設:(1)網頁的重要程度是和頁面的入鏈數呈正比的;(2)網頁的入鏈質量越高,網頁就越重要,從而就會向其他頁面傳遞更多的權重。PageRank算法可以表述為:

(1)
其中,p1,p2,…,pN表示網頁;M(pi)表示頁面pi的頁面鏈入數;L(pj)表示頁面pj的頁面鏈出數;N表示網絡中的頁面數量;PageRank(pi)表示頁面pi的PageRank值,所有頁面的PageRank值構成網絡的PageRank向量;q表示用戶繼續瀏覽該頁面之后的頁面的概率,通常概率值為0.85;1-q表示用戶瀏覽該頁面之后的頁面的概率。
文中將PageRank算法的思想用于微博網絡用戶影響力排名,但是微博活動網絡與互聯網有很大不同,傳統的PageRank算法有很大的局限性。
(1)傳統PageRank算法只是在Web網絡的基礎上建立起來的頁面鏈接關系,符合二元關系,這種關系大部分建立在微博好友關系的基礎上,不過大多時候,比如在熱門話題的討論、微吧、微群中,用戶信息并不是沿著好友關系鏈傳播而是通過特定的用戶分組或用戶群傳播,用戶間不需要添加為好友就可以直接進行交互。因此將PageRank算法用于基于回復/評論的活動網絡,而不是好友關系網絡。
(2)傳統PageRank算法沒有考慮到節點間的相互作用是不同的。微博用戶的相互聯系越強烈,相互間的影響就越大。在微博好友關系網中,邊僅代表關注與被關注關系,一次即可完成,微博用戶之間在互相評論、回復、轉發等多次交互行為時產生了很多相互疊加的關系。PageRank算法中在計算PageRank數值時,假設權值轉移是相同的,并沒有把節點的重要性考慮進去。
(3)傳統PageRank算法只考慮了靜態節點,沒有考慮動態節點,只考慮了網頁節點之間的關系對節點的重要影響,沒有考慮微博用戶的行為特征,這種行為特征是具有自主能動性的。在分析節點之間的傳播上,PageRank數值只考慮了節點的結構,沒有考慮節點的非結構行為帶來的活躍特征程度。在網絡活動中用戶的行為例如發布微博動態、評論回復、轉發等都會在很大程度上影響信息的傳播,PageRank算法沒有很好地體現這一特征。
為了更準確地衡量微博用戶的影響力,適應活動網絡的特點,文中對PageRank算法進行了改進,設計了基于活動網絡的用戶影響力排序算法—ANR算法。
已知活動網絡Gr=(V,E,A),算法描述為:
(2)



(3)

(4)
同時定義用戶ui對用戶uj的交互序列為:
actionsi→j=r1,r2,…,rM,rm∈R,m=1,2,…,M
(5)
用戶節點活躍度h(ui)為用戶評論他人和發帖的總數:

(6)
用戶間交互強度g(uj,ui)為用戶間交互次數:

(7)

文中實驗數據來自于新浪微博中的“微吧”。微吧是一個基于主題討論與交流的社區,上線于新浪微博,實現了微博內容的按主題聚合、深度討論和潛在熱點挖掘。微吧的顯著特點為同一微吧內的用戶都是關注同一主題的,具有較高的聚合度和活躍度,用戶不需關注即可獲取微吧內其他用戶所發的消息,用戶間的主要交互方式為評論或回復,適合進行影響力分析。
通過網絡爬蟲抓取了新浪微博鄭州微吧部分帖子及其回復信息,抽取參與討論的用戶信息以及微吧內用戶間的交互信息建立活動網絡,并使用新浪微博API采集用戶的屬性特征,比如用戶的朋友數量、粉絲數量、發帖數等。同時,可以通過對抓取的帖子的分析得到用戶在微吧內的相應屬性特征。其基本信息如表1所示。

表1 基本信息
通過對表1的分析可以發現,微吧內每個用戶交互量是用戶關注關系量的5.8倍,相比于非好友用戶數量,在微博貼吧內完全沒有交互關系的用戶數量只占了4.1%。圖2和圖3是用戶在微吧內和在全網絡的好友關系數量的CDF圖,通過對所有用戶微吧內和全網內關系數量的研究得出結論,微博貼吧內的朋友數量和粉絲數量僅占全網朋友數和粉絲數的一小部分,分別是5.2%和1.2%。間接說明了基于微博用戶交互的活動網絡比僅使用好友關系網絡來分析用戶影響力更具有合理性。

圖2 用戶在微吧內的朋友數和全網的朋友數

圖3 用戶在微吧內的粉絲數和全網的粉絲數
4.2.1 對比算法
為驗證ANR算法,運用以下兩種常用影響力度量方法作為對照:
(1)PageRank算法:PageRank算法是經典的網絡算法,微博中的用戶影響力排序就是通過該算法進行的。另外,ANR算法是在PageRank算法的基礎上優化得來的,所以PageRank算法是基本對比算法之一,并且是在好友關系網絡的基礎上建立起來的。
(2)粉絲數:使用關注微吧中用戶的粉絲數進行影響力排序,稱為FansC(fans count)算法。Twitter等已經使用了該方法,它也被當作對比算法作為許多文獻的參考。該方法也是文中的基準算法。
4.2.2 實驗結果
表2左側給出了在ANR、PageRank和FansC三種影響力排序算法的基礎上得到的Top-20名用戶。觀察可得,PageRank與FansC兩種方法得到的Top-10有相同用戶重疊(不考慮排名),Top-20也有14名重疊用戶—得到的結果與其他文獻的研究結果相同[1],PageRank與FansC兩種方法得到的用戶排名結果是近似的。

表2 三種排序方法的前20名用戶
表3給出了上述三種排序算法以及按發帖數、評論數Top-10和Top-20的共同覆蓋率。可以看出,ANR算法得到的Top-10/20用戶與用PageRank和FansC方法得到的用戶的相同率僅有20%左右。ANR算法是否可行,可以從排名結果上看出,排名結果可以使用發帖數和被評論數進行分析—這兩個指標在一定程度上表現了用戶行為的數量和質量,文獻[4,14]的結論表明這兩項都能夠較好地表示用戶的影響力。

表3 不同方法TopN共同覆蓋用戶比例
表3給出了Top-20用戶的相關屬性特征,分析可得如下結論:
(1)ANR算法預測得到的Top-20用戶的發帖數和被評論數普遍較高;在所預測的Top-20用戶中,三種算法的平均發帖數量分別為233.7、96.5和98.9;而對于不在ANR Top-20的用戶中,基于PageRank和基于粉絲數FansC兩種算法的平均發帖量僅為2.1和2.3。另外,可以看出,不在ANR算法Top-20的用戶中有很大一部分沒有或者很少在微吧中發帖子。
“影響”在維基百科和現代漢語詞典中定義為“對別人的思想、情感或行為起作用”,發帖數體現了用戶的活躍程度,被回復數則體現了該用戶的影響力,是否影響了別人。通過結論(1)的分析可知,ANR算法預測的Top-20用戶發帖數和被評論數都比PageRank和FansC算法預測的高,也證明文中算法是有效的。
(2)分析ANR算法得到Top-20用戶,發現一些發帖數較少的用戶也有所出現。例如“一米Andrew”、“_馨小馨錢多多_”、“Nice-u”等三個用戶的發帖數僅為1,但仍然排進了Top-20。分析這些用戶的評論發現:這些用戶的評論中存在大量自己的回復,而PageRank算法計算中無法識別這類問題,會大幅度提高這類節點的得分值。另外還發現,有些用戶只活躍在早期,但排名仍然靠前。典型用戶為“新浪鄭州汽車”,只有5個帖子的發帖量。這5個帖子都是在微博建立之初發布的,但是由于一些微吧活躍的用戶,如“櫻空旭”、“凡心”等,使得該用戶的影響力比實際要高很多。
結論2表現了ANR算法的問題,即Native PageRank算法本身具有的缺點,在對時間的感覺上不是很敏感。
不過在預測用戶影響力的排名時,PageRank和FansC方法基本無法準確預測出微吧內的有影響力用戶,而ANR算法能較準確找出有影響力的用戶,也就是說文中算法對于預測用戶影響力在像微吧這樣的應用中是有效的。
通過分析現有對微博用戶影響力的相關研究,提出一種在活動網絡基礎上的新算法-ANR。該算法針對傳統微博用戶影響力評估的一些問題,考慮用用戶交互行為構建活動網絡,結合個人的屬性特征和行為特征兩方面體現在PageRank算法中,進而預測用戶影響力。通過對微吧數據的分析表明,基于活動網絡的微博用戶影響力算法對影響力的識別準確性超過了基于好友關系網絡的PageRank算法和基于粉絲數排序的算法。另一方面,ANR算法的種種問題也在實驗中表現出來,忽視了用戶的自我評論傾向和時間對用戶評論行為預測的影響。
影響微博用戶準確評估涉及的因素是多方面的[15]。文中單獨舉出了評論這一種網絡行為,其他的交互模式以及用戶屬性特征也會對用戶影響力預測產生較大影響,如果能將多種因素有效結合將大大提高用戶影響力預測的準確度。