李 勇
(解放軍信息工程大學(xué),河南 鄭州 450000)
微博(Microblog)是一種新型的網(wǎng)絡(luò)傳媒,它通過140字符左右的文字、圖片和鏈接等信息形式,實(shí)現(xiàn)信息的分享。當(dāng)前中國(guó)正處于社會(huì)轉(zhuǎn)型時(shí)期,雖然經(jīng)濟(jì)持續(xù)發(fā)展,但社會(huì)矛盾日益凸顯。無論是新疆暴亂、昆明暴恐,還是南海仲裁、釣島爭(zhēng)端等,這些重大突發(fā)輿情無一不受到人民的強(qiáng)烈關(guān)注。通過分析微博網(wǎng)絡(luò)中用戶的影響力,實(shí)時(shí)掌握準(zhǔn)確輿情、制定解決方案、積極引導(dǎo)社會(huì)輿論,維護(hù)社會(huì)和諧穩(wěn)定。
《現(xiàn)代漢語詞典》對(duì)“影響力(Influence)”的定義為:“對(duì)別人的思想或行為起作用的能力”。學(xué)界對(duì)影響力的定義也不盡相同。劉耀庭[1](2008)認(rèn)為用戶的影響力指的是改變他人思想和行為的能力,其可以通過傳播實(shí)現(xiàn)。Benevenutoy[2](2009)認(rèn)為用戶影響力是用戶之間的相互作用力,這種作用力產(chǎn)生的效果越大,其影響力也就越大。
文中將“用戶影響力”定義為對(duì)別人的思想或行為產(chǎn)生作用甚至使之改變的能力,也就是指用戶在微博消息傳播過程中所發(fā)揮的重要作用。主要從微博用戶影響力的兩類因素開展研究,第一類是用戶關(guān)系[3],包括用戶之間的關(guān)注和粉絲關(guān)系,可以認(rèn)為是它的靜態(tài)屬性;第二類是用戶行為[4],包括用戶的發(fā)布、轉(zhuǎn)發(fā)、評(píng)論、點(diǎn)贊、@提及等操作,可以認(rèn)為是它的動(dòng)態(tài)屬性。如果微博用戶發(fā)布的信息有足夠的吸引力,那么他的微博將會(huì)被更多的人評(píng)論和轉(zhuǎn)發(fā),也就會(huì)影響更多的用戶,他的影響力就會(huì)更大,同時(shí)該用戶所發(fā)布的信息就會(huì)傳播得越快越遠(yuǎn)。
PageRank算法是由Google公司的拉里·佩奇和謝爾蓋·布林提出并發(fā)表。Google使用PageRank算法進(jìn)行網(wǎng)頁排名,標(biāo)識(shí)頁面等級(jí),繼而評(píng)價(jià)網(wǎng)站的質(zhì)量高低。PageRank算法通過網(wǎng)頁的鏈入數(shù)量和鏈入質(zhì)量來標(biāo)志頁面,并對(duì)其進(jìn)行了量化。網(wǎng)頁的重要性[5]采用PR值來表示,每個(gè)網(wǎng)頁的PR值不僅僅要考慮被鏈接網(wǎng)頁的數(shù)量,還要考慮鏈接到該網(wǎng)頁的網(wǎng)頁質(zhì)量和重要性的影響,如圖1所示。
PR值為100的網(wǎng)頁A將PR值平均分配給了2個(gè)網(wǎng)頁B和C,每個(gè)網(wǎng)頁獲得50;網(wǎng)頁B獲得網(wǎng)頁A和C的PR值,所以PRB=90;網(wǎng)頁C獲得網(wǎng)頁A的PR和其他網(wǎng)頁的PR,所以PRC=80。
圖1 PageRank算法PR值分配圖
PageRank算法的PR值計(jì)算公式如下所示:
(1)
其中,PR(x)表示x的PR值,Y(x)表示鏈入x的網(wǎng)頁集合,PR(y)表示y的PR值,N(y)表示網(wǎng)頁y的鏈接數(shù)量,d是規(guī)范化因子。經(jīng)過大量的實(shí)驗(yàn),Google認(rèn)為一般取d=0.85[3]。通過以上公式可知:頁面的PageRank值是由所有鏈入它的頁面的重要性決定的,并經(jīng)過算法迭代實(shí)現(xiàn)。
PageRank算法主要依靠歷史節(jié)點(diǎn)(例如舊網(wǎng)頁)來進(jìn)行判斷,并且由于不同節(jié)點(diǎn)(網(wǎng)頁)的類型不同,所以還存在一些缺陷。例如:PageRank算法僅僅依靠網(wǎng)頁反向鏈接的數(shù)量來決定PR值,鏈接數(shù)量決定了頁面的排名,并沒有區(qū)分反向鏈接頁面的質(zhì)量,顯然垃圾網(wǎng)頁和權(quán)威頁面是不同的;同時(shí)PageRank算法將網(wǎng)頁權(quán)值平均分配給它的鏈出網(wǎng)頁,沒有區(qū)分其鏈出網(wǎng)頁的不同,同樣影響了頁面的排名質(zhì)量。因此在將該算法應(yīng)用到微博用戶影響力計(jì)算的同時(shí),需要對(duì)以下兩個(gè)問題[6]進(jìn)行重點(diǎn)解決:
(1)解決用戶粉絲的“陳舊”問題。
如果“舊粉絲”微博更新不及時(shí),內(nèi)容陳舊,這些微博用戶的影響力可參考性不高;“新粉絲”更新微博及時(shí),能夠增加所關(guān)注的用戶影響力。
(2)解決用戶關(guān)注度權(quán)重平均的問題。
由于社交網(wǎng)絡(luò)中節(jié)點(diǎn)之間存在差異性,不同的微博用戶對(duì)于其關(guān)注者的關(guān)注度之間也存在明顯的差異。
在微博用戶網(wǎng)絡(luò)中,每個(gè)用戶都有自己的關(guān)注列表與粉絲列表,其中關(guān)注列表表示該用戶關(guān)注了哪些人,粉絲列表表示有多少粉絲關(guān)注該用戶,并能夠通過微博超級(jí)鏈接進(jìn)行訪問和瀏覽[7-9]。基于上述分析,文中提出了基于PageRank思想的微博用戶影響力排名算法(microblog user influence,MBUInfluence),其理論依據(jù)如下:
(1)每個(gè)微博用戶的關(guān)注數(shù)量類似于Web頁面中的出度,粉絲數(shù)量類似于Web頁面的入度,因此微博具有與Web頁面相似的網(wǎng)絡(luò)結(jié)構(gòu)。
(2)用戶在社交網(wǎng)絡(luò)中的影響力的評(píng)價(jià),主要考慮用戶之間的關(guān)注和粉絲關(guān)系,通過計(jì)算影響力值來對(duì)社交網(wǎng)絡(luò)中的用戶進(jìn)行排名。因?yàn)樯婕暗膮⒖家蛩厣?,所以效率和結(jié)果較好。
文中對(duì)PageRank算法進(jìn)行了改進(jìn),MBUInfluence算法涉及到的因素包括以下兩個(gè)方面:
(1)用戶自身行為權(quán)重:指的是算法中通過分析用戶自身行為(包括用戶自身微博總數(shù)、粉絲總數(shù)、是否被認(rèn)證、所發(fā)微博被評(píng)論數(shù)和被轉(zhuǎn)發(fā)數(shù)等方面)綜合得到的用戶影響力指標(biāo)。
(2)粉絲影響力:指的是粉絲自身對(duì)所關(guān)注的微博用戶影響力產(chǎn)生的貢獻(xiàn),粉絲自身作為微博用戶,其影響力可以由下級(jí)粉絲的影響力來貢獻(xiàn)和衡量。
在MBUInfluence算法中,用戶的影響力由用戶自身行為權(quán)重和粉絲影響力組成,前者主要考慮粉絲數(shù)量、評(píng)論數(shù)、轉(zhuǎn)發(fā)數(shù)和是否認(rèn)證用戶等因素,全面衡量得到微博自身的行為權(quán)重。后者主要考慮用戶粉絲的影響力分配,粉絲的重視程度決定分配多少影響力權(quán)重給該用戶[10-11]?;谏鲜龇治?,定義用戶m的影響力值MBUInf計(jì)算公式如下:
MBUInf(m)=SelfInf(m)+(1-dm)+
(2)
其中,SelfInf(m)表示用戶m自身的行為權(quán)重,公式的剩余部分基于PageRank算法改進(jìn)而來,MBUInf(n)表示用戶m的粉絲用戶n的影響力,n:(n,m)∈E表示n是m的粉絲之一,E表示m的粉絲集合。MBUInf算法模型中的參數(shù)描述如下:
(1)SelfInf(m):表示用戶m自身的行為權(quán)重,其可以由用戶的活躍度、用戶的積極度、用戶的傳播度三個(gè)指標(biāo)來衡量[12],具體如圖2所示。
圖2 微博用戶的行為權(quán)重
圖中,SelfInf(m)表示用戶n的行為權(quán)重,同時(shí)考慮用戶的活躍度、積極度和傳播度等三方面的信息,得到用戶m的行為權(quán)重計(jì)算公式:
SelfInf(m)=aXm+bYm+cZm
(3)
將Xm、Ym、Zm根據(jù)定義得到:
(4)
其中,T表示一個(gè)時(shí)間段,Um表示用戶更新微博的數(shù)量,F(xiàn)m表示用戶轉(zhuǎn)發(fā)微博的數(shù)量,Cm表示用戶評(píng)論微博的數(shù)量,Zm表示用戶點(diǎn)贊微博的數(shù)量,A表示用戶是否是認(rèn)證用戶。通過Um解決了PageRank算法的問題1(微博更新不及時(shí)問題)。a,b,c,d,e,f表示加權(quán)系數(shù),文中做如下設(shè)定:a=0.4,b=0.6,c=0.1,d=0.5,e=0.3,f=0.2,然后通過上述公式可以計(jì)算Wi。
(2)參數(shù)dm:dm表示用戶m的微博消息被粉絲轉(zhuǎn)發(fā)的平均概率,數(shù)學(xué)公式定義如下:
(5)
(3)影響力分配比例A(n,m)。
A(n,m)表示用戶n的MBUInf值分配給其關(guān)注者m的比例,通過分配比例的不同,解決了PageRank算法的問題2(關(guān)注度權(quán)重平均問題),A(n,m)的數(shù)學(xué)公式定義如下:
(6)
通過上面的三個(gè)公式可以看出,關(guān)注度W(n,m)的計(jì)算是一個(gè)關(guān)鍵,關(guān)注度表示用戶n對(duì)m的微博消息的關(guān)注程度,體現(xiàn)了用戶n和m之間的親密關(guān)系。文中的關(guān)注度定義由用戶轉(zhuǎn)發(fā)關(guān)注者的微博、評(píng)論關(guān)注者的微博以及點(diǎn)贊關(guān)注者的微博構(gòu)成。具體如下所示:
(7)
用戶之間的關(guān)注度W(n,m)的影響因素包含用戶n對(duì)m所發(fā)微博的轉(zhuǎn)發(fā)數(shù)、評(píng)論數(shù)和點(diǎn)贊數(shù),用戶自身的行為權(quán)重SelfInf(m)的影響因素包括所有粉絲(包括n)對(duì)m所發(fā)微博的轉(zhuǎn)發(fā)數(shù)、評(píng)論數(shù)和點(diǎn)贊數(shù),因此關(guān)注度W(n,m)的加權(quán)系數(shù)p、q、r認(rèn)為與SelfInf(m)的系數(shù)d、e、f相同,因此系數(shù)p=0.5,q=0.3,r=0.2。
某時(shí)刻用戶m影響力值MBUInf的具體算法如下所示:
算法1:MBUInf微博用戶影響力算法
輸入:用戶m的元數(shù)據(jù)系列信息
輸出:用戶m的影響力值
過程:(1)根據(jù)式(4),計(jì)算出用戶m的自身行為權(quán)重SelfInf(m)。
(2)根據(jù)式(7),計(jì)算出用戶m的所有粉絲(包括n)對(duì)其的關(guān)注度W(n,m)。
(3)根據(jù)式(5)和步驟(2)所得結(jié)果,計(jì)算當(dāng)前時(shí)刻,用戶m所有粉絲轉(zhuǎn)發(fā)其微博信息的概率dm。
(4)初始化用戶的影響力,設(shè)置用戶MBUInf的初始值為1。
(5)根據(jù)式(6)和步驟(2)所得結(jié)果,計(jì)算當(dāng)前時(shí)刻,用戶m的每個(gè)粉絲給其關(guān)注度的分配比例A(n,m)。
(6)根據(jù)式(2),計(jì)算用戶m新的MBUInf值,并作為下次迭代的初始MBUInf值。
(7)重復(fù)步驟(6),直到用戶的MBUInf值收斂就停止計(jì)算,收斂條件設(shè)置為兩次迭代的MBUInf值的差小于極小值ε。
(8)得到用戶m的影響力值MBUInf。
通過對(duì)MBUInfluence算法的設(shè)計(jì),將用戶的影響力與用戶自身行為權(quán)重和用戶粉絲的影響力結(jié)合起來,其中后者的計(jì)算需要進(jìn)行迭代,當(dāng)粉絲的迭代結(jié)果趨于收斂時(shí),將得到穩(wěn)定的微博用戶影響力值。該算法以社交網(wǎng)絡(luò)理論為基礎(chǔ),結(jié)合PageRank算法,既考慮微博用戶網(wǎng)絡(luò)特征,充分考慮了粉絲的影響力,又考慮微博用戶的屬性特征,以及微博轉(zhuǎn)發(fā)率、評(píng)論率、點(diǎn)贊率等特征,能夠更好地反映用戶的綜合影響力。
實(shí)驗(yàn)主要完成用戶影響力算法的評(píng)價(jià)與分析。實(shí)驗(yàn)數(shù)據(jù)來源于新浪微博,首先設(shè)置采集條件進(jìn)行微博搜索,然后采集發(fā)布這些微博的用戶詳細(xì)信息,采集結(jié)果數(shù)據(jù)使用json格式進(jìn)行存儲(chǔ)。該實(shí)驗(yàn)用戶數(shù)據(jù)采集詳細(xì)條件如表1所示。
表1 微博用戶數(shù)據(jù)采集條件
本小節(jié)將對(duì)MBUInfluence算法通過實(shí)驗(yàn)進(jìn)行對(duì)比與分析,對(duì)比的對(duì)象是用戶影響力研究領(lǐng)域中常見的算法和排名方法,它們是:
(1)FansRank算法[15]:該算法主要通過比較微博用戶的粉絲數(shù)量,來衡量用戶在某時(shí)刻的影響力大小。特點(diǎn)直觀,因此大多數(shù)學(xué)者都將它作為重要的算法來進(jìn)行對(duì)比。
(2)PageRank算法:經(jīng)典的PageRank算法將微博用戶看作Web頁面,規(guī)范化因子d取Google的經(jīng)驗(yàn)值0.85,計(jì)算用戶在某個(gè)時(shí)刻的影響力。
(3)ForwardRank算法[16-17]:該算法主要通過用戶微博的總轉(zhuǎn)發(fā)量,來衡量微博用戶在該時(shí)刻的影響力,原因在于轉(zhuǎn)發(fā)數(shù)表示了其他用戶對(duì)于該用戶所發(fā)微博的認(rèn)可。
(4)微博風(fēng)云榜:微博風(fēng)云榜是一家面向社交媒體平臺(tái)來做數(shù)據(jù)統(tǒng)計(jì)、監(jiān)測(cè)和挖掘分析的網(wǎng)站,提供微博和微信賬號(hào)的影響力與價(jià)值排名服務(wù)。
根據(jù)3.1節(jié)所述,從用戶數(shù)據(jù)庫(kù)中隨機(jī)抽取10個(gè)用戶并按照粉絲數(shù)排名,計(jì)算2015年12月15日用戶的影響力值并進(jìn)行對(duì)比。對(duì)比用戶的基本信息如表2所示。
表2 用戶基本信息
下面將MBUInfluence算法從不同的角度與其他排名方法進(jìn)行對(duì)比。
(1)同F(xiàn)ansRank和ForwardRank算法的對(duì)比。
微博的用戶影響力體現(xiàn)了用戶節(jié)點(diǎn)對(duì)其他節(jié)點(diǎn)能夠施加的影響,具體表現(xiàn)形式包括評(píng)論、轉(zhuǎn)發(fā)或關(guān)注。其中評(píng)論動(dòng)作表示粉絲對(duì)用戶發(fā)布的信息認(rèn)同或者否定,同用戶之間進(jìn)行的互動(dòng);轉(zhuǎn)發(fā)動(dòng)作表示粉絲對(duì)用戶發(fā)布的信息認(rèn)可,并且希望與自己的粉絲分享這條消息,客觀上加速了信息的傳播;關(guān)注表示粉絲瀏覽用戶的信息后,希望跟蹤該用戶發(fā)布的全部消息,所以粉絲會(huì)將該用戶加入關(guān)注列表。例如,在微博平臺(tái)上,許多人對(duì)于明星、意見領(lǐng)袖、知名媒體或者興趣相同的人感興趣,他們就會(huì)加這些用戶為關(guān)注者,繼而及時(shí)得到他們的相關(guān)信息。
通過MBUInfluence算法將得到用戶的MBUInf值,該算法的排名結(jié)果與FansRank和ForwardRank算法的排名結(jié)果對(duì)比分析情況如表3所示。
表3 MBUInf排名同F(xiàn)ansRank、ForwardRank排名對(duì)比
通過表3可以看到,MBUInf值的排名結(jié)果與ForwardRank值的排名結(jié)果基本相同,但是與FansRank值的排名結(jié)果具有顯著差異,說明用戶的影響力與微博轉(zhuǎn)發(fā)次數(shù)具有強(qiáng)聯(lián)系,而與用戶粉絲數(shù)具有弱聯(lián)系。在相同的時(shí)間段內(nèi),MBUInf排名僅有第5、6名的結(jié)果與ForwardRank存在差異,ID為5591596171的用戶其微博被轉(zhuǎn)發(fā)的次數(shù)低于用戶5051675817,但他的MBUInf排名比后者靠前,經(jīng)過進(jìn)一步分析得到,用戶5591596171的粉絲數(shù)量比用戶5051675817多了2萬多名。MBUInf算法在分配MBUInf值的過程中,用戶將從自己的粉絲處得到被分配的MBUInf值,如果粉絲數(shù)量存在差異,那么得到的MBUInf值也會(huì)存在差別,所以如果兩個(gè)用戶的粉絲數(shù)如果存在巨大懸殊,那么幾乎可以肯定粉絲數(shù)高的用戶其MBUInf值也必然大。由于用戶5591596171的粉絲數(shù)高于用戶5051675817,那么如果他發(fā)一條微博消息,將會(huì)被更多人看到,他的信息將傳播的更廣,他的影響力也就相對(duì)更大。
(2)同PageRank算法、微博風(fēng)云榜排名方法的對(duì)比。
根據(jù)式(1),用戶的粉絲數(shù)表示入鏈,關(guān)注數(shù)表示出鏈,能夠計(jì)算表2用戶的PageRank數(shù)值,然后進(jìn)行排名,并與MBUInf排名進(jìn)行對(duì)比。從表4可以看出,MBUInf的排名結(jié)果與PageRank排名完全不同,說明MBUInf雖然是基于PageRank思想,但是其排名與PageRank排名并沒有太大的相關(guān)性。
同時(shí)MBUInf的排名結(jié)果與用戶的粉絲數(shù)排名也沒有必然聯(lián)系,說明MBUInf不完全依賴于粉絲數(shù)。MBUInf的排名同微博風(fēng)云榜的排名基本相同(除部分風(fēng)云榜無法提供查詢用戶的排名外),說明該排名方法基本反映了微博用戶的實(shí)際影響力,具體排名信息如表4所示。
表4 MBUInf排名同PageRank排名對(duì)比
(3)不同時(shí)刻的MBUInf值對(duì)比。
MBUInfluence算法增加了時(shí)間因素,為了驗(yàn)證不同時(shí)刻粉絲因素的影響,分別選取一個(gè)月前后用戶的MBUInf值進(jìn)行對(duì)比,設(shè)定t1為2015年12月15日,t2為2015年11月15日。實(shí)驗(yàn)結(jié)果如表5所示:
表5 不同時(shí)刻的MBUInf值對(duì)比關(guān)系
下面分析不同時(shí)刻用戶影響力的變化,主要從新增加粉絲的數(shù)量、質(zhì)量(通過新增粉絲最高的MBUInf值來體現(xiàn))來比較。
首先分析用戶3624248184和用戶2139796227,從t2時(shí)刻到t1時(shí)刻,第一二名的位置發(fā)生了變化,除了上文分析過的新增粉絲數(shù)量比較接近外,用戶3624248184有高影響力的粉絲關(guān)注他,由于該粉絲的影響力比較高,所以分給用戶3624248184的影響力也比較高。因此導(dǎo)致用戶3624248184的排名經(jīng)過1個(gè)月超過了2139796227的排名。
用戶2085811113和用戶5591596171,其名次沒有發(fā)生變化,雖然兩個(gè)用戶粉絲最高M(jìn)BUInf比較接近,但是由于用戶2085811113新增的粉絲較多,所以其排名仍然領(lǐng)先于用戶5591596171。
綜合以上分析,可以得出如下結(jié)論:微博用戶影響力在不同時(shí)刻的變化同新增粉絲的數(shù)量以及新增粉絲的質(zhì)量相關(guān)。上述結(jié)論與實(shí)際情況相符合,在某個(gè)時(shí)間段內(nèi),如果用戶A得到高影響力的用戶關(guān)注,那么用戶A的影響力也將變高,成為“明星寵兒”;如果用戶A得到許多用戶的關(guān)注,即使沒有高影響力的用戶,用戶A的影響力也會(huì)變高,成為“草根領(lǐng)袖”。
通過考慮用戶之間的行為交互對(duì)PageRank算法進(jìn)行改進(jìn),提出一個(gè)新的MBUInfluence算法來對(duì)用戶影響力進(jìn)行分析,并將該算法得到的MBUInf排名與FansRank、ForwardRank、PageRank等排名方法進(jìn)行比較,進(jìn)一步分析它們之間的差異。
實(shí)驗(yàn)結(jié)果表明,提出的算法所獲得的排名相對(duì)準(zhǔn)確和高效。根據(jù)綜合分析可以得到以下結(jié)論:用戶影響力與用戶粉絲的絕對(duì)數(shù)量之間不存在必然聯(lián)系;用戶影響力與一段時(shí)間內(nèi)新增粉絲的數(shù)量以及新增粉絲的質(zhì)量存在聯(lián)系,上述兩種如果突出就將改變用戶的影響力排名;用戶影響力和用戶與粉絲之間的交互行為密切相關(guān),這些交互行為包括轉(zhuǎn)發(fā)、評(píng)論等,不同交互行為對(duì)他人影響力的貢獻(xiàn)也不一樣。