李艷君 張海軍 潘偉民
(新疆師范大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院 烏魯木齊 830054)
盡管當(dāng)前情報(bào)學(xué)界并未對謠言進(jìn)行明確的定義與聲明,但大部分研究均認(rèn)為謠言是在網(wǎng)絡(luò)空間、社交圈等信息環(huán)境中,傳遞于用戶之間,并受到公眾關(guān)注的虛假信息[1]。新浪微博作為發(fā)展火熱的網(wǎng)絡(luò)交流工具之一,它的內(nèi)容不受限制,任何人通過成功申請賬號,就可以發(fā)表自己的所見所聞,新鮮事件,這樣謠言就很容易被發(fā)酵,使其成為熱點(diǎn)事件。熱點(diǎn)事件一旦出現(xiàn),就會在微博迅速蔓延,然而網(wǎng)民的年齡、背景差異大,謠言傳播時(shí)部分群眾并不能很好地辨別,再加上從眾心里,謠言擴(kuò)散變得更加容易,它們的出現(xiàn),給人們難免會帶來恐慌,尤其是部分老人,更加偏向相信一些謠言,給人們身心健康帶來不必要的困擾。所以對新浪微博進(jìn)行謠言檢測研究具有非常重要的現(xiàn)實(shí)意義。
目前基于用戶行為特征的謠言檢測主要從機(jī)器學(xué)習(xí)方法和深度學(xué)習(xí)方法兩方面來進(jìn)行謠言檢測。在機(jī)器學(xué)習(xí)方面,通過分析提取用戶行為特征及用戶信息特征,采用貝葉斯[2]、決策樹[3~5]、支持向量機(jī)[6]、隱馬爾可夫模型[7]等來進(jìn)行謠言檢測。而在深度學(xué)習(xí)方面,主要采用的方法有循環(huán)神經(jīng)網(wǎng)絡(luò)RNN,卷積神經(jīng)網(wǎng)絡(luò)CNN,長短時(shí)記憶網(wǎng)絡(luò)LSTM,注意力機(jī)制等方法。如Ma[2]等將一個微博事件使用兩種不同的文本表示法,即詞袋模型和神經(jīng)網(wǎng)絡(luò)語言模型,并提出一種基于神經(jīng)網(wǎng)絡(luò)的模型學(xué)習(xí)文本的特征表示來進(jìn)行謠言檢測。Chen等[9],利用用戶評論中提取的特征,循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)合注意力機(jī)制,提高了謠言檢測準(zhǔn)確率。Ruchansky 等[10]提出一種CSI(capture,core,integrate)模型,采用RNN方法捕捉用戶行為進(jìn)行分類。劉政等[11]提出了基于卷積神經(jīng)網(wǎng)絡(luò)的謠言檢測方法,準(zhǔn)確率較之前研究提升了很多。Li[12]等使用共享的長短期記憶(LSTM)將用戶可信度信息整合到謠言檢測層中,將注意力機(jī)制并在謠言檢測過程中,能得到很好的分類效果。廖祥文等[13]采用GRU 網(wǎng)絡(luò)來進(jìn)行謠言檢測,將微博文本按照時(shí)間段分割,加入了局部用戶信息和文本特征信息從而提高了準(zhǔn)確率。
以上各種基于用戶行為的謠言檢測,雖然都能取得很好的效果,但對日益增長的謠言檢測的需求而言,現(xiàn)有的基于用戶行為特征的謠言檢測方法還存在一些不足,主要表現(xiàn)在兩方面:一方面是在前人基于用戶的行為特征進(jìn)行檢測謠言時(shí),沒有留意句子之間關(guān)系的處理,本文通過ERNIE 方法預(yù)訓(xùn)練處理句子之間的關(guān)系,來增強(qiáng)句子之間的關(guān)系。另一方面是準(zhǔn)確率的提高??紤]到用戶的行為特征,提出UDUC算法來提高謠言檢測的準(zhǔn)確率。
本文主要選取用戶行為特征作為主要參數(shù),結(jié)合用戶信息特征與微博文本特征達(dá)到謠言檢測的目的。從眾多用戶行為特征中選取了準(zhǔn)確率不小于78%的4 個效果相對比較明顯的特征。同時(shí)選取了效果比較好的3 個用戶信息特征。將用戶行為特征和用戶信息特征以及微博文本特征組合在一起,對微博謠言信息進(jìn)行檢測,來提升謠言檢測的效果。選擇的微博中用戶行為特征主要有:主動發(fā)布微博(發(fā)布)、轉(zhuǎn)發(fā)微博帖子(轉(zhuǎn)發(fā))、微博帖子點(diǎn)贊(點(diǎn)贊)、評論微博帖子(評論)等行為。選擇的用戶信息特征有用戶的昵稱(昵稱),用戶的簡介(簡介),用戶在微博的認(rèn)證(認(rèn)證)等其他重要的用戶信息,具體如表1所示。
表1 用戶特征表
為了提升謠言檢測的準(zhǔn)確率,通過分析微博數(shù)據(jù)集中的用戶行為特征和用戶信息特征,以及微博文本內(nèi)容,查閱國內(nèi)外相關(guān)的謠言檢測方法,提出應(yīng)用ERNIE 模型和DPCNN 模型,將兩個模型相互融合,微調(diào)整模型的結(jié)構(gòu),使其提升檢測的效率與準(zhǔn)確率。模型結(jié)構(gòu)圖如圖1所示。
圖1 基于用戶行為特征的微博謠言檢測模型
大體結(jié)構(gòu)分為三層,分別為預(yù)訓(xùn)練數(shù)據(jù)層,特征提取層,分類層,最后輸出結(jié)果。首先將微博文本序列向量化,使用ERNIE 預(yù)訓(xùn)練處理好的數(shù)據(jù)集,作為模型的輸入,之后使用DPCNN 處理用戶信息和文本特征,最后鏈接全連接層,輸出分類的結(jié)果進(jìn)而實(shí)現(xiàn)微博謠言檢測。
2.2.1 預(yù)訓(xùn)練數(shù)據(jù)層
預(yù)訓(xùn)練數(shù)據(jù)層主要應(yīng)用ERNIE 模型。ERNIE模型通過連續(xù)學(xué)習(xí)獲取詞和句子之間的語義關(guān)系,通過語法級別預(yù)訓(xùn)練任務(wù),來更好地處理句子之間的關(guān)系。
構(gòu)建詞法級別預(yù)訓(xùn)練任務(wù)中的知識掩碼任務(wù),用來獲取微博文本中的語義信息。構(gòu)建關(guān)系預(yù)測任務(wù)來預(yù)測微博文本中的關(guān)鍵詞,增強(qiáng)獲取微博文本中關(guān)鍵詞的能力。構(gòu)建語法級別的預(yù)訓(xùn)練任務(wù),來獲取訓(xùn)練數(shù)據(jù)中的語法信息。微博文本段落中不同句子之間的關(guān)系可以通過句子們的重排序任務(wù)使預(yù)訓(xùn)練的模型學(xué)習(xí)到。這個過程就相當(dāng)于一個多分類任務(wù),如式(1)所示,一個n 分類任務(wù),將微博文本隨機(jī)分成i 段,以此來判斷句子之間的關(guān)系。
構(gòu)建三分類任務(wù)來判斷句子對之間的位置關(guān)系(包括相鄰的句子、同一個微博文本中非相鄰的句子、不是同一個微博文本中的句子)這3 種類別的關(guān)系,以便辨別句子之間的相關(guān)性,以此來更好地處理句子之間的關(guān)系。
2.2.2 特征提取層
特征提取層應(yīng)用的是DPCNN 模型。DPCNN有4 個明顯的優(yōu)勢來提取特征。第一個是用多尺寸卷積層進(jìn)行卷積。第二個是將維度固定,對特征進(jìn)行向下采樣。第三個就是采用了等長卷積。第四個是應(yīng)用了殘差結(jié)構(gòu),幫助解決梯度消失和梯度爆炸問題,使訓(xùn)練效果更好。
假設(shè)輸入固定的序列長度為l,步長為s,卷積核大小為n,當(dāng)輸入序列長度不足時(shí),兩端各填補(bǔ)f個零,那么輸出序列p為
選擇等長卷積,在每個等長卷積后使用大小是3和步長是2的池化層。目的是把微博文本的長度壓縮為原來的一半。之前是只能感知到2 個詞(PAD、以前)的長度的信息,經(jīng)過該池化層后就能感知到4 個詞(PAD、以前、有、吃到)長度的信息。以此來更好地處理特征。
2.2.3 分類層
將特征提取層得到的輸出結(jié)果輸入Softmax層,分類輸出結(jié)果S,判定該微博是否為謠言。
其中,Relu 為線性修正單元激活函數(shù),W 為得到的權(quán)重矩陣,h為輸入的信息,b為偏置值。
應(yīng)用經(jīng)典的2016 年Ma[14]所提供的公開數(shù)據(jù)集中的信息,其中包含的用戶行為特征有,發(fā)布微博,轉(zhuǎn)發(fā)微博,點(diǎn)贊微博,認(rèn)證等,還包括用戶的信息如用戶的昵稱,簡介,描述以及文本內(nèi)容,用字典提取出需要的特征。首先去掉停用詞和特殊字符,之后按照7∶2∶1 的比例,將數(shù)據(jù)集分為訓(xùn)練集,測試集和驗(yàn)證集。其中謠言事件為2313 件,非謠言事件為2351件,共計(jì)微博總數(shù)為3805656條。
實(shí)驗(yàn)中處理的微博文本數(shù)據(jù),用ERNIE 模型進(jìn)行處理,句子長度設(shè)置為140。DPCNN 中的過濾器長度采用3,步長設(shè)置為2,dropout 設(shè)置為0.8,卷積核的數(shù)量設(shè)置為250,隱藏層的數(shù)量設(shè)置為768。輸入的長度設(shè)置為256,如果數(shù)量不夠時(shí),采用0 填充。并且訓(xùn)練任務(wù)和測試任務(wù)以及驗(yàn)證任務(wù)的比例設(shè)置為7∶2∶1。最后通過Softmax 層進(jìn)行劃分。本文中的評價(jià)指標(biāo)就采用常用的準(zhǔn)確率(P)見式(4)、召回率(R)見式(5)以及F1 值(F1)見式(6)。
其中,Tr表示正確識別謠言的數(shù)量;Fr表示未能正確識別謠言的數(shù)量;Fn表示沒能識別出來是否是謠言的數(shù)量。
3.3.1 用戶行為特征的參數(shù)選擇
對不同的用戶行為特征進(jìn)行實(shí)驗(yàn)分析,數(shù)據(jù)集中所包含的用戶特征有:轉(zhuǎn)發(fā)數(shù)量、用戶ID、粉絲數(shù)量、轉(zhuǎn)發(fā)微博文本、用戶描述、用戶簡介、所在城市、省份、朋友數(shù)量、用戶所在地、粉絲數(shù)量、驗(yàn)證與否、原始微博文本、圖片、狀態(tài)、創(chuàng)建時(shí)間、昵稱、性別、評論數(shù)量、用戶名等一系列特征。通過實(shí)驗(yàn)最終選取準(zhǔn)確率在78%之上的有效的用戶行為特征有:發(fā)布微博的文本、轉(zhuǎn)發(fā)微博的文本、用戶的昵稱、用戶的簡介、用戶的微博認(rèn)證、用戶點(diǎn)贊和用戶評論等行為。這些特征都可以從數(shù)據(jù)集中直接獲取。
3.3.2 特征有效性的驗(yàn)證
為了證明選取的特征是有效的,使用上節(jié)提到的選取有效的特征來驗(yàn)證模型加入特征是對提高謠言檢測的效率有幫助。首先,將每個特征分別加入到模型中進(jìn)行訓(xùn)練,檢測結(jié)果為謠言的特征昵稱得到的準(zhǔn)確率為79%,簡介得到的準(zhǔn)確率為81.2%,認(rèn)證結(jié)果為84.5%,發(fā)布結(jié)果為87.7%,轉(zhuǎn)發(fā)準(zhǔn)確率最高為89.8%,點(diǎn)贊為82.2%,評論的準(zhǔn)確率為83%,得到的所有結(jié)果,采用常用的評價(jià)指標(biāo):準(zhǔn)確率P、召回率R 以及F1 值。其中T 表示分類結(jié)果為謠言,所有的實(shí)驗(yàn)結(jié)果如表2所示。
表2 特征驗(yàn)證結(jié)果表
從表2 可以看出,本文驗(yàn)證的特征分別可以得到很好的檢測效果。其中轉(zhuǎn)發(fā)的特征最有效,準(zhǔn)確率89.8%,F(xiàn)1 值90%,從表中可以明確的看出選取的各個特征在融合之后,對提高檢測的準(zhǔn)確率是有效的。
為了進(jìn)一步驗(yàn)證特征的有效性,分別對不同的特征進(jìn)行融合,作對比實(shí)驗(yàn)。由于昵稱、簡介、認(rèn)證三個特征在上面的實(shí)驗(yàn)中效果還是不盡如人意,但是三個特征結(jié)合在一起的結(jié)果是達(dá)到預(yù)期目標(biāo)的,所以將三個特征作為固定特征,再加上剩下的用戶行為特征,分別做不同的組合實(shí)驗(yàn),來進(jìn)一步驗(yàn)證特征的有效性。
首先固定特征加上發(fā)布特征,得到的準(zhǔn)確率為0.796,固定特征加上轉(zhuǎn)發(fā)特征得到的準(zhǔn)確率為0.801,固定特征加上用戶點(diǎn)贊特征得到的準(zhǔn)確率為0.786,固定特征加上評論特征得到的準(zhǔn)確率為0.831。固定特征加上發(fā)布與轉(zhuǎn)發(fā)兩個特征得到的準(zhǔn)確率為0.873,依此類推,再依次加上點(diǎn)贊和評論兩個特征,得到的準(zhǔn)確率分別為,0.886,0.901。詳細(xì)的數(shù)據(jù)信息如圖2所示。
圖2 固定特征與不同特征組合的結(jié)果
通過圖中的數(shù)據(jù)說明,加入單個的特征提升的效果不明顯,甚至要低,如圖中所示點(diǎn)贊的用戶行為特征對比不加入特征的準(zhǔn)確率(0.798)低0.012,只有特征相互融合兩個或兩個以上,可以有更加明顯的提高。如圖2 所示,發(fā)布與轉(zhuǎn)發(fā)特征的融合準(zhǔn)確率提升了0.075,轉(zhuǎn)發(fā)發(fā)布和點(diǎn)贊的效果提升了0.088,本文所選出的所有特征融合之后得到的結(jié)果提升了0.103,所以用戶行為特征對謠言檢測的準(zhǔn)確率提升是有所幫助的。
3.3.3 不同模型的分類結(jié)果對比
1)模型加入特征與否的比較
本文首先只用微博文本進(jìn)行分類,將得到的結(jié)果與加入用戶行為特征進(jìn)行分類的實(shí)驗(yàn)作對比來驗(yàn)證特征的有效性,在不加入特征的情況下,得到的準(zhǔn)確率為79.82%、召回率80.35%以及F1 為80.08%,得到的結(jié)果不盡如人意。由上節(jié)可知,所有將選擇出來的特征組合之后來驗(yàn)證該條微博是謠言的分類結(jié)果,兩項(xiàng)結(jié)果對比如表3所示。
表3 模型分類結(jié)果(%)
由表3 可知,模型加上用戶行為特征后召回率為90.2%,F(xiàn)1 值為90.15%,準(zhǔn)確率為90.10%,所以提出的模型有效,分別比不加入特征的召回率,F(xiàn)1和準(zhǔn)確率提高了9.85%,10.07%,10.28%。并且根據(jù)上一節(jié)得到的結(jié)果可知,所有特征的組合比每個單獨(dú)的特征和部分組合特征的效果更好。
2)與其他實(shí)驗(yàn)?zāi)P偷谋容^
為了驗(yàn)證謠言的分類結(jié)果是有效的,采用RNN模型[14],LSTM模型[9],GRU模型[13]和本文提出的模型作對比。其中RNN 模型是首先被用到謠言檢測中的深度學(xué)習(xí)模型,并且與機(jī)器學(xué)習(xí)方法比較效果提升的很多,用該典型模型得到的實(shí)驗(yàn)結(jié)果,更加有說服力。LSTM 模型是RNN 模型的升級版,解決的RNN 的記憶力問題,在謠言檢測方面應(yīng)用與RNN 相比較更加廣泛。而GRU 模型又是LSTM模型的變體,應(yīng)用起來更加便捷,本文的模型與這些應(yīng)用廣泛的模型相比較更具有說服力,其實(shí)驗(yàn)結(jié)果如圖4所示。
從圖3 中可以看出,RDUC 方法的分類效果的準(zhǔn)確率高于其他,主要是因?yàn)镋RNIE 和DPCNN 兩個模型的結(jié)合,可以雙重解決文本長距離依賴的關(guān)系問題,ERNIE 還可以連續(xù)學(xué)習(xí),縮短處理數(shù)據(jù)的時(shí)間。DPCNN 緩解梯度消失的問題同時(shí)也加快了特征的傳遞。從圖中可以看出,模型得到的結(jié)果是最好的,相比于RNN 模型,準(zhǔn)確率提高了8.5%;相比于LSTM 模型,準(zhǔn)確率提高了5.5%;相比于GRU模型,準(zhǔn)確率提高了3%,可見本文提出的模型是有優(yōu)勢的。但是該模型處理實(shí)時(shí)數(shù)據(jù)時(shí)性能需要進(jìn)一步優(yōu)化提升,接下來的工作會重點(diǎn)集中在這一部分,來更好地完善模型。
圖3 不同模型的實(shí)驗(yàn)結(jié)果對比圖
本文提出了基于用戶行為特征的微博謠言檢測方法,主要使用用戶行為特征作為主要參數(shù),應(yīng)用ERNIE 和DPCNN 兩個模型的相互結(jié)合,結(jié)合ERNIE 模型的優(yōu)點(diǎn)高效的處理微博文本的上下文信息。結(jié)合DPCNN 的優(yōu)點(diǎn)解決文本的長距離依賴問題,更進(jìn)一步的提高模型的準(zhǔn)確率。通過對比實(shí)驗(yàn)表明,本文所提出的RDUC 方法其模型的準(zhǔn)確率達(dá)到了90.1%,比其他模型效果更好一些,證明了模型的有效性。
本文目前得到較好的結(jié)果,但還是有提升的空間,在數(shù)據(jù)處理方面主要應(yīng)用的是過去發(fā)生的謠言事件,沒有實(shí)時(shí)的謠言信息,不能保證達(dá)到實(shí)時(shí)檢測謠言的效果。因此,接下來的工作是結(jié)合用戶行為特征希望找到更加合適的方法來實(shí)現(xiàn)高準(zhǔn)確率的實(shí)時(shí)謠言檢測。