尹月雙,孫艷紅,劉 勇
(黑龍江大學計算機科學與技術學院,哈爾濱 150080)
社交網絡充實了人們的生活,臉書、新浪微博、推特等社交網站的出現,使人與人之間的交流與溝通變得更為緊密。目前很多在線社交網站都支持評論、轉發等操作,在此過程中,社交影響也隨之產生,主要表現為人與人之間在情感、意見和行為等方面所產生的相互影響。由于社交影響出現在人類現實生活和網絡生活的各個方面,因此其為數據挖掘領域一項重要的研究課題。
HANSEN 提出了影響的三度理論[1],他認為人們的行為能夠影響到那些素未謀面的人,然而影響的過程復雜,仍然需要更深入的探究。例如:當用戶在新浪微博上想要轉發一條他的好友也轉發過的消息時,他更有可能進入消息原始發起者的頁面來轉發該信息,但并不知道消息的原始發起者與好友之間的關系。在此方面,文獻[2]對社交網絡中的影響與關系進行描述,文獻[3]研究社交網絡中影響傳播的最大化問題,文獻[4]則提出一種異質網中測量基于不同主題社交影響的方法。然而上述文獻都集中于研究目標用戶與某個好友之間的相互影響,忽略了多個好友所形成的不同結構對用戶本身的影響。文獻[5]指出結構多樣性的影響,表明鄰居用戶所形成的多樣性結構會對目標用戶的行為產生不同的影響,但是該文獻只進行了結構多樣性影響的理論研究,沒有進行量化。文獻[6]列舉了20 種鄰居結構,通過統計周圍活躍節點和不活躍節點的數量來計算每種結構的影響概率,但由于每種鄰居結構的影響概率被獨立計算,因此其未考慮多個結構的聯合作用,從而導致計算結果不夠準確。
本文研究不同鄰居結構對目標用戶的影響,構建基于鄰居結構的影響傳播模型NS-IC,并通過期望最大化(Expectation Maximization,EM)算法學習鄰居結構的影響概率。EM 算法利用迭代更新參數的方式最大化完全似然函數,因而可以得到更準確的結果。通過NS-IC 模型所得到的結構影響概率,可預測引文網絡中論文是否會被廣泛引用[7],也可預測社交網絡中用戶與用戶之間成為好友的可能性[8]。
社交影響是數據挖掘領域的熱點研究方向,下文將把社交影響分為個體影響和結構影響兩類分別進行介紹。
現有對于社交影響的研究討論了不同形式的社交影響。最初,影響傳播問題幾乎都集中在流行疾病傳播領域,之后發展到社交網絡傳播,如新思想的傳播、新技術的采用等。2003 年,KEMPE 提出了社交網絡中影響傳播的最大化問題[3]。2008 年,ANAGNOSTOPOULOS 研究了社交網絡中社交影響和關系,指出一個用戶的行為可以促使他的朋友進行相同的動作,這都是社交影響的作用[2]。同年,SAITO 等人在獨立傳播模型[3]的啟發下提出了測量兩個用戶之間成對影響的方法[9],基于用戶與用戶之間的社交關系和交互情況進行問題定義,其中,成對影響可能發生在直接相連的兩個用戶之間,也可能發生在沒有直接相連的用戶之間。2009 年,TANG 等人指出基于不同的原因會產生不同的社交影響,比如一個人的工作可能會受到同事的影響,而一個人的生活可能會受到朋友的影響,由此提出一個模型來模擬大規模網絡中基于不同主題的社交影響[10]。此后,ZHANG 等人從個體的自我中心網絡展開研究,并將其形式化地定義為社交影響局域性,其認為影響概率與活躍鄰居的數量成正比,與鄰居所形成的不同結構的數量成反比[11]。2012 年,LIU等人提出一種在異質網中測量基于不同主題的社交影響的方法[4]。2017 年,YU 等人通過對邊上權值以及每個節點激活時間的觀察,描述了影響傳播過程中傳播結構的學習問題[12]。2018 年,YOOSOF 等人在獨立傳播模型的基礎上提出兩種加權的方法來評估信息傳播的概率[13]。同年,WANG 等人探討了如何有效利用社交影響來完善推薦[14]。前期研究大多認為相互關聯的用戶具有相似的喜好,而后期較多研究都表明了社交影響的復雜性并對社交影響進行了深入分析,從而進行更合理的推薦。
2012 年,JOHAN 等人指出社交網中結構的多樣性對信息傳播以及用戶本身會造成影響,表明結構是影響個體決策的重要因素,傳播的概率與和它相連的不同結構的數量緊密相關。此后,這個思想被廣泛應用于不同的場景[5]。2014 年,FANG 等人將該思想應用到游戲領域,研究在游戲網絡中用戶的支付行為是如何相互影響的[15]。2015 年,KLOUMANN等人在應用程序網絡中使用了該思想,認為用戶使用應用程序的概率依賴于本地網絡的屬性結構[16]。2017 年,ZANG 等人量化了信息傳播的結構模式,對微博7 天內產生的所有信息傳播進行整理,使用七維度量的方法反映了信息傳播的規模和方向,并且通過對7 種指標的分析發現了全新的結構模式[17]。此后,又將七維度量的方法升級為十維度量,因為他們發現信息傳播的結構復雜性遠遠超過了之前的推測,所以使用一個十維度量的方法來量化信息傳播的結構特征,反映信息傳播的方向、規模和輪廓等信息[18]。ZHANG 等人認為現有的研究不能區分特定的影響模式,進而提出一種模式挖掘算法列舉所有可能的影響模式。2018 年,HUANG 等人提出了三元關系動態預測問題,指出三個用戶之間由兩條邊過渡到三條邊時社交關系強度會發生改變,并通過時間效應和用戶與用戶之間形成的不同結構信息來研究第三條邊的形成是如何影響現有兩條邊的強度的[19]。同年,ZHAO 等人指出傳統的PageRank 計算都是基于一條邊,忽略了用戶之間形成的不同結構對預測的影響,并將結構信息應用到傳統的PageRank 計算中來衡量社交網絡中用戶的影響力,促使PageRank 更好地工作[20]。
目前,除StructInf-Basic 算法[6]以外,明確計算結構影響概率的研究較少。本文通過使用期望最大化算法,提出一種新的結構影響概率計算方法,并與StructInf-Basic 算法進行對比。
本節介紹預備知識和文中所用符號,在此基礎上給出問題定義。
社交網用G=(V,E)表示,其中,V表示用戶集合,E?V×V表示邊的集合,vi∈V表示某個用戶,eij∈E表示用戶vi與用戶vj之間的關系,本文中所提到的社交網用戶之間的關系指的都是好友關系,社交網中某一用戶vi的鄰居集合為Nvi。社交網可分為有向網和無向網。在有向網中,只有箭頭所指的方向是有影響的,如存在一條vi指向vj的邊,就表示用戶vi的行為會對vj產生影響。而在無向網中,影響則是雙向的,即被一條邊連接的兩個用戶是相互影響的。研究結構影響問題所需要的另一個輸入是用戶的動作日志,用L表示。日志L中的每條記錄格式為l=(u,s,t),代表用戶u在時間t參與了事件s,所有事件的集合記為S。要計算影響概率的結構(即影響結構)是由2、3、4 個節點形成的所有拓撲結構C={C0,C1,…,C19},如表1 所示。其中,白色節點表示目標節點,灰色節點表示在目標節點活躍之前活躍的鄰居節點。

