何韓森,孫國梓
(南京郵電大學(xué)計算機學(xué)院,南京210023)
隨著互聯(lián)網(wǎng)時代社交媒體的持續(xù)發(fā)展,假新聞以前所未有的速度覆蓋了人們?nèi)粘I畹母鱾€方面。2016 年美國總統(tǒng)大選期間,在南歐小城韋萊斯,這個人口僅5.5 萬的小鎮(zhèn)竟然擁有至少100 個支持特朗普的網(wǎng)站,其中很多充斥著各種聳人聽聞的假新聞,靠吸引流量來賺取廣告費[1]。對假新聞生產(chǎn)者而言,他們通過制造假新聞,誘導(dǎo)用戶點擊閱讀并賺取流量,以低廉的成本獲取了巨額利益,他們制造的假新聞也不可避免地對社會產(chǎn)生了負(fù)面影響。虛假新聞網(wǎng)站制造假新聞,各大知名互聯(lián)網(wǎng)平臺則對其不加審核地轉(zhuǎn)載。文獻(xiàn)[2]的研究結(jié)果表明,虛假新聞網(wǎng)站的總流量有一半來自Facebook的首頁推薦,F(xiàn)acebook 對信譽評估良好的網(wǎng)站引流效果甚微,它們來自Facebook的流量只占到總流量的五分之一。虛假新聞的泛濫一方面源自于媒介平臺對新聞信息無選擇式的傳播,另一方面則受到人群對新聞?wù)J知局限性的影響。由于知識獲取的有限性,人們本身的知識結(jié)構(gòu)不足以完全實現(xiàn)對假新聞的鑒別。輿論調(diào)查機構(gòu)YouGov的調(diào)查表明:近一半的人(49%)認(rèn)為自己可以區(qū)分假新聞,但測試結(jié)果顯示,只有4%的人可以通過標(biāo)題識別假新聞。同時,人們還會出于愚弄諷刺他人或獲取經(jīng)濟利益等個人目的去刻意傳播假新聞。
假新聞以獵奇的標(biāo)題、虛構(gòu)的事件吸引讀者眼球,不但影響了個人對社會事件的準(zhǔn)確認(rèn)知,阻礙了人們對真實新聞的獲取,還會對社會和經(jīng)濟的穩(wěn)定帶來負(fù)面影響。但是,人工的方法往往難以保證海量新聞內(nèi)容的質(zhì)量和真實性,更遑論篩選和阻止假新聞的傳播。人工鑒別假新聞的方法同時存在效率低下、具有時滯性等問題。為此,引入人工智能技術(shù),有助于快速有效地減少假新聞在互聯(lián)網(wǎng)平臺的傳播,也為社交媒體平臺的假新聞自動檢測技術(shù)的提升提供了可能。
Ajao 等[3]提出了一個框架,該框架基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)和長短時記憶(Long Short-Term Memory,LSTM)神經(jīng)網(wǎng)絡(luò)的混合模型來檢測和分類來自推特帖子的假新聞消息。由于LSTM 神經(jīng)網(wǎng)絡(luò)在上下文特征的提取方面表現(xiàn)不佳,而上下文的語義信息可以為假新聞檢測任務(wù)提供更好的語義特征,所以引入CNN 可以較好地彌補LSTM 在上下文特征提取方面的缺陷。本文的主要工作有:在Liar數(shù)據(jù)集[4]上增加了一些新的politifact網(wǎng)站新聞數(shù)據(jù),并結(jié)合Kaggle 數(shù)據(jù)集和Buzzfeed 數(shù)據(jù)集整理了一個短文本的二分類假新聞數(shù)據(jù)集;同時提出了一種基于特征聚合的假新聞檢測模型CCNN(Center-Cluster-Neural-Network)。
假新聞檢測也屬于文本分類的范疇,Kim[5]在2014 年便提出了利用CNN對文本進行分類的算法,即TextCNN,該算法利用多個不同大小的卷積核來提取句子中的關(guān)鍵信息,從而更好地捕捉局部相關(guān)性;文獻(xiàn)[6]中利用CNN 從新聞主題的角度檢測假新聞,表明CNN 可以捕獲虛假和真實新聞?wù)Z料在語法修辭上的差異性,從而實現(xiàn)假新聞的識別工作;而文獻(xiàn)[7]中則認(rèn)為應(yīng)該結(jié)合語言特征分析并采用事實檢查的方法來提高假新聞檢測分類器的性能。
從新聞本身的文本內(nèi)容來看,有50 個單詞左右的短文本型新聞,如Liar 數(shù)據(jù)集。該數(shù)據(jù)集于2017 年發(fā)布,訓(xùn)練、驗證、測試集總計約12 000條記錄,而且還提供了一些新聞元數(shù)據(jù)(類似于作者、作者的黨派,還有所在洲等信息);標(biāo)簽劃分為6 個等級,從幾乎為真到幾乎為假,內(nèi)容主要與美國政治相關(guān)。Kaggle 假新聞檢測數(shù)據(jù)集則包含URLs、Headline、Body三個特征,標(biāo)簽為是否為假,其中假新聞1 872 條,真新聞2 137條。另外一種是長文本類型的數(shù)據(jù)集,如華盛頓大學(xué)假新聞數(shù)據(jù)集,平均單詞數(shù)量在500 左右,記錄總數(shù)較多,總計約6萬條記錄。
針對假新聞檢測,傳統(tǒng)的自然語言處理方法主要從三個方面考慮:基于知識驗證、基于上下文、基于內(nèi)容的風(fēng)格?;谥R驗證,即事實檢查,Etzioni 等[8]通過從網(wǎng)絡(luò)提取的內(nèi)容與相關(guān)文檔的聲明匹配來識別一致性,但該方法受制于網(wǎng)絡(luò)數(shù)據(jù)的可信度、質(zhì)量等挑戰(zhàn)。Rashkin 等[9]在政治事實檢查和假新聞檢測的背景下對新聞媒體的語言進行了分析研究,對帶有諷刺、惡作劇和宣傳的真實新聞進行了比較,證明了事實檢查確實是一個具有挑戰(zhàn)性的任務(wù)。
基于上下文主要依賴新聞所帶有的元數(shù)據(jù)信息和在社交媒體網(wǎng)絡(luò)中的傳播方式。Wang[4]的研究表明,在加入作者等元數(shù)據(jù)信息之后,對于假新聞檢測的性能會有所提升;Zhao等[10]發(fā)現(xiàn)在傳播過程當(dāng)中,大多數(shù)人轉(zhuǎn)發(fā)真實新聞是從一個集中的來源,而虛假新聞則會通過轉(zhuǎn)發(fā)其他轉(zhuǎn)發(fā)者發(fā)布的內(nèi)容來傳播,虛假新聞在社交網(wǎng)絡(luò)的傳播過程中具有明顯的多點開花式特征。
基于內(nèi)容風(fēng)格是從新聞本身的內(nèi)容探究假新聞可能具有的特征,主要有語言特征、詞匯特征、心理語言學(xué)特征等,這包括句子的單詞數(shù)量、音節(jié)、詞性、指代、標(biāo)點、主題等。例如Castillo 等[11]從內(nèi)容中提取基本的語義和情感特征,并從用戶中提取統(tǒng)計特征的特征分類模型。Volkova 等[12]從語義的角度考慮,例如對文本進行情感打分。而與此相關(guān)的子任務(wù)是立場檢測,Bourgonje 等[13]提出檢測關(guān)于文章的聲明與文章本身之間關(guān)系的立場檢測。
目前這些研究當(dāng)中,鮮有研究關(guān)注到假新聞檢測模型的分類性能和泛化性能,因此,本文的研究工作基于此提出了基于特征聚合的假新聞檢測模型。
CCNN 模型結(jié)構(gòu)如圖1 所示,主要由兩個部分組成:一個是由卷積層構(gòu)成的特征提取和特征聚類模塊,一個是由雙向記憶神經(jīng)網(wǎng)絡(luò)來采集時序特征的模塊。CCNN 模型整體流程如下:
1)數(shù)據(jù)獲取和標(biāo)簽標(biāo)注:本文所用的假新聞數(shù)據(jù)集詳見3.1節(jié)。
2)文本預(yù)處理:先分詞(jieba,結(jié)巴分詞),再將自然語言的文本進行數(shù)字向量化并對齊所有句子長度,然后使用預(yù)訓(xùn)練詞向量矩陣化。
3)特征提?。和ㄟ^CNN 對輸入文本進行的卷積操作,不同大小的卷積核能提取到不同種類的特征,本文選擇3 種大小的卷積核分別提取到對應(yīng)窗口大小的詞匯特征,在經(jīng)由池化降維處理之后,再采用基于雙中心損失函數(shù)將特征進行聚類。與此同時進行的還有使用雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)對輸入文本進行全局時序特征的采集。然后將以上卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)兩個部分采集到的不同特征作特征拼接融合,融合之后的特征作為輸入文本最后的分類特征。
4)分類結(jié)果:利用全連接層和改進之后的均勻損失函數(shù)訓(xùn)練模型分類器,并得出最終結(jié)果。
卷積操作就是利用濾波器對輸入層中的每個窗口產(chǎn)生新的特征,傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)在進行卷積操作后會使用池化層,通過對同一濾波器不同尺寸窗口產(chǎn)生的特征取最大值或者取平均值,以此達(dá)到減少參數(shù)數(shù)量的目的,所以,CCNN 模型的特征提取層中也設(shè)有相應(yīng)的卷積層和池化層。卷積神經(jīng)網(wǎng)絡(luò)的框架結(jié)構(gòu)如圖2所示。
與之前池化之后再連接池化層或者輸出層不同的是,CCNN 模型會在池化層之后連接一個特征聚類層,通過基于雙中心損失函數(shù)訓(xùn)練的特征聚類層,使得類間距離最大化和類內(nèi)距離最小化。
在卷積神經(jīng)網(wǎng)絡(luò)通過卷積操作來提取一些窗口特征的同時,也采用雙向長短時記憶(Bi-directional Long Short Term Memory,Bi-LSTM)網(wǎng)絡(luò)來對輸入的句子進行序列特征的提取。
Bi-LSTM 由前向 LSTM 與后向 LSTM 組合而成。 LSTM 建模的一個問題就是無法編碼從后到前的信息,而在假新聞檢測任務(wù)中,語句中情感詞、程度詞、否定詞之間交互對于分類的結(jié)果有著重要的作用,通過Bi-LSTM 可以更好地捕捉雙向的語義依賴。且Bi-LSTM 能捕捉長距離的信息,使得特征視野不再局限在窗口中,可以與卷積神經(jīng)網(wǎng)絡(luò)形成互補,其LSTM單元結(jié)構(gòu)框架如圖2所示。
圖3 t時刻LSTM結(jié)構(gòu)Fig. 3 Structure of LSTM at time t
LSTM模型是由t時刻的輸入Xt、細(xì)胞狀態(tài)Ct、臨時細(xì)胞狀態(tài)C~t、隱 層 狀 態(tài)ht、遺 忘 門ft、記 憶 門it和 輸 出 門ot組 成 。LSTM 通過對細(xì)胞狀態(tài)中已有的信息進行選擇性遺忘和記憶對后續(xù)時刻計算有用的新信息,使得有用的信息得以傳遞,而丟棄無用的信息。在每個時間步上都會計算并輸出當(dāng)前時刻的隱層狀態(tài)ht,其中遺忘、記憶和輸出是通過上個時刻的隱層狀態(tài)ht-1和當(dāng)前的輸入Xt經(jīng)由遺忘門ft、記憶門it、輸出門ot來計算控制的。對應(yīng)的計算公式如式(1)所示:
將每一個時間步對應(yīng)的隱層狀態(tài)收集起來便可得到一個隱層狀態(tài)序列{h0,h1,…,hn-1},n為句子長度。LSTM 得到的是一個正向序列,對于文本也可以說是從左往右的狀態(tài)序列,而Bi-LSTM 在此基礎(chǔ)上對文本從右往左進行逆序編碼,進而獲得逆向的隱層狀態(tài)序列。最后,將正向和逆向的隱層狀態(tài)序列進行拼接,繼而得到最終的文本向量序列。對于本任務(wù)來說,只需取雙向最后一個隱層狀態(tài)向量進行拼接來表示本文的文本,因為它已經(jīng)包含了正向和逆向的所有信息了。
通常的假新聞檢測模型(二分類)中,在提取完特征之后就將其送入分類器進行分類判別,并且采用sigmoid 訓(xùn)練模型,但這時的特征往往并不能很好地區(qū)分這些類別,所以本文采用了類似K 最近鄰(K-Nearest Neighbor,KNN)的方法在特征被送入分類器之前做了進一步的處理,使得特征具有了一定的聚類特性。采用文獻(xiàn)[14]中的加聚類懲罰項作為模型的損失函數(shù),函數(shù)定義如式(2)所示。
其中:yi為正確的樣本就是二分類的交叉熵就是額外的懲罰項,cyi則是每個類別定義的可訓(xùn)練中心。所以,前者用于擴大不同類別中心的距離,而后者則用于縮小當(dāng)前類別的樣本到該類中心的距離。
選擇邏輯回歸函數(shù)(sigmoid)加交叉熵(cross entropy)這樣的搭配訓(xùn)練模型時,往往會使分類器只學(xué)習(xí)到了正例樣本的特征,增加過擬合的風(fēng)險。因此,為使分類器不至于單純地去擬合真實的樣本分布,增加了一個任務(wù),讓它同時也去擬合一下均勻分布,故采用的損失函數(shù)如式(3)所示。
其中:ε為自定義的變量;e 為自然數(shù);[z1,z2]是模型輸出的預(yù)測結(jié)果。
由于推特、微博等社交工具的文本長度限制在140 詞,本文從公開的假新聞數(shù)據(jù)集和相關(guān)假新聞驗證網(wǎng)站上搜集整理數(shù)據(jù),得到一個短文本假新聞二分類數(shù)據(jù)集,并命名為pkb 假新聞數(shù)據(jù)集。pkb假新聞數(shù)據(jù)集的主要來源有:politifact網(wǎng)站、kaggle假新聞競賽數(shù)據(jù)集和Buzzfeed數(shù)據(jù)集。對于politifact網(wǎng)站上的數(shù)據(jù),選取其中4 個類別,分別是true、false、barely-true和pants-on-fire,后3 個類別統(tǒng)一歸為假新聞一類;kaggle 假新聞競賽數(shù)據(jù)集和Buzzfeed 數(shù)據(jù)集按照原有數(shù)據(jù)集的真假新聞標(biāo)簽分別獲取真假新聞數(shù)據(jù)。pkb 假新聞數(shù)據(jù)集全部為不超過140個詞的短文本新聞,標(biāo)簽為0(假,對應(yīng)表1中的負(fù)例列)或1(真,對應(yīng)表1 中的正例列)總計13 070 條數(shù)據(jù),具體劃分見表1。
表1 實驗中使用的數(shù)據(jù)集(pkb)Tab. 1 Datasets used in the experiment(pkb)
3.2.1 評價指標(biāo)
為保證實驗的公平及可對比性,針對pkb假新聞數(shù)據(jù)集0(真新聞)和1(假新聞)兩個類別,根據(jù)樣例真實類別與CCNN預(yù)測類別組合劃分為真陽性(TP)、真陰性(TN)、假陽性(FP)和假陰性(FN)四種類型,混淆矩陣如表2所示。
表2 假新聞檢測結(jié)果混淆矩陣Tab. 2 Confusion matrix of fake news detection result
在假新聞檢測任務(wù)中,更希望盡可能地檢測出假新聞,同時可以顧及用戶體驗而不致于大量的真實新聞被誤傷,所以綜合考慮acc、P、R和F1 作為評價模型性能的標(biāo)準(zhǔn),計算公式如下:
3.2.2 參數(shù)選擇
根據(jù)文獻(xiàn)[8,15-16]等實驗發(fā)現(xiàn),在假新聞檢測基礎(chǔ)模型的選擇時,一般有支持向量機(Support Vector Machines,SVM)、樸素貝葉斯(Na?ve Bayes,NB)、隨機森林(Random Forest,RF)等,故本文也選擇這三種模型作為基礎(chǔ)模型。
SVM[17]是一種監(jiān)督學(xué)習(xí)算法,其決策邊界是對學(xué)習(xí)樣本求解的最大邊距超平面,適合于小樣本的學(xué)習(xí),訓(xùn)練速度快且具有較好的魯棒性;NB是在貝葉斯算法的基礎(chǔ)上進行了相應(yīng)的簡化,即假定給定目標(biāo)值時屬性之間相互條件獨立,梁柯等[18]的研究表明NB算法具有計算復(fù)雜度小、數(shù)據(jù)缺失對算法影響度小、適合大量數(shù)據(jù)計算及易于理解等優(yōu)點;RF 是一個包含多個決策樹的分類器,其輸出是由個別樹輸出類別的眾數(shù)決定的,王奕森等[19]研究表明RF對噪聲和異常值有較好的容忍性,對高維數(shù)據(jù)分類問題具有良好的可擴展性和并行性,解決了決策樹性能瓶頸的問題。
基礎(chǔ)模型選用線性判別分析(Linear Discriminant Analysis,LDA)降維之后的特征數(shù)據(jù)作為特征輸入,神經(jīng)網(wǎng)絡(luò)模型除FastText 采用自訓(xùn)練的詞向量外,其余模型均采用預(yù)訓(xùn)練詞向量+微調(diào)(fine-tune)的模式,對應(yīng)的預(yù)訓(xùn)練詞向量采用全局向量(glove),維度為100 維。FastText 的詞組窗口大小設(shè)置為3,其余卷積神經(jīng)網(wǎng)絡(luò)的卷積核大小設(shè)置為[2,3,4]。
3.2.3 結(jié)果分析
各模型的性能指標(biāo)結(jié)果如表3 所示;測試集與驗證集的差值結(jié)果見圖4和圖5,圖4對應(yīng)傳統(tǒng)的機器學(xué)習(xí)模型,圖5對應(yīng)神經(jīng)網(wǎng)絡(luò)模型。傳統(tǒng)的機器學(xué)習(xí)模型通過人工提取特征,具有較強的主觀性且無法學(xué)習(xí)到深層次的潛在特征和對應(yīng)關(guān)系。從表3 的結(jié)果數(shù)據(jù)中可以觀察到,在各項性能指標(biāo)中,除LSTM外的神經(jīng)網(wǎng)絡(luò)模型普遍要優(yōu)于傳統(tǒng)的機器學(xué)習(xí)模型;再結(jié)合模型的泛化能力綜合看,在圖5中,CCNN 的結(jié)果較好,各項性能指標(biāo)退化較少且曲線較為平和;在圖4 中,隨機森林的曲線波動要比其他兩個模型穩(wěn)定,并且提升的幅度也占優(yōu),但整體性能不如神經(jīng)網(wǎng)絡(luò)模型。
圖5 神經(jīng)網(wǎng)絡(luò)模型測試集與驗證集結(jié)果差值Fig. 5 Result differences between test set and validation set of neural network model
表3 各模型的性能指標(biāo)對比單位:%Tab. 3 Comparison of performance indexes of various models unit:%
在驗證集和測試集上,CCNN(S)和CCNN 分別獲得了最優(yōu)的性能。其中,注意到加入了均勻損失函數(shù)的CCNN 模型在泛化能力上要優(yōu)于其他的模型,CCNN(S)為損失函數(shù)采用傳統(tǒng)的二分類交叉熵?fù)p失函數(shù),雖然在驗證集上的性能達(dá)到了最優(yōu),但是在測試集上的結(jié)果卻沒能繼續(xù)保持。從F1的性能指標(biāo)上來看,以卷積神經(jīng)網(wǎng)絡(luò)為核心的TextCNN、CCNN 和CCNN(S)模型分類性能要略優(yōu)于以循環(huán)神經(jīng)網(wǎng)絡(luò)為核心的LSTM和Bi-LSTM模型,這表明利用CNN提取文本特征的方式要略優(yōu)于RNN,比傳統(tǒng)的基于統(tǒng)計的人工特征更加有效。
文獻(xiàn)[20]的研究認(rèn)為泛化性能是訓(xùn)練好的模型對于不在訓(xùn)練集內(nèi)數(shù)據(jù)的擬合能力,檢驗?zāi)P驮趯嶋H場景中是否能達(dá)到跟訓(xùn)練時一樣的效果,本質(zhì)就是反映模型是否學(xué)習(xí)到了真實的分類特征,還是對數(shù)據(jù)產(chǎn)生了過擬合,因此本文采用了不參與訓(xùn)練的測試集作為評估模型泛化能力的方法。。
本文提出了一種短文本假新聞檢測模型CCNN,結(jié)合了CNN 和RNN 模型的優(yōu)點,同時利用特征聚類和均勻損失提高了模型的泛化能力。在我們整理的一個短文本的二分類假新聞數(shù)據(jù)集pkb 上的實驗結(jié)果表明,在提高檢測性能的基礎(chǔ)上,本文模型CCNN的泛化性能也得到了保證。
在接下來的工作中,需要尋找更大規(guī)模、更多特征、更具通用性的多模態(tài)假新聞數(shù)據(jù)集;針對算法模型方面,由于數(shù)據(jù)集的匱乏,也可以考慮轉(zhuǎn)向半監(jiān)督甚至無監(jiān)督的學(xué)習(xí)研究,同時也可以考慮融合知識圖譜的相關(guān)工作;由于對模型泛化性能的評估缺乏量化計算,依賴實驗經(jīng)驗,模型的泛化能力量化評估的相關(guān)工作也需要進一步研究。