齊浩翔, 馬莉媛, 朱翌民
(上海工程技術大學 電子電氣工程學院, 上海 201620)
互聯網的發展催生了微博、推特、貼吧、微信公眾號等社交網絡,新媒體時代人們獲取信息更加便捷,但是隨之而來的信息造假、虛假信息傳播等問題也不容忽視。 在信息傳播的過程中,如若虛假信息傳播過甚,并形成一定規模的網絡輿情,就可能引發群體性事件,甚至造成不可估量的后果。 在信息爆炸的大數據時代,人工識別虛假信息已然不能夠滿足當下需求,因此如何快速、精準地識別虛假信息是當前研究的熱點之一。
識別虛假信息可以轉換為文本分類問題。 對于文本分類問題的研究,大多基于傳統的向量空間模型。 Salton 等人[1]提出的向量空間模型是現階段使用最廣泛的一種文本表示模型(VSM),傳統的VSM模型的主要問題是維度高或者文本表示向量稀疏。降維一般從2 個方面進行,一是特征選擇,二是特征提取,通過這兩個方面的改進來提高文本分類的準確率。 近年來,對于文本分類大多采用主題模型(LDA),該模型由Blei 等人提出,主要優點就是能夠發現語料庫中潛在的主題信息[2-3];方東昊[4]利用LDA 對微博進行分類,取得了不錯的效果,但該方法需要大量的外部語料,復雜度相對較高;Kim[5]提出了一種利用卷積神經網絡來處理句子分類問題的模型,該方法證明了深度學習相關技術在文本分類中具有很好的效果;Mikolov 等人[6-8]提出了Word2Vec 模型用于計算文本中特征的詞的分布式表示,該方法可以很好地表達句子中的語義信息,但卻無法區分文本中詞匯的重要程度。
針對目前虛假信息檢測中存在的問題,本文提出了一種基于Word2Vec 的虛假信息檢測方法。 該方法使用Word2Vec 模型表示文本,針對文本間語義相似度難以很好度量的問題,進一步引入TFIDF模型計算Word2Vec 詞向量的權重,得到加權的Word2Vec 模型,一個詞在不同類別中分布得越不均勻,就應該賦予較高的權值。 再將處理過后的數據輸入到SVM 模型,將數據分為2 類,即:真實信息和虛假信息。 最終通過與傳統方法相比較可知,本文提出的方法能夠有效地提高檢測精度。
檢測虛假信息實際是一個映射的過程,將待檢測的數據集D ={d1,d2,...,dn} 映射到預定的分類集C ={c1,c2,...,cn} 中,其中n表示數據集的數量,m表示類別的數量,由于虛假信息檢測結果只存在真或假,所以m =2。 本文的總體框架如圖1 所示。本文采用鄰近匹配算法,利用首字母索引的詞典,使同一首字母下的特征詞按升序排列,該方法避免了每次增加新字就要重新在字典從頭匹配的冗余操作。 檢測的步驟為:文本預處理、特征選擇、文本表示、分類器訓練。 本文擬對此展開研究分述如下。

圖1 總體框架Fig.1 Overall framework
(1)文本預處理。 對文本的語料庫進行處理,主要包括去掉停用詞、虛詞、標點符號等,接著進行分詞處理得到后續可以直接使用的數據。 文本分類前去停用詞能夠有效改善文本的分類效果,通常是指一些使用頻率極高、卻沒有實際意義的詞,例如:“的”、“了”、“我”、“嗎”等,以及英文中的“the”、“a”、“of”等,還有一些數字、數學字符、標點字符[9]。
(2)特征選擇。 在對文本進行預處理后,得到的數據會有很高的維度且特征相對稀疏,這就需要選出最相關的特征,且降低數據的維度。
(3)文本表示。 這個過程多是與過程(2)相結合,通過選取合適的文本表示模型將文本轉化為數字表示,常用的方法是向量空間模型(VSM)。
(4)訓練器分類。 選取適合當前數據的分類算法,常用的分類器有SVM,KNN 等。 首先,用訓練數據集進行訓練;然后,再用測試集對樣本數據進行測試;最后,根據選用的評價指標來對分類效果進行衡量。
數據經過預處理后進行特征提取。 特征提取詞袋模型是最早的以詞為基本處理單元的文本向量化算法。 該方法容易實現,但卻存在很大的問題,當面對詞典中包含大量單詞的時候,必然會由于維數過多而導致數據稀疏,產生數目可觀的無效位置,從而影響計算速度。 由于解碼后的數據也會面臨詞向量過于稀疏的問題,會產生很多無效位置和無標注數據。 針對這個問題,本文提出使用Word2Vec 模型來進行解決。 研究中,利用神經網絡從大量的無標注數據中快速地提取有用的信息,將其表達成向量的形式,還可以反映該詞匯在上下文中的關系。Word2Vec 可以將離散的單獨符號轉化為低維度的連續值,也就是稠密向量,并且其中意思相近的詞將被映射到向量空間中相近的位置。 而使用神經網絡可以靈活地對上下文進行建模。 具體來說,輸入層為One-hot vector,隱藏層為線性單元,輸出層使用的是Softmax 回歸。 由于文本詞語之間關聯緊密,使用具有上下文情境的Word2Vec 方法將詞轉化為向量表示,準確度更高。 本文調用gensim函數訓練Word2Vec 模型,生成詞向量矩陣[10]。 Word2Vec 主要包括2 種模型:Skip-gram 和CBOW。
Skip-Gram 模型設計如圖2 所示。 圖2 中,Skip-Gram 模型主要通過使用目標詞匯來預測當前語境下的上下文詞匯,簡而言之就是輸入為特定的詞向量,輸出為該詞向量對應的上下文,而CBOW 模型則與Skip-Gram 模型相反,就是通過上下文信息,預測目標詞匯出現的概率。 Skip-Gram 模型適用于數據集較多的情況,而CBOW 在小型數據庫中有著更好的表現。 本文采用Skip-Gram 模型用于特征提取。