表1 2、3、4 個節點構成的所有影響結構Table 1 All influence structures composed of two,three or four nodes
研究結構影響問題的一項重要工作是獲取目標節點周圍的影響結構,本文根據給定的社交網拓撲結構G=(V,E)和動作日志L獲取行為傳播圖,行為傳播圖的定義由定義1 給出。之所以要獲取行為傳播圖,是因為社交網僅描述了用戶之間的好友關系,動作日志僅描述了某個用戶在某一時刻的動作,想要獲得節點周圍的影響結構,就要知道在特定的時間段內該節點的活躍是受到哪些活躍鄰居的影響,也就是遍歷該節點的鄰居節點,找到在該節點活躍之前參與過相同事件的鄰居節點,使該節點及其活躍鄰居節點組成一個圖,這個圖就是行為傳播圖,然后利用行為傳播圖挖掘該節點周圍的影響結構。
定義1(行為傳播圖)行為傳播圖可以用有向圖Gd=(L,Ed)表示,其中,節點l∈L是一條動作日志l=(u,s,t),它的邊是兩條動作日志之間的關系,表示li=(vi,s,ti)動作的發生會對lj=(vj,s,tj)產生的潛在影響。兩條動作日志之間有邊相連需要滿足以下條件:1)節點vi與節點vj在社交網中是好友關系;2)兩條動作的發生時間差小于給定的時間間隔τ,即ti-ti<τ。在行為傳播圖中,節點l的鄰居集合記為。
為計算某一結構的影響概率,需要找到該結構周圍的活躍節點和不活躍節點來構建行為傳播圖。活躍節點指每一條剛發生的動作l=(u,s,t),不活躍節點指用戶u在[t,t+τ]這個時間間隔內未能激活的鄰居節點。根據行為傳播圖列舉節點周圍的所有影響結構,然后計算影響概率,下文將給出結構影響的定義。
定義2(結構影響)目標用戶vi在時間ti參與了事件s,周圍與其相距γ跳(因為所列舉20 種結構中目標節點與最遠鄰居節點的距離是3,所以本文選取γ=3)之內的鄰居節點在[ti-τ,ti]這個時間段內也參與了事件s,記為活躍的鄰居節點,則結構影響定義為:目標節點與γ跳之內的所有活躍的鄰居節點所組成的不同結構對目標節點的影響。
定義3(影響結構挖掘)挖掘目標節點周圍的若干個活躍鄰居所組成的不同結構,計算它們對目標節點的影響概率。該問題的輸入是社交網G=(V,E)和動作日志L,輸出是不同鄰居結構的影響概率。
本節介紹一個新的影響傳播模型,并在該模型上使用期望最大化算法學習鄰居結構的影響概率。
為計算鄰居結構的影響概率,本文構建基于鄰居結構的影響傳播模型NS-IC。將鄰居結構的影響概率作為NS-IC 模型的參數,通過求解模型參數來獲得鄰居結構的影響概率。
NS-IC 模型在IC 模型的基礎上加入了結構影響的因素。IC 模型的工作原理如下:已知初始時刻活躍的節點集合,在t時刻每個活躍節點u有且僅有一次機會去激活其鄰居節點v,激活的概率為Pu,v,如果節點v有多個鄰居都是活躍的,那么這些活躍節點將以任意次序去激活節點v,如果節點v被激活,那么在(t+1)時刻,節點v將嘗試激活其不活躍鄰居節點,以此類推,直到下一時刻沒有節點被激活,傳播過程結束。假設目標節點周圍的鄰居結構對目標節點的影響都是獨立的,NS-IC 模型的工作原理如下:根據社交網用戶的動作日志可知t=0 時刻活躍的節點信息,當t≥1 時,如果目標節點v周圍的任意鄰居結構c在(t-1)時刻變得活躍,那么它就有一次機會去激活其鄰居節點v,激活的概率為Pc。因此,在節點v多個鄰居結構同時活躍的條件下,節點v被激活的概率如式(1)所示:

其中,Cs(v)表示事件s中可能影響節點v的拓撲結構集合(v)表示事件s中一定不影響節點v的拓撲結構集合。2 個集合中的元素都是不重復的,但是在節點v的周圍可能存在多個相同的拓撲結構都對v有影響,因此,式(1)中的nv,c表示可能影響節點v的拓撲結構c的實例數。此過程持續到沒有被激活的節點為止。
IC 和NS-IC 最主要的區別在于:IC 模型只考慮了活躍節點對相連目標節點的影響概率,而未考慮多個活躍鄰居形成的不同結構對目標節點的影響,而NS-IC模型同時考慮了鄰居結構對目標用戶的影響。
以上內容可由圖1 進行解釋。給定社交網拓撲結構G=(V,E)和用戶的動作日志{(v1,a,t0),(v4,a,t0),(v8,a,t0),(v3,a,t0),(v2,a,t1),(v5,a,t1),(v9,a,t1)},將v0看作要研究的目標節點,在初始時刻活躍的目標節點是v1、v3、v4和v8,根據IC 模型工作原理可知,活躍節點有且僅有一次機會去激活他們的鄰居節點。再由動作日志可以看出v2、v5、v9相繼活躍,如圖1(a)所示,如果在下一時刻v0活躍,那么IC 模型只會認為是v2、v3、v5或v9的功勞,但是在現實生活中,一個人的行為不僅會受到朋友的影響,同時也會受到朋友的朋友的影響,即v1、v4和v8也可能對v0產生影響,并且他們所形成的不同結構會對v0產生不同的影響。如圖1(b)所示,節點v0周圍存在C1和C5兩種結構,即Cs(v0)={C1,C5},這兩個結構作用于v0,使得v0被激活的概率為Pv0(s)=1-(1-PC1)2(1-PC5)。同時可以發現,在結構C5中也包含C1,在這種情況下計算C5的影響時,并不會重復計算其中包含的子圖的影響。

