曹春萍,康遠路
(上海理工大學 光電信息與計算機工程學院,上海 200093)
在互聯(lián)網(wǎng)中時時刻刻都有海量的信息交互,尤其是微博的普及,為廣大民眾提供了前所未有的表達機會和表達平臺[1].微博作為社交網(wǎng)絡,具有實時性、開放性、互動性和便捷性等特點,使得微博信息近乎以“裂變”的方式傳播,進而可能演變?yōu)榫W(wǎng)絡輿情,這將給社會的穩(wěn)定帶來不確定性.微博信息的傳播就是微博用戶觀點信息的演化,因此對微博網(wǎng)絡信息傳播的研究,構建合適的觀點傳播模型,有著重要的研究價值和現(xiàn)實意義.
利用觀點動力學對觀點演化進行模擬,能夠較好的反映微博網(wǎng)絡中信息的傳播[2].觀點動力學認為用戶觀點的變化不僅受自身影響,還受自身所處環(huán)境的影響.目前運用于網(wǎng)絡信息傳播的觀點動力學模型主要有兩種[3]:離散型觀點模型(Discrete Opinion Model,DOM)和連續(xù)型觀點模型(Continuous Opinion Model,COM).離散型觀點模型主要有Ising模型[4]、Sznajd模型[5]和Voter模型[6].離散型觀點模型基于“個體觀點離散”這一假設,分別使用-1、0和1來表示反對觀點、中立觀點和支持觀點,但是在微博網(wǎng)絡中用戶的觀點是復雜的,因此離散型模型存在難以精確表達用戶觀點的問題.連續(xù)型觀點模型主要以Deffuant模型[7]和HK(Hegselmann-Krause)模型[8]為代表,Deffuant模型認為:在每個時刻隨機選取兩個個體進行觀點交互,若這兩個個體之間的觀點值之差在置信值之內(nèi),則兩個個體按照指定規(guī)則進行觀點交互;否則不進行交互.這顯然與微博網(wǎng)絡中用戶觀點交互不相符.HK模型中,每個時刻個體觀點與網(wǎng)絡中的鄰居群體觀點進行交互,從而促進整個群體的觀點演化.微博網(wǎng)絡中用戶獲取的觀點信息往往來源于自身已關注的用戶,但又不全來源于已關注的用戶.若假設在微博網(wǎng)絡中已關注的用戶之間關系是鄰居關系,則可以使用HK模型模擬微博網(wǎng)絡信息的傳播.
HK模型是一種研究群體觀點演化的模型,在2002年由Hegselmann以及Krause提出,在信息傳播學領域取得了較大的成就.HK模型是基于微博網(wǎng)絡結構并且根據(jù)傳播規(guī)則而得到信息的傳播過程.微博網(wǎng)絡結構是一個弱關系社交網(wǎng)絡[9],由于弱關系的單向性,因此可以使用有向圖G=(V,E)表示微博網(wǎng)絡結構[10].V為圖G的節(jié)點集合,表示微博網(wǎng)絡中的用戶;E為圖G的連邊集合,表示微博網(wǎng)絡中的用戶之間的關注關系,在HK模型中存在連邊的節(jié)點之間認為是鄰居節(jié)點.假設微博網(wǎng)絡中有N個節(jié)點,每個節(jié)點表示可以傳播觀點信息的用戶.HK模型認為網(wǎng)絡中的節(jié)點vi∈V(i=1,2,…,N)選擇與觀點值之差在置信值d內(nèi)的鄰居節(jié)點vj∈V(j=1,2,…,N)進行觀點交互,并將所有鄰居節(jié)點的觀點值的平均值作為節(jié)點vi的新觀點值[11,12],因此節(jié)點vi在每個時間t觀點值的更新規(guī)則為:
(1)

