劉鈺峰 郅歡歡 周喻鑫(湖南大學(xué)信息科學(xué)與工程學(xué)院 湖南 長沙 410082)
近年來,大規(guī)模社會網(wǎng)絡(luò)(如facebook、新浪微博、人人網(wǎng)等)迅速發(fā)展,這為“口碑”與“病毒營銷”提供了機(jī)遇,隨之也產(chǎn)生了一個關(guān)鍵的問題,即如何從大規(guī)模的社會網(wǎng)絡(luò)中挖掘一些節(jié)點(diǎn),并使這些節(jié)點(diǎn)在網(wǎng)絡(luò)中傳播影響最大化[1-4]。
在社會網(wǎng)絡(luò)中,判斷初始節(jié)點(diǎn)的影響力需要借助相應(yīng)的傳播模型。獨(dú)立級聯(lián)傳播模型IC(Independent Cascade Model)和線性閾值傳播模型LT(Linear Threshold Model)是最基本的傳播模型,除此之外,在社會網(wǎng)絡(luò)傳播過程中通用的信息傳播模型還有SI、SIR、SIS[5-7]等。Gopalan等[8]提出SI信息傳播模型在社交網(wǎng)絡(luò)中運(yùn)用廣泛,且效果比較好。Zhang等[9]經(jīng)過對社會網(wǎng)絡(luò)結(jié)構(gòu)分析,根據(jù)節(jié)點(diǎn)的度將節(jié)點(diǎn)進(jìn)行分類,提出了改進(jìn)的SI信息傳播模型。Xu等[10]接著提出了SIS的信息傳播模型。Hacid等[11]基于SIR信息傳播模型和SIS信息傳播模型進(jìn)行影響力的傳播預(yù)測。本文針對SI信息傳播模型未考慮節(jié)點(diǎn)間親密關(guān)系對信息傳播的影響,提出了一種ESI信息傳播模型。
社會網(wǎng)絡(luò)節(jié)點(diǎn)影響力最大化問題的研究由來已久,Richardson等[12]最先將社會網(wǎng)絡(luò)節(jié)點(diǎn)影響力最大化作為一個算法問題提出,選取特定初始節(jié)點(diǎn)使影響力最大化。之后,相關(guān)研究者[13-23]先后提出了不同的算法來解決社會網(wǎng)絡(luò)節(jié)點(diǎn)影響最大化問題。Kempe等提出了貪心爬山算法[16],影響結(jié)果達(dá)到最優(yōu)解的63%。但該算法運(yùn)算量大且時間復(fù)雜度較高,不適用于大型網(wǎng)絡(luò)。Goyal[17]等對貪心算法改進(jìn)后提出了一種影響最大化算法Celf++。Chen等[18]提出了一種啟發(fā)式算法DegreeDiscount,當(dāng)一個節(jié)點(diǎn)被選為初始節(jié)點(diǎn)后,那么計算這個節(jié)點(diǎn)的鄰居節(jié)點(diǎn)的度時就打一定的折扣。Kitsak[19]等提出了一種基于覆蓋的最大核算法和最大度算法。Zhou等[20]基于節(jié)點(diǎn)的位置特征提出了一種效率較高的影響最大化算法。Estevez等[21]提出了SCG(Slow Crack Growth)算法,選取度大的初始節(jié)點(diǎn),考慮到度大的初始節(jié)點(diǎn)會存在重復(fù)鄰居節(jié)點(diǎn),所以選取的初始節(jié)點(diǎn)需要盡可能的分散。曹玖新等[22]提出了基于k核的影響最大化算法CCA(Core Cover-ing Algorithm),用一個距離因子d控制初始節(jié)點(diǎn)的距離。Zhou[23]基于SI信息傳播模型,利用社團(tuán)劃分來選擇影響最大化的節(jié)點(diǎn)(本文稱之為MSI算法)。對于影響最大化問題,許多研究者提出了時間復(fù)雜度相對較低的啟發(fā)式算法,但其節(jié)點(diǎn)影響力效果卻不如貪心算法。針對該問題,本文提出了一種影響效率高且時間復(fù)雜度較低的啟發(fā)式算法CRA。
SI信息傳播模型是最重要的社會網(wǎng)絡(luò)信息傳播模型之一,該模型認(rèn)為每個節(jié)點(diǎn)只有兩種狀態(tài):影響狀態(tài)是S(i)與未影響狀態(tài)I(i),且節(jié)點(diǎn)只能從未影響狀態(tài)向影響狀態(tài)單向轉(zhuǎn)變。SI傳播模型基本思想如下:首先得到節(jié)點(diǎn)t-1時的影響狀態(tài),根據(jù)鄰居節(jié)點(diǎn)的影響狀態(tài)與已影響的鄰居節(jié)點(diǎn)的影響概率α,得到所有鄰居節(jié)點(diǎn)對該節(jié)點(diǎn)的影響概率,最后得到t時該節(jié)點(diǎn)的影響狀態(tài)。
在SI信息傳播模型中,節(jié)點(diǎn)與已影響鄰居節(jié)點(diǎn)間的影響程度用一個常數(shù)α來進(jìn)行計算,但在真實(shí)社會網(wǎng)絡(luò)節(jié)點(diǎn)影響傳播過程中,節(jié)點(diǎn)間的關(guān)系不同,被影響的程度也不同。通常兩個節(jié)點(diǎn)之間越親密,就會更加關(guān)注對方的消息,節(jié)點(diǎn)間的影響概率就會越大。比如兩個相鄰節(jié)點(diǎn)表示的用戶關(guān)系比較親密,那么其中一個用戶發(fā)的消息就可能很快影響另一個用戶,而對于相鄰的是個幾乎沒有聯(lián)系的用戶,那么就不一定會被影響,所以在信息傳播的過程中,要考慮節(jié)點(diǎn)間的這種影響因素。基于此,本文提出了ESI信息傳播模型。
1.2.1 節(jié)點(diǎn)影響過程
本文引入節(jié)點(diǎn)間親密度的概念表示節(jié)點(diǎn)間互動的親密程度,用Ai,j表示節(jié)點(diǎn)i和節(jié)點(diǎn)j的親密度,則節(jié)點(diǎn)間親密度計算如下:
(1)
式中:Si表示該節(jié)點(diǎn)i的消息集合,Sj表示節(jié)點(diǎn)i的鄰居節(jié)點(diǎn)j的消息集合,Zi表示節(jié)點(diǎn)i的鄰居節(jié)點(diǎn)集合,用ei,j表示鄰居節(jié)點(diǎn)j對節(jié)點(diǎn)i的影響概率,則其計算如下:
ei,j=cα+(1-c)Ai,ji∈Vj∈Zi
(2)
式中:假設(shè)α是節(jié)點(diǎn)起初可能被已影響節(jié)點(diǎn)影響的概率,屬于[0,1]。c表示一個調(diào)和因子,屬于[0,1]。
以下考慮節(jié)點(diǎn)被影響的過程,本文使用Pi,t表示節(jié)點(diǎn)t時刻被影響的概率。Pi,t主要與三個因素有關(guān):1) 該節(jié)點(diǎn)的鄰居節(jié)點(diǎn)t-1時刻到t時刻對其影響的概率;2) 該節(jié)點(diǎn)t-1時刻的影響概率;3) 該節(jié)點(diǎn)的鄰居節(jié)點(diǎn)的影響狀態(tài)。
本文使用χi,t來表示節(jié)點(diǎn)i在t-1時刻到t時刻未被已影響的鄰居節(jié)點(diǎn)j影響的概率:
χi,t=((1-ei,j)pj,t-1)i∈Vj∈Zi
(3)
鄰居節(jié)點(diǎn)j在t-1時刻未影響的概率為(1-pj,t-1)。
δi,t用來表示節(jié)點(diǎn)i在t-1時刻到t時刻未被鄰居節(jié)點(diǎn)j影響的概率為:
δi,t=χi,t+(1-pj,t-1)=((1-ei,j)pj,t-1)
i∈Vj∈Zi
(4)
節(jié)點(diǎn)i存在的鄰居節(jié)點(diǎn)j有多個,所以用βi,t來表示所有鄰居節(jié)點(diǎn)j∈Zi從t-1時刻到t時刻未能影響節(jié)點(diǎn)i的概率為:
i∈V
(5)
相反,用φi,t來表示節(jié)點(diǎn)i在t-1時刻到t時刻被它的鄰居節(jié)點(diǎn)影響的概率為:
i∈V
(6)
節(jié)點(diǎn)i在t-1時刻未被影響的概率為(1-pi,t-1),節(jié)點(diǎn)i從t-1時刻到t時刻未被影響的概率為(1-φi,t),所以節(jié)點(diǎn)t時刻被影響的概率為:
pi,t=1-(1-pi,t-1)(1-φi,t)i∈V
(7)
由式(6)代入式(7)可得:
pi,t= 1-(1-pi,t-1)(1-(1-
(8)
…i∈V
(9)
式(9)后面的值非常小,可忽略不計,得到:
(10)
由式(8)和式(10)得到:
(11)
(12)
(13)
式(13)表示了一個節(jié)點(diǎn)從t-1到t影響概率變化的過程,也反映了節(jié)點(diǎn)的影響狀態(tài)的變化。
1.2.2 模型框架
用向量Pt=[p1,t,p2,t,…,pn,t]表示所有節(jié)點(diǎn)i∈V在t時刻的影響概率,pi,t=1表示節(jié)點(diǎn)i在t時刻已被影響,pi,t=0表示節(jié)點(diǎn)i在t時刻未被影響。用矩陣E表示節(jié)點(diǎn)與鄰居節(jié)點(diǎn)影響的概率矩陣,表示如下:
(14)
由傳播過程得:
(15)
在t足夠大時,節(jié)點(diǎn)的概率可能大于1,所以運(yùn)用控制概率函數(shù)如下:
G([x1,x2,…,xn])= [min{x1,1},min{x2,1},…,
min{xn,1}]
(16)
將式(14)代入式(15)得到:
(17)
式(17)主要表示了ESI信息傳播模型中所有節(jié)點(diǎn)隨時間被影響的變化過程,在t=0時,初始節(jié)點(diǎn)的影響概率為1,通過任意時間t,可得到整個網(wǎng)絡(luò)節(jié)點(diǎn)的影響狀態(tài)。
社會網(wǎng)絡(luò)影響最大化問題除了借助相應(yīng)傳播模型外,最重要的是初始節(jié)點(diǎn)的挖掘。
不同于曹玖新等[22]提出的k核,本文提出k階核心集的概念。對網(wǎng)絡(luò)中的每一個節(jié)點(diǎn),其k階核心集的定義是與之k級關(guān)聯(lián)的節(jié)點(diǎn)集合,而k核是度值不少于k的節(jié)點(diǎn)推出的最大連通子圖。以下是具體定義:
定義1k階。在圖G=(V,S)社交網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,節(jié)點(diǎn)i(i∈V)會存在直接相連的節(jié)點(diǎn),本文將其直接相連的節(jié)點(diǎn)稱為第一階節(jié)點(diǎn),將它的間接節(jié)點(diǎn)稱為第二階節(jié)點(diǎn),以此類推可以得到k階的節(jié)點(diǎn)。
如圖1所示一個網(wǎng)絡(luò)節(jié)點(diǎn)無向圖,節(jié)點(diǎn)1的一階節(jié)點(diǎn)是4、8、21,二階節(jié)點(diǎn)是2、5、7、12、13、14、16,三階節(jié)點(diǎn)是9、11、15、18。當(dāng)k=2時,可以得到S2(1)={4,8,21,2,5,7,12,13,14,16}。
圖1 網(wǎng)絡(luò)節(jié)點(diǎn)關(guān)系示意圖
定義3重合率定義為節(jié)點(diǎn)i與鄰居節(jié)點(diǎn)j的k階共同節(jié)點(diǎn)集合與兩節(jié)點(diǎn)k階核心集占比,使用P(i,j)表示如下:
(18)
重合率的范圍控制初始節(jié)點(diǎn)的影響狀況,P太高,易局部影響最大化;P太低,初始節(jié)點(diǎn)k階核心集邊緣節(jié)點(diǎn)的連通性不好,不易被影響。所以本文提出了合適的重合率計算方法如下:
P(i,j)∈(α,β)α,β∈(0,1)
(19)
(20)
(21)
本文討論的CRA算法主要根據(jù)節(jié)點(diǎn)k階核心集初步選取,再通過重合率確定。當(dāng)k為1,通過重合率范圍得到的新的初始節(jié)點(diǎn)一般處于上一個初始節(jié)點(diǎn)一階節(jié)點(diǎn)附近,這樣得到的初始節(jié)點(diǎn)集沒有足夠的擴(kuò)散,進(jìn)而可能造成局部影響最大化,所以一般k從2開始選取。
CRA算法的基本思想簡述如下:1) 根據(jù)k階核心集,選擇核心集數(shù)量大且一階核心集不小于平均每階核心集的節(jié)點(diǎn);2) 將選擇滿足條件的節(jié)點(diǎn)進(jìn)行標(biāo)記,并將其一階核心集進(jìn)行標(biāo)記,表示不能再被選擇;3) 重合率范圍判斷,將新選節(jié)點(diǎn)與所有已選初始節(jié)點(diǎn)進(jìn)行重合率計算。重合率的控制給各初始節(jié)點(diǎn)的k階核心集邊緣節(jié)點(diǎn)提供了多次被影響的機(jī)會。
算法1基于核重構(gòu)的社會網(wǎng)絡(luò)影響最大化算法
輸入:社會網(wǎng)絡(luò)節(jié)點(diǎn)G=(V,S),節(jié)點(diǎn)個數(shù)N,初始節(jié)點(diǎn)個數(shù)m
輸出:初始節(jié)點(diǎn)集合M
1. InitializeM=?
3.x1∈MAnd mark(x1,C(x1))
5. Ifx2∈(Cv(x1∪C(x1)))
6. CalculateP(x1,x2),Calculateα,Calculateβ
7. IfP(x1,x2)∈(α,β)
8.x2∈MAnd mark(x2,C(x2))
9. Else
10. markx2And Return step 4
11. End If
12. End If
該算法中的get(MaxSk(xi))表示選擇出k階核心集數(shù)量最大的節(jié)點(diǎn),mark(x1,C(x1))表示選擇滿足條件的節(jié)點(diǎn)進(jìn)行標(biāo)記,并將其一階核心集進(jìn)行標(biāo)記。Cv(x1∪C(x1))表示節(jié)點(diǎn)V中未標(biāo)記節(jié)點(diǎn)。
CRA算法節(jié)點(diǎn)核心集比較過程是對每一個節(jié)點(diǎn)的k階核心集進(jìn)行對比,故時間復(fù)雜度為O(n);節(jié)點(diǎn)標(biāo)記的過程是只對選擇的初始節(jié)點(diǎn)的一階的核心集進(jìn)行標(biāo)記,故時間復(fù)雜度小于O(n);重合率計算與范圍比較過程是只對選擇的初始節(jié)點(diǎn)進(jìn)行比較,所以CRA算法的時間復(fù)雜度是O(n)。
本文通過新浪微博開放的API接口[24],利用網(wǎng)絡(luò)數(shù)據(jù)挖掘器挖掘出部分用戶和對應(yīng)的粉絲,以及用戶轉(zhuǎn)發(fā)的微博。通過爬蟲程序預(yù)處理總共得到11 080個節(jié)點(diǎn),1 288 045條邊,以及節(jié)點(diǎn)在2014年8月1日到12月31日對應(yīng)轉(zhuǎn)發(fā)的微博消息806 854條。
為了驗(yàn)證CRA算法,與其他算法進(jìn)行實(shí)驗(yàn)對比。
對比實(shí)驗(yàn)算法如表1所示。
表1 對比算法
本文的實(shí)驗(yàn)結(jié)果評價指標(biāo)可概括為以下兩點(diǎn):(1) 影響范圍。通過相同的時間,節(jié)點(diǎn)最終被影響的數(shù)量。(2) 算法的運(yùn)行時間。如何用較短的時間找到初始節(jié)點(diǎn)。在傳播影響節(jié)點(diǎn)圖中,x軸表示信息傳播模型中的時間步t,y軸表示節(jié)點(diǎn)的影響數(shù)量。
本文將初始節(jié)點(diǎn)m分別為5和10進(jìn)行實(shí)驗(yàn)。在SI信息傳播模型和ESI信息傳播模型上,α分別為0.01、0.02和0.03。實(shí)驗(yàn)結(jié)果如圖2、圖3所示。
(a) m=5 α=0.01
(b) m=5 α=0.02
(c) m=5 α=0.03
(d) m=10 α=0.01
(e) m=10 α=0.02
(f) m=10 α=0.03圖2 SI信息傳播模型上各算法的影響效果
(a) m=5 α=0.01
(b) m=5 α=0.02
(c) m=5 α=0.03
(d) m=10 α=0.01
(e) m=10 α=0.02
(f) m=10 α=0.03圖3 ESI信息傳播模型上各算法的影響效果
從圖2和圖3的對比可以看出,算法在ESI信息傳播模型上節(jié)點(diǎn)影響效果要優(yōu)于SI信息傳播模型,其中CRA、CCA、Degree算法比較明顯,這表明節(jié)點(diǎn)間的親密關(guān)系對節(jié)點(diǎn)的傳播也起很重要的作用。而且本文提出的CRA算法比其他四種算法的最終的影響效果明顯更好。在影響數(shù)量上,相同的初始節(jié)點(diǎn)m和影響概率α情況下,CRA的最終影響節(jié)點(diǎn)數(shù)量都是最多的。在影響速度上,CRA算法影響節(jié)點(diǎn)速度也是最快的。如圖2(b-f)和圖3(b-f)所示,CRA(3)比CCA(2)算法的性能更好,這充分證明考慮節(jié)點(diǎn)的k級節(jié)點(diǎn)關(guān)聯(lián)特性比節(jié)點(diǎn)的層次性更重要。如圖2(e-f)和圖3(e-f)所示,DC算法的影響效果優(yōu)于MSI算法,同時Degree算法影響效果變的趨于平緩。這表明節(jié)點(diǎn)的影響最大化過程一定要考慮初始節(jié)點(diǎn)的距離因素。在本文實(shí)驗(yàn)中,CRA(2)、CRA(3)比CRA(4)算法的影響效果更優(yōu)。這主要是因?yàn)镃RA(4)算法考慮的是四階鄰居節(jié)點(diǎn)特征,在節(jié)點(diǎn)的傳播過程中,離初始節(jié)點(diǎn)遠(yuǎn)的節(jié)點(diǎn)不易被影響。一旦存在未影響的節(jié)點(diǎn),那么這些未影響節(jié)點(diǎn)的鄰居節(jié)點(diǎn)更不易影響。雖然重合率保證存在一些重復(fù)的邊緣節(jié)點(diǎn),使它們可以多次被影響,但是并不能保證這些重復(fù)節(jié)點(diǎn)一定被影響。所以并非階數(shù)k越大,CRA算法性能越好。階數(shù)k需要根據(jù)總節(jié)點(diǎn)數(shù)適宜選取。
本文針對社交網(wǎng)絡(luò)節(jié)點(diǎn)影響最大化問題,根據(jù)節(jié)點(diǎn)的k階核心集與重合率,提出了CRA算法。針對SI信息傳播模型未考慮鄰居節(jié)點(diǎn)間的親密度的問題,對其進(jìn)行改進(jìn)得出ESI傳播模型。分別在SI信息傳播模型和ESI信息傳播模型進(jìn)行實(shí)驗(yàn),與其他幾種算法進(jìn)行比較,得到如下結(jié)論:1) 所有算法在ESI信息傳播模型下,節(jié)點(diǎn)影響效果更好。2) 在不同的傳播概率下,CRA算法的影響效果都是最好的,傳播過程中影響節(jié)點(diǎn)的速度也是最快的。在接下來的研究中,一方面是通過機(jī)器學(xué)習(xí)的方法來更加準(zhǔn)確地預(yù)測節(jié)點(diǎn)間的影響概率。另一方面是推算數(shù)據(jù)集節(jié)點(diǎn)總數(shù)與k階核心集特性對k值的影響,并推導(dǎo)使節(jié)點(diǎn)影響最大化的k值。
[1] Chen W, Wang Y, Yang S. Efficient influence maximization in social networks[C]// ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM, 2009:199- 208.
[2] Zhang H, Dinh T N, Thai M T. Maximizing the Spread of Positive Influence in Online Social Networks[C]// IEEE, International Conference on Distributed Computing Systems. IEEE, 2013:317- 326.
[3] Jiang B, Hegde N, Massoulie L, et al. How to Optimally allocate your budget of attention in social networks[C]// INFOCOM,2013 Proceedings IEEE.IEEE,2013:2373- 2381.
[4] Borgs C, Brautbar M, Chayes J, et al. Maximizing social influence in nearly optimal time[C]// Acm-Siam Symposium on Discrete Algorithms.Society for Industrial and Applied Mathematics, 2014:946- 957.
[5] Wei Z, Ye Y, Tan H, et al. Information Diffusion Model Based on Social Network[C]// Proceedings of the 2012 International Conference of Modern Computer Science and Applications. Springer Berlin Heidelberg, 2013:145- 150.
[6] Xu B,Liu L.Information diffusion through online social networks[C]// IEEE International Conference on Emergency Management and Management Sciences.IEEE,2010:53- 56.
[7] Lu Z, Wen Y, Cao G. Information diffusion in mobile social networks: The speed perspective[C]// INFOCOM, 2014 Proceedings IEEE. IEEE, 2014:1932- 1940.
[8] Gopalan A, Banerjee S, Das A K, et al. Random mobility and the spread of infection[C]// INFOCOM, 2011 Proceedings IEEE. IEEE, 2011:999- 1007.
[9] Zhang H, Dinh T N, Thai M T. Maximizing the Spread of Positive Influence in Online Social Networks [C]//IEEE, International Conference on Distributed Computing Systems.IEEE,2013:317- 326.
[10] Xu B,Liu L.Information diffusion through online social networks[C]// IEEE International Conference on Emergency Management and Management Sciences.IEEE,2010:53- 56.
[11] Hacid H,Hacid H.A predictive model for the temporal dynamics of information diffusion in online social networks[C]// International Conference on World Wide Web.ACM,2012:1145- 1152.
[12] Richardson M,Domingos P. Mining knowledge-sharing sites for viral marketing[C]//Eighth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.ACM,2002:61- 70.
[13] Zhang Wei,Ye Yanqing,Tan Hanlin, et al. Information Diffusion Model Based on Social Network[C]// Proceedings of the 2012 International Conference of Modern Computer Science and Applications. Springer Berlin Heidelberg, 2013: 145- 150.
[14] Tang Y, Xiao X, Shi Y. Influence maximization: near-optimal time complexity meets practical efficiency[C]// SIGMOD’14 Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data.2014: 75- 86.
[15] Kimura M, Saito K. Approximate Solutions for the Influence Maximization Problem in a Social Network[C]// Knowledge-Based Intelligent Information and Engineering Systems, International Conference, Kes 2006, Bournemouth, Uk, October 9- 11, 2006, Proceedings. DBLP, 2006:937- 944.
[16] Kempe D, Kleinberg J. Maximizing the spread of influence through a social network[C]// ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.ACM,2003:137- 146.
[17] Goyal A, Lu W, Lakshmanan L V S. CELF++: optimizing the greedy algorithm for influence maximization in social networks[C]// International Conference Companion on World Wide Web. ACM, 2011:47- 48.
[18] Chen W,Lu W,Zhang N.Time-Critical Influence Maximization in Social Networks with Time-Delayed Diffusion Process[J]. Chinese Journal of Engineering Design, 2012, 19(5):340- 344.
[19] Kitsak M, Gallos L K, Havlin S, et al. Identification of influential spreaders in complex networks[J]. Nature Physics, 2011, 6(11):888- 893.
[20] Zhou T, Cao J, Liu B, et al. Location Based Influence Maximization in Social Networks[C]// ACM International on Conference on Information and Knowledge Management. ACM, 2015:1211- 1220.
[21] Estevez P A, Vera P, Saito K. Selecting the Most Influential Nodes in Social Networks[C]// International Joint Conference on Neural Networks. IEEE, 2007:2397- 2402.
[22] 曹玖新, 董丹, 徐順,等. 一種基于k-核的社會網(wǎng)絡(luò)影響最大化算法[J]. 計算機(jī)學(xué)報, 2015, 38(2):238- 248.
[23] Zhao J.Initial spreaders in online social networks[C]// Communication,Control,and Computing.IEEE,2017:180- 186.
[24] http://open.weibo.com/.