圖1 結構影響傳播示例Fig.1 Example of structural influence propagation
本節使用期望最大化學習算法求解結構影響概率,該算法的輸入是社交網絡G=(V,E)和用戶的動作日志L={(u,s,t)}。令S代表事件集合,在學習中假設每個用戶只能參與同一個事件一次,并且用戶的動作日志流L中的用戶u都屬于G中的節點集合V。
在事件s∈S的傳播過程中,以分別表示在事件s中活躍的節點集合和不活躍的節點集合。當節點時,節點v被結構c激活的概率為,其中,Pc表示鄰居結構c的影響概率表示事件s中節點v被激活的概率。參照標準EM 算法的符號表示,以表示參數θ的當前估計,那么在當前參數設置下,事件s中節點v的鄰居結構激活節點v的概率為:

其中,nv,c表示對節點v可能產生影響的結構c的實例數。在時間差τ小于正無窮的前提下,雖然活躍節點v的鄰居結構存在多個實例,但是由于時間差的影響,并不是所有的結構都會對v產生影響,如在圖1(b)中,C1的實例數是3,即nv0,c1=3,但是只有C1中的2 個節點對v0起作用,因此表示一定影響節點v的結構c的實例數表示一定不影響節點v的結構c的實例數。綜合考慮以上情況,完全數據的對數似然函數(Q 函數)定義如式(3)所示:

其中,S表示全部事件集合,θ表示全部參數集合。Q 函數的前一部分表示每一個事件s中所有的活躍節點v的對數似然函數,節點v的活躍可能存在兩種情況:一種是受到某一結構c的影響;另一種是不受結構c的影響。Q函數的后一部分表示每一個事件s中所有不活躍的節點v一定不受結構c影響的對數似然函數。
由Q函數推導結構影響概率的具體過程如下:

算法1學習NS-IC 模型參數的EM 算法

以結構C0的影響概率為例的試驗結果如表2 所示,可以發現ε在[0.001,0.01]區間取值時鄰居結構的影響概率差別很小,運行時間隨著ε的增加而逐漸降低,因此,下文實驗中選擇ε=0.01。

表2 不同ε 對運行時間的影響Table 2 Effect of different ε on running time
在算法1 中,步驟1~步驟3 的復雜度為O(|C|),步驟6~步驟8 的復雜度為O(|V|),因此,步驟5~步驟9 的復雜度為O(|S|×|V|),步驟10~步驟12 的復雜度為O(|C|×|S|×|V|)。因此,學習NS-IC 模型參數所使用的EM 算法總的復雜度為O(N×(|C|×|S|×|V|)),其中,|S|表示所有事件的個數,|V|表示所有節點的個數,|C|表示所有影響結構的數量,N表示收斂次數。由于EM 算法不到10 次就能收斂,因此可將N看作常數。影響結構的數量|C|在本文中設置為20,也是常數。綜上,EM 算法總復雜度為O(|S|×|V|)。
算法2利用GetPattern算法獲取