(2)
HK模型主要算法如下:
算法1.HK模型
輸入:微博數(shù)據(jù)集合
輸出:用戶觀點值的變化
a[][]=genGraph(users)//利用用戶信息生成圖的鄰接矩陣
x0[]=initOpinion(data)//初始化用戶觀點
for t=1…T do
for i=1…N do
wi=calculateWeight(i)//計算其他用戶對i的影響權重
for j=1…N do
delta=isConfidence()//計算觀點值是否在置信值內(nèi)

end for
end for
end for
研究人員先后改進HK模型,并提出了其他觀點演化模型.Fu[13]等人將個體的異質(zhì)性考慮到HK模型中,提出一個不同開放度的HK觀點演化模型.Chen[14]等人以有界置信模型為基礎,從聲譽、固執(zhí)、吸引力和極端性4個方面分析了意見領袖對社會群體追隨者的吸引作用.Zhao[15]等人基于有界置信規(guī)則,提出了一個“領導者-追隨者”意見動力學模型,用以考慮由意見領袖和輿論追隨者組成的社區(qū)的意見形成.何[16]等人將個體間親密度、人際相似性等新概念引入交互集合的計算,從而擴展交互集合.上述模型基于HK模型做出了一定的改進,促進了群體觀點演化的研究.但鮮有學者將HK模型微博用戶屬性進行微博網(wǎng)絡信息傳播的研究.
在HK模型中,節(jié)點更新觀點值時只受鄰居節(jié)點的影響,若將HK模型直接運用至微博網(wǎng)絡中,這顯然是不符合微博網(wǎng)絡信息傳播規(guī)律的,因為微博平臺中推薦系統(tǒng)的存在,使得微博網(wǎng)絡中節(jié)點的觀點值不僅會受到鄰居節(jié)點觀點值的影響,還會受到非鄰居節(jié)點觀點值的影響.基于此,本文將經(jīng)典的HK模型和微博平臺的推薦特性相結合,提出了一種基于用戶推薦的HK傳播模型(user-recommendation-based HK,URHK).該模型利用用戶之間的相似性為用戶推薦非鄰居節(jié)點,使得用戶觀點值更新時不僅受到鄰居用戶的影響,同時也受部分非鄰居節(jié)點的影響,從而讓URHK模型更加符合微博網(wǎng)絡信息傳播的規(guī)律.
本文的結構安排如下,第2節(jié)介紹了HK傳播模型的原理,介紹了其他研究人員基于HK所提出的模型具有的優(yōu)勢和存在的不足,并結合微博的推薦特性提出URHK傳播模型;第3節(jié)詳細介紹了提出的URHK傳播模型;第4節(jié)進行實驗,對研究結果分析;第5節(jié)是對本文工作的總結與展望.
為研究更加符合微博網(wǎng)絡信息傳播的規(guī)律,本文基于微博網(wǎng)絡結構,建立URHK傳播模型,該模型主要過程如下:
1)依據(jù)微博用戶的信息計算各個用戶之間的相似性;
2)依據(jù)計算所得的用戶相似性以及用戶之間的關注關系構建網(wǎng)絡結構;
3)依據(jù)網(wǎng)絡結構以及傳播規(guī)則對用戶的觀點值進行更新.
“物以類聚,人以群分”是指同類用戶之間的吸引力更強,用戶之間相互吸引的重要原則之一就是用戶相似性原則,用戶往往傾向于與自己有相似興趣愛好或社會地位的人交流,并更加信任他們.徐[17]等人根據(jù)微博用戶的3個基本屬性信息(包括用戶個人背景信息、用戶發(fā)布的微博文本信息以及用戶的社交信息)來計算不同用戶之間的用戶相似性.受徐等人的啟發(fā),本文將根據(jù)用戶的個人背景信息和用戶的社交信息來計算微博用戶之間的相似性.假設用戶vi的屬性集合可表示為Attribute(vi)={Background(vi),Relation(vi)},其中:Background(vi)表示用戶vi的個人背景信息集合,共包含3個用戶屬性信息,即所處位置信息、個人標簽信息以及用戶個人簡介信息.易知這些文本信息一般都是短文本,并且都可以將這些信息表示為字符串,因此個人背景信息集合為Background(vi)={Place(vi),Tag(vi),Introduction(vi)}.Relation(vi)表示用戶vi的社交信息集合,共包括兩種屬性信息:用戶的關注信息和粉絲信息.本文分別用兩個向量來表示它們:用戶vi關注向量Followee(vi)和用戶vi粉絲向量Follower(vi).具體表示規(guī)則為:如果用戶vi關注了用戶vj,則用戶vi的關注向量Followee(vi)的對應第j個分量值為1,否則為0;同樣的,如果用戶vj同時也關注了用戶vi,則用戶vi的粉絲向量Follower(vi)的對應第j個分量為1,否則為0.因此用戶vi的社交信息集合由上述兩個向量可以表示為:Relation(vi)={Followee(vi),F(xiàn)ollowee(vi)}.
本文依據(jù)用戶vi和用戶vj之間的個人背景信息以及社交信息來計算彼此之間的相似性sim(vi,vj).具體計算步驟為:先分別計算用戶vi和用戶vj之間個人背景信息相似性,然后計算社交信息相似性,最后再對個人背景信息相似性和社交信息相似性進行加權融合,也即:
sim(vi,vj)=α1sim(Background(vi),Background(vj))+α2sim(Relation(vi),Relation(vj))
(3)
其中α1和α2分別為個人背景信息相似性和社交信息相似性所占的權重,且α1+α2=1.接下來將分別介紹個人背景信息相似性和社交信息相似性的計算方法.
3.1.1 個人背景信息相似性計算
本文在計算用戶之間的個人背景信息相似性時,需使用用戶的3種屬性信息(所處位置信息、個人標簽信息和個人簡介信息).因此用戶之間的個人背景信息相似性由上述3種信息相似性的加權融合決定,即:
sim(Background(vi),Background(vj))=α1sim(Place(vi),sim(Place(vj))+α2sim(Tag(vi),Tag(vj))+α3sim(Introduction(vi),Introduction(vj))
(4)
其中sim(Place(vi),sim(Place(vj))表示用戶vi和vj所處位置信息的相似性,sim(Tag(vi),Tag(vj))表示用戶vi和vj個人標簽信息的相似性,sim(Introduction(vi),Introduction(vj))表示用戶vi和vj個人簡介信息的相似性,α1、α2和α3分別是所處位置信息、個人標簽信息和個人簡介信息的相似性所占權重,且α1+α2+α3=1.式(4)右邊的3種屬性信息相似性計算方式如下:
1)位置信息相似性sim(Place(vi),Place(vj)):由于微博平臺中用戶的所處位置信息只包含省和市的信息,故當vi和vj處于同一個省且同一個市時,sim(Place(vi),Place(vj))=1;當vi和vj處于同一個省但不同一個市時,sim(Place(vi),Place(vj))=2/3;當vi和vj處于不同省且不同市時,sim(Place(vi),Place(vj))=0.
2)對于個人標簽信息和個人簡介信息,由于它們都是短文本,因此可以通過編輯距離方法[18]來計算信息之間的相似性.編輯距離方法常用來表示計算兩個字符串之間所具有的差異性,同時也可以反映出兩個字符串之間的相似性.編輯距離方法得到的結果為[0,1],計算結果為1時表示兩個字符串之間存在較大的差異性,即幾乎沒有相似性,同理,計算結果為0時表示兩個字符串之間相似性高,幾乎沒有差異性.本文用Dis(Tag(vi),Tag(vj))表示個人標簽信息的編輯距離,用Dis(Introduction(vi),Introduction(vj))表示個人簡介信息的編輯距離.則由文獻[18]可知,用戶vi和vj之間的個人標簽信息相似性可以表示為:
sim(Tag(vi),Tag(vj))=1-Dis(Tag(vi),Tag(vj))/max(Len(Tag(vi)),Len(Tag(vj)))
(5)
其中Len(str)表示字符串str的長度.同理,用戶vi和vj之間的個人簡介信息相似性可以表示為:
sim(Introduction(vi),Introduction(vj))=1-Dis(Introduction(vi),Introduction(vj))/max(Len(Introduction(vi)),Len(Introduction(vj)))
(6)
3.1.2 社交信息相似性計算
本文中用戶社交信息主要體現(xiàn)在用戶的個人粉絲信息以及關注信息,因此用戶vi的社交信息集合可以表示為:Relation(vi)={Followee(vi),F(xiàn)ollower(vi)}.社交信息相似性與個人背景信息相似性計算較為類似,首先分別計算用戶之間的關注信息和粉絲信息的相似性,然后再對兩個屬性的相似性進行加權融合,即:
sim(Relation(vi),Relation(vj))=α1*sim(Followee(vi),F(xiàn)ollowee(vj))+α2*sim(Follower(vi),F(xiàn)ollower(vj))
(7)
其中α1、α2分別表示用戶關注信息相似性和粉絲信息相似性在社交相似性計算時所占的權重,且α1+α2=1.本文利用文獻[19]中提出的余弦相似度算法來分別計算關注信息相似性和粉絲信息相似性,因此用戶vi和用戶vj的關注信息相似性和粉絲信息相似性的計算方法分別為:
sim(Followee(vi),F(xiàn)ollowee(vj))=(Followee(vi)·Followee(vj))/(‖F(xiàn)ollowee(vi)‖*‖F(xiàn)ollowee(vj)‖)
(8)
sim(Follower(vi),F(xiàn)ollower(vj))=(Follower(vi)·Follower(vj))/(‖F(xiàn)ollower(vi)‖*‖F(xiàn)ollower(vj)‖)
(9)
經(jīng)由以上步驟之后,微博用戶之間的相似性便可以通過式(3)-式(9)計算得到.
在經(jīng)典HK模型中,網(wǎng)絡結構是利用用戶之間的關注關系構建,但由于微博平臺中推薦系統(tǒng)的存在,顯然這樣構建網(wǎng)絡結構是不合理的.因此本文在構建網(wǎng)絡結構時,不僅依據(jù)用戶之間的關注關系,還依據(jù)用戶之間的相似性.假設vi和v2用戶之間的相似性不小于某一閾值θ時,則可以認為vi和v2也是鄰居關系,不過本文將通過相似性計算得到的鄰居關系稱為“云鄰居”.則意味著每個節(jié)點就會有兩類鄰居,一類是在有向圖G中存在連邊關系的鄰居,另一類是用戶相似性計算得到的“云鄰居”.設節(jié)點vi的鄰居節(jié)點集合為Neighborvi,則:
Neighborvi={vj|(aij>0)or(aij=0,sim(vi,vj)≥θ),i≠j}
(10)
式(10)中aij表示節(jié)點vi是否關注了節(jié)點vj,aij=0表示vi未關注vj,aij=1時表示vi關注了vj;θ表示用戶相似性閾值.
這樣使得節(jié)點在進行觀點值更新時,不僅可以與鄰居節(jié)點進行交流,同時也可以和部分非鄰居節(jié)點進行交流.
在HK模型中節(jié)點vi觀點值受每個鄰居節(jié)點影響的權重wij是相等的.但是在與其他用戶進行交流時,用戶往往傾向于相信“權威值”更高的用戶觀點[20].因此本文認為用戶的粉絲數(shù)量越多,則該用戶的“權威值”就越高,即對其他用戶觀點值的影響越大;粉絲量越少,其“權威值”就越低,即對其他用戶觀點值的影響越小.因而本文重新計算每個鄰居節(jié)點對節(jié)點vi的影響權重wij,計算方式如式(11)所示:
(11)

