李瑋新,李 銳,洪偉彬
(上海理工大學光電信息與計算機工程學院,上海 200093)
隨著互聯網技術的發展,人們對線上社交的需求越來越高。微博憑借其平臺開放性、終端拓展性、內容簡潔性和低門檻等特性,逐漸成為了一個重要的社會化媒體[1]。研究社交網絡中的用戶影響力不僅能度量社會影響力的大小,還能對減少垃圾營銷、挖掘資深用戶、相關用戶推薦等應用做出一些改進[2]。
對微博用戶影響力的評估等相關研究一直都是一個比較熱門的領域。譚琪等人[3]構造了一種融入結構度中心性的用戶影響力評估算法SDRank。王利等人[4]提出了基于Swarm 突現計算模型的用戶影響力排序算法。王頂等人[4]采用權重因子將用戶粉絲對用戶影響力的貢獻值進行分配。師亞凱等人[6]、馬俊等人[7]、張紹武等人[8]和賈沖沖等人[9]則分別從不同的角度提出了用戶影響力的計算模型和排序方法。但是上述算法有的考慮的因素相對單一,有的則不能較好適應當前社交網絡出現的一些新變化如“粉絲經濟”、微博營銷等。本文從用戶自身的影響力和傳播影響力兩方面,綜合計算了微博用戶的影響力。
PageRank 算法[10]是由Google 創始人Lary Page和Sergey Brin 提出的鏈接分析算法,是用來衡量網頁好壞的重要標準。PageRank 算法結合網頁的入鏈數量和網頁的質量來衡量網頁的重要性。而微博中用戶間的關注關系可以類比PageRank 算法中網頁的鏈接關系,因此PageRank算法很適合用來進行微博用戶影響力的分析。常見的算法如Twitterank[11]、MDIR[12]、BWPR[13]以及加入用戶權重的用戶影響力算法[14]。但是這些算法有的只關注用戶自身屬性對其影響力的貢獻;有的研究的用戶自身屬性的維度過少,未考慮到用戶認證情況、粉絲數等其他重要因素。
在PageRank 算法中,每個網頁的初始PR 值是相同的,每個網頁的出鏈的PR 值也是平均分配的,而微博用戶的影響力往往會因為其認證情況、粉絲數等產生差異,所以在評估微博用戶影響力時不僅要考慮用戶的鏈接關系,還要綜合用戶的自身屬性和用戶微博的傳播能力。
本文從上述兩個方面綜合考慮微博用戶的影響力,提出一種基于用戶自身影響力和傳播影響力的BPPI 算法(Based on users' Personal and Propagating Influence),用用戶的自身影響力代替PageRank 算法中平均分配的初始影響力,解決了PageRank算法中每個網頁初始PR值相同的情況,排除了用戶僵尸粉對影響力的干擾;也對其他類似算法所存在的問題進行了改進。對傳播影響力的評估可以解決PageRank 算法中網頁出鏈的PR值平均分配的問題,相比其他類似的算法可以較大地提高用戶影響力評價的準確度。
本文根據微博用戶間的關注關系,構建微博的傳播網絡。設微博傳播網絡為G(V,E),G是一有向圖;V 是該網絡中點的集合,代表微博用戶的集合;E 是該網絡中邊的集合,代表微博用戶間的關注關系,當用戶u 關注了用戶v,則會有一條有向邊從代表u 的節點指向代表v的節點。
微博用戶往往會直觀地根據用戶的一些屬性來判斷其影響力。基于此,可以參照這些屬性,來評估用戶的自身影響力,自身影響力包括用戶認證情況、活躍粉絲數、活躍度以及關注度四個屬性。
⑴認證情況
現給出用戶認證情況的計算公式:

其中,auth(u)指用戶u的認證情況。
⑵活躍粉絲數
活躍粉絲數指近一個月內對用戶的微博有點贊、評論、轉發的行為的粉絲數量。
⑶活躍度
活躍度反映了用戶一個月內的活躍程度。現給出活躍度的計算公式:

其中,liveness(u)指用戶u的活躍度,blog(u)指用戶u在一個月內發布的微博數量,allblogs指一個月內所有微博用戶發微博的數量。
⑷關注度
關注度指用戶微博獲得的點贊、評論和轉發的相對數量。現給出關注度的計算公式:

其中,atten(u)指用戶u 的關注度,like(bi),comm(bi),repo(bi)分別指用戶u的第i條微博獲得的點贊數、評論數和轉發數,fans(u)是用戶u 的粉絲數,B 是用戶u 發布的所有微博的集合。
綜合上述四個因素,最終得出自身影響力的計算公式:

其中,personal_influ(u)是用戶u 的自身影響力值,auth(u)是用戶u 的認證情況,activefans(u)是用戶u 的活躍粉絲數,liveness(u)是用戶u的活躍度,atten(u)是用戶u的關注度。
傳播影響力由用戶v 對用戶u 的互動情況,包括對用戶u微博的點贊、評論、轉發的頻率決定。現給出傳播影響力的計算公式:

其中,propagating_influ(u,v)指用戶v 對用戶u 的傳播影響力;like(u,v)、comm(u,v)、repo(u,v)分別表示用戶v 對用戶u 的微博的點贊數、評論數和轉發數;blog(u)指用戶u發布微博的總數。
根據傳播影響力的公式(式⑸),可以得到傳播影響力比例的計算公式:

其中,prop_r(u,v)指用戶v對用戶u的傳播影響力比例,follow(v)指用戶v關注的用戶集合,propagating_influ(u,v)指用戶v對用戶u的傳播影響力。
BPPI 算法從用戶的自身影響力和傳播影響力兩個方面描述了用戶的影響力。算法的過程是:根據用戶數據構建出微博傳播網絡圖,依次計算圖中每一個用戶的影響力:先計算用戶的自身影響力作為影響力的初值,再依次對每一個粉絲計算傳播影響力的比例,得出的影響力值和上一輪的影響力作對比,如果差值小于閾值,則退出循環,得到最終的影響力值,否則繼續計算。
現給出BPPI算法的計算公式:

其中,BPPI(u)指任一微博用戶u的影響力值,fans(u)指用戶u 的粉絲集,prop_r(u,v)指用戶v 對用戶u 的傳播影響力比例,q為阻尼系數。
BPPI算法的主要計算過程如下:

本文以新浪微博作為數據源,爬取了2021 年10月-12月某一特定領域的部分用戶的信息。
因為爬取到的數據過于冗雜,為方便后續計算,現在排除掉粉絲數小于100 和發博數小于50 的用戶信息。處理過的數據信息如表1。

表1 微博數據信息
本文將處理過的數據分別用BPPI算法、BWPR 算法和PageRank算法進行計算,得到影響力前十名的用戶,并和該領域10月的新浪微博V 影響力榜以及粉絲量排名作對比,結果如表2。表2的用戶編號和id對應情況如表3所示。

表2 2021年10月各模型下的影響力前十名用戶編號

表3 表2的各用戶編號和id情況
根據表2 可以看出,粉絲數量、PageRank 算法、BWPR算法都與V影響力榜的排名差距較大。為了得到更直觀、嚴謹的判斷,本文采用斯皮爾曼等級相關[15]來對上述模型進行相關性分析。以月為統計周期,選取30 名用戶在2021 年10 月、11 月、12 月三個月的數據,計算了V 影響力榜分別和粉絲數量、BPPI 算法、BWPR 算法、PageRank 算法四種排名下的斯皮爾曼等級相關系數。得到的結果如圖1所示。

圖1 V影響力榜和其他模型排名的相關性
根據圖1,由粉絲數量衡量一個微博用戶的影響力是不可靠的,因為很多大V博主會“購買粉絲”,但是這樣只是增加了粉絲數量,微博的點贊、評論、轉發數量并不會增加,這就導致這一衡量標準會出現較大的誤差。PageRank 算法由于初始PR 值和傳遞PR 值分配不合理的問題,導致與V 影響力榜的偏差較大。BWPR 算法只重點關注了用戶的互動行為,沒有考慮用戶的其他基本屬性。而BPPI 算法綜合考慮了上述因素,與V 影響力榜的斯皮爾曼等級相關系數是最接近1的,所以BPPI算法較為準確。
本文提出了基于PageRank 算法的微博用戶影響力評估算法BPPI。BPPI 算法通過綜合用戶的認證情況、活躍粉絲數、活躍度和獲得的關注度來計算用戶的自身影響力,解決了PageRank算法中每個網頁的初始PR 值相同的問題;通過其他用戶與該用戶點贊、評論和轉發三種互動的行為來衡量用戶的傳播影響力,結合這兩種影響力得出了最終的用戶影響力。本文在真實的數據集上對V 影響力榜、粉絲數量、BWPR算法、PageRank 算法和BPPI 算法五種模型進行研究,結果表明BPPI 算法是最接近新浪微博給出的V 影響力榜的,這說明BPPI算法能夠較為準確地評估用戶的影響力。