尹春勇,朱宇航
(南京信息工程大學(xué)計(jì)算機(jī)與軟件學(xué)院,南京210044)
隨著電子商務(wù)和社交網(wǎng)站等網(wǎng)絡(luò)平臺(tái)的興起和快速發(fā)展,越來越多的用戶頻繁地在這些平臺(tái)上進(jìn)行瀏覽、社交、購物等網(wǎng)絡(luò)行為,并且為了分享各自的體驗(yàn)和觀點(diǎn),用戶發(fā)布了大量的評(píng)論來展現(xiàn)自己[1]。在其他用戶瀏覽文章或商品等發(fā)布的信息時(shí),評(píng)論具有相當(dāng)大程度的導(dǎo)向作用。有些用戶僅僅根據(jù)發(fā)布信息下面的評(píng)論決定自己的觀點(diǎn),而忽略了關(guān)注發(fā)布的信息本身,這在電子商務(wù)中尤為可見。
在網(wǎng)絡(luò)購物時(shí),由于商品實(shí)體與購買者分離,店家給出的信息并不完全可信,而他人的評(píng)論代表著其購買商品后的實(shí)際使用體驗(yàn),購買者通過閱讀這些商品評(píng)論可間接獲取所買商品的體驗(yàn)信息,以此來判斷商品是否值得購買。然而,隨著商品評(píng)論越來越能決定用戶的購買決策,以及網(wǎng)絡(luò)平臺(tái)缺乏可信評(píng)論的篩選機(jī)制,虛假評(píng)論也就應(yīng)運(yùn)而生。虛假評(píng)論是指評(píng)論者為獲取某些利益發(fā)布不符合客觀真實(shí)經(jīng)歷的評(píng)論,而且這些評(píng)論對(duì)于商品有極端情感的傾向(比如過分吹捧或過分詆毀)。電子商務(wù)網(wǎng)站中的虛假評(píng)論日趨増多,這不僅會(huì)給消費(fèi)者傳遞錯(cuò)誤信息,降低用戶體驗(yàn);同時(shí)也容易給商家造成不必要的經(jīng)濟(jì)損失。而識(shí)別出虛假評(píng)論并采取相應(yīng)的措施處理會(huì)提升評(píng)論的整體可信度,指導(dǎo)消費(fèi)者做出正確的購買決策[2]。由此可見,有效識(shí)別電子商務(wù)網(wǎng)站中的虛假評(píng)論已成為一項(xiàng)急需解決的任務(wù)。
2008 年,Jindal 等[3]首次提出了虛假評(píng)論檢測這一問題,指出由于虛假評(píng)論的高度混淆性導(dǎo)致其檢測尤其困難。Jindal等[4]在分析了亞馬遜網(wǎng)站的評(píng)論之后,總結(jié)出了最有可能是虛假評(píng)論的三原則,并以此來標(biāo)注評(píng)論。最初的虛假評(píng)論檢測是利用詞袋特征和詞性特征來對(duì)評(píng)論進(jìn)行語法上的分析[5-6],并且在某些數(shù)據(jù)集上取得了良好的效果。然而,文獻(xiàn)[7]中的研究表明,使用情感等文本特征來區(qū)分虛假評(píng)論的效果并不顯著,因?yàn)樵诠室鈧卧斓脑u(píng)論中,這些評(píng)論的文本特征并不能明顯識(shí)別虛假評(píng)論。在測試時(shí)增加評(píng)論者的特征,檢測效果可能會(huì)得到一些提升。隨后,虛假評(píng)論檢測添加了評(píng)論者、評(píng)論者群體的特征[8-11],從用戶方面來識(shí)別虛假評(píng)論。除了特征提取部分之外,訓(xùn)練算法對(duì)檢測效果也有很大影響。虛假評(píng)論檢測可以被視為文本分類中的一個(gè)二分類問題,將評(píng)論分類為虛假評(píng)論和真實(shí)評(píng)論。用于虛假評(píng)論檢測的分類算法包括貝葉斯分類、決策樹分類、支持向量機(jī)(Support Vector Machine,SVM)分類和隨機(jī)森林[12-17],其原理是在訓(xùn)練集中學(xué)習(xí)一個(gè)目標(biāo)函數(shù),該函數(shù)將每個(gè)樣本矢量映射到預(yù)定義的類型標(biāo)簽。聚類算法是將相似的評(píng)論分到一個(gè)類中,并且不同的類之間的差異盡可能大[18]。神經(jīng)網(wǎng)絡(luò)也因深度學(xué)習(xí)的興起而逐漸應(yīng)用于文本分類中,利用反向傳播來修正輸入層傳遞到輸出層的結(jié)果與預(yù)期結(jié)果不一致的錯(cuò)誤[19-21],實(shí)現(xiàn)實(shí)際輸出值與預(yù)期輸出值之間的統(tǒng)一。神經(jīng)網(wǎng)絡(luò)的不足之處是在訓(xùn)練階段時(shí)需要提供大量的文本和相關(guān)類別信息,以此來保證訓(xùn)練的準(zhǔn)確度。
目前,虛假評(píng)論檢測雖然有了快速的發(fā)展,但也面臨著諸多技術(shù)上和非技術(shù)上的難題和挑戰(zhàn)[22-24]。虛假評(píng)論檢測技術(shù)面臨的挑戰(zhàn)主要體現(xiàn)在以下兩個(gè)方面:1)大規(guī)模有準(zhǔn)確標(biāo)記的樣本難以獲??;2)人工選取的特征難以完全表示文本語義。
因此,針對(duì)面向標(biāo)記樣本規(guī)模受限的虛假評(píng)論檢測問題,半監(jiān)督學(xué)習(xí)利用帶有標(biāo)簽的未標(biāo)記樣本來增強(qiáng)分類效果,因此它是解決標(biāo)記樣本過少的一個(gè)有效方法。其代表性算法有協(xié)同訓(xùn)練、PU 學(xué)習(xí)(Positive Unlabeled learning,PU learning)等[25-27]。協(xié)同訓(xùn)練要求數(shù)據(jù)具有兩個(gè)足夠冗余且滿足條件獨(dú)立性的視圖,同時(shí)兩個(gè)視圖對(duì)于類別標(biāo)記是獨(dú)立的。協(xié)同訓(xùn)練被應(yīng)用在社交網(wǎng)絡(luò)小規(guī)模標(biāo)記樣本中的虛假評(píng)論檢測[28]。評(píng)論文本特征、評(píng)論者特征和評(píng)論對(duì)象特征構(gòu)成三個(gè)視圖,虛假評(píng)論檢測可依據(jù)其中的兩個(gè)視圖進(jìn)行協(xié)同訓(xùn)練。在文獻(xiàn)[29]中,模型首先訓(xùn)練具有少量標(biāo)記數(shù)據(jù)的原始分類器,然后在社交圖形傳播中建立信任和不受信任的順序,并選擇由分類器判斷的可信用戶和其排序評(píng)分為新的訓(xùn)練數(shù)據(jù),然后重新訓(xùn)練分類器,檢測效果比常規(guī)的協(xié)同算法更好。Gilad 等[30]提出了一種基于垂直集成的Co-training(Vertical Ensemble Cotraining,VECT)算法,利用保存協(xié)同訓(xùn)練算法各個(gè)迭代過程中的分類器權(quán)重共同標(biāo)記樣例,并在最后全部集成到最終分類器中,以此來解決標(biāo)記數(shù)量過小的識(shí)別問題,在多個(gè)文本分類數(shù)據(jù)集上的檢測效果都優(yōu)于傳統(tǒng)Co-training算法。
為解決虛假評(píng)論檢測中由于樣本標(biāo)記過少而影響檢測效果的問題,本文提出了一個(gè)基于垂直集成Tri-training(Vertical Ensemble Tri-training,VETT)的虛假評(píng)論檢測模型,該模型主要是結(jié)合評(píng)論文本特征和評(píng)論者的行為特征這兩種特種作為特征提取,而后通過VETT 算法來分類評(píng)論。在初始樣本中標(biāo)記樣本過少時(shí),VETT 算法過程利用Tri-training 以往迭代的分類器模型先訓(xùn)練各自在這輪迭代的3 個(gè)分類器模型,然后通過標(biāo)記樣本選擇置信度較高的樣本數(shù)據(jù)來修正3 個(gè)分類器權(quán)重,以此來提高標(biāo)簽標(biāo)記的準(zhǔn)確率。
如圖1 所示,面向標(biāo)記規(guī)模過小的一般虛假評(píng)論檢測模型分為特征提取和半監(jiān)督學(xué)習(xí)兩個(gè)部分。特征提取主要是從原始數(shù)據(jù)中獲取能夠檢測出虛假評(píng)論的特征,這些特征主要是經(jīng)過分詞處理后的文本特征,而評(píng)論者特征、評(píng)論對(duì)象特征可以有選擇地加入。其中評(píng)論文本特征是評(píng)論內(nèi)容中所蘊(yùn)含的信息,而評(píng)論者的特征為評(píng)論發(fā)布者的一些行為特征和其自身信息。評(píng)論對(duì)象特征指那些評(píng)論的主題,比如商品和事件內(nèi)容。而在檢測方法中主要是通過利用半監(jiān)督學(xué)習(xí)算法來區(qū)分真假評(píng)論。
圖1 面向標(biāo)記規(guī)模過小的虛假評(píng)論檢測模型Fig. 1 Fake review detection model for small labeling scale
電子商務(wù)中的虛假評(píng)論檢測常用的特征有商品評(píng)論特征、用戶行為特征和商品信息特征三類[31-37]。
1.1.1 商品評(píng)論特征
如表1 所示,商品評(píng)論特征是評(píng)論文本信息間接或直接計(jì)算而得來的屬性值,主要包括情感極性、評(píng)級(jí)矛盾、一致性、人稱比例、評(píng)論文本長度、商品評(píng)論文本相似度、歷史評(píng)論文本相似度等。
表1 評(píng)論文本特征Tab. 1 Review text characteristics
情感極性表達(dá)主觀信息,如人們的意見、立場和情感,反映人們的情感趨勢。情感極性分為積極情感極性和消極情感極性。與正常評(píng)論相比,虛假評(píng)論往往具有異常的情緒表達(dá),即過分贊美和惡意詆毀。情感極性的計(jì)算方法通常通過文本中的情感詞數(shù)量的加減來實(shí)現(xiàn)。
1)評(píng)分偏離性SD(Score Deviation)。此特征表示了某條評(píng)論的評(píng)分與商品整體評(píng)分的偏差程度。在電子商務(wù)中,用戶給商品的評(píng)分包含商品評(píng)分f1、物流評(píng)分f2和服務(wù)評(píng)分f3三種,同時(shí)商家店鋪也有這三種整體的平均評(píng)分ft。SD越大,表明評(píng)論者給出的評(píng)分與整體評(píng)分的距離越遠(yuǎn),評(píng)分與其他評(píng)論者的評(píng)分趨勢越偏離,評(píng)論越有可能是虛假評(píng)論;相反地,SD值越小,給出的評(píng)分越符合其他評(píng)論者的平均打分習(xí)慣,評(píng)論也趨于真實(shí)性。計(jì)算公式如式(1)所示:
2)一致性CES(Consistency of Emotional bias and Score)。此特征指評(píng)論文本的情感偏向EB(Emotional Bias)與評(píng)論所得評(píng)分以及平均評(píng)分S的偏差程度,兩者偏差越小,評(píng)論與評(píng)分一致性就越高,評(píng)論越可能是真實(shí)的。計(jì)算公式如式(2)所示:
3)人稱比例PR(Person Ratio)。此特征指評(píng)論文本中出現(xiàn)“我”第一人稱的次數(shù)與出現(xiàn)諸如“你”“它”“他”等人稱的次數(shù)的比值。虛假評(píng)論發(fā)布者通常喜歡使用第一人稱來偽造評(píng)論,以此來增強(qiáng)評(píng)論的代入感,迷惑消費(fèi)者的判斷。計(jì)算公式如式(3)所示:
其中:f_n表示第一人稱的出現(xiàn)次數(shù),o_n表示其他人稱出現(xiàn)的次數(shù),分母加1是為了避免分母為零。
4)評(píng)論文本長度。即評(píng)論文本字符數(shù),它計(jì)算的是評(píng)論文本中的字符數(shù),但不包括標(biāo)點(diǎn)符號(hào)。
5)商品評(píng)論文本相似度PRS(Similarity of Product Reviews)和歷史評(píng)論文本相似度HRS(Similarity of Historical Reviews)。也就是說,當(dāng)前評(píng)論類似于當(dāng)前商品的所有評(píng)論或評(píng)論者的所有歷史評(píng)論的文本的相關(guān)程度。文本的相似性越大,表明評(píng)論越有可能是通過復(fù)制或部分修改形成的虛假評(píng)論。PRS和HRS的計(jì)算公式如式(4)和(5)所示:
其中:p_r是評(píng)論商品的所有評(píng)論;h_r是當(dāng)前評(píng)論者的所有歷史評(píng)論;r是當(dāng)前評(píng)論;l是當(dāng)前評(píng)論的長度;sim()函數(shù)是相似度計(jì)算函數(shù),可用余弦相似度來計(jì)算。
1.1.2 用戶行為特征
此類特征包括評(píng)論者的個(gè)人信息和在此平臺(tái)發(fā)布評(píng)論的一系列網(wǎng)絡(luò)行為等。由于虛假評(píng)論者試圖模仿真實(shí)評(píng)論的描述來干擾檢測結(jié)果,用戶的行為特征從側(cè)面能反映出虛假評(píng)論者的異常行為,能在一定程度上識(shí)別評(píng)論的真假。這類特征主要包括評(píng)論頻率、用戶信譽(yù)級(jí)別、個(gè)人信息完整度、評(píng)級(jí)標(biāo)準(zhǔn)偏差、不同產(chǎn)品的評(píng)分差異等,如表2所示。
表2 評(píng)論者行為特征Tab. 2 User behavior characteristics
1)評(píng)論頻率。指評(píng)論者在一個(gè)時(shí)間單位中發(fā)布的評(píng)論數(shù)量。評(píng)論者發(fā)表評(píng)論的頻率越大,評(píng)論者就越有可能是水軍。
2)用戶信譽(yù)級(jí)別。其他用戶接受該用戶的評(píng)論越多,可信度越高,真實(shí)程度越高。
3)評(píng)論者個(gè)人信息的完整性。評(píng)論者個(gè)人信息越完整,他就越有可能是真實(shí)用戶,而個(gè)人信息太少的用戶更有可能是虛假評(píng)論發(fā)布者。畢竟,個(gè)人信息越完善,發(fā)布者的真實(shí)信息就越能確定。
4)評(píng)論者的標(biāo)準(zhǔn)偏差。評(píng)論員用于給商品打分的歷史評(píng)分以計(jì)算標(biāo)準(zhǔn)偏差。虛假評(píng)論者給商品的評(píng)分很極端,標(biāo)準(zhǔn)偏差過大;普通用戶的歷史評(píng)分相對(duì)穩(wěn)定,因此標(biāo)準(zhǔn)差相對(duì)較小。
5)不同產(chǎn)品評(píng)論的評(píng)分差異。普通用戶給出的分?jǐn)?shù)往往波動(dòng)很小,而虛假評(píng)論者的分?jǐn)?shù)通常比較極端,無論是高分還是低分,都形成了兩級(jí)分化趨勢。
1.1.3 商品特征
這類特征包括該商品的評(píng)論數(shù)、平均評(píng)分、商品信息等,通常與上述兩類特征有緊密的聯(lián)系,故不單獨(dú)使用。
半監(jiān)督學(xué)習(xí)主要是有效地利用少量標(biāo)記數(shù)據(jù)和大量無標(biāo)記數(shù)據(jù)來訓(xùn)練分類器。Blum 等[38]提出了一個(gè)由兩個(gè)分類器協(xié)同工作的Co-training 協(xié)同算法。它使用兩個(gè)分類器協(xié)同訓(xùn)練標(biāo)記數(shù)據(jù),由某個(gè)分類器訓(xùn)練的標(biāo)記數(shù)據(jù)添加到另一個(gè)分類器的標(biāo)記數(shù)據(jù)集中,以此訓(xùn)練這個(gè)分類器,并重復(fù)這個(gè)過程直至兩分類器再無區(qū)別。Co-training算法必須滿足這一假設(shè):數(shù)據(jù)屬性具有兩個(gè)充分冗余的視圖。但一般來說,數(shù)據(jù)難以滿足具有兩個(gè)充分冗余視圖的要求。不過研究者提出了一種Tri-training 算法[39],它不需要完全冗余的視圖或不同的分類算法,而是通過在原始數(shù)據(jù)集中利用隨機(jī)采樣bootstrap 方法來獲取3 個(gè)數(shù)據(jù)子集,并且訓(xùn)練出3 個(gè)分類器,就可以確保分類器之間的差異。Tri-training使用3個(gè)分類器,以便通過簡單的投票規(guī)則確定可被信任的標(biāo)記數(shù)據(jù)。詳細(xì)情況是:對(duì)于未標(biāo)記數(shù)據(jù)x,如果Ci和Cj對(duì)于x的標(biāo)記是相同的,那么就把x及其標(biāo)記y加入到Ck(k≠i,j)的標(biāo)記訓(xùn)練數(shù)據(jù)集中。
由于簡單投票將噪聲引入了第三分類器,因此在Tritraining 算法中增加了一種控制條件,以確保噪聲環(huán)境中分類誤差率的收斂??紤]學(xué)習(xí)數(shù)據(jù)集錯(cuò)誤率ω與訓(xùn)練數(shù)據(jù)集容量m的數(shù)據(jù)噪聲速率之間的關(guān)系如式(6)所示:
其中:c為一個(gè)常量。
如果要確保ωt<ωt-1(t為迭代次數(shù)),則在訓(xùn)練期間必須滿足式(7):
其中:Lt表示在第t次迭代期間前兩個(gè)分類器要添加到第三個(gè)分類器的標(biāo)記數(shù)據(jù);τt是Lt的標(biāo)記錯(cuò)誤率;σL是L上的噪聲數(shù)據(jù)程度。
很顯然|Lt|>|Lt-1|,那么通過進(jìn)一步細(xì)化獲得的約束如式(8)所示:
因此τt<τt-1而且|Lt|> |Lt-1|。為了確保式(8)為真,有時(shí)需要提取Lt的子集作為新添加的標(biāo)記集。
針對(duì)標(biāo)記樣本比未標(biāo)記樣本小得多的情況,本文提出一種基于VETT 的虛假評(píng)論檢測模型,具體的模型示意圖如圖2所示。首先,模型需要對(duì)原始數(shù)據(jù)進(jìn)行預(yù)處理,主要過程是整理原始數(shù)據(jù)集并刪除不符合實(shí)驗(yàn)的數(shù)據(jù)。然后通過特征提取獲得目標(biāo)數(shù)據(jù)集。目標(biāo)數(shù)據(jù)集可以視為特征屬性數(shù)據(jù)集,這對(duì)于訓(xùn)練的分類器和后續(xù)檢測非常有用。在此步驟中,數(shù)據(jù)集中的評(píng)論文本和用戶屬性將在數(shù)字上進(jìn)一步量化,以滿足測試的需要。在特征工程過程中,該模型采用用戶行為特征和評(píng)論文本功能的混合特征作為目標(biāo)數(shù)據(jù)集的屬性集。最后,通過VETT 算法對(duì)目標(biāo)數(shù)據(jù)集進(jìn)行訓(xùn)練,以檢測評(píng)論中的虛假評(píng)論。
圖2 基于VETT的虛假評(píng)論檢測模型Fig. 2 Fake review detection model based on VETT
在特征工程中,比較正常用戶和虛假評(píng)論發(fā)布者的評(píng)論數(shù)據(jù),不難發(fā)現(xiàn)這種情況:作為正常用戶,在決定要購買產(chǎn)品時(shí),必然會(huì)在電商平臺(tái)中搜索產(chǎn)品,平臺(tái)會(huì)給出關(guān)于該產(chǎn)品銷售的相關(guān)信息(如價(jià)格、銷售來源),用戶瀏覽這些相關(guān)產(chǎn)品(如品牌或性能),然后比較這些不同來源的相似產(chǎn)品,最后做出購買決策,發(fā)布自己的意見;相反,虛假評(píng)論者并無此購物前的商品比較過程,只是在下單購買時(shí)與正常用戶相同,但多數(shù)不會(huì)瀏覽其他相似的產(chǎn)品,否則會(huì)增加成本。因此,用戶瀏覽某種產(chǎn)品及其同類產(chǎn)品的歷史記錄是一項(xiàng)重要的特征。
針對(duì)這種情況,本文提出一種新的用戶行為特征——商品瀏覽度,并給出了其計(jì)算方法。商品瀏覽度定義為:在發(fā)布商品評(píng)論之前的一段時(shí)間內(nèi),用戶瀏覽類似商品的歷史記錄與之前查看關(guān)于該產(chǎn)品所有歷史記錄的比值。在發(fā)布真實(shí)的商品評(píng)論之前,用戶不可避免地會(huì)瀏覽其他與該商品類似的產(chǎn)品,因此用戶的商品的歷史瀏覽記錄尤為重要。商品瀏覽度PBR(Product Browsing Relevance)計(jì)算公式如下:
其中:T 表示在特定時(shí)間段內(nèi)購買商品前的天數(shù),Ni表示與第i 天瀏覽類似商品的瀏覽記錄數(shù),Mi表示在第i 天瀏覽購買商品的記錄數(shù)。由于用戶在電商平臺(tái)上只要購買成功,瀏覽該商品的歷史記錄必然存在一次,因此分母不存在零值。PBR值越大,越有可能是真實(shí)評(píng)論;反之,PBR 值越小就越有可能是虛假評(píng)論。
Tri-training 存在兩個(gè)缺點(diǎn):第一個(gè)缺點(diǎn)是標(biāo)記樣本集中添加太多未標(biāo)記的樣本可能會(huì)嚴(yán)重影響性能。產(chǎn)生這種情況的原因有錯(cuò)誤標(biāo)記的樣本、標(biāo)記樣本集訓(xùn)練的分類器之間差異不大、分類模型造成少量樣本過于穩(wěn)定等。第二個(gè)缺點(diǎn)是,Tri-training 訓(xùn)練過程中生成的最終分類模型不會(huì)以任何方式來利用迭代過程中創(chuàng)建的各種分類器所代表的知識(shí)。這之所以成為一個(gè)問題,不僅是因?yàn)榉诸惼鞯鷷r(shí)丟失的信息依然具有可用性,還因?yàn)檫@些模型是作為Tri-training 訓(xùn)練過程的一部分生成的,使用它們沒有額外的成本。
因此,本文提出一種基于垂直集成的改進(jìn)Tri-training 算法(VETT)。該方法認(rèn)為,Tri-training 迭代過程生成的模型仍然具有有用的檢測性能,即使迭代更新的模型標(biāo)記錯(cuò)誤,以前的迭代模型也可以糾正錯(cuò)誤標(biāo)記。在傳統(tǒng)的Tri-training 迭代過程中,3個(gè)分類器只要其中2個(gè)分類器標(biāo)記一個(gè)數(shù)據(jù)為相同標(biāo)簽,就將其交予第三個(gè)分類器的訓(xùn)練集中,即不考慮第三個(gè)分類器對(duì)于該數(shù)據(jù)的標(biāo)記情況,這樣便會(huì)導(dǎo)致未標(biāo)記數(shù)據(jù)被錯(cuò)誤標(biāo)記的情況。Tri-training 的迭代過程更像一種集成器,標(biāo)注樣例服從少數(shù)服從多數(shù)的策略。而分類器的差異性越大,標(biāo)注樣例的準(zhǔn)確度就越大。所以參與集成的各種分類模型需要提供關(guān)于數(shù)據(jù)集實(shí)例的標(biāo)簽的不同置信水平。文獻(xiàn)[30]中,研究者發(fā)現(xiàn)連續(xù)迭代的分類器精度有顯著的波動(dòng),即迭代的模型之間具有差異性;而且選擇額外實(shí)例的不同策略對(duì)Co-training 算法的性能有顯著的影響。尤其對(duì)于決策樹這樣的分類器來說,這些變化更為顯著,決策樹利用特征的層次順序,每個(gè)屬性具有特定的分割點(diǎn)。以此類推,在Tri-training算法中,3 個(gè)分類器模型在數(shù)次迭代后,各自的精度都會(huì)逐步提高,這就與其在迭代過程中生成的迭代模型有了差異性。如果在3 個(gè)分類器迭代前,分類器首先與其以往迭代的分類器模型確定自己分類可信度最高的樣例,可以減少分類器之間的噪聲干擾,減少錯(cuò)誤標(biāo)記。因此,本文提出利用以往迭代的模型來減少Tri-training迭代過程中產(chǎn)生的錯(cuò)誤標(biāo)記。
如圖3 所示,在Tri-training 訓(xùn)練的迭代過程中,先訓(xùn)練初始的3個(gè)分類器,而后先用傳統(tǒng)的Tri-training訓(xùn)練并保存各個(gè)分類器迭代中的分類器權(quán)重。這一步是先產(chǎn)生一個(gè)分類器的以往迭代模型,為之后利用分類器與其歷史迭代模型之間的多樣性來確定自身訓(xùn)練集高信任度的樣例作準(zhǔn)備。3 個(gè)分類器的歷史分類模型各自至少需要3 個(gè)(奇數(shù)個(gè)并且少數(shù)服從多數(shù)),這樣才能判定自身訓(xùn)練集的樣例標(biāo)簽。
圖3 VETT算法的流程Fig. 3 Flowchart of VETT algorithm
然后是本文的垂直集成策略,主要分為兩步:組內(nèi)垂直集成和組間水平集成。組內(nèi)集成是分類器Mi先由其之前的迭代模型訓(xùn)練集成而成(即將之前的迭代模型一起作為一個(gè)組訓(xùn)練,即等效于一個(gè)小型集成分類器),圖3 中Ai是將之前的三次迭代模型在其訓(xùn)練集TA上訓(xùn)練集成。在某個(gè)迭代過程中,一個(gè)分類器的3 個(gè)往上迭代的歷史分類模型通過在這個(gè)分類器的訓(xùn)練集上尋找到一致確認(rèn)的高信任樣例,將其標(biāo)注后放入到訓(xùn)練集中,并且交由上一次迭代模型訓(xùn)練成此次迭代的分類器。
組間集成是對(duì)于組內(nèi)集成后的3 個(gè)分類器對(duì)未標(biāo)記的數(shù)據(jù)進(jìn)行標(biāo)注,在兩個(gè)分類器標(biāo)注一致的樣例放置到第3 個(gè)分類器的訓(xùn)練集中,然后3 個(gè)分類器在自身的訓(xùn)練集中依次訓(xùn)練,得到本次迭代的最終分類器,保存更新這3 個(gè)分類器權(quán)重。最后在迭代完之后,集成為一個(gè)最終分類器。
具體的VETT算法如下:
輸入L(標(biāo)記集),U(未標(biāo)記集),n(迭代次數(shù)),AI(迭代選擇的索引),V(驗(yàn)證集)。
輸出ET(擴(kuò)展訓(xùn)練集),M(最終分類器)。
初始化ET=L,AI= 0。
第一步 在L上利用bootstrap 抽樣方法選出3 個(gè)初始訓(xùn)練集Tj(j=A,B,C),并通過分類算法I訓(xùn)練得到3個(gè)初始分類器A0、B0、C0。
第二步 如果i<n或者U≠?時(shí),繼續(xù)第三步,否則跳至第七步。
第三步 如果i<4時(shí),跳至第五步,否則繼續(xù)第四步。
第四步 若i≥ 4,Si(S=A,B,C)由其以往迭代過程的3個(gè)分類器Si-3、Si-2、Si-1在訓(xùn)練集Tj上集成而得,Si-3、Si-2、Si-1標(biāo)注U中的數(shù)據(jù),將3 個(gè)分類器都標(biāo)注相同的樣本數(shù)據(jù){x,y}(x為數(shù)據(jù),y為標(biāo)簽)訓(xùn)練集Tj中,同時(shí)將U中標(biāo)記的最可靠數(shù)據(jù){x,y}添加到ET中,在新的訓(xùn)練集Tj中訓(xùn)練得到分類器Si。
第五步Ai、Bi、Ci標(biāo)注U中的數(shù)據(jù),將其中兩個(gè)分類器標(biāo)注相同的樣本數(shù)據(jù){x,y}放置到第3 個(gè)分類器的訓(xùn)練集Tj中,同時(shí)將未標(biāo)記集U中3 個(gè)分類器標(biāo)記的最可靠數(shù)據(jù){x,y}添加到ET中(更新U和ET)。
第六步 在新的訓(xùn)練集Tj中訓(xùn)練得到3 個(gè)分類器Ai、Bi、Ci,保存其分類器權(quán)重,集成分類器M,并在V上驗(yàn)證性能Vi,如果Vi<Vi-1,則意味著此次的分類性能比上一次迭代中的分類性能差,把它還原到上一次的訓(xùn)練迭代中(即AI的值減去1),跳出至第七步;否則,AI值加1,轉(zhuǎn)回第二步。
第七步 結(jié)束訓(xùn)練。
本文算法只是在傳統(tǒng)的Tri-training 算法迭代過程中加入了分類器以往迭代過程中的分類模型,利用連續(xù)迭代過程中分類器與其迭代模型所產(chǎn)生的差異性來解決3 個(gè)分類器之間的噪聲干擾。從算法的空間復(fù)雜度來看,VETT 除了Tritraining 的空間開銷外,由于要保存分類器之前迭代的分類模型,需要占用額外的存儲(chǔ)空間來保存這些分類權(quán)重。不過這個(gè)開銷是固定的,因?yàn)槊看蔚?,算法只保存此次迭代的最終分類器權(quán)重,同時(shí)更新之前該分類器往上的四組迭代權(quán)重。相當(dāng)于一個(gè)數(shù)組包含5 個(gè)元素,每次迭代完,所有元素的位置前移一位,將此次迭代的最終結(jié)果放置在第5個(gè)位置。3個(gè)分類器就相當(dāng)于3 個(gè)數(shù)組。因此,這個(gè)空間開銷是固定的,即為O(1)。算法的空間復(fù)雜度來看,額外的時(shí)間開銷主要是在一個(gè)分類器的以往迭代模型做集成標(biāo)注時(shí)產(chǎn)生的。該分類器的權(quán)重首先由上一次的分類模型通過本次迭代最近以往3 次的迭代模型獲取置信度最佳的樣例訓(xùn)練得到,即迭代過程中分類器的權(quán)重計(jì)算總共有兩次;而傳統(tǒng)的Tri-training 只有一次,就是在3 個(gè)分類器之間標(biāo)注的時(shí)候。因此VETT 的算法開銷為O(T(ET) +T(HT)),其中T(ET)表示迭代模型集成標(biāo)注的代價(jià),T(HT)是指經(jīng)典的Tri-training 在其迭代過程中的代價(jià)。由于每次迭代時(shí),分類器都會(huì)對(duì)所有未標(biāo)注的數(shù)據(jù)進(jìn)行一個(gè)標(biāo)記,還有一個(gè)置信度的值。如果保存每個(gè)分類器的前p個(gè)置信度較高的正例和q個(gè)置信度比較高的反例,那么無疑T(ET)的開銷就會(huì)大幅度減少??梢蕴砑右粋€(gè)固定的緩存池來存儲(chǔ)迭代過程的分類模型所對(duì)應(yīng)的前p+q個(gè)置信度較高的未標(biāo)記數(shù)據(jù)的標(biāo)注情況,這樣能減少迭代模型再次計(jì)算標(biāo)注情況的時(shí)間。
實(shí)驗(yàn)中使用的數(shù)據(jù)集包括黃金數(shù)據(jù)集[40]和Amazon 商品數(shù)據(jù)集[41],以及美國點(diǎn)評(píng)網(wǎng)站Yelp 上收集到的兩個(gè)數(shù)據(jù)集YelpChi和YelpNYC[42]。
Li 等[40]使用眾包平臺(tái)獲取評(píng)論數(shù)據(jù)集,數(shù)據(jù)集中的評(píng)論來自于芝加哥地區(qū)的酒店評(píng)論。他們收集了400 條被定義為正面和積極的虛假評(píng)論,以及從登錄網(wǎng)站收集和處理的400條真實(shí)評(píng)論。這些評(píng)論共800條。
Amazon 數(shù)據(jù)集包含580萬條評(píng)論、214萬用戶和670萬個(gè)產(chǎn)品,涉及3個(gè)領(lǐng)域的書籍、音樂DVD和工業(yè)產(chǎn)品。數(shù)據(jù)的標(biāo)簽采用基于規(guī)則標(biāo)注的方法來標(biāo)記,其優(yōu)點(diǎn)是基于規(guī)則標(biāo)注的方法不依賴于人工,標(biāo)記的成本低,很容易獲得大量的標(biāo)簽數(shù)據(jù),不足之處是會(huì)包含一定的噪聲。表3 顯示了Amazon 數(shù)據(jù)集的特定屬性。
表3 Amazon數(shù)據(jù)集的數(shù)據(jù)格式Tab. 3 Data formats of Amazon dataset
在點(diǎn)評(píng)網(wǎng)站Yelp 上收集到的兩個(gè)數(shù)據(jù)集都是關(guān)于餐館和酒店服務(wù)的用戶評(píng)論。YelpChi 數(shù)據(jù)集是在美國芝加哥收集的部分餐館和酒店評(píng)論,包含67 395條評(píng)論,其中虛假評(píng)論有8 916 條;YelpNYC 數(shù)據(jù)集是紐約地區(qū)的餐館評(píng)論,總計(jì)359 052條評(píng)論,包括36 875條虛假評(píng)論。
為了全面衡量本文方法的有效性,基于精度和召回率兩個(gè)指標(biāo),將F1 值作為度量虛假評(píng)論檢測性能的最終評(píng)價(jià)指標(biāo)。精度P(Precision)、召回率R(Recall)和F1值(F1-Score)的公式如下所示:
其中:TP指正確識(shí)別的虛假評(píng)論數(shù)量,F(xiàn)P為錯(cuò)誤標(biāo)識(shí)為真實(shí)評(píng)論的虛假評(píng)論數(shù),TN作為檢測正確的真實(shí)評(píng)論數(shù)量,F(xiàn)N指的是被誤認(rèn)為是虛假評(píng)論的真實(shí)評(píng)論數(shù)量。
對(duì)于每個(gè)數(shù)據(jù)集,20%用作測試數(shù)據(jù),80%用作訓(xùn)練數(shù)據(jù)。實(shí)驗(yàn)中未標(biāo)記的樣本數(shù)據(jù)占整體的比率設(shè)置為60%,特征的選擇為混合特征(評(píng)論文本特征和用戶行為特征)。針對(duì)黃金數(shù)據(jù)集中數(shù)據(jù)量太小的情況,實(shí)驗(yàn)使用10 折交叉驗(yàn)證方法。對(duì)于Amazon 數(shù)據(jù)集和Yelp 兩個(gè)數(shù)據(jù)集,隨機(jī)抽取40%作為標(biāo)注數(shù)據(jù),并進(jìn)行了10 次實(shí)驗(yàn)。與本文算法比較的檢測方法包括傳統(tǒng)的 Co-training、Tri-training、基于 AUC(Area Under Curve,AUC)優(yōu)化的 PU-learning(PU learning based on AUC,PU-AUC)[43]和 VECT[30]。表 4 是不同方法的虛假評(píng)論檢測效果對(duì)比。
表4 黃金數(shù)據(jù)集和Amazon數(shù)據(jù)集上不同算法的性能對(duì)比 單位:%Tab. 4 Performance comparison of different algorithms on gold and Amazon datasets unit:%
從表4 中可以看出,在黃金數(shù)據(jù)集中,每種算法的檢測效果都遠(yuǎn)遠(yuǎn)高于Amazon數(shù)據(jù)集中的檢測性能,產(chǎn)生這種情況的原因是真實(shí)環(huán)境中的評(píng)論更為復(fù)雜,遠(yuǎn)非簡單地能被人為區(qū)分。本文的VETT算法在黃金數(shù)據(jù)集上的檢測性能指標(biāo)F1值比傳統(tǒng)的 Co-training、Tri-training 的 F1 值分別高了 3.97 個(gè)百分點(diǎn)和 3.29 個(gè)百分點(diǎn),同時(shí)也比 PU-AUC、VECT 算法的 F1 值分別提高了2.51、2.49 個(gè)百分點(diǎn)。而在Amazon 數(shù)據(jù)集中,本文的VETT 算法的F1值更是分別比Co-training、VECT 的F1值提高了大約6.5、4.2 個(gè)百分點(diǎn)。而在表5 中,本文的VETT 算法在YelpChi 和YelpNYC 數(shù)據(jù)集的性能最優(yōu)。在YelpChi 中,VETT 分別比 Co-training、Tri-training、PU-AUC、VECT 提高了4.94、3.83、2.17、1.83 個(gè)百分點(diǎn);而在 YelpNYC 中,VETT 也比其他四個(gè)算法分別高了4.72、3.48、1.62和1.45個(gè)百分點(diǎn)。這說明了本文提出的基于VETT 的虛假評(píng)論檢測模型在標(biāo)注規(guī)模受限的情況下依然有較好的分類性能。
表5 Yelp數(shù)據(jù)集上不同算法的性能比較 單位:%Tab. 5 Performance comparison of different algorithms on Yelp datasets unit:%
為了驗(yàn)證第2 章模型中特征提?。ㄔu(píng)論文本特征和用戶行為特征)的有效性,本文在Amazon 數(shù)據(jù)集中比較了基于VETT 的虛假評(píng)論檢測模型在不同特征情況下的分類效果。在此實(shí)驗(yàn)中,未標(biāo)記的標(biāo)注數(shù)據(jù)的比例設(shè)置為60%,并選擇單一的評(píng)論文本特征、單一的用戶行為特征以及兩者的混合特征這三種情況,以此來作對(duì)比實(shí)驗(yàn),觀察算法在不同特征下的分類性能,實(shí)驗(yàn)結(jié)果如表6 所示。從表6 可以看出,使用混合特征的算法的F1 值最高,表明本文選擇的混合特征是有效的。
為了驗(yàn)證本文算法在少量的標(biāo)注數(shù)據(jù)中可以獲得更好的檢測結(jié)果,在Amazon數(shù)據(jù)集上進(jìn)行了標(biāo)注率對(duì)于算法效果影響的實(shí)驗(yàn),將訓(xùn)練集中的標(biāo)記樣本數(shù)量從10%依次增加到20%、40%、60%和80%。實(shí)驗(yàn)結(jié)果如圖4 所示,當(dāng)標(biāo)記樣本的比例從10%增加到60%時(shí),盡管前3 個(gè)標(biāo)注率中虛假評(píng)論檢測到的F1 值不同,但總體趨勢是增加的,并且標(biāo)記樣本的比例也在增加。當(dāng)標(biāo)注數(shù)量較大時(shí),F(xiàn)1 值趨于穩(wěn)定。因此,從實(shí)驗(yàn)結(jié)果可以看出,相較于VECT 和Co-training 算法,本文的VETT 算法可以在少量標(biāo)記樣本的條件下獲得更好的識(shí)別結(jié)果,即可在大大減少標(biāo)注量的同時(shí)獲得更好的檢測效果。
表6 Amazon數(shù)據(jù)集上不同特征下本文算法的F1值 單位:%Tab. 6 F1-Score of the proposed algorithm under different characteristics on Amazon dataset unit:%
圖4 Amazon數(shù)據(jù)集上不同標(biāo)注數(shù)據(jù)比例下四種算法的F1值Fig. 4 F1-Score of four algorithms under different proportions of labeled data on Amazon dataset
高質(zhì)量的標(biāo)記數(shù)據(jù)對(duì)于虛假評(píng)論的分類至關(guān)重要,但是,在許多情況下,標(biāo)記數(shù)據(jù)的數(shù)量比未標(biāo)記的數(shù)據(jù)要少得多,因?yàn)闃?biāo)記樣本可能既昂貴又耗時(shí),因此采用半監(jiān)督學(xué)習(xí)來利用未標(biāo)記的數(shù)據(jù)和少量標(biāo)記數(shù)據(jù)進(jìn)行訓(xùn)練是非常有效的。
本文提出一種基于垂直集成Tri-training(VETT)的虛假評(píng)論檢測模型,結(jié)合評(píng)論文本特征和用戶行為特征,采用VETT來訓(xùn)練分類器,以此檢測虛假評(píng)論。實(shí)驗(yàn)結(jié)果表明Tritraining 迭代過程生成的分類器模型仍然具有一定可用的檢測性能。由于此算法重用訓(xùn)練迭代中的分類器,計(jì)算成本較低。此外該方法結(jié)合了大量的分類模型,對(duì)分類性能有了實(shí)質(zhì)性的改進(jìn),并且使結(jié)果更平滑、可靠。
不過本文算法也還存在一些不足:首先對(duì)于虛假評(píng)論的特征依然是人工設(shè)計(jì)的,這并不能更為全面地表示一個(gè)評(píng)論,針對(duì)這一方面,未來會(huì)對(duì)評(píng)論文本的特征做進(jìn)一步的研究,從而能夠從詞向量上深層地表示文本的語義;其次是迭代停止問題,訓(xùn)練迭代過程依然是人工設(shè)置,雖有驗(yàn)證集驗(yàn)證最佳效果,但這無疑加大了訓(xùn)練時(shí)間和成本,所以當(dāng)分類效果最佳時(shí)迭代自動(dòng)停止是一個(gè)很好的解決方向,加入強(qiáng)化學(xué)習(xí)是一個(gè)不錯(cuò)的方法;最后是實(shí)驗(yàn)的數(shù)據(jù)集在訓(xùn)練前會(huì)有噪聲,以及訓(xùn)練時(shí)依然會(huì)有錯(cuò)誤標(biāo)注,考慮到噪聲過濾機(jī)制的問題,以后會(huì)對(duì)樣本的抗干擾方面做進(jìn)一步的研究。