因此URHK模型節(jié)點觀點值更新規(guī)則為:
(12)
其中Neighborvi表示用戶vi的鄰居用戶集合,包含“云鄰居”和存在關注關系的鄰居.
URHK模型主要算法如下:
算法2.URHK模型
輸入:微博數(shù)據(jù)集合
輸出:用戶觀點值的變化
sim[][]=calculateSimilarity(users)//計算用戶之間相似性
a[][]=genGraph(users,sim)//生成圖的鄰接矩陣
x0[]=initOpinion(data)//初始化用戶觀點
for t=1…T do
for i=1…N do
for j=1…N do
wij=calculateWeight(i,j)//依據(jù)式(11)計算影響權重
delta=isConfidence()//計算觀點值是否在置信值內(nèi)

end for
end for
end for
根據(jù)上述URHK傳播模型,使用Python3運行環(huán)境,基于微博網(wǎng)絡對URHK傳播模型進行了仿真實驗.首先探討模型中參數(shù)對模型準確率的影響.其次驗證權重設置以及用戶相似性對模型的影響.最后將HK模型和通過加入權重以及加入用戶相似性進行比較,驗證URHK模型的有較高的準確率.
本文實驗所使用的數(shù)據(jù)集是微博中關于“昆山反殺案”這一話題的用戶數(shù)據(jù),來源于中國新聞史學會計算傳播學研究委員會與新浪微熱點大數(shù)據(jù)研究院聯(lián)合舉辦的傳播數(shù)據(jù)挖掘競賽.首先對該數(shù)據(jù)集進行預處理,即將數(shù)據(jù)集中博文發(fā)布時間或轉發(fā)時間為空的記錄清除,且由于需要提供用戶的位置信息來計算用戶相似性,因此用戶位置信息為空的數(shù)據(jù)記錄也要清除.經(jīng)過數(shù)據(jù)預處理后還有73852名用戶,共108821條博文記錄.由于該數(shù)據(jù)集中并未提供用戶之間的關注關系以及用戶的粉絲數(shù)量,因此還利用了微博平臺的API來獲取這些用戶之間的關注關系以及每個用戶的粉絲數(shù)量.
4.2.1 實驗過程
實驗第1步是將用戶發(fā)布的博文數(shù)據(jù)根據(jù)文本相似度算法將用戶發(fā)布的博文內(nèi)容轉化為用戶的觀點值x∈[0,1],其中觀點值為0表示發(fā)布的內(nèi)容與當前話題無關,即對該事件完全不關注;同理,觀點值為1表示十分關注該話題.本文采用經(jīng)典的TF-IDF算法來計算觀點值.第2步利用用戶的屬性信息并根據(jù)式(3)-式(9)計算用戶之間的相似性,結合文獻[17]計算用戶相似性的權重設置如表1所示.第3步依據(jù)用戶之間的關注關系以及用戶相似性構建有向圖G.第4步結合用戶的觀點值和URHK模型進行觀點傳播模擬演化.

