徐藝苗,耿 亮,安 彧
(湖北工業(yè)大學理學院,湖北 武漢 430068)
隨著網上購物消費方式不斷盛行,許多用戶傾向于通過各種電子商務平臺發(fā)表自己的觀點。海量的評論逐漸成為影響電商發(fā)展的重要因素,積極正面的評論信息有助于提升商品的銷量。然而,有些商家為了追求利潤,會雇傭水軍發(fā)布虛假的評論信息來誤導消費者,這些虛假評論會破壞電商市場的秩序,影響其正常發(fā)展。因此識別虛假評論具有了重要的現(xiàn)實意義。
對于虛假評論的識別工作,自2008年Jindal[1]等人提出后,已出現(xiàn)了大量的研究。Jindal 等人通過提取評論的文本特征,商品特征,以及評論者的信息,構建模型來區(qū)分真假評論。Li[2]等人從評論的文本層面進行研究,發(fā)現(xiàn)真實評論在詞性特征上會包含更多的名詞和形容詞,認為可以從詞性角度來識別虛假評論,但是該方法難以識別出刻意編寫的虛假評論。Burgoon[3]等人指出真實評論與虛假評論存在顯著的語言差異,虛假評論者往往避免使用第一人稱代詞,認為可以根據第一人稱代詞的頻率來檢測虛假評論。Ott[4]等人構造一個黃金標準數據集,通過文本的分析工具(LIWC)提取文本特征,利用支持向量機(SVM)進行虛假評論檢測。宋海霞[5]等人通過借助行為特征,提出自適應聚類的虛假評論檢測方法,構建評論的特征聚類矩陣對K 均值算法進行改進,然后通過聚類分析來進行虛假評論識別。Savage[6]等人通過評分行為這一特征構建二項回歸模型,認為評分行為偏離于多數人的評論者是虛假評論者。
先前的工作大多利用評論的評分和文本內容來檢測虛假評論,存在許多不足。首先,沒有考慮到兩者間的一致性問題,即評論評分與評論的文本內容并不一致,僅根據評分不能完全來代表評論者的真實感受;其次,忽略了在不同時間段內評論的不同表現(xiàn)。在某段時間內,評論數量激增或評論整體的評分突然上升或者下降,都可能存在著虛假評論的原因[7]。
針對上述問題,本文首先考慮了時間的爆發(fā)性特征,構建一個基于局部異常因子的時間特征指標;然后將評論特征,評論者特征和時間特征三者結合,構建一個虛假評論檢測模型;最后針對Yelp 數據集的數量不平衡問題,即虛假評論的數量遠小于真實評論的數量,利用集成采樣的方法來改進。
我們從評論特征、評論者特征和時間特征三個層面,選取了共15 個特征指標對虛假評論進行識別,分別從多個維度構建初始指標的集合。
⑴基于局部異常因子的時間特征
虛假評論的出現(xiàn)會導致在某段時間內評論的評分和評論數量出現(xiàn)一些異常的波動,所以可以根據時間窗口內評論的數量和評分均值來對虛假評論進行識別,但如果僅以評論數量作為時間序列的篩選指標不夠合理。圖1顯示了從2005年1月1日到2012年12月30日在Yelp網站上的評論數量,如果僅使用評論數量作為篩選指標,認為時間窗口內大于閾值的評論是可疑的評論,可疑的虛假評論的時間窗口大多都在時間的后半段,顯然是不合理的。而且如果僅對大于閾值時間窗口內的評論進行分析,會導致大量評論數據丟失。圖2 顯示了每一天所有評論的得分均值,其分布也不具有顯著的識別特征。信息熵可以有效的度量系統(tǒng)參數的分布變化情況,情況越混亂,信息熵就越大,因此可以利用這一特點進行虛假評論的識別。
圖1 時間-評論數量圖
圖2 時間-得分均值圖
局部異常因子(LOF)算法,是一種基于距離進行異常檢測的方法。通過比較每個點和其鄰域點的密度來判斷該點是否為異常點。本文利用信息熵,評分均值和評論數三個指標建立一個三維的時間序列,采用局部異常因子算法構建時間特征指標。算法步驟如下。
第1步根據評論發(fā)表的時間順序,按照時間窗口的大小Δt,將評論劃分為k段,第j個時間窗口表示為:
第2步計算在每一個時間窗口內,所有評論樣本的得分均值X1,評論數量X2和信息熵X3。
第3 步利用歐氏距離計算得分均值、評論數量、信息熵三者間的距離:D(p,oi(p))。
第4步計算點p的第K局部可達密度:
同理,計算在K 近鄰領域上點oi(p),(i=1,2,…)的局部可達密度dk(oi(p))。
第5 步根據局部可達密度,計算點p 的第K 局部離群因子LOF值:
指標匯總如表1所示。
表1 特征指標
對于虛假評論的識別,是一個二分類問題,將其劃分為虛假評論和真實評論。本文將主成分分析(PCA)與支持向量機算法結合應用于虛假評論識別中,考慮時間的爆發(fā)性特征,對指標進行特征選擇和分類器訓練,構建一個較為完備的虛假評論識別框架。
算法步驟
第一階段:文本數據的預處理。
采用語料庫清理,去除停用詞,文本分詞,標注詞性,詞頻統(tǒng)計等預處理方法。對數據進行格式化處理,提取評論內容的各項特征,構建評論的特征向量。
第二階段:基于局部異常因子的虛假評論時間特征計算。
根據評論數量,評分,信息熵構建三維時間序列,利用局部異常因子算法得到其LOF 值,構造一個時間特征指標。
設定LOF 的閾值δ,當LOF 值大于δ時,被認為是離群值,即被懷疑為虛假評論。本文設定閾值為1,即當LOF值大于1時我們懷疑該時間窗內的評論為虛假評論,反之則認為是真實評論。然后將被懷疑的評論賦值為1,不被懷疑的評論賦值為0,便于計算。
第三階段:特征提取。
本文選取了共15 項特征指標,由于指標較多,各指標間可能存在著相關關系,為了消除變量間的相關性,使變量的數量最小化,采用主成分分析對原始的指標進行數據降維。
第四階段:虛假評論檢測。
支持向量機算法是一個二分類模型,利用其對虛假評論進行識別。最后對虛假評論識別模型的效果進行評價檢測。算法流程如圖3所示。
圖3 算法流程圖
在本文這種類別不平衡的情況下,一般選用的召回率、精確率不適合作為評價指標。本文選擇AUC值作為評價指標,AUC 值是ROC 曲線與坐標軸圍成的面積大小,取值在0到1之間,通常AUC的值越接近1,則表示分類器效果越好。
對于虛假評論的研究,一個重要的難題就是無法獲得標注數據集,很多研究者常常選擇人工標注的方式來獲取標注數據集,然而,人工標注具有主觀性。本文選取了美國版的大眾點評網站Yelp 評論數據集進行實驗,該網站有自身的檢測系統(tǒng)用于過濾虛假評論,從而得到帶有標注的評論數據集。經過整理,得到實驗數據結果,如表2所示。
表2 實驗數據集
⑴時間特征指標的結果
首先,設置時間窗口的大小為一天,將5854 條Yelp 評論劃分為1931 個時間窗口。有研究者指出[7],當LOF 的值接近1 時,說明點p 的密度與周圍點的密度相差不大;當LOF 的值大于1 時,說明點p 的密度小于其相鄰點的密度,此時可以認為這是一個離群值。因此,將閾值設為1,結果如圖4 所示,其中,被懷疑為是虛假評論的時間窗口有74個,將這些評論的懷疑程度標記為1,其余評論標記為0,然后將窗口還原,最后得到在5854條評論中,懷疑程度為1的評論有255條,懷疑程度為0 的評論有5599 條。被懷疑為假評論的數據分布更均勻,結果較合理。
圖4 LOF局部離群點
⑵主成分分析特征提取
本文采用主成分分析法來消除變量之間的相關性,變量對原始信息的貢獻率排名的結果如圖5所示,到第八個變量時,其單個的方差貢獻率不到0.06,最后選擇保留8個變量,可以保留原始信息的84.04%。
圖5 方差貢獻率圖
為了分析不同特征對結果造成的影響,本文選擇不同的特征,在Yelp 數據集上分別進行對比實驗。將80%的數據集作為訓練數據集,剩下的20%作為測試集合。以AUC為評價指標,實驗結果如表3所示。
表3 實驗結果
由表3 可知,本文融合時間特征的方法在對比實驗中取得了較好的結果,AUC 值達到87.62。在結合時間特征指標之后,能夠更加全面的反映評論的異常情況,從而發(fā)現(xiàn)潛在的虛假評論,對數據集進行虛假評論識別的效果更好。同時在僅選取評論特征或者評論者特征時,如果加上本文所考慮的時間特征指標來識別虛假評論,模型的AUC值也能有效的提高。
本文數據集屬于不平衡數據集,一般采用過采樣或欠采樣方法處理失衡的樣本數據[8]。過采樣是對數據集中的少數類數據進行多次重復采樣,保留多數類數據,從而使得兩個類別數量相當。而欠采樣與之相反。本文對數據集進行采樣處理的對比實驗,具體結果如表4所示。
表4 采樣結果
在過采樣或欠采樣后,模型的分類效果并不好。欠采樣會丟失掉一部分數據的信息,過采樣會導致新樣本與周圍的多數類樣本產生大部分重疊,致使分類困難。
本文嘗試通過集成方法來解決樣本不平衡的問題,即每一次生成訓練集的時候使用分類中的小樣本量,然后從大樣本量中隨機抽取數據來合并構成訓練集,這樣反復多次得到多個訓練集。在數據集均衡的情況下,對比模型的表現(xiàn),實驗結果如表5 所示,可以得到在對數量少的類別進行重新采樣時,模型的性能更好,AUC值達到了88.99。
表5 集成采樣結果
本文通過考慮評論的時間特征,將其與評論特征和評論者的特征相結合,構建一個虛假評論識別模型。利用主成分分析法對數據降維,選取重要特征對虛假評論進行識別。對比現(xiàn)有的研究方法,本研究的方法AUC值更高,識別效果更加顯著。最后利用集成采樣的方法來解決Yelp 數據集中數量不平衡問題。結果表明,集成采樣的方法能有效提高模型的AUC值。后期將引入更多的特征指標,深入分析虛假評論的特征,提高虛假評論識別模型的精度。