算法2 初始化一個行為傳播圖Gd以及一個隊列Q,并且初始化兩個空集合以及初值為0 的前兩者分別用于存儲當前事件s中任意結構c可能激活的節點集合以及一定不激活的節點集合,后兩者分別用于存儲對節點v有影響的結構c的實例數以及沒有影響的結構c的實例數。的獲取過程為:當一個新節點到達時,首先找到從隊列Q中彈出的節點(算法2 步驟4~步驟6),遍歷被彈出節點的鄰居節點,判斷哪些鄰居節點不存在于隊列Q中,也就是被彈出的節點在特定的時間段內沒能激活的鄰居節點,即為所研究的不活躍的目標節點v,本文目的就是要找到該目標節點周圍不激活它的影響結構,因此,遍歷該目標節點的鄰居節點,判斷哪個節點存在于隊列Q中,從它們出發分別向目標節點引一條邊構建行為傳播圖(算法2 步驟8~步驟9)。然后列舉不活躍節點周圍的影響結構,列舉過程為:初始化兩個節點集合Vsel和Vnei,將當前被研究的目標節點v放入Vsel中,它的活躍鄰居節點放入Vnei中,每次從Vnei中選擇一個節點放入Vsel中,再把被取出的節點的鄰居節點放入Vnei中,但是Vnei和Vsel中的元素不能重復(算法2步驟10~步驟18),當Vsel中的元素個數大于1 且小于N時,在中加入該節點,通過GetPattern 找出Vsel中元素所組成的結構c,然后通過getpatternID 獲取結構c對應的序號,當前結構c對應的個數加1(算法2 步驟19~步驟26)。的獲取過程為:把每一個新到達的動作日志添加到隊列Q中,然后遍歷其鄰居節點,判斷有哪些鄰居節點在隊列Q中,找到存在于隊列Q中的該節點的鄰居節點,向其加一條邊構建行為傳播圖(算法2步驟27~步驟29),然后再列舉活躍節點周圍的影響結構,步驟與列舉不活躍節點周圍的影響結構的過程一致(算法2 步驟30~步驟45)。
在算法2 中,步驟8~步驟10 和步驟27~步驟29的時間復雜度為O(|L|dmax),其中,L表示動作日志的長度,dmax是社交網G=(V,E)的最大度,步驟12~步驟26 和步驟31~步驟45 的復雜度是綜上,算法2 總復雜度為,其中是行為傳播圖Gd的最大度,N是所有影響結構中節點的最大個數。
在大規模的微博數據集上測試和評估所提出的算法,并與現有算法進行比較。本文使用的源碼和數據可從https://github.com/Vimotus/NS-IC 下載。
實驗所用數據來源于新浪微博(Weibo.com),其是一個社交網站,與推特(Twitter.com)類似,允許用戶與用戶之間進行信息評論或轉發。基于用戶之間的好友關系以及信息分享,從http://aminer.org/structinf 提供的數據中截取實驗所需數據。首先選擇20 個用戶作為種子用戶,記錄每個用戶的關注用戶以及粉絲用戶,分別選取這些用戶在2012 年9 月至2012 年10 月期間轉發和發表的所有微博消息,這個過程產生了1 000 個事件以及397 691 條記錄,包含社交網G=(V,E)和一組動作日志L={(u,s,t)}。在社交網G中,如果存在vi指向vj的邊,則表示用戶vi關注了用戶vj,而L中包含的元組(u,s,t)代表用戶u在時刻t轉發了消息s。將所選數據集用于算法2,得到每一個事件上每一個節點周圍的影響結構,然后計算影響概率。
實驗中的所有算法均使用C++編寫,在VS 環境下編譯。所有實驗均在配置Intel?Core i7-7700K 4.2 GHz CPU、16 GB RAM 的臺式機上運行。
將本文使用的EM 算法與以下算法進行對比。
1)StructInf-Basic 算法[6]:一種從社交流中評估結構影響的精確算法,其將結構影響定義為條件概率:其中,Xk表示對當前活躍節點有影響的結構Ck的實例數,Yk表示對當前不活躍節點有影響的結構Ck的實例數。
2)StructInf-S1、StructInf-S2、StructInf-S3 算法[6]:評估結構影響的3 種采樣算法,分別對應以概率pnk對節點進行采樣、以概率qmk對邊進行采樣、同時對邊和節點進行采樣,其中,nk表示模式Ck中節點的個數,mk表示Ck中邊的個數,Xk表示由StructInf-Basic算法得到的精確結果分別表示由StructInf-S1 和StructInf-S2 得到的近似結果,并且保證所得結果是Xk的無偏估計,通過實驗驗證,p=0.6、q=0.9 時效果最佳。
將所有事件按照8∶2 的比例分成訓練集和測試集,并且保證一個事件的傳播日志或者全在訓練集,或者全在測試集。首先在訓練集上學習模型的參數,然后在測試集上進行測試,計算每個節點被激活的概率。節點激活概率的計算方法如下:首先通過NS-IC 模型可以得出每一個節點周圍不同結構的影響概率,然后根據式(1)得到每一個節點被激活的概率,即為預測值,最后根據預測的概率值計算如下指標來分析預測的性能。
1)均方誤差(Mean Square Error,MSE):計算節點vi的預測值與真實值Pi(活躍為1,不活躍為0)之差Ei的平方,然后累加求和再求平均值。

2)準確率A:所有被正確預測的節點數占節點總數的百分比。其中,TP 表示實際是活躍狀態,預測也是活躍狀態的節點數,FP 表示實際是不活躍狀態而預測是活躍狀態的節點數,TN 表示實際是不活躍狀態,預測也是不活躍狀態的節點數,FN 表示實際是活躍狀態而預測是不活躍狀態的節點數。

3)精度P:在所有被預測為活躍狀態的節點中,真正活躍的節點所占的百分比。