圖2 Skip-Gram 模型Fig.2 Skip-Gram model
將模型輸出層和隱藏層的權值表示為一個V ×N的矩陣W,W中的每一行是一個N維的向量,詞典V中第i個特征詞wi在W中相應的表示為vwi,假設輸入層的輸入x∈Rv[11],其中xk =1,xk'=0,x≠x',則隱含層可以表示為:

輸出層共有C個V維向量,wc,j表示第c個向量的第j個特征詞,uc,j表示隱含層到輸出層第c個向量到第j個單元的線性和,yc,j表示softmax處理后的概率值。 則目標函數定義為:

由于隱含層到輸出層共享相同的權值W,可以推得:

其中,v'wj為特征詞wj的輸出向量。
此時,目標函數更新為:

假設語料詞典vocab 和文檔di ={w1w2,…,wi} 文本經過Word2Vec 模型訓練語料后, 得到單詞詞向量,將文檔di的向量表示為:

其中,Word2Vec(t) 表示詞匯t的Word2Vec詞向量[12]。
再引入TFIDF 模型來計算詞向量的權重,由于TFIDF 模型本身不具備反映詞向量分布情況的能力,所以將其與Word2Vec 模型融合,得到一種TFIDF 加權的Word2Vec 模型,將加權過后的詞向量累加得到新的文檔向量表示:

經過數據的預處理、特征選擇后,最終得到文本的向量表示。 本文選擇支持向量機(SVM)模型進行分類。 SVM 是一種成熟的機器學習中的算法。多用于解決復雜的非線性分類問題,在線性不可分的情況下,SVM 通過某種事先選擇的非線性映射(核函數)將輸入變量映射到一個高維的特征空間,將其變為高維空間線性可分,在這個高維空間中構造最優分類超平面,因此SVM 也可稱為大間距分類器:把正負樣本以最大的距離分開[13]。 當訓練數據線性不可分時,對每個數據樣本引入一個松弛變量ζ≥0 和一個懲罰參數c≥0 后得到以下公式:

根據對偶性算法得到公式:
再利用核函數通過數據樣本和相似性函數來定義新的特征變量,將原空間的數據映射到新的空間,從而訓練復雜的非線性邊界,本質上是將其轉化為了線性問題。 其中K(xi,xj) 為核函數,本文選擇高斯核函數[10]。 參數c權衡模型準確性和復雜性,c值越小,會有所下降。 參數ζ用于調整模型復雜度。ζ值越小,高斯分布越窄,模型復雜度越低;ζ值越高,高斯分布越寬,模型復雜度越大。 經過多次參數調整,確定c =2,ζ =0.1 時分類效果最優。
本文實驗在Windows10 操作系統下進行。 為了驗證本文所提出方法(The proposed Model)的有效性,本文選擇傳統的TFIDF 模型、LDA 主題模型和基于深度學習的Word2Vec 模型進行對比試驗。
在數據集的選取基礎上,本文從國內騰訊新聞平臺針對此次疫情設立的辟謠板塊上抓取了10 073條疫情相關樣本數據,以上疫情相關數據均已表明該條數據是否屬實。
在文本預處理上,本文在去掉文檔的標點符號后,提取與正文相關內容,采用THULAC[14]分詞工具,對正文進行分詞,該分詞工具具有識別能力強、準確率高、分詞速度快等優點。 分詞后將得到的數據輸出到一個文件中供實驗模型訓練,通過預處理將語料庫數據轉化成相關模型可以直接處理的數據。
詞向量的維度方面,本文分別采用S(Size)=[100,200,300,400,500]種維度進行對比實驗。 最終數據將被分為2 種主題,即:真或假。
分類的結果一般從分類器的準確度和速度兩個方面來評判。 運算速度主要由算法的時間復雜度和空間復雜度決定,準確度的衡量標準為準確率(Precision)、召回率(Recall) 和F1值。 這里需用到的數學公式可寫為:

其中,TP(True Positives)表示在標簽中為正,實際也被分為正類;TN(True Negatives)表示在標簽中為負,實際也被分為負類;FP(False Positives)表示在標簽中為負,實際被分為正類;FN(False Positives)表示在標簽中為正,實際被分為負類。
各方法的準確率、召回率和F1值結果如圖3 ~圖5 所示。 各方法在維度為400 的情況下,基本都取得了最優效果。 由圖3、圖4 可以看出,LDA 主題模型相比傳統的TFIDF 模型在各個維度的準確率上均有5%以上的提升,而與Word2Vec 模型相比,LDA 主題模型在準確率、召回率和F1上都有一定的差距,這也說明了,深度學習在文本分類中的有效性。 另外,本文提出的方法對比效果最好的基線方法Word2Vec 在各維度均有一定的優勢,在K =400的情況下,本文提出的方法在準確率、召回率和F1上分別有著9.46%、5.47%和5.62%的提升。 這也切實說明了缺乏語義信息的TFIDF 模型與Word2Vec模型結合后,2 種模型相輔相成,能夠很好地提升文本表達的效果。 從而證明本文提出的方法在對疫情虛假信息鑒別的準確度上有一定的優勢。

圖3 各方法的準確率Fig.3 The accuracy of each method

圖4 各方法的召回率Fig.4 The recall of each method

圖5 各方法的F1Fig.5 F1 of each method
除此之外,本文選取了傳統的K 鄰近(KNN)和決策樹(DTC)[15]兩種分類算法作為分類器的對比試驗。由上文可知在維度為400 的情況下,各方法相對取得最好的效果,因此選擇S =400 時,各方法在不同分類器下的F1進行對比。
各分類方法在不同分類器上的表現見表1。 由表1 可知,傳統的TFIDF 模型在3 種分類器上表現的差異并不明顯,這與其缺乏語音信息相關;其次可以看出,各模型在SVM 分類器上的總體表現要優于其他2 種分類器,這是由于本文的分類主題較少,對于疫情的相關信息,只能區分其真假,因此分類主題為二,而SVM 模型在面對主題少的數據時具有很好的分類效果;研究同時還發現,本文提出的方法在SVM 隨著訓練數據集的增加SVM 分類器上得到的準確率。 召回率和F1比KNN 分類器下的效果有5.11%、6.81%、4.19%的改進。 與DTC 分類器相比,分別有12.07%、16.97%、12.50%的提升,這是因為DTC 模型更適用于分類主題多的數據,在面對分類主題少的數據時,其表現較為普通。

表1 各分類方法在不同分類器上的表現Tab.1 The performance of each classification method on different classifiers
通過大量的實驗得出本文提出的方法相較于傳統的方法,對虛假信息具有較高的識別率,具體來說在準確率、召回率和F1上均有5%以上的提升,因而具有一定的實用價值。
針對當下虛假信息檢測時常出現的識別度低的問題,本文提出了一種基于Word2Vec 的虛假信息檢測方法。 該方法利用Word2Vec 模型引入傳統向量空間模型不具備的語義特征,同時解決以往向量空間模型特征稀疏的問題。 再針對Word2Vec 模型無法很好地度量文本間的語義相似度的問題,利用TFIDF 模型對Word2Vec 模型進行加權融合,最后再利用SVM 模型優越的二分類能力,以此來區分真假信息。 通過相關實驗得出本文方法對虛假信息辨別有著極高的準確率,具有良好的性能。
在接下來的工作中,因為TFIDF 模型具有很強的表示文本能力,因而還需要做進一步的深入研究。所以考慮利用基于詞向量距離的文本分類方法,例如用EMD 距離度量方式來平衡詞與詞之間的相似度。 后續也將繼續探索效果更精準的疫情虛假信息的檢測方法。