表1 計算用戶相似性權重設置表
4.2.2 評價標準
本實驗采用觀點值的正確率來對模型的性能進行評估,假設整個傳播過程的所需的總時間為T,總節(jié)點數(shù)為N,則正確率P的計算公式為:
(13)

實驗過程中,總共有兩個實驗參數(shù):置信值d和相似性閾值θ,因此本實驗采取控制變量法,實驗中先確定其中一個參數(shù),再調(diào)試另外一個參數(shù).圖1所示的是在部分置信值和相似性閾值條件下URHK模型用戶觀點值的演化結果.
由圖1可知,當置信值較小時(d=0.1),用戶的觀點值較難達到一致,容易產(chǎn)生分歧,且這種分歧并不會隨著時間的變化而消失,但是隨著用戶相似性閾值的逐漸增大,用戶之間觀點值的分歧會有所降低(例如d=0.1,θ=0.88).置信值為0.2時,在相似性閾值較小情況下,前半部分時間用戶觀點值之間還是存在一定分歧的,但隨著時間的變化這些分歧最終達到一致,同樣,隨著用戶相似性閾值的增大,用戶觀點值達到一致的時間越快.可以發(fā)現(xiàn),在置信值較大情況下(d=0.3),用戶之間的觀點值能夠較快的達成一致,但在相似性閾值較小時,最終形成了兩類觀點值.由以上分析可知在用戶觀點值演化過程中,置信值d和相似性閾值θ的取值都會對演化結果產(chǎn)生較大影響,進而表明本文所提出的相似性閾值是有效的.為了尋找最優(yōu)的置信值d和相似性閾值θ,本文計算了URHK模型在不同參數(shù)下的正確率P.同時,為了減小實驗誤差,本文將實驗過程重復50次,并將50次計算得到的正確率求和取平均,得到置信值d、相似性閾值θ和正確率P的關系圖,如圖2所示.