4)召回率R:在所有真正活躍的節點中,被正確預測的活躍節點所占的百分比。

5)F1 分數(F1-score):模型精度和召回率的調和平均數。

通過在不同指標上的對比情況來表明本文算法的有效性。
StructInf-Basic 算法和3 個采樣算法以及NS-IC模型在微博數據集上的均方誤差、精度和準確率如表3 所示。可以看出:StructInf-Basic 算法及其近似變體的誤差較大,因為它們在計算結構影響概率時使用了數學統計的方法,不同結構的概率計算完全獨立,沒有考慮多個結構的聯合作用,使得預測結果較差;NS-IC 模型盡管假定不同結構的影響獨立,但是考慮多個結構的聯合作用構造完全數據的似然函數,并通過EM 算法逐步迭代優化計算出使完全數據似然函數最大化的結構影響概率值,因此其預測效果明顯優于StructInf-Basic 算法及其近似采樣變體。
為獲得準確率和精度,將式(1)得到的節點預測激活概率與閾值δ進行對比,如果預測概率大于閾值δ,則認為節點活躍,否則認為節點不活躍。因為式(1)代表節點的激活概率,所以本文設置閾值δ=0.5。由表3 可以看出:NS-IC 模型在精度和準確率兩個指標上明顯優于其他算法,因為NS-IC模型同時考慮多個結構的聯合影響,使用完全數據上的整體似然函數進行估計,不斷迭代修正參數,直至收斂,使預測效果得到大幅提升;StructInf-Basic算法及其近似變體獨立計算每個結構的影響概率,沒有考慮多個結構的聯合作用,因此預測效果較差。

表3 5 種算法的預測性能對比Table 3 Prediction performance comparison of five algorithms
綜合實驗結果和分析可以得出以下結論:NS-IC模型計算出的結構影響概率更準確,在實際中的預測效果更好。
在同一數據集上選擇不同的時間間隔τ,由于節點周圍存在的影響結構有所不同,因此會產生不同的結果。為證明時間間隔τ對結構影響概率存在影響,在實驗中只考慮結構C0在不同時間間隔上的影響概率變化情況,通過改變τ值來觀察C0影響概率的變化,如圖2 所示。可以看出,C0的影響概率隨時間的增長而快速增加,直到τ=25 以后才趨于平緩,因此,本文在選取數據集時設置τ=25。

圖2 時間間隔τ 對結構影響概率的影響Fig.2 Effect of time interval τ on structural influence probability
為進一步證明所獲得的影響結構在實際中的作用,本節在微博數據集上利用影響結構來預測轉發性能。首先在一些用戶所具有的基本特征(如年齡、身份地位、好友數量等)下計算用戶轉發某一消息的概率;然后把結構影響模式作為特征加入,再次計算轉發概率;最后將兩個概率值進行對比得出結果。具體操作過程如下:已知每個節點的狀態是活躍還是不活躍,隨機采樣相同數量的活躍節點和不活躍節點,訓練一個梯度提升決策樹(GBDT)分類器;然后先把每個節點的基本特征(Basic)加入到分類器中,預測每個節點的轉發概率,再把影響結構作為特征加入到分類器中,但不是將20 種結構影響概率全部加入,而是分別將NS-IC 模型和文獻[6]中的StructInf-Basic 方法所得到的影響概率中概率最大的前五個影響結構加入,計算節點的轉發概率后進行對比;最后計算精度、召回率、F1 分數和準確率,實驗結果如表4 所示。可以看出,將NS-IC 模型選出的影響結構作為特征填加到分類器中,轉發預測效果改善更明顯。這是因為NS-IC 模型和StructInf-Basic方法選出的前五個影響結構并不完全相同,NS-IC模型選出的影響概率模式更適合作為預測轉發的特征。

表4 精度、召回率、F1 分數和準確率對比Table 4 Comparison of precision,recall,F1 score and accuracy
本文構建基于鄰居結構的影響傳播模型NS-IC,通過社交網和用戶的動作日志流挖掘每個節點周圍存在的影響結構,并將不同結構的影響概率作為NS-IC 模型的參數,使用期望最大化算法進行學習。實驗結果表明,基于NS-IC 模型計算的結構影響概率能夠準確預測用戶轉發行為。由于人們對不同的主題會發生不同的興趣,進而形成不同的鄰居結構,因此后續將對基于不同主題的結構影響問題進行研究,進一步優化NS-IC 模型。