劉鐘山
(天津工業大學計算機科學與技術學院,天津300387)
中國互聯網絡中心(CNNIC)于2020年9月發布的《中國互聯網絡發展狀況統計報告》顯示,截至2020年6月,我國網民規模為9.40億,較2020年3月新增網民3625萬,互聯網普及率達67.0%,較2020年3月提升2.5個百分點。其中,50歲及以上萬民群體占比由2020年3月的16.9%提升至22.8%,互聯網向中高年齡人群滲透的趨勢愈發明顯。
移動互聯網使人們獲取信息更加方便快捷,但網絡中存在的謠言對公眾產生了較大的影響。雷霞將謠言定義為:沒有相應事實基礎卻被捏造出來并通過一定手段推動傳播的言論。文獻[1]特別對于識別信息能力較差的老年用戶,謠言使他們不能獲得正確的信息,阻擋了他們了解社會動態,謠言的傳播也對社會穩定造成了不利影響。2020年12月,諸如“成都確診女孩照片”、“武昌職業學院士官生集體發燒”等謠言混淆公眾視聽,對社會影響十分惡劣。
傳統方法的謠言檢測通常基于文本的轉發量、評論量、發布用戶的注冊時間、粉絲數等統計特征并結合SVM、機器學習等方法進行識別。
2013年,賀剛等人[2]將謠言識別視為可信性分類問題,引入識別謠言的符號特征、鏈接特征、關鍵詞分布特征和時間差等新特征并基于SVM機器學習方法來預測是否為謠言;
2013年,程亮等人[3]通過微博謠言的傳播特點和產生原因,利用BP神經網絡模型及改進其激發函數并引入沖量項,對微博話題在傳播過程中演變為謠言進行檢測;
2016年,毛二松等人[4]提出了一種基于深層特征和集成分類器的微博謠言檢測方法,首先對微博情感傾向性、微博傳播過程和微博用戶歷史信息進行特征提取并利用訓練的集成分類器進行分類;
2017年,武慶圓等人[5]提出一個針對微信等短文本的在文本與標簽之間引入語義層的多標簽雙詞主題模型;
2017年,魏陽等人[6]將網絡謠言的識別因素歸納為信息來源、信息量、互文性等7種指標因素,采用灰色關聯分析方法構建網絡謠言識別模型,并通過聚類分析網絡謠言案例進行數據處理分析網絡謠言案例嚴重程度,對網絡謠言進行分類處理,如圖1所示。

圖1 模型結構
傳統方法的謠言檢測通常基于統計特征進行識別,如符號特征、轉發量、閱讀量、發布者的相關信息等。本文基于長短期記憶網絡(Long Short Term Memory,LSTM),首先在Embedding層中使用Skip-Gram模型將文本中的內容向量化并輸入LSTM層,形成句子級向量,最后使用Softmax進行分類。基于文本內容特征進行謠言檢測。
本文首先通過Embedding層將中文文本向量化,輸出詞向量,并將詞向量輸入到LSTM層融合成句子向量,最后通過分類器進行謠言于非謠言的判別。
傳統的文本向量表示通常使用One-Hot向量表示詞匯,但此方法通常存在以下兩個問題[7]:
●One-Hot向量的維度等于詞匯量的大小,若詞匯量較大,那么得到的表示矩陣將非常稀疏。
●One-Hot向量無法得到詞匯之間的關聯信息。
2013年,Mikolov等人[8]提出了Word2Vec模型,其核心思想是同一上下文中的單詞語義相近,單詞可以由其上下文表示。
Embedding模型中,通常使用Continuous Bag of Words(CBOW)和Skip-Gram(SG)兩種模型,CBOW模型通過上下文預測目標單詞,而SG模型通過輸入的目標單詞預測上下文,CBOW模型和SG模型的結構如圖2所示。

圖2
左:CBOW結構圖,右:Skip-Gram模型結構圖。
在Embedding層中,本文使用Skip-Gram訓練來創建詞向量。通過無監督的SG模型進行文本特征化處理,將文本向量化,并作為LSTM層的輸入。
1996年Hochreiter等人[9]提出了長短期記憶網絡LSTM。
LSTM是循環神經網絡(Recurrent Neural Network,RNN)的一種,但輔助RNN決策的主要是最后輸入的信號,缺少長期依賴的關系,RNN對較遠距離信息的處理能力不夠好。LSTM有效地克服了RNN的梯度消失問題。
與RNN相比較,LSTM保留了RNN的基本結構并進行了改進,LSTM充分考慮到了“細胞”之間的自循環,其結構如圖3所示。LSTM引入輸入門、遺忘門、輸出門,主要通過三個“門”的結構控制信息的添加與刪除,其中輸入們控制當前時間步計算的狀態將以多少程度更新到記憶單元,遺忘門控制前一時間步傳來的信息將以多大程度被遺忘掉,輸出門控制當前時間步的記憶單元將以多大程度輸出。

