李 慧,王 琢
(沈陽理工大學(xué) 信息科學(xué)與工程學(xué)院,沈陽 110159)
網(wǎng)絡(luò)購物的虛假評論,不僅會誤導(dǎo)消費(fèi)者的購買決策,而且也會擾亂市場競爭秩序,損害其他經(jīng)營者或消費(fèi)者的合法權(quán)益。據(jù)調(diào)查[1],美國網(wǎng)站Yelp上虛假評論的比例已從2006年的5%漲至2013年的20%。
虛假評論問題由Jindal N等[2]在2008年美國紐約網(wǎng)絡(luò)搜索與數(shù)據(jù)挖掘國際會議上首次提出。Ott M等[3]在2011年美國計算機(jī)語言協(xié)會第49屆會議上強(qiáng)調(diào)標(biāo)準(zhǔn)數(shù)據(jù)集的重要性和困難性。
對虛假評論檢測集成學(xué)習(xí)方法,王琢等[4]提出基于有監(jiān)督學(xué)習(xí)的店鋪類虛假評論檢測,抽取店鋪類評論的作弊特征,然后利用機(jī)器學(xué)習(xí)的算法,對店鋪類虛假評論進(jìn)行檢測。張大鵬等[5]提出基于異質(zhì)集成學(xué)習(xí)的虛假評論檢測,通過特征提取,然后結(jié)合多個分類器分類,在此基礎(chǔ)上選取效果較好的模型進(jìn)行集成。由于虛假評論的多樣性,還沒有單一的檢測模型可以檢測出所有的垃圾評論[6],而集成模型的檢測效果往往更好,且在相關(guān)領(lǐng)域的研究非常少。關(guān)于虛假評論檢測,研究人員在手動標(biāo)記參考評論數(shù)據(jù)集時經(jīng)常采用投票的方式,如三名評估人員根據(jù)幾個共同認(rèn)可的證據(jù)為檢測到的可疑評論人貼上標(biāo)簽[7]。另外,大多數(shù)虛假評論檢測算法是通過人工調(diào)節(jié)找出一組最佳參數(shù),從而得到最佳虛假評論排序列表;這種傳統(tǒng)的調(diào)參方式既費(fèi)時又費(fèi)力,而且當(dāng)數(shù)據(jù)集為無標(biāo)簽數(shù)據(jù)集時,無法判斷出哪組參數(shù)得到的排序列表是最佳排序列表。因此本文提出一種基于排序的無監(jiān)督集成方法,利用多個不同的虛假評論排序列表,以投票方式進(jìn)行集成。通過本文提出的集成方法,可以對不同參數(shù)產(chǎn)生的排序列表進(jìn)行集成,得出一個與被集成列表相比最優(yōu)或較優(yōu)的一個排序列表,省去了算法調(diào)參的麻煩。本文的集成方法可以在同一算法不同參數(shù)的排序列表間進(jìn)行集成,也可以在不同算法的排序列表間進(jìn)行集成。
該模型方法是一種基于無監(jiān)督的集成方法,與其它虛假評論檢測集成模型不同的是,本方法通過各個算法的虛假評論排序列表進(jìn)行集成,在集成過程中不需要改變被集成排序列表中項目的排序順序。
1.2.1 集成前準(zhǔn)備
(1)
1.2.2 項目在不同算法中的權(quán)重rij
為準(zhǔn)確估算出項目的排序位置,給每個排序列表中的所有項目都設(shè)置了權(quán)重。當(dāng)一次迭代結(jié)束后,將會得到一個排序列表A*,這里可以用loc*j和locij的位置差做比較,如果|loc*j-locij|越小,說明項目vj在排序列表Ai中的排序位置和在排序列表A*中的排序位置越接近,那么項目vj在Ai中的權(quán)重較大,否則較小。最終,將得到一個N×P的項目權(quán)重矩陣。關(guān)于rij的計算,使用Sigmoid函數(shù)[8];Sigmoid函數(shù)是單調(diào)增函數(shù),且可以將一個實數(shù)映射到(0,1)區(qū)間;因此通過變換Sigmoid函數(shù),使0≤rij≤1,Sigmoid函數(shù)圖像如圖1所示。Sigmoid函數(shù)公式、rij公式分別為
圖1 Sigmoid函數(shù)圖像
(2)
rij=(-2)(1/(1+e-|loc*j-locij|/σ)-1)
(3)
式中σ的取值可以通過|loc*j-locij|(1≤i≤P)的標(biāo)準(zhǔn)差計算。
1.2.3 項目作弊分?jǐn)?shù)的計算方式
第二次迭代后作弊分?jǐn)?shù)scorej計算公式為
(4)
式中:當(dāng)rij=0.5時,項目在A*列表和Ai列表中的權(quán)重一樣;當(dāng)rij>0.5時,項目在A*列表中的權(quán)重小于項目在Ai列表中的權(quán)重;當(dāng)rij<0.5時,項目在A*列表中的權(quán)重大于項目在Ai列表中的權(quán)重。該作弊分?jǐn)?shù)分值越小說明項目的作弊概率越大。
根據(jù)項目的作弊分?jǐn)?shù)scorej,重新對項目進(jìn)行排序,得出新的排序列表A*,然后不斷調(diào)整項目權(quán)重rij,更新A*和scorej,進(jìn)行迭代直至收斂,停止迭代。
1.2.4 收斂條件(滿足任一條件,迭代終止)
(1)當(dāng)t+1次迭代和t次迭代的rij間的最大差小于閾值時,終止迭代。本實驗中閾值eps設(shè)置為10-6,計算公式為
(5)
(2)當(dāng)A*趨于穩(wěn)定,迭代終止。計算公式為
(6)
(3)迭代次數(shù)大于預(yù)定的次數(shù),終止迭代。
算法過程如表1所示。
表1 算法過程
8:A?= A;9:iter=1;10:while(iter 本文在兩個有標(biāo)注的數(shù)據(jù)集(YelpNYC和YelpZip)上分別做了2個實驗,數(shù)據(jù)集信息如表2所示。 表2 數(shù)據(jù)集信息 實驗1,用一個算法生成的虛假評論排序列表進(jìn)行集成。該實驗選擇使用ColluEagle模型[9]。ColluEagle分為ALL先驗和NT先驗,分別對不同先驗使用不同的最小相似度參數(shù)δ,得出對應(yīng)的排序列表。實驗1用到了由ColluEagle模型生成的排序列表,共8個。 實驗2,用不同算法生成的虛假評論排序列表進(jìn)行集成。該實驗選擇使用ColluEagle、SpEagle[10]模型生成的排序列表及根據(jù)ColluEagle中的ALL先驗生成的排序列表和NT先驗生成的排序列表。實驗2用到了由所有模型生成的排序列表,共5個。 根據(jù)排序列表中前3000項目數(shù)的歸一化折損累計增益(Normalized Discounted Cumulative Gain,NDCG)衡量和評價搜索結(jié)果算法。對實驗1和實驗2用到的所有排序列表進(jìn)行人工評估,并做性能排名。排序列表如表3所示。 表3 排序列表說明 圖2 YelpZip數(shù)據(jù)集(實驗1) 圖3 YelpNYC數(shù)據(jù)集(實驗1) 圖4 YelpZip數(shù)據(jù)集(實驗2) 圖5 YelpNYC數(shù)據(jù)集(實驗2) 通過實驗可知,在沒有標(biāo)注數(shù)據(jù)的情況下,本集成算法會以較大概率得到較為理想的排序結(jié)果。 針對虛假評論檢測缺乏有標(biāo)注數(shù)據(jù)集問題,本文提出了一種基于無監(jiān)督的多個排序列表的集成方法。實驗證明,通過排序列表進(jìn)行無監(jiān)督集成的方法有效,但由于一些因素(每個被集成排序列表中的項目(評論/評論人)不一致數(shù)過多、每個被集成排序列表的排序質(zhì)量差異問題、選取參與集成的項目數(shù)等)可能會對最終結(jié)果產(chǎn)生影響。期待將來能夠進(jìn)一步解決這些問題。3 實驗結(jié)果評估
3.1 數(shù)據(jù)準(zhǔn)備
3.2 實驗及性能評估
4 結(jié)束語