圖1 不同置信值和相似性閾值條件下URHK模型觀點值演化結果圖
圖2中橫軸表示相似性閾值,縱軸表示置信值,每個單元格內(nèi)的顏色表示正確率,顏色越深代表正確率越高.從圖2中可知,當置信值d為0.2,相似性閾值θ為0.84時,URHK模型觀點演化達到最高的正確率80.4%,即在該參數(shù)下URHK模型性能是最佳的.研究發(fā)現(xiàn)當置信值比較小時(d=0.1或0.15),由于節(jié)點與鄰居節(jié)點的觀點值之差需在置信值區(qū)間內(nèi)才會進行觀點的交流,因此會減少用戶與用戶之間的交流性,從而導致正確率P有所降低.同樣的,當置信值較大(例如d=0.3)時,原本觀點值差距較大的用戶是大概率不進行交流(現(xiàn)實生活中的人們也是如此,當二者之間對某一事件的觀點認識差距較大時,會減少交流,甚至不交流),由于置信值較大,會大大增加原本不交流用戶之間的交流性,從而影響當前用戶的觀點值,導致正確率降低.對于相似性閾值θ,當θ取值較大時(θ>0.87),模型會為用戶推薦較少的“云鄰居”,導致節(jié)點減少與“云鄰居”的交流,進而導致模型的準確率有所降低,同理當θ較小時(θ<0.81),系統(tǒng)推薦較多的“云鄰居”,從而使得相似性比較低的用戶之間也會發(fā)生觀點交流,導致正確率降低.

圖2 置信值d、相似性閾值θ和正確率P的關系圖
本文還將經(jīng)典HK模型、改進權重計算的HK模型和URHK模型進行觀點值演化實驗對比,改進權重計算HK模型是利用式(12)替換經(jīng)典HK的權重計算.同樣重復50次實驗,實驗結果如圖3所示.從圖中可知,經(jīng)典HK模型的正確率為51.6%,改進權重計算的正確率為62.5%,而加入用戶相似性的URHK模型達到80.4%.可以發(fā)現(xiàn)利用用戶相似性而加入的推薦算法,較大程度上的提升了正確率.因此URHK模型能夠較好的符合微博網(wǎng)絡信息傳播規(guī)律.

圖3 正確率圖
本文利用傳播數(shù)據(jù)挖掘競賽所提供的數(shù)據(jù)集,結合經(jīng)典HK模型中存在的不足和微博平臺的推薦特性,提出了更加符合微博網(wǎng)絡信息傳播規(guī)律的URHK模型.利用微博用戶之間的相似性為用戶推薦“云鄰居”,讓用戶不僅可以和自己的鄰居進行觀點交互,同時也能和非鄰居用戶進行觀點交互.并且由于每個鄰居用戶的影響力可能不同,因此在計算鄰居用戶的影響權重時也與經(jīng)典HK模型不同,做到“權威值”越高,影響權重越大.實驗結果表明:基于用戶推薦的URHK模型準確率達到80.4%,能夠較好的符合微博網(wǎng)絡信息傳播規(guī)律,穩(wěn)定性和適用性比經(jīng)典HK模型更強,為微博網(wǎng)絡信息傳播的研究提供了一種解決方法.微博網(wǎng)絡信息傳播的研究仍有許多待解決的問題,本文的局限在于:微博平臺的推薦系統(tǒng)是極為復雜的,而本文僅利用用戶相似性來為用戶推薦“云鄰居”,這是有一定局限性的,下一步準備更加深入的研究微博推薦系統(tǒng),進一步提高模型的準確率.