吳 敏,何 瓏
(1.福州大學(xué) 數(shù)學(xué)與計算機(jī)學(xué)院,福建 福州350108;2.福州大學(xué) 信息化建設(shè)辦公室,福建 福州350108)
近幾年,隨著互聯(lián)網(wǎng)的發(fā)展,人們越來越喜歡在網(wǎng)絡(luò)上表達(dá)自己的觀點(diǎn)。他們可以在購買商品的同時在各大商業(yè)網(wǎng)站、論壇以及博客發(fā)表評論。這些觀點(diǎn)信息對其他潛在用戶至關(guān)重要。
由于網(wǎng)絡(luò)的開放性,人們可以在網(wǎng)站上任意書寫評論,這導(dǎo)致評論的質(zhì)量低下,甚至產(chǎn)生垃圾評論,即由一些用戶蓄意發(fā)表的不切實際、不真實的、有欺騙性質(zhì)的評論,其目的是為了提升或者詆毀某一產(chǎn)品或某一類產(chǎn)品的聲譽(yù),從而誤導(dǎo)潛在消費(fèi)者,或者干擾評論意見挖掘和情感分析系統(tǒng)的分析結(jié)果[1]。正面評論可以提高產(chǎn)品銷售額,還可以提高公司的名聲,負(fù)面評論則可以詆毀競爭對手。這就為垃圾評論發(fā)表者提供了足夠的動機(jī)。2007年,JINDAL N和Liu Bing首次對垃圾評論檢測進(jìn)行相關(guān)研究[1-2]。
目前,在線觀點(diǎn)的分析已經(jīng)成為一個熱門的研究主題。然而,現(xiàn)有工作主要集中在利用自然語言處理和數(shù)據(jù)挖掘技術(shù)來抽取和總結(jié)評論觀點(diǎn)[3-4],對評論的特征以及評論者的行為研究較少,而這些卻是觀點(diǎn)挖掘的必要前提。
目前的研究工作中已經(jīng)取得了很多成果,JINDAL N等[1-2]將垃圾評論分為三類:欺騙性的評論(Untruthful Opinion);不相關(guān)的評論(Reviews on Brands Only);非評論信息(Non-Reviews)。之后,他們收集了評論文本、評論發(fā)表者和產(chǎn)品3個方面共36個特征,采用人工標(biāo)記訓(xùn)練集的方法,應(yīng)用Logistic回歸建立機(jī)器學(xué)習(xí)模型來識別第二類和第三類垃圾評論;對于第一類垃圾評論,則通過識別重復(fù)性的評論,將重復(fù)性評論作為正向的訓(xùn)練集建立機(jī)器學(xué)習(xí)模型來識別。此方法取得了不錯的效果,但使用的特征過多,不僅增加了計算量,而且可能使得模型不夠穩(wěn)定。因此,本文利用重復(fù)評論建立模型,提出對特征進(jìn)行顯著性檢驗,以獲取的顯著性特征建立更加穩(wěn)定的回歸模型。實驗結(jié)果表明,新模型不僅有效地減少了計算量,而且效果優(yōu)于所有特征建立的模型。
在JINDAL N和Liu Bing的工作中,他們將垃圾評論分為三類,本文主要致力于檢測第一類垃圾評論,即欺騙性的評論(Untruthful Opinion)。
2.1.1 檢測重復(fù)評論
對于第二和第三類垃圾評論,可以通過評論內(nèi)容來識別。然而,僅僅通過人工閱讀一個評論來判別它是否具有欺騙性是極其困難的,這是由于垃圾評論發(fā)表者可以通過仔細(xì)偽裝使評論看起來和其他正常評論一樣。
因此,本文利用JINDAL N等[2]提出的以下3種重復(fù)評論(包括近似重復(fù))來檢測第一類垃圾評論:(1)不同用戶對同一產(chǎn)品發(fā)表的重復(fù)評論;(2)相同用戶對不同產(chǎn)品發(fā)表的重復(fù)評論;(3)不同用戶對不同產(chǎn)品發(fā)表的重復(fù)評論。
同一用戶對同一產(chǎn)品的重復(fù)評論,有可能是因為用戶多次點(diǎn)擊提交造成的,也有可能是用戶為了修改之前的評論。為此,只保留同一用戶對同一產(chǎn)品的最新評論。
重復(fù)和近似重復(fù)評論的識別使用的是Shingle Method[5]。首先,對所有評論建立2-Gram語言模型,然后對兩個評論 A、B計算相似值 J(A,B),公式如下:
當(dāng)兩個評論的相似度在90%以上時,把它們當(dāng)作重復(fù)評論。
2.1.2 模型的建立
本文使用R統(tǒng)計軟件來建立邏輯回歸模型,并將AUC(Area under ROC Curve)作為分類結(jié)果的評價指標(biāo)。AUC是一個用于評價機(jī)器學(xué)習(xí)模型質(zhì)量的標(biāo)準(zhǔn)指標(biāo)。
為了建立模型,需要構(gòu)建訓(xùn)練數(shù)據(jù),為此,本文使用了JINDAL N和Liu Bing總結(jié)的特征來表示評論,具體特征見參考文獻(xiàn)[4]。其中本文對部分特征的處理可能與他們的方法存在差異:對于特征 F10、F11,本文中的這些詞來自知網(wǎng)(Hownet)提供的最新情感詞詞典,與JINDAL N等的詞典不同;特征F26的評論數(shù)少于3不予判斷,當(dāng)做0。
根據(jù)樣本得到的Logistic回歸模型需要經(jīng)過檢驗才能說明影響因素對事件發(fā)生的影響是否具有統(tǒng)計學(xué)意義。特別是當(dāng)影響因素比較多時,需挑選出與事件發(fā)生確實有關(guān)或關(guān)系更密切的影響因素,以建立更加穩(wěn)定的回歸模型。
比如早先有文章分析:“目前我國公民文化素質(zhì)還不很高的情況下,還有相當(dāng)數(shù)量的讀者停留在較低、較淺的閱讀層次,他們多從事體力和半腦力勞動,知識與技術(shù)含量較低,他們讀不懂專業(yè)學(xué)術(shù)文獻(xiàn),高雅的藝術(shù)作品又欣賞不了,因此他們到圖書館的目的就在于休閑娛樂?!蹦敲粗R水平低的人閱讀就是淺閱讀,這顯然行不通[1]。
對邏輯回歸模型:
檢驗?zāi)P椭凶宰兞縓j是否與反應(yīng)變量顯著相關(guān)。
假設(shè)檢驗:
拒絕H0則表示事件發(fā)生的可能性依賴于Xj的變化。
假設(shè)檢驗主要有 Wald檢驗(Wald Test)、似然比檢驗 (Likelihood Ratio Test)和 計 分 檢 驗 (Score Test)等 方法,對回歸系數(shù)進(jìn)行顯著性檢驗時,通常使用Wald檢驗,可通過將統(tǒng)計量取平方得到,其公式為:
這個單變量Wald統(tǒng)計量服從自由度等于1的χ2分布。其中,Z統(tǒng)計量其實就是某個自變量所對應(yīng)的回歸系數(shù)與其標(biāo)準(zhǔn)誤差的比,即:
在大樣本情況下,可以直接用Z檢驗來作為個別自變量參數(shù)估計的統(tǒng)計檢驗。在本文中,通過Wald檢驗的方法計算特征的顯著性。
表1 Amazon數(shù)據(jù)集
Amazon網(wǎng)站的每個評論由 8部分組成:Product ID;Reviewer ID、Rating、Date、Review Title、Review Body、Number of Helpful Feedbacks和 Number of Feedbacks。
本文利用R軟件對上文提到的36個特征逐一進(jìn)行Wald檢驗,以篩選出有顯著意義的特征,篩選部分結(jié)果如表2所示。其中,Intercept為回歸模型的截距;Estimate代表每個特征對應(yīng)的系數(shù)值 βj;Std.Error為對應(yīng)特征的標(biāo)準(zhǔn) 誤差 seβj;z value 為 Z 統(tǒng)計量 βj/seβj;Pr(>|z|)即 為 接受原假設(shè) βj=0 的概率。 顯著性規(guī)則:0<′***′<0.001<′**′<0.01<′*′<0.05<′.′<0.1<′′<1, 即′***′特 征 最 顯著,之后逐級遞減。
以上顯著性特征中,′***′和′**′顯著性特征主要為F13~F16以及 F24~F30,即文本特征和評論者特征,這說明評論文本內(nèi)容和評論者行為在識別重復(fù)評論中發(fā)揮了重要作用。
表2 顯著性檢驗結(jié)果
本文通過建立分類模型檢測第一類垃圾評論,由于人工標(biāo)記訓(xùn)練集是比較困難的,而在2.1.1節(jié)中提到的三種類型重復(fù)評論幾乎可以確定為垃圾評論。因此,本文將所有重復(fù)評論歸為正類,其他剩下的評論歸為負(fù)類,以此來建立模型。同時,使用十倍交叉驗證來獲得實驗結(jié)果,針對不同特征集合的實驗結(jié)果如表3所示。
表3 使用不同特征構(gòu)建的邏輯回歸模型AUC值
從實驗結(jié)果可以看出:
(1)使用所有特征AUC為83.8%,考慮到負(fù)類樣本中的許多非重復(fù)評論也有可能是垃圾評論,該AUC值已經(jīng)相當(dāng)高了。
(2)除去 feedbacks之外的特征 AUC值為 83.7%,證明feedbacks在垃圾評論檢測中作用不明顯。
(3)單獨(dú)文本特征的AUC值只有70.1%,說明不能單獨(dú)使用文本特征進(jìn)行垃圾評論的識別。
(4)‘***’特征 AUC值為 82.2%,比所有特征只差1.6%,而‘***’特征和‘**’特征 AUC 值最高,甚至高于所有特征的AUC值達(dá)到84.7%。
綜上所述,本文提出的以顯著性特征構(gòu)建的模型更加穩(wěn)定,不僅減少了計算量,而且能夠達(dá)到和所有特征同樣的效果。
當(dāng)然,利用重復(fù)和非重復(fù)評論建立邏輯回歸模型不只是為了檢測重復(fù)評論,因為重復(fù)垃圾評論的識別可以通過簡單的內(nèi)容比較檢測到(見2.1.1節(jié)),本文真正的目的是用該模型來識別第一類型垃圾評論中的非重復(fù)評論。上述實驗結(jié)果證明了模型可預(yù)測重復(fù)評論,為了進(jìn)一步確認(rèn)它的可預(yù)測性,需要證明它也可以預(yù)測那些非重復(fù)的垃圾評論。
為此,本文將通過人工檢測查看許多排名很高的非重復(fù)評論是否是真正的垃圾評論。首先,對負(fù)類測試樣本(非重復(fù))按照概率進(jìn)行排列;然后,對排名較高的評論進(jìn)行人工標(biāo)注,看它們是否為垃圾評論。人工標(biāo)注采用投票的方式來完成。實驗結(jié)果如表4所示,其中第二行為應(yīng)用所有特征的負(fù)類樣本排列后檢測的結(jié)果,第三行為應(yīng)用‘***’特征和‘**’特征的結(jié)果??梢钥闯鍪褂盟刑卣饕约啊?**’特征和‘**’特征能夠識別的垃圾評論數(shù)量都較少,這是由于許多有經(jīng)驗的垃圾評論者能夠很好地掩飾他們的行為,使判別變得異常困難。但實驗結(jié)果表明,本文提出的方法是有效的,可以應(yīng)用更少的顯著性特征來識別產(chǎn)品垃圾評論。
表4 負(fù)類樣本中排名靠前的產(chǎn)品垃圾評論
以過多的產(chǎn)品評論特征建立的邏輯回歸模型存在模型不穩(wěn)定和計算量大的問題。對特征進(jìn)行顯著性檢驗?zāi)苡行Ы鉀Q該問題。本文對JINDAL N等人提出的方法進(jìn)行研究,并分析了存在的問題,提出利用更為合理的顯著性特征建立模型,從而提高了模型質(zhì)量。新的模型更加穩(wěn)定,使得計算量大大減少。實驗通過亞馬遜數(shù)據(jù)集,驗證了本文方法的有效性。未來的工作將致力于通過混合各種算法和分類器來提高算法精度。
[1]JINDAL N,Liu Bing.Review spam detection[C].Proceedings of the 16th International Conference on World Wide Web,2007:1189-1190.
[2]JINDAL N,Liu Bing.Opinion spam and analysis[C].Proceedings of the International Conference on Web Search and Web data mining,2008:219-230.
[3]HU M,Liu Bing.Mining and summarizing customer reviews[C].Proceedings of the 10th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.2004:168-177.
[4]PANG Bo,LILLIAN L E.Opinion mining and sentiment analysis[J].Foundations and Trends in Information Retrieval.2008,2(1-2):1-135.
[5]BRODER A Z.On the resemblance and containment of documents[C].Proceedings of the Compression and Complexity of Sequences.1997:21-29.