齊浩翔, 馬莉媛, 朱翌民
(上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院, 上海 201620)
互聯(lián)網(wǎng)的發(fā)展催生了微博、推特、貼吧、微信公眾號等社交網(wǎng)絡(luò),新媒體時代人們獲取信息更加便捷,但是隨之而來的信息造假、虛假信息傳播等問題也不容忽視。 在信息傳播的過程中,如若虛假信息傳播過甚,并形成一定規(guī)模的網(wǎng)絡(luò)輿情,就可能引發(fā)群體性事件,甚至造成不可估量的后果。 在信息爆炸的大數(shù)據(jù)時代,人工識別虛假信息已然不能夠滿足當(dāng)下需求,因此如何快速、精準(zhǔn)地識別虛假信息是當(dāng)前研究的熱點之一。
識別虛假信息可以轉(zhuǎn)換為文本分類問題。 對于文本分類問題的研究,大多基于傳統(tǒng)的向量空間模型。 Salton 等人[1]提出的向量空間模型是現(xiàn)階段使用最廣泛的一種文本表示模型(VSM),傳統(tǒng)的VSM模型的主要問題是維度高或者文本表示向量稀疏。降維一般從2 個方面進(jìn)行,一是特征選擇,二是特征提取,通過這兩個方面的改進(jìn)來提高文本分類的準(zhǔn)確率。 近年來,對于文本分類大多采用主題模型(LDA),該模型由Blei 等人提出,主要優(yōu)點就是能夠發(fā)現(xiàn)語料庫中潛在的主題信息[2-3];方東昊[4]利用LDA 對微博進(jìn)行分類,取得了不錯的效果,但該方法需要大量的外部語料,復(fù)雜度相對較高;Kim[5]提出了一種利用卷積神經(jīng)網(wǎng)絡(luò)來處理句子分類問題的模型,該方法證明了深度學(xué)習(xí)相關(guān)技術(shù)在文本分類中具有很好的效果;Mikolov 等人[6-8]提出了Word2Vec 模型用于計算文本中特征的詞的分布式表示,該方法可以很好地表達(dá)句子中的語義信息,但卻無法區(qū)分文本中詞匯的重要程度。
針對目前虛假信息檢測中存在的問題,本文提出了一種基于Word2Vec 的虛假信息檢測方法。 該方法使用Word2Vec 模型表示文本,針對文本間語義相似度難以很好度量的問題,進(jìn)一步引入TFIDF模型計算Word2Vec 詞向量的權(quán)重,得到加權(quán)的Word2Vec 模型,一個詞在不同類別中分布得越不均勻,就應(yīng)該賦予較高的權(quán)值。 再將處理過后的數(shù)據(jù)輸入到SVM 模型,將數(shù)據(jù)分為2 類,即:真實信息和虛假信息。 最終通過與傳統(tǒng)方法相比較可知,本文提出的方法能夠有效地提高檢測精度。
檢測虛假信息實際是一個映射的過程,將待檢測的數(shù)據(jù)集D ={d1,d2,...,dn} 映射到預(yù)定的分類集C ={c1,c2,...,cn} 中,其中n表示數(shù)據(jù)集的數(shù)量,m表示類別的數(shù)量,由于虛假信息檢測結(jié)果只存在真或假,所以m =2。 本文的總體框架如圖1 所示。本文采用鄰近匹配算法,利用首字母索引的詞典,使同一首字母下的特征詞按升序排列,該方法避免了每次增加新字就要重新在字典從頭匹配的冗余操作。 檢測的步驟為:文本預(yù)處理、特征選擇、文本表示、分類器訓(xùn)練。 本文擬對此展開研究分述如下。
圖1 總體框架Fig.1 Overall framework
(1)文本預(yù)處理。 對文本的語料庫進(jìn)行處理,主要包括去掉停用詞、虛詞、標(biāo)點符號等,接著進(jìn)行分詞處理得到后續(xù)可以直接使用的數(shù)據(jù)。 文本分類前去停用詞能夠有效改善文本的分類效果,通常是指一些使用頻率極高、卻沒有實際意義的詞,例如:“的”、“了”、“我”、“嗎”等,以及英文中的“the”、“a”、“of”等,還有一些數(shù)字、數(shù)學(xué)字符、標(biāo)點字符[9]。
(2)特征選擇。 在對文本進(jìn)行預(yù)處理后,得到的數(shù)據(jù)會有很高的維度且特征相對稀疏,這就需要選出最相關(guān)的特征,且降低數(shù)據(jù)的維度。
(3)文本表示。 這個過程多是與過程(2)相結(jié)合,通過選取合適的文本表示模型將文本轉(zhuǎn)化為數(shù)字表示,常用的方法是向量空間模型(VSM)。
(4)訓(xùn)練器分類。 選取適合當(dāng)前數(shù)據(jù)的分類算法,常用的分類器有SVM,KNN 等。 首先,用訓(xùn)練數(shù)據(jù)集進(jìn)行訓(xùn)練;然后,再用測試集對樣本數(shù)據(jù)進(jìn)行測試;最后,根據(jù)選用的評價指標(biāo)來對分類效果進(jìn)行衡量。
數(shù)據(jù)經(jīng)過預(yù)處理后進(jìn)行特征提取。 特征提取詞袋模型是最早的以詞為基本處理單元的文本向量化算法。 該方法容易實現(xiàn),但卻存在很大的問題,當(dāng)面對詞典中包含大量單詞的時候,必然會由于維數(shù)過多而導(dǎo)致數(shù)據(jù)稀疏,產(chǎn)生數(shù)目可觀的無效位置,從而影響計算速度。 由于解碼后的數(shù)據(jù)也會面臨詞向量過于稀疏的問題,會產(chǎn)生很多無效位置和無標(biāo)注數(shù)據(jù)。 針對這個問題,本文提出使用Word2Vec 模型來進(jìn)行解決。 研究中,利用神經(jīng)網(wǎng)絡(luò)從大量的無標(biāo)注數(shù)據(jù)中快速地提取有用的信息,將其表達(dá)成向量的形式,還可以反映該詞匯在上下文中的關(guān)系。Word2Vec 可以將離散的單獨符號轉(zhuǎn)化為低維度的連續(xù)值,也就是稠密向量,并且其中意思相近的詞將被映射到向量空間中相近的位置。 而使用神經(jīng)網(wǎng)絡(luò)可以靈活地對上下文進(jìn)行建模。 具體來說,輸入層為One-hot vector,隱藏層為線性單元,輸出層使用的是Softmax 回歸。 由于文本詞語之間關(guān)聯(lián)緊密,使用具有上下文情境的Word2Vec 方法將詞轉(zhuǎn)化為向量表示,準(zhǔn)確度更高。 本文調(diào)用gensim函數(shù)訓(xùn)練Word2Vec 模型,生成詞向量矩陣[10]。 Word2Vec 主要包括2 種模型:Skip-gram 和CBOW。
Skip-Gram 模型設(shè)計如圖2 所示。 圖2 中,Skip-Gram 模型主要通過使用目標(biāo)詞匯來預(yù)測當(dāng)前語境下的上下文詞匯,簡而言之就是輸入為特定的詞向量,輸出為該詞向量對應(yīng)的上下文,而CBOW 模型則與Skip-Gram 模型相反,就是通過上下文信息,預(yù)測目標(biāo)詞匯出現(xiàn)的概率。 Skip-Gram 模型適用于數(shù)據(jù)集較多的情況,而CBOW 在小型數(shù)據(jù)庫中有著更好的表現(xiàn)。 本文采用Skip-Gram 模型用于特征提取。
圖2 Skip-Gram 模型Fig.2 Skip-Gram model
將模型輸出層和隱藏層的權(quán)值表示為一個V ×N的矩陣W,W中的每一行是一個N維的向量,詞典V中第i個特征詞wi在W中相應(yīng)的表示為vwi,假設(shè)輸入層的輸入x∈Rv[11],其中xk =1,xk'=0,x≠x',則隱含層可以表示為:
輸出層共有C個V維向量,wc,j表示第c個向量的第j個特征詞,uc,j表示隱含層到輸出層第c個向量到第j個單元的線性和,yc,j表示softmax處理后的概率值。 則目標(biāo)函數(shù)定義為:
由于隱含層到輸出層共享相同的權(quán)值W,可以推得:
其中,v'wj為特征詞wj的輸出向量。
此時,目標(biāo)函數(shù)更新為:
假設(shè)語料詞典vocab 和文檔di ={w1w2,…,wi} 文本經(jīng)過Word2Vec 模型訓(xùn)練語料后, 得到單詞詞向量,將文檔di的向量表示為:
其中,Word2Vec(t) 表示詞匯t的Word2Vec詞向量[12]。
再引入TFIDF 模型來計算詞向量的權(quán)重,由于TFIDF 模型本身不具備反映詞向量分布情況的能力,所以將其與Word2Vec 模型融合,得到一種TFIDF 加權(quán)的Word2Vec 模型,將加權(quán)過后的詞向量累加得到新的文檔向量表示:
經(jīng)過數(shù)據(jù)的預(yù)處理、特征選擇后,最終得到文本的向量表示。 本文選擇支持向量機(jī)(SVM)模型進(jìn)行分類。 SVM 是一種成熟的機(jī)器學(xué)習(xí)中的算法。多用于解決復(fù)雜的非線性分類問題,在線性不可分的情況下,SVM 通過某種事先選擇的非線性映射(核函數(shù))將輸入變量映射到一個高維的特征空間,將其變?yōu)楦呔S空間線性可分,在這個高維空間中構(gòu)造最優(yōu)分類超平面,因此SVM 也可稱為大間距分類器:把正負(fù)樣本以最大的距離分開[13]。 當(dāng)訓(xùn)練數(shù)據(jù)線性不可分時,對每個數(shù)據(jù)樣本引入一個松弛變量ζ≥0 和一個懲罰參數(shù)c≥0 后得到以下公式:
根據(jù)對偶性算法得到公式:
再利用核函數(shù)通過數(shù)據(jù)樣本和相似性函數(shù)來定義新的特征變量,將原空間的數(shù)據(jù)映射到新的空間,從而訓(xùn)練復(fù)雜的非線性邊界,本質(zhì)上是將其轉(zhuǎn)化為了線性問題。 其中K(xi,xj) 為核函數(shù),本文選擇高斯核函數(shù)[10]。 參數(shù)c權(quán)衡模型準(zhǔn)確性和復(fù)雜性,c值越小,會有所下降。 參數(shù)ζ用于調(diào)整模型復(fù)雜度。ζ值越小,高斯分布越窄,模型復(fù)雜度越低;ζ值越高,高斯分布越寬,模型復(fù)雜度越大。 經(jīng)過多次參數(shù)調(diào)整,確定c =2,ζ =0.1 時分類效果最優(yōu)。
本文實驗在Windows10 操作系統(tǒng)下進(jìn)行。 為了驗證本文所提出方法(The proposed Model)的有效性,本文選擇傳統(tǒng)的TFIDF 模型、LDA 主題模型和基于深度學(xué)習(xí)的Word2Vec 模型進(jìn)行對比試驗。
在數(shù)據(jù)集的選取基礎(chǔ)上,本文從國內(nèi)騰訊新聞平臺針對此次疫情設(shè)立的辟謠板塊上抓取了10 073條疫情相關(guān)樣本數(shù)據(jù),以上疫情相關(guān)數(shù)據(jù)均已表明該條數(shù)據(jù)是否屬實。
在文本預(yù)處理上,本文在去掉文檔的標(biāo)點符號后,提取與正文相關(guān)內(nèi)容,采用THULAC[14]分詞工具,對正文進(jìn)行分詞,該分詞工具具有識別能力強(qiáng)、準(zhǔn)確率高、分詞速度快等優(yōu)點。 分詞后將得到的數(shù)據(jù)輸出到一個文件中供實驗?zāi)P陀?xùn)練,通過預(yù)處理將語料庫數(shù)據(jù)轉(zhuǎn)化成相關(guān)模型可以直接處理的數(shù)據(jù)。
詞向量的維度方面,本文分別采用S(Size)=[100,200,300,400,500]種維度進(jìn)行對比實驗。 最終數(shù)據(jù)將被分為2 種主題,即:真或假。
分類的結(jié)果一般從分類器的準(zhǔn)確度和速度兩個方面來評判。 運算速度主要由算法的時間復(fù)雜度和空間復(fù)雜度決定,準(zhǔn)確度的衡量標(biāo)準(zhǔn)為準(zhǔn)確率(Precision)、召回率(Recall) 和F1值。 這里需用到的數(shù)學(xué)公式可寫為:
其中,TP(True Positives)表示在標(biāo)簽中為正,實際也被分為正類;TN(True Negatives)表示在標(biāo)簽中為負(fù),實際也被分為負(fù)類;FP(False Positives)表示在標(biāo)簽中為負(fù),實際被分為正類;FN(False Positives)表示在標(biāo)簽中為正,實際被分為負(fù)類。
各方法的準(zhǔn)確率、召回率和F1值結(jié)果如圖3 ~圖5 所示。 各方法在維度為400 的情況下,基本都取得了最優(yōu)效果。 由圖3、圖4 可以看出,LDA 主題模型相比傳統(tǒng)的TFIDF 模型在各個維度的準(zhǔn)確率上均有5%以上的提升,而與Word2Vec 模型相比,LDA 主題模型在準(zhǔn)確率、召回率和F1上都有一定的差距,這也說明了,深度學(xué)習(xí)在文本分類中的有效性。 另外,本文提出的方法對比效果最好的基線方法Word2Vec 在各維度均有一定的優(yōu)勢,在K =400的情況下,本文提出的方法在準(zhǔn)確率、召回率和F1上分別有著9.46%、5.47%和5.62%的提升。 這也切實說明了缺乏語義信息的TFIDF 模型與Word2Vec模型結(jié)合后,2 種模型相輔相成,能夠很好地提升文本表達(dá)的效果。 從而證明本文提出的方法在對疫情虛假信息鑒別的準(zhǔn)確度上有一定的優(yōu)勢。
圖3 各方法的準(zhǔn)確率Fig.3 The accuracy of each method
圖4 各方法的召回率Fig.4 The recall of each method
圖5 各方法的F1Fig.5 F1 of each method
除此之外,本文選取了傳統(tǒng)的K 鄰近(KNN)和決策樹(DTC)[15]兩種分類算法作為分類器的對比試驗。由上文可知在維度為400 的情況下,各方法相對取得最好的效果,因此選擇S =400 時,各方法在不同分類器下的F1進(jìn)行對比。
各分類方法在不同分類器上的表現(xiàn)見表1。 由表1 可知,傳統(tǒng)的TFIDF 模型在3 種分類器上表現(xiàn)的差異并不明顯,這與其缺乏語音信息相關(guān);其次可以看出,各模型在SVM 分類器上的總體表現(xiàn)要優(yōu)于其他2 種分類器,這是由于本文的分類主題較少,對于疫情的相關(guān)信息,只能區(qū)分其真假,因此分類主題為二,而SVM 模型在面對主題少的數(shù)據(jù)時具有很好的分類效果;研究同時還發(fā)現(xiàn),本文提出的方法在SVM 隨著訓(xùn)練數(shù)據(jù)集的增加SVM 分類器上得到的準(zhǔn)確率。 召回率和F1比KNN 分類器下的效果有5.11%、6.81%、4.19%的改進(jìn)。 與DTC 分類器相比,分別有12.07%、16.97%、12.50%的提升,這是因為DTC 模型更適用于分類主題多的數(shù)據(jù),在面對分類主題少的數(shù)據(jù)時,其表現(xiàn)較為普通。
表1 各分類方法在不同分類器上的表現(xiàn)Tab.1 The performance of each classification method on different classifiers
通過大量的實驗得出本文提出的方法相較于傳統(tǒng)的方法,對虛假信息具有較高的識別率,具體來說在準(zhǔn)確率、召回率和F1上均有5%以上的提升,因而具有一定的實用價值。
針對當(dāng)下虛假信息檢測時常出現(xiàn)的識別度低的問題,本文提出了一種基于Word2Vec 的虛假信息檢測方法。 該方法利用Word2Vec 模型引入傳統(tǒng)向量空間模型不具備的語義特征,同時解決以往向量空間模型特征稀疏的問題。 再針對Word2Vec 模型無法很好地度量文本間的語義相似度的問題,利用TFIDF 模型對Word2Vec 模型進(jìn)行加權(quán)融合,最后再利用SVM 模型優(yōu)越的二分類能力,以此來區(qū)分真假信息。 通過相關(guān)實驗得出本文方法對虛假信息辨別有著極高的準(zhǔn)確率,具有良好的性能。
在接下來的工作中,因為TFIDF 模型具有很強(qiáng)的表示文本能力,因而還需要做進(jìn)一步的深入研究。所以考慮利用基于詞向量距離的文本分類方法,例如用EMD 距離度量方式來平衡詞與詞之間的相似度。 后續(xù)也將繼續(xù)探索效果更精準(zhǔn)的疫情虛假信息的檢測方法。