陳宇峰
(蘭州大學(xué) 數(shù)學(xué)與統(tǒng)計學(xué)院,甘肅 蘭州 730000)
信息化時代,互聯(lián)網(wǎng)逐漸成為人們獲取信息的重要渠道,出現(xiàn)了大量帶有用戶主觀情感、語義豐富的短文本。面對還未接觸或者不夠了解的服務(wù)與產(chǎn)品,多數(shù)用戶習(xí)慣于通過互聯(lián)網(wǎng)獲取有關(guān)信息,來自互聯(lián)網(wǎng)的評價極大影響著用戶的最終決策與選擇。如用戶在有關(guān)平臺上預(yù)訂酒店時,在其他條件合適的情況下往往會先參考酒店已入住者提供的評論,并根據(jù)評論做出是否預(yù)定該酒店的決定。因為互聯(lián)網(wǎng)評價的這一作用,大量虛假評價也頻繁出現(xiàn)在有關(guān)平臺,而虛假的產(chǎn)品與服務(wù)評論不僅可能誤導(dǎo)消費者的最終決策,還會對商家的信用產(chǎn)生較大影響。因此,高效識別網(wǎng)絡(luò)的虛假評論具有重要的社會意義與經(jīng)濟價值[2]。
在互聯(lián)網(wǎng)上發(fā)布虛假評論成本較低,普通用戶對于虛假評論的識別能力較差,通常很難識別出帶有欺騙性質(zhì)的虛假評論,因此相關(guān)研究大多以虛假評論為實驗研究對象。
虛假評論文本的檢測與識別方法很多,包括無監(jiān)督學(xué)習(xí)、半監(jiān)督學(xué)習(xí)和有監(jiān)督學(xué)習(xí),深度學(xué)習(xí)模型在虛假評論識別研究得到應(yīng)用。深度學(xué)習(xí)模型識別主要分為基于內(nèi)容的虛假評論文本識別與基于文本特征的虛假評論識別兩種。Yan等提出的神經(jīng)網(wǎng)絡(luò)模型對于虛假評論信息檢測的準(zhǔn)確率達(dá)到85%;陶晶晶提出的基于并聯(lián)方式的混合神經(jīng)網(wǎng)絡(luò)識別模型,在對虛假商品評論數(shù)據(jù)檢測中達(dá)到90.3%的準(zhǔn)確率。
本文基于酒店英文評價數(shù)據(jù)集deceptive-opinionspam-corpus,利用Doc2Vec 將文本向量化后作為特征集,結(jié)合TF-IDF 方法,使用CNN-LSTM 模型和遷移學(xué)習(xí)方法,構(gòu)建了一個虛假英文評論分類模型,并在數(shù)據(jù)集deceptiveopinion-spam-corpus 上進行對比實驗。實驗結(jié)果表明,該模型對虛假評論的檢測達(dá)到93.1%的準(zhǔn)確率。
deceptive-opinion-spam-corpus 數(shù)據(jù)集是一個只有1 600 條評價的中小型數(shù)據(jù)集,包括對20 家芝加哥酒店真實和虛假的在線評論。deceptive-opinion-spam-corpus 數(shù)據(jù)集包含800條來自Mechanical Turk的虛假評價和800條來自TripAdvisor 與Expedia 的真實評價,其中正面評價與負(fù)面評價在真實評價與虛假評價中的占比均為1∶1,如圖1所示。
本文對deceptive-opinion-spam-corpus 數(shù)據(jù)集的英文評論文本進行了數(shù)據(jù)預(yù)處理,預(yù)處理后的英文評論文本中不包含任何標(biāo)點符號、特殊字符以及阿拉伯?dāng)?shù)字。
Fig.1 Distribution of dataset data圖1 數(shù)據(jù)集中數(shù)據(jù)的分布
本文使用基準(zhǔn)方法為傳統(tǒng)的Logistic 回歸算法、樸素貝葉斯分類算法以及一種能夠有效檢測虛假文本的卷積神經(jīng)網(wǎng)絡(luò)模型,簡稱CNN1。CNN1 由三層卷積神經(jīng)網(wǎng)絡(luò)組成,每一層卷積神經(jīng)網(wǎng)絡(luò)都包含一層卷積層和最大池化層。Logistic 回歸是一種廣義的線性回歸分析模型,是一種用于解決二分類問題的機器學(xué)習(xí)方法;樸素貝葉斯分類模型是一種快捷簡單的機器學(xué)習(xí)分類算法,常為文本分類問題提供快速粗糙的基本方案,模型的數(shù)學(xué)基礎(chǔ)是貝葉斯定理;卷積神經(jīng)網(wǎng)絡(luò)在很多領(lǐng)域表現(xiàn)優(yōu)秀,可有效提取評論特征并進行識別。
對deceptive-opinion-spam-corpus 數(shù)據(jù)集進行數(shù)據(jù)預(yù)處理后,應(yīng)用上述3 種算法,取訓(xùn)練集與測試集的比例為8∶2,對數(shù)據(jù)集中酒店評論文本的真實性進行檢測并驗證。
最終結(jié)果如圖2 所示。Logistic 回歸算法的準(zhǔn)確率score_1 為84.017 8%;樸素貝葉斯分類模型的準(zhǔn)確率score_2 為79.910 7%;CNN1 的平均準(zhǔn)確率score_3 為78.561 0%。
Fig.2 Experimental results of benchmark method圖2 基準(zhǔn)方法實驗結(jié)果
2.3.1 數(shù)據(jù)預(yù)處理及特征提取
首先對數(shù)據(jù)集deceptive-opinion-spam-corpus 的文本與標(biāo)簽數(shù)據(jù)進行預(yù)處理,再利用doc2vec 對文本數(shù)據(jù)進行特征提取并利用TF-IDF 方法將評論數(shù)據(jù)向量化。
Doc2vec 是基于Word2vec 模型提出的可以保留次序語義的語義模型,該模型在Word2vec 模型基礎(chǔ)上增加了一個段落標(biāo)識。Doc2Vec 能將句子或段落轉(zhuǎn)化為固定長度的向量,且充分考慮了詞序?qū)φZ句或文檔信息的影響,能很好結(jié)合上下文語境,保留語序信息。因此,Doc2vec 常用于處理短文本的自然語言處理問題。TF-IDF 模型是一類應(yīng)用廣泛的加權(quán)技術(shù),經(jīng)常被用來進行信息檢索和數(shù)據(jù)挖掘。TF-IDF 模型的核心思想是,若某個詞匯在文本出現(xiàn)概率較大,而該詞匯在其他文本中出現(xiàn)概率較小,則此詞匯具有更好的類別判別性能和分類泛用性。
數(shù)據(jù)預(yù)處理和特征提取方式如下:①將標(biāo)簽數(shù)據(jù)向量化;②對文本數(shù)據(jù)進行預(yù)處理,包括刪除特殊字符和數(shù)字,將文本中的詞語轉(zhuǎn)化為詞干形式等;③將數(shù)據(jù)集按比例隨機劃分為訓(xùn)練集、測試集和驗證集;④將訓(xùn)練集中的文本數(shù)據(jù)利用doc2vec 方法進行特征提??;⑤利用TF-IDF 模型將數(shù)據(jù)集賦予權(quán)重并向量化。
2.3.2 基于CNN-LSTM 的模型
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)是一種專門用來處理具有類似網(wǎng)絡(luò)結(jié)構(gòu)數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò),其在圖像處理上很優(yōu)秀,不僅運行速度快、效率高,而且準(zhǔn)確率高。其工作原理是首先通過卷積層進行圖像特征提取,然后通過激活函數(shù)層使得特征提取達(dá)到一個非線性效果,從而使特征提取結(jié)果更好。經(jīng)過多層卷積以及多層激活函數(shù)層后,通過池化層對提取出來的特征進行壓縮。最后通過全連接層,對之前提取和處理過的特征進行連接,最終得到屬于各個類別的概率值。而在文本分類領(lǐng)域中,卷積神經(jīng)網(wǎng)絡(luò)可以通過多個不同大小的卷積核實現(xiàn)對輸入文檔內(nèi)容的特征提取。
長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)是對循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)的改進,是為解決一般的RNN 存在的長期依賴問題而專門設(shè)計的。它在RNN 基礎(chǔ)上對Cell 中的運算方式進行了改進,使得神經(jīng)網(wǎng)絡(luò)在訓(xùn)練和推斷過程中具有一定的長時依賴性,不僅無需在學(xué)習(xí)過程中保存冗長的上下文信息,還可有效降低梯度消失的風(fēng)險。因此,LSTM 模型多用于時間序列分析與自然語言處理等研究。
本文使用的CNN-LSTM 模型是將CNN 模型與LSTM 模型等結(jié)合并運用在自然語言處理研究中。CNN-LSTM 模型結(jié)合了CNN 和LSTM 這兩種不同的深度學(xué)習(xí)模型的優(yōu)點,在某些深度學(xué)習(xí)問題中,相比于單獨使用CNN 模型或LSTM 模型能更有效地提高模型的準(zhǔn)確率。
2.3.3 CNN-LSTM 與遷移學(xué)習(xí)模型
卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)訓(xùn)練需要大量的標(biāo)記樣本數(shù)據(jù),但本文的酒店評價樣本規(guī)模不大,因此決定引入遷移學(xué)習(xí)方法,借助已經(jīng)訓(xùn)練好的模型權(quán)重進一步學(xué)習(xí)。
GloVe 是一種無監(jiān)督學(xué)習(xí)算法,用于獲取單詞的向量表示,模型得到的向量表示展示了詞向量空間的線性子結(jié)構(gòu)。GloVe 模型是在一個全局詞—詞共生矩陣的非零項上訓(xùn)練的,該矩陣列出在同一作者給定語料庫中詞與詞共同出現(xiàn)的頻率。GloVe 模型本質(zhì)上是一個帶有加權(quán)最小二乘目標(biāo)的對數(shù)雙線性模型,該模型背后的主要直覺是一個簡單的觀察,即單詞共同出現(xiàn)的概率可能存在某些編碼上的潛在意義,如考慮目標(biāo)詞ice 和steam 與詞匯表中各種探測詞的共現(xiàn)概率。表1 為來自60 億單詞語料庫的一些實際概率。
Table1 Co-occurrence probability of ice and steam表1 ice 與steam 的共現(xiàn)概率
glove.6B.300d 模型利用常規(guī)的GloVe 模型訓(xùn)練得到40 000個常用英文詞向量,每個單詞的對應(yīng)詞向量均為300 維。本文利用GloVe 模型訓(xùn)練得到glove.6B.300d 詞向量,在CNN-LSTM 模型中結(jié)合glove.6B.300d 英文詞向量模型,實現(xiàn)對deceptive-opinion-spam-corpus 數(shù)據(jù)集的遷移學(xué)習(xí)。通過遷移學(xué)習(xí),一方面縮短了模型訓(xùn)練時間,另一方面有效增強了模型的泛化能力。
此外,由于deceptive-opinion-spam-corpus 數(shù)據(jù)集數(shù)據(jù)量較小,在模型構(gòu)建完成后,利用10 折分層交叉驗證對模型進行更加客觀的評估,確保驗證數(shù)據(jù)中每一類數(shù)據(jù)所占比例與原數(shù)據(jù)集中每一類數(shù)據(jù)所占比例相近,以避免極端數(shù)據(jù)選取情況下導(dǎo)致的實驗結(jié)果失真,更加客觀地評估模型對于訓(xùn)練集之外數(shù)據(jù)的匹配程度。
在Window10 環(huán)境下,利用python 作為編程語言,以TensorFlow 作為后端,基于Keras 構(gòu)造CNN-LSTM 模型。此模型共計4 段卷積網(wǎng)絡(luò),每一段卷積網(wǎng)絡(luò)由一層卷積層和一層池化層構(gòu)成。4 層卷積層的卷積核數(shù)分別為128、32、32、32。每層卷積網(wǎng)絡(luò)后均為一個2×2 的最大池化層。為防止模型過擬合,在每層卷積層與池化層后加入?yún)?shù)為0.1~0.3 之間的Dropout 層,以增強模型泛化能力。通過4 段卷積神經(jīng)網(wǎng)絡(luò)后,將結(jié)果輸入雙向LSTM 模型中,最后進入一個全連接層(Dense)。模型結(jié)構(gòu)如圖3 所示。
Fig.3 CNN-LSTM model structure圖3 CNN-LSTM 模型結(jié)構(gòu)
將此CNN-LSTM 模型運用于deceptive-opinion-spamcorpus 數(shù)據(jù)集,訓(xùn)練數(shù)據(jù)與測試數(shù)據(jù)的數(shù)量比為8∶2,損失函數(shù)選取binary crossentropy 函數(shù),激活函數(shù)選取softmax 函數(shù),優(yōu)化方法選取adaptive moment estimation算法。deceptive-opinion-spam-corpus 數(shù)據(jù)集中的英文評論數(shù)據(jù)經(jīng)過處理后得到的形式如圖4 所示。
Fig.4 Example of original data and its corresponding eigenvector圖4 原始數(shù)據(jù)與其對應(yīng)的特征向量示例
經(jīng)過40 輪次迭代訓(xùn)練,模型訓(xùn)練過程的準(zhǔn)確率與損失函數(shù)變化如圖5 所示。由測試集準(zhǔn)確率曲線和測試集損失曲線可以看出,模型在第25 輪迭代訓(xùn)練之后逐漸開始過擬合。最終CNN-LSTM 模型在測試集上得到的最高分類準(zhǔn)確率為86.5%,在訓(xùn)練的第23 輪得到。
Fig.5 CNN-LSTM model training curve圖5 CNN-LSTM 模型訓(xùn)練曲線(彩圖掃OSID 碼可見,下同)
在CNN-LSTM 模型基礎(chǔ)上,利用GloVe 模型訓(xùn)練得到300 維英文詞向量模型glove.6B.300d,將其進行遷移學(xué)習(xí),再在結(jié)合CNN-LSTM 模型在deceptive-opinion-spam-corpus 數(shù)據(jù)集上進行實驗。迭代輪次設(shè)置為40 輪,損失函數(shù)、激活函數(shù)、優(yōu)化方法均與前述模型相同。最后利用10 折分層交叉驗證來對此模型的分類效果進行客觀評估。
CNN-LSTM 與遷移學(xué)習(xí)結(jié)合的模型在測試集上的準(zhǔn)確率變化曲線如圖6 所示。其中兩條實線為10 折分層交叉驗證的驗證準(zhǔn)確率(val_acc)迭代曲線在每一迭代輪次中的最大值(最小值)所連成的曲線,虛線為10 折分層交叉驗證在每一迭代輪次中的驗證準(zhǔn)確率平均值曲線。其中,平均驗證準(zhǔn)確率的最大值為93.1%,在迭代第25 輪時得到。所有訓(xùn)練的最大驗證準(zhǔn)確率為94.9%,在第25 輪K 值為7時取得。
通過實驗得到數(shù)據(jù)見表2。由表2 及上文數(shù)據(jù)可知,在基于酒店英文評論數(shù)據(jù)集deceptive-opinion-spam-corpus的真假評論分類任務(wù)中,本文提出的CNN-LSTM 與遷移學(xué)習(xí)模型有著較好的分類效果。其在deceptive-opinionspam-corpus 數(shù)據(jù)集的平均驗證準(zhǔn)確率可達(dá)93.10%,最高準(zhǔn)確率可達(dá)94.9%,平均準(zhǔn)確率明顯好于其他模型。此外,對于CNN-LSTM 模型進行遷移學(xué)習(xí)后的準(zhǔn)確率提升了約7%。
Fig.6 Model training iteration data圖6 模型訓(xùn)練迭代數(shù)據(jù)
Table 2 Comparison of algorithm experimental results表2 算法實驗結(jié)果對比 (%)
將模型參數(shù)保存,對整個deceptive-opinion-spam-corpus 數(shù)據(jù)集上的評論數(shù)據(jù)進行分類,并隨機提取兩條模型分類錯誤的文本,如圖7 所示,其中(1)為虛假評論、(2)為真實評論。隨機采訪13 名受訪者,在不告知任何信息情況下,僅有4 名受訪者對于(1)與(2)的真實性判斷全部正確。因此,單從文字表達(dá)上普通讀者也難以判斷(1)、(2)兩條評論的真實性。
Fig.7 Original comment of wrong judgment of the model圖7 模型判斷錯誤的評論原文
本文利用酒店英文評論數(shù)據(jù)集deceptive-opinionspam-corpus 作為實驗數(shù)據(jù)集,在傳統(tǒng)的CNN-LSTM 模型上進行改進。利用GloVe 模型的遷移學(xué)習(xí)方法,有效提高了虛假英文評論的識別能力,分類精度最高可達(dá)93%~94%。相比于經(jīng)典的Logistic 回歸算法和樸素貝葉斯分類算法以及CNN1算法,其分類準(zhǔn)確率提升了16.52%~18.50%。由此得出結(jié)論,在虛假文本檢測問題上,采用深度學(xué)習(xí)方法比傳統(tǒng)方法有著更高的準(zhǔn)確率,采用CNN-LSTM 與遷移學(xué)習(xí)相結(jié)合的模型能夠進一步提高檢測準(zhǔn)確率。同時,對于其它類型的英文短文本分類問題也可嘗試使用CNNLSTM 模型并結(jié)合GloVe 模型進行遷移學(xué)習(xí)。但由于互聯(lián)網(wǎng)中短文本資源數(shù)量龐大且內(nèi)容極為復(fù)雜多樣,因此針對該領(lǐng)域的可用數(shù)據(jù)集少。此外,由于深度學(xué)習(xí)模型自身的特性,一般的深度學(xué)習(xí)模型跨領(lǐng)域可移植性差,導(dǎo)致其無法精準(zhǔn)地處理多樣化的任務(wù)與問題。因此,在實際應(yīng)用中,采用遷移學(xué)習(xí)的方法仍存在提升空間,如何將小樣本學(xué)習(xí)和遷移學(xué)習(xí)方法應(yīng)用于短文本情感傾向分析值得后續(xù)進一步探討。