圖3 LSTM基本結構
(1)遺忘門。遺忘門的作用是根據當前的輸入、上一時刻的輸出和門的偏置項決定需要丟棄多少信息,若以ft表示當前LSTM單元遺忘門的輸出值:

(2)輸入門。輸入門決定當前輸入中有多少會寫入單元狀態:

并將Ct-1時刻的信息更新到Ct:

(3)輸出門。輸出門決定最終輸出的值:

LSTM層將Embedding層輸出的詞向量融合為句子向量,通過Dropout層后經分類器進行分類。
在模型訓練的過程中,通常會遇見過擬合問題,過擬合問題通常表現為模型在訓練數據上損失函數較小,預測準確率高,在測試集上損失大,預測準確率較低,過擬合的模型會影響模型的預測效果。
2012年Hinton等人[10]提出Dropout,用于防止過擬合,Dropout通過修改神經網絡中的神經元節點以防止訓練的模型出現過擬合的現象,如圖4所示。

圖4 Dropout使用前
Dropout使用后刪掉了其中部分的隱藏層神經元單元,每一次迭代都隨機刪除部分的隱藏層神經元,隨著迭代次數的增多,每一次都用部分神經元去訓練整個網絡,最終有效避免了過擬合,如圖5所示。

圖5 Dropout使用后
Softmax分類層是模型的最后一層,用于進行有監督化分類訓練。文本經LSTM層和Dropout層處理后,形成語句級特征向量,使用Softmax對其進行分類,對文本是否為謠言進行識別。

公式(7)為Softmax輸出函數的公式,輸出p表示y屬于m的概率,根據概率決定分類的類別,o為特征融合后的向量[11]。

公式(8)為Softmax代價損失函數的表達式,N代表訓練、測試集,x、y對應訓練樣本。
本文使用劉知遠等人[12]公開的微博謠言數據集,并對其中數據進行整理,構建數據字典與數據列表,并得到可用于模型訓練的數據集如表1所示。

表1 訓練數據
本文使用二分類問題的精確率(P)、準確率(A)、召回率(R)、F1值作為評價指標;定義非謠言為正類,謠言為負類,則:
True Positive(TP):將真實標簽為正類的預測為正類,即正確識別非謠言;
False Positive(FP):將真實標簽為負類的預測為正類,即將謠言識別為非謠言;
False Negative(FN):將真實標簽為正類的預測為負類,即將非謠言識別為謠言;
True Negative(TN):將真實標簽為負類的預測為負類,即正確識別謠言。
混淆矩陣如表2所示。

表2 混淆矩陣
本文采用二分類問題的常見評價指標對算法的識別結果做出評價,各指標計算方法如下:
準確率表示測試集中全部預測正確的概率:

精確率表示該類別中預測為該類別的消息數中實際為該類別的比例;

F1值用來衡量模型的整體效果,是召回率和精確度的調和平均。
本文采用Adagrad優化器,初始學習率為0.001,經過200次迭代后得到實驗結果如表3所示。

表3 本文算法實驗結果

表4 實驗結果對比
本文算法與上述算法比較,在準確率、精確率、召回率、F1得分方面均取得了較好的效果,這也證明了本文基于文本內容特征進行謠言識別的謠言識別模型對謠言識別具有良好的效果。
本文首先通過Embedding層將文本向量化并輸入到LSTM層,基于文本的內容充分發掘其特征,并利用Softmax分類器進行分類,訓練過程中,通過Dropout層避免模型過擬合,利用來自微博的文本數據進行訓練。經實驗得知,本文算法的準確率為95.3%,謠言和非謠言的精確率為93.3%、96.9%,召回率分別為96.3%、94.5%,F1得分分別為94.8%、95.7%,均取得了不錯的效果。
考慮到本文在訓練模型時使用的數據量有限,且均來自新浪微博,并且在訓練模型時,沒有綜合考慮到用戶相關信息、轉發量等相關的統計特征,因此,下一步的工作重點是研究將來自文本內容特征提取與統計特征提取綜合,并采用更高質量的數據集訓練模型,以加強謠言檢測的能力。