張怡睿宸,李云峰,顧旭陽,紀(jì)淑娟
(1.山東科技大學(xué)山東省智慧礦山信息技術(shù)重點實驗室,山東 青島 266590;2.中國銀保監(jiān)會衡水監(jiān)管分局,河北 衡水 053000)
在過去的十幾年里,隨著互聯(lián)網(wǎng)的飛速發(fā)展,網(wǎng)絡(luò)購物也變得越來越普遍。人們在購買商品或服務(wù)之前都會先瀏覽一下商品或服務(wù)的相關(guān)評論。如果多為積極評論,則消費者會購買該商品;如果多為消極評論,則消費者購買該商品的機率會大大降低[1]。正是因為積極的評論會給商家?guī)砀蟮睦麧橻1],因此很多商家會雇傭水軍群組給自己刷好評或者給競爭對手刷差評。商家的這種造假行為誤導(dǎo)了消費者,嚴(yán)重擾亂了市場秩序,因此越來越多的研究人員關(guān)注虛假信息檢測問題。
現(xiàn)有少部分共謀群組檢測算法使用監(jiān)督學(xué)習(xí)方法實現(xiàn)。然而,因為手工標(biāo)簽在現(xiàn)實生活中獲取困難、需要花費大量時間,且適用的領(lǐng)域比較單一,因此,現(xiàn)有研究方法大多基于無監(jiān)督方法。已有無監(jiān)督方法可以根據(jù)生成候選群組方式不同分為基于頻繁項挖掘FIM(Frequent Item Mining)的方法[2 - 4]和基于圖的方法[5 - 8]?;陬l繁項挖掘產(chǎn)生候選群組的典型研究主要有:Mukherjee等人[2]利用FIM產(chǎn)生候選群組后提出了GSRank(Group-Spam Rank)算法;Xu等人[3]通過FIM得到候選群組后使用基于改進KNN的方法判定虛假群組?;趫D方法產(chǎn)生候選群組的研究主要有:Ye等人[8]提出2-Hop子圖,用GroupStrainer方法判定共謀群組;Xu等人[4]提出CG(Colluder Graph)圖來檢測共謀群組;Wang等人[9]提出了基于二部圖投影的虛假評論人候選群組的生成算法,以產(chǎn)生候選群組,然后結(jié)合群組指標(biāo)判斷是否為造假群組?,F(xiàn)有虛假群組檢測研究中,有的只使用行為指標(biāo)來檢測群組,而忽略了網(wǎng)絡(luò)結(jié)構(gòu)中成員之間的聯(lián)系,有的只使用網(wǎng)絡(luò)結(jié)構(gòu)來檢測群組,而忽略了群組特征、個體特征和語言特征帶來的群組可疑問題。怎樣將評論者的行為指標(biāo)和評論者之間的拓?fù)浣Y(jié)構(gòu)更好地結(jié)合起來檢測虛假群組,以提高檢測準(zhǔn)確度,是目前的主要挑戰(zhàn)。據(jù)本文調(diào)研發(fā)現(xiàn),只有文獻[9]同時使用了網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和行為模式來判斷群組造假。然而,該工作還存在一個問題,即直接通過計算群組結(jié)構(gòu)特征和行為特征的指標(biāo)得分來判斷是否為造假群組,而沒有進行更準(zhǔn)確的結(jié)構(gòu)推理,這使得檢測的準(zhǔn)確度不是很高。
針對上述群組研究中的問題和挑戰(zhàn),本文提出了一種融合行為特征與結(jié)構(gòu)特征的虛假群組檢測算法。該算法包含2部分:第1部分首先利用頻繁項挖掘方法產(chǎn)生候選群組,然后基于行為指標(biāo)計算群組中每個成員協(xié)同造假可疑度,將該可疑度看作先驗概率;第2部分首先給每個群組建立加權(quán)評論者-商品二部圖,然后使用循環(huán)信念傳播算法LBP(Loopy Belief Propagation)來進行后驗概率的推理,將推理后得到的后驗概率值作為該成員的最終協(xié)同造假可疑度,最后用熵值法判斷每個群組是否為共謀群組。
對比已有共謀群組檢測算法,本文工作有如下創(chuàng)新:(1)在用行為指標(biāo)計算協(xié)同造假可疑度時,所選指標(biāo)體現(xiàn)的是群組成員的共謀性特征,考慮了群組成員之間的聯(lián)系。(2)給出一種帶權(quán)二部圖的構(gòu)建方法,并將LBP算法應(yīng)用于帶權(quán)重的二部圖上進行推理,使得計算的協(xié)同造假可疑度更準(zhǔn)確。(3)使用香農(nóng)熵判斷每個群組中所有成員的協(xié)同造假可疑度的混亂度,自動為群組標(biāo)注標(biāo)簽。
根據(jù)檢測對象的不同,現(xiàn)有關(guān)于虛假信息檢測的研究可分為以下3類:虛假評論文本檢測、虛假評論者檢測、虛假評論群組檢測[10]。虛假評論文本檢測主要針對評論的文本信息進行分類和過濾。該問題最早是由Jindal等人[11]于2008年提出的。他們將虛假評論分為3種類型,即虛假評論、品牌評論和無關(guān)評論。他們給出了一種監(jiān)督學(xué)習(xí)方法來判斷某一評論是否為虛假評論。Ott等人[12]通過結(jié)合評論的語言特征和研究心理學(xué)時用的一些特征來對評論文本進行分類,從而檢測虛假評論。
虛假評論者的檢測研究可以分為基于行為特征的檢測方法和基于關(guān)系特征(圖)的檢測方法2大類。Lim等人[13]根據(jù)評論者評分的行為特征來檢測虛假評論者。Bondielli等人[14]通過調(diào)研和總結(jié)前人的文獻寫了一篇關(guān)于虛假新聞和可疑評論者的綜述。Wang等人[15]給出了一種基于評論者、評論和商店構(gòu)成的評論圖的方法來計算評論者的可信度。Akoglu等人[16]提出了一種檢測虛假評論者的FraudEagle框架。該框架首先基于評論者和商品建立二部圖,然后分析評論者對商品的情感,最后使用信念傳播方法檢測虛假評論者。Rayana等人[17]在FraudEagle框架的基礎(chǔ)上提出了SPEagle框架。該框架首先用評論、評論者和商品3種類型的節(jié)點建立網(wǎng)絡(luò)結(jié)構(gòu),然后同時利用網(wǎng)絡(luò)結(jié)構(gòu)特征和元數(shù)據(jù)特征來識別造假者。
最近兩年,對虛假群組的研究越來越多[3,6,8,9]。這是因為大量有組織、有策略的虛假評論和評價者對電子商務(wù)信譽評價系統(tǒng)和推薦系統(tǒng)的攻擊效果比單個的虛假評論和評價者更明顯。然而,虛假群組的檢測與過濾面臨著一個普遍公認(rèn)的挑戰(zhàn),即帶標(biāo)簽的共謀群組數(shù)據(jù)集很難獲取。因此,現(xiàn)有研究大都是運用無監(jiān)督的方法來判斷挖掘出的群組是否為共謀組。根據(jù)產(chǎn)生候選群組的方式不同,可將現(xiàn)有的無監(jiān)督算法分為2類:一類基于頻繁項挖掘來產(chǎn)生候選群組,另一類基于圖的方法來產(chǎn)生候選群組。
Mukherjee等人[2]最先提出基于頻繁項挖掘FIM的方法來產(chǎn)生候選群組。他們描述的共謀群組是一群說假話的人通過合作來共同造假,換句話說,這些造假者一起為多件商品寫多條虛假評論。為了檢測出共謀群組,他們首先使用頻繁項挖掘生成候選群組,約定群組中的任意2個人至少共同評論過3件商品;然后,給出了一個排序模型(稱為GSRank算法),根據(jù)群組、商品、評論者之間的關(guān)系建立模型,計算群組可疑得分;最后,根據(jù)群組可疑得分排序來判斷群組是否為共謀群組。很多研究者擴展了Mukherjee等人的工作,他們也使用FIM方法生成候選群組,然后使用其他的方法來判定共謀群組。例如,Xu等人[4]用FIM來產(chǎn)生候選群組,使用文本特征和評論者的特征計算評論者之間的相似度,然后用改進的KNN算法預(yù)測單個評論者為造假者或非造假者,并將其標(biāo)注為造假者或非造假者。然而,這些評論者必須來自至少一個FIM產(chǎn)生的候選作弊群組。再如,Xu等人[3]用頻繁項挖掘的方法產(chǎn)生候選群組后還提出了使用統(tǒng)計學(xué)模型和EM(Expectation Maximum)算法進行虛假群組的檢測。這些算法通過使用更多的特征和方法來判斷群組共謀,提高了算法的準(zhǔn)確度。但是,這些算法依然存在將偶然購買者錯誤地劃入造假群組和忽略群組成員之間的網(wǎng)絡(luò)結(jié)構(gòu)等問題。
基于圖的虛假群組識別方法一般根據(jù)評論者或者評論和商品的關(guān)系建立一個網(wǎng)絡(luò)圖,然后基于得到的圖使用各種算法檢測共謀群組。例如,Ye等人[8]使用群組網(wǎng)絡(luò)結(jié)構(gòu)來研究虛假群組檢測。他們基于2-Hop 子圖發(fā)現(xiàn)評論者作為群組成員的反常行為并運用層次聚類方法GroupStrainer 檢測虛假評論群組。在構(gòu)建群組網(wǎng)絡(luò)結(jié)構(gòu)時使用了節(jié)點和網(wǎng)絡(luò)的自相似性和相鄰節(jié)點多樣性這2個特征對評論者進行了網(wǎng)絡(luò)足跡的分析。再如,Li等人[6]提出基于共爆發(fā)來檢測共謀群組,共爆發(fā)是指群組內(nèi)評論者在評論商品時發(fā)布的評分是有波峰的,而且群組中的評論者會集中在很短的一段時間里完成評論任務(wù)。Xu等人[4]基于圖分類思想使用雙馬爾科夫網(wǎng)絡(luò)提出欺詐圖模型CG。首先將評論者作為節(jié)點構(gòu)成網(wǎng)絡(luò),將關(guān)聯(lián)性強的評論者作為相鄰節(jié)點,然后將問題轉(zhuǎn)化為運用概論圖模型來進行共謀群組的判斷。Wang等人[7]提出一個從上而下的計算框架GGSpam(Graph-based Group Spam),先建立商品-評論者二部圖,然后投影為評論者圖,使用分而治之的策略來進行共謀群組的檢測。Do等人[5]提出使用一種模糊k-Means的方法來檢測共謀群組。首先建立由商品、評論者和評論組成的評論圖,然后計算3種類型節(jié)點的可疑分?jǐn)?shù),最后使用模糊k-Means聚類方法來檢測共謀群組。使用基于圖的方法來檢測共謀群組的優(yōu)點是可以很好地利用群組內(nèi)成員之間的關(guān)系,更好地檢測造假群組。缺點是忽略群組的行為特征和語言特征,且在實驗階段耗費時間長。
綜上所述,現(xiàn)有大多數(shù)研究在群組虛假檢測時要么使用頻繁項挖掘的方法來產(chǎn)生候選群組,然后使用評論者的行為模式來建模;要么使用基于圖的方法來產(chǎn)生候選群組,然后使用評論者之間的網(wǎng)絡(luò)結(jié)構(gòu)關(guān)系來建模。頻繁項挖掘產(chǎn)生候選群組要求至少2人共同評論過3件商品,使用頻繁項挖掘產(chǎn)生候選群組后沒有考慮評論者之間的網(wǎng)絡(luò)關(guān)系,這樣降低了虛假群組檢測的準(zhǔn)確度。此外,現(xiàn)有頻繁項挖掘方法都沒有考慮語言特征。對應(yīng)地,基于圖的方式產(chǎn)生候選群組時只考慮評論者之間的關(guān)系,沒有考慮行為特征和語言特征,因此虛假群組檢測的準(zhǔn)確度較低。
為了解決頻繁項挖掘在產(chǎn)生候選群組時因忽略評論者之間的網(wǎng)絡(luò)結(jié)構(gòu)而導(dǎo)致群組挖掘和發(fā)現(xiàn)的準(zhǔn)確度下降問題,本文融合了基于頻繁項挖掘和基于圖方法的優(yōu)點,提出融合行為與結(jié)構(gòu)特征推理的造假群組檢測算法B&SR(Behavior and Structural feature Reasoning algorithm),其基本框架如圖1所示。
Figure 1 Framework of the proposed algorithm圖1 算法的框架圖
實現(xiàn)該框架需要如下5步:第1步,用頻繁項挖掘產(chǎn)生候選群組;第2步,實現(xiàn)基于行為特征的候選群組中協(xié)同造假可疑度計算;第3步,基于候選群組中的每個評論者和被評論商品構(gòu)建二部圖;第4步,實現(xiàn)基于結(jié)構(gòu)特征的候選群組中協(xié)同造假可疑度推理;第5步,基于信息熵實現(xiàn)群組分類。其中,第1步利用頻繁項挖掘方法產(chǎn)生候選群組直接借鑒了Mukherjee等人[2]的方法。具體細(xì)節(jié)因篇幅關(guān)系不再贅述。本文重點介紹該框架中第2步到第5步的實現(xiàn)細(xì)節(jié)。表1列出了B&SR中用到的所有符號以及它們所表示的含義。
Table 1 Symbols and their meanings表1 符號及其意義
本節(jié)旨在給出一種基于行為特征的協(xié)同造假可疑度計算方法。與其他文獻[6,8,9]選用個體行為特征不同,考慮群組成員之間的聯(lián)系,本節(jié)選用了個體間協(xié)同行為特征,旨在揭示群組成員協(xié)同造假(即共謀)可疑程度。同時,將該值作為基于結(jié)構(gòu)特征推理的先驗概率值。計算候選群組中協(xié)同造假可疑度時,主要參考的協(xié)同行為特征如下:
定義1(共評論比例CR(Common comment Ratio )[3])CR指的是群組中每個成員同群組其余成員共同評論過的商品數(shù)量占群組成員評論過商品總數(shù)量的比例。共謀者群組中成員共評論的比例會更容易偏高。計算公式如式(1)所示:
(1)
其中,a為候選群組中的某個成員,sa為成員a評論商品的集合,sga為群組g中除去成員a之外其余成員評論商品的集合,sg為群組成員評論商品的集合。
定義2(共評論商品評分方差RD(Rating Deviation )[3])RD指的是在群組成員共評論的商品中,每個成員的評分與群組內(nèi)其他成員評分的方差,在共評論的商品中選出方差波動最大的。當(dāng)選出的方差值在該成員共評論商品中最大時仍然不大,則很大程度上說明該成員可能是共謀者。
(2)
其中,Ra,p為成員a在第p個商品上為所評論商品中的方差值,g為候選共謀群組,P為每個成員評論過的商品集合。
定義3(共評論商品評論發(fā)布時間方差TD(Time Deviation )[3])TD指的是在共評論商品中,評論者發(fā)布評論的時間與組內(nèi)其余成員發(fā)布評論的時間波動的方差。函數(shù)var是求得群組成員a對第i個產(chǎn)品發(fā)布評論時間與群組內(nèi)其余成員發(fā)布評論時間的方差。max函數(shù)可選擇出在群組成員a評論過的商品中方差值波動最大的那個。因為當(dāng)方差TD(a)的值仍然不大時,則很大程度上說明該成員可能是共謀者。
(3)
其中,Ta,p為成員a在第p個商品上發(fā)布評論時間的方差值,g為候選共謀群組,P為每個成員評論過的商品集合。
在共評論商品評分方差(RD)和共評論商品評論發(fā)布時間方差(TD)中,要把所得值統(tǒng)一到[0,1]內(nèi),rank為評分等級。轉(zhuǎn)換公式如下所示:
(4)
(5)
定義4基于以上3種行為特征,群組中每個評論者個體的協(xié)同造假可疑度計算公式如式(6)所示:
(6)
根據(jù)上述行為指標(biāo),計算群組中成員的協(xié)同造假可疑度。為每個候選共謀群組進行計算的詳細(xì)過程如算法1所示。
算法1基于行為特征的協(xié)同造假可疑度計算
輸入:頻繁項挖掘算法FIM得到的候選共謀群組。
輸出:帶有協(xié)同造假可疑度的候選共謀群組。
1.G=FIMCreateGroup(reviewers);
2.FOReach groupginGDO
3.FOReach reviewerringDO
4.CR(r)=ComputedCommonRatio(r)/*依據(jù)式(1)*/
5.RD(r)=ComputedCommonRatingDeviation(r);/*依據(jù)式(2)*/
6.TD(r)=ComputedCommonTimeDeviation(r);/*依據(jù)式(3)*/
7.SC(r)=ComputedSum(CR(r),RD(r),TD(r))/*依據(jù)式(4)~式(6)*/
8.ENDFOR
9.ENDFOR
經(jīng)過算法1可以得到各個群組的成員可疑度。由這些群組組成的集合為最終的候選共謀群組集合G。
實體和群體的能力描述代表了它們執(zhí)行任務(wù)的能力,是進行任務(wù)規(guī)劃的根本依據(jù)。能力描述還將組織任務(wù)的可完成性判斷轉(zhuǎn)化成了描述任務(wù)邏輯的定理證明。另外,群體中成員的變更,可能導(dǎo)致組織能力的變化,能力描述也能將這種變化自然地表現(xiàn)出來。
經(jīng)過算法1的處理得到最終候選群組,本節(jié)旨在為每個候選群組構(gòu)建一個帶權(quán)評論者-產(chǎn)品的二部圖。接下來介紹詳細(xì)定義及過程。
定義5(帶權(quán)評論者-商品二部圖) 帶權(quán)評論者-商品二部圖Net={V,E,W},其中V表示節(jié)點集合,包含2種類型,分別是用戶節(jié)點和商品節(jié)點;E是連接用戶節(jié)點和商品節(jié)點的邊集合,表示用戶對商品發(fā)表過的評論;W表示用戶節(jié)點和商品節(jié)點之間的無向邊上的權(quán)重值集合,由用戶對商品評論的行為和內(nèi)容所決定。
定義6(權(quán)值) 本文取用戶對商品的評分作為權(quán)重值,將用戶的等級評分轉(zhuǎn)換為[0,1]內(nèi)的數(shù)值。
(7)
其中,wui,pj是代表在二部圖中用戶ui與商品pj邊上的權(quán)值,Rui,pj是用戶ui對商品pj的評分,rank為評分等級(常見的等級有5級,3級,2級等)。
算法2面向候選群組的帶權(quán)評論者-商品二部圖構(gòu)建算法
輸入:候選群組、商品、候選群組成員對商品的評論。
輸出:用戶對所評論商品的權(quán)重值W集合。
1.FOReach groupginGDO/*對每個候選群組計算*/
2.FOReach revieweruiingDO/*對群組中各個成員計算*/
3.wui,pj=ComputedWeight(ui,pj)/*wui,pj表示用戶ui與商品pj的邊上的權(quán)值*/
4.ENDFOR
5.ENDFOR
僅考慮評論者的行為特征不足以最終確定評論者的協(xié)同造假可疑度,因此,在基于行為特征獲得每個候選群組中評論者的協(xié)同造假可疑度之后,本文又基于結(jié)構(gòu)特征對每個評論者的協(xié)同造假可疑度進行推理。本文將協(xié)同造假可疑度看作是一個聯(lián)合概率分布。為了求解該聯(lián)合概率分布問題,本文用成對馬爾科夫隨機場pMRF(pairwise Markov Random Fields)[18]建?;趲?quán)評論者-商品二部圖的協(xié)同造假可疑度(即聯(lián)合概率分布)推理問題,得到目標(biāo)函數(shù)。精確推理是一個很好的方法,但眾所周知的是精確推理是一個NP難問題。因此,本文采用被稱為近似推理的循環(huán)信念傳播算法LBP[19]進行問題求解。下面詳細(xì)介紹用成對馬爾科夫隨機場建模協(xié)同造假可疑度(即聯(lián)合概率分布)推理以及用LBP算法求解的細(xì)節(jié)。
4.3.1 基于成對馬爾科夫隨機場的協(xié)同造假可疑度推理模型
在pMRF中,判斷節(jié)點是否為造假者僅取決于其鄰居節(jié)點,并且獨立于圖中的所有其他節(jié)點。每個節(jié)點表示一個或一組變量,節(jié)點之間的邊表示2個變量之間的依賴關(guān)系。本文用勢函數(shù)(亦稱因子)來表示節(jié)點之間的依賴關(guān)系。通過勢函數(shù)求得協(xié)同造假可疑度的聯(lián)合概率分布。
(8)
Table 2 Potential function表2 勢函數(shù)
4.3.2 基于成對馬爾科夫隨機場的循環(huán)信念傳播算法
本文在進行結(jié)構(gòu)推理時將使用后驗可疑度來更正先驗可疑度,將群組中每個成員的后驗可疑度作為每個成員的最終可疑度。
定義7(先驗可疑度) 根據(jù)行為特征對每個群組的成員計算出協(xié)同造假可疑度作為該群組成員的先驗可疑度。
定義8(基于帶權(quán)評論者-商品二部圖的協(xié)同造假可疑度后驗可疑度) 后驗可疑度的推理可應(yīng)用LBP算法[17],推理后得到的每個群組中成員的協(xié)同造假可疑度作為后驗可疑度。
在帶權(quán)評論者-商品二部圖上的LBP推理算法由3個步驟來實現(xiàn),首先進行消息的初始化;然后在商品節(jié)點和用戶節(jié)點上進行消息傳遞,在消息傳遞過程中對消息進行更新;最后當(dāng)消息不再變化時計算每個節(jié)點的可疑度。
在LBP算法中所用到的公式定義如下:
(1)消息傳遞公式:
mi→j(yj)=
(9)
其中,mi→j是從節(jié)點i到節(jié)點j發(fā)送的一條消息。V表示帶權(quán)評論者-產(chǎn)品二部圖中的節(jié)點集合。Ni為節(jié)點i的pMRF一階鄰域,Nij表示節(jié)點i的pMRF一階鄰域中排除掉目標(biāo)節(jié)點j的鄰域。mki(yi)表示節(jié)點i的鄰居發(fā)送給節(jié)點i的消息。
同樣從節(jié)點j到節(jié)點i的消息傳遞如式(10)所示:
mj→i(yi)=
(10)
信念計算公式如式(11)所示:
(11)
其中,bi(yi)是節(jié)點i經(jīng)過推理后的后驗可疑度。α是歸一化常數(shù),分別確保每個消息和每組的邊緣概率之和為1。
具體算法實現(xiàn)過程如下所示:
算法3基于帶權(quán)評論者-商品二部圖的候選群組中協(xié)同造假可疑度的結(jié)構(gòu)推理算法
輸入:每個群組的用戶-商品二部圖,每個群組中成員的先驗可疑度,每條邊上的權(quán)重值集合W。
輸出:每個群組中的成員后驗可疑度。
1.FOReach groupginGDO/*initialize each bipartite graph*/
2.FORe(yi,yj,w)∈EDO/*initialize each message*/
3.FORi∈VDO
4.mi→j(yj)←1
5.ENDFOR
6.ENDFOR
7.REPEAT/*perform message propagation update
8. messages fromitoj*/
9.FORe(yi,yj,w)∈EDO
10.FORi∈VDO
12.ENDFOR
13.ENDFOR
14. //update messages fromjtoi
15.FORe(yi,yj,w)∈EDO
16.FORi∈UDO
17.ENDFOR
18.ENDFOR
19.UNTILall messages stop changing
20.FORi,j∈VDO
22.ENDFOR
23. /*obtain the suspected degree of collaborative fraud of nodes after inference*/
24.Score(i)=bi(yi);
25.ENDFOR
經(jīng)過算法3推理后得到每個群組里各個成員的后驗可疑度,這樣就可以根據(jù)熵值法來判斷成員是否屬于共謀群組。
經(jīng)過上述步驟的處理得到每個共謀群組中成員的協(xié)同造假可疑度,共謀群組中的成員因為共同評論多件商品,協(xié)同造假可疑度會較相似。本文使用信息熵的方法來判定成員是否屬于共謀群組,信息熵是香農(nóng)在1984年提出的,解決了對信息的量化度量問題。
一個系統(tǒng)越是有序,信息熵就越低;反之,一個系統(tǒng)越是混亂,信息熵就越高。所以,信息熵也可以說是系統(tǒng)有序化程度的一個度量[20],因此可以利用這一特點來進行虛假共謀群組的識別,群組成員協(xié)同可疑度越接近,則說明群組內(nèi)成員行為越統(tǒng)一、有序,越有可能為共謀群組;群組成員協(xié)同可疑度差異越大,則說明群組內(nèi)成員行為比較自由、無序,越可能為非共謀群組。本文將群組成員協(xié)同可疑度作為信息熵值,來計算整個群組的信息熵值,即整個群組的混亂度。
計算信息熵的公式如式(12)[20]所示:
(12)
其中,τ是類別數(shù),p(xi)是第i類的概率,xi表示隨機變量,與之相對應(yīng)的是所有可能輸出的集合,定義為符號集,隨機變量的輸出用xi表示。
判斷候選共謀群組的具體過程如算法4所示。
算法4基于熵值法的共謀群組分類算法
輸入:經(jīng)過算法3后得到的帶有后驗可疑度的候選共謀群組。
輸出:共謀群組。
1.FOReach groupginGDO
3.IFH>βTHEN
4.gis not spam group
5.ELSE
6.gis spam group
7.ENDIF
8.ENDFOR
為了更好地驗證本文算法的性能,在真實數(shù)據(jù)集上實現(xiàn)與5個算法的比較實驗。
同一些文獻中使用的數(shù)據(jù)集相同,本文實驗所用到的數(shù)據(jù)集是不帶標(biāo)簽的亞馬遜評論數(shù)據(jù)集。本文先考慮使用1993~2014年的亞馬遜書籍評論數(shù)據(jù),統(tǒng)計數(shù)據(jù)信息發(fā)現(xiàn)共有22 507 155條評論數(shù)據(jù),8 026 324個評論者,2 330 066件商品。由于數(shù)據(jù)量太大,本文提取2013年的數(shù)據(jù)作為源數(shù)據(jù),先對數(shù)據(jù)進行處理。把2013年的數(shù)據(jù)里所有商品評論數(shù)據(jù)少于3條的商品和發(fā)布評論少于3條的評論者刪除,然后選取部分?jǐn)?shù)據(jù)進行實驗。所用到的數(shù)據(jù)集統(tǒng)計信息如表3所示。
Table 3 Statistic of dataset表3 數(shù)據(jù)集統(tǒng)計信息
檢測虛假共謀群組所用到的數(shù)據(jù)集基本上都沒有標(biāo)簽,這樣對于評估提出的模型或者算法具有一定挑戰(zhàn)性?;谏鲜鰡栴},使用人工標(biāo)注數(shù)據(jù)集變成了普遍的選擇。最先使用人工標(biāo)注數(shù)據(jù)集的是Jindal等人[11]在檢測個體造假者問題上。同時,Mukherjee等人[2]和 Xu等人[4]首先在檢測造假群組時雇傭?qū)<沂褂?個評論指標(biāo)來手工標(biāo)注數(shù)據(jù)集。
本文提出的算法為無監(jiān)督算法,在手工標(biāo)注標(biāo)簽時用到4個個體行為指標(biāo),分別是極端評分、虛假文本、平均分異常值和活躍時間。其中,4個行為指標(biāo)設(shè)定的值中最可疑為1分,不可疑為0分,模棱兩可為0.5分。當(dāng)算得的總分大于2時便判定為造假者,當(dāng)群組成員中造假者數(shù)量大于或等于群組成員數(shù)量的2/3時便判斷該群組為共謀群組。
本文選取處理過的2013年亞馬遜數(shù)據(jù)集的部分?jǐn)?shù)據(jù)進行實驗。同時分析算法的性能和本文算法同基線算法的比較。
本文的基線算法共有5個,第1個為Wang等人[15]提出的GSBC(Group Spam detection via Bi-Connected graphs)算法。選用該算法的原因是GSBC算法是無監(jiān)督算法且是最新的用基于圖的方式來檢測虛假共謀群組的算法;GSBC算法使用亞馬遜數(shù)據(jù)集來驗證實驗性能,這樣本文算法同GSBC算法進行比較時實驗效果會更明顯;GSBC算法被很多文獻選為比較基線,通過證明本文算法優(yōu)于GSBC算法可間接證明本文算法優(yōu)于其他的比較算法。
選用的第2個基線算法為自我比較算法,即僅使用行為特征(B算法(Behavior feature reasoning algorithm))來判定共謀群組。此組實驗是為了驗證和比較只使用行為特征而不使用網(wǎng)絡(luò)結(jié)構(gòu)時的差異性。選用的第3個基線算法是自我比較算法,僅使用結(jié)構(gòu)特征(SR算法(Structural feature Reasoning algorithm))來判定共謀群組。此組實驗是為了驗證只使用網(wǎng)絡(luò)結(jié)構(gòu)而不使用行為特征作為先驗可疑度時的差異性。選用的第4和第5個基線算法為在不加權(quán)的評論者-商品二部圖上的行為結(jié)構(gòu)算法(B&SR-w算法(unweighted Behavior and Structural feature Reasoning algorithm))和僅使用結(jié)構(gòu)特征的算法(SR-w算法(unweighted Structural feature Reasoning algorithm))。與這2個算法比較是為了驗證加權(quán)后推理與不加權(quán)推理的差異。
同時,因為手工標(biāo)注數(shù)據(jù)集,本文用精確度(Precision)、召回率(Recall)和F1值作為衡量標(biāo)準(zhǔn):
(13)
(14)
(15)
其中,TP(True Positive)指的是正樣本被預(yù)測為正樣本的數(shù)量,F(xiàn)P(False Positive) 指的是負(fù)樣本預(yù)測成正樣本的樣本數(shù),F(xiàn)N(False Negative)指的是正樣本預(yù)測成負(fù)樣本的樣本數(shù)。Precision、Recall和F1值是用宏觀平均值來計算的。
圖2給出了GSBC算法、B算法、SR算法、B&SR算法、SR-w算法和B&SR-w算法的Precision、Recall和F1值。
Figure 2 Performance comparison of six algorithms 圖2 6個算法的性能比較
通過圖2a可以看到,在開始階段GSBC算法的Precision值下降最劇烈,SR算法、B&SR-w算法、SR-w算法的Precision值存在輕微波動,B&SR算法的Precision值在輕微下降后保持上升狀態(tài),B算法的Precision值呈現(xiàn)輕微增長趨勢且達(dá)到曲線最大值,且最大值低于其余算法的Precision值。隨著群組數(shù)量增加,B&SR算法、B&SR-w算法和GSBC算法的Precision值都保持增長后趨于穩(wěn)定狀態(tài),同時B&SR算法的性能均優(yōu)于其余算法。SR算法和SR-w算法的Precision值表現(xiàn)為先下降后增長。B算法的Precision值一直呈現(xiàn)下降趨勢,最低達(dá)到0.2,在6組對比實驗中可以看出,B算法表現(xiàn)最差。
關(guān)于Precision的實驗結(jié)果表明,僅使用行為特征推理效果最差(B算法),這可能是因為群組造假者可以通過改變自己的行為來隱藏造假行為。僅使用結(jié)構(gòu)特征推理(SR算法)比僅使用行為特征推理(B算法)效果好,這可能是在FIM分組后使得群組成員聯(lián)系得更緊密所致。通過以上分析可以得出以下結(jié)論:
(1)同時考慮行為和結(jié)構(gòu)推理的準(zhǔn)確率比單獨只考慮其中一個因素的準(zhǔn)確率高。
(2)帶權(quán)重的圖結(jié)構(gòu)上推理準(zhǔn)確率高于不帶權(quán)重的圖結(jié)構(gòu)上的推理準(zhǔn)確率。
從圖2b中可以看出,B&SR算法、GSBC算法、SR算法、B&SR-w算法和SR-w算法在Recall值上的整體變化情況基本一致,且保持Recall曲線線性增長。B算法的Recall曲線波動比較大,不是明顯的線性增長。在群組數(shù)量n大約為150時各算法的Recall值相等,小于150時只有B算法的Recall值明顯增長,其余算法基本保持一致,大于150時B算法的Recall值出現(xiàn)明顯的上升和下降,其余算法基本保持一致波動。
通過對召回率的分析可得,僅使用行為特征進行推理時B算法的曲線波動較大,其余算法波動基本保持一致。僅通過行為特征推理時召回率波動比較大可能和群組成員數(shù)量有關(guān),當(dāng)群組規(guī)模比較大時由于群組成員協(xié)同性作案,群組造假行為就會表現(xiàn)得比較明顯,判斷會更準(zhǔn)確,召回率上升;群組成員數(shù)量少時,群組造假行為可能不明顯,召回率下降。其余算法波動基本保持一致,可能是因為用FIM產(chǎn)生候選群組后群組成員聯(lián)系緊密,進行結(jié)構(gòu)推理后召回率受群組成員數(shù)量影響不明顯。
綜合準(zhǔn)確率和召回率得到的F1值如圖2c所示。由圖2c可以看出,B&SR算法、GSBC算法、SR算法、B&SR-w算法和SR-w算法的F1值都是保持單調(diào)增長狀態(tài),且B&SR算法的F1值總是對應(yīng)得分最高。B算法與其他5個算法差距較大,且F1值較低。這說明僅考慮行為特征的檢測算法效果最差。
通過實驗分析可以得出,使用行為特征和結(jié)構(gòu)特征共同推理時算法性能更好,僅使用行為特征時效果最差。我們由此可以得出如下結(jié)論:同時考慮行為推理和結(jié)構(gòu)推理可以更好地檢測造假群組;僅使用一種方式推理檢測虛假群組效果可能不太理想;構(gòu)建的帶權(quán)評論者-商品二部圖比不帶權(quán)的評論者-商品二部圖檢測結(jié)果更準(zhǔn)確。
隨著電子商務(wù)的發(fā)展,評論造假問題受到更多關(guān)注。同時,群組中成員通過合作的方式來給出高評分和不斷刷商家信譽比個體造假者對人們傷害性更大。本文為了檢測這種造假群組提出了融合行為與結(jié)構(gòu)特征推理的造假群組檢測算法。首先,利用頻繁項挖掘方法來產(chǎn)生候選共謀群組,然后根據(jù)提出的基于行為特征的協(xié)同造假可疑度計算方法來對群組成員計算協(xié)同造假可疑度,并將該值作為先驗協(xié)同造假可疑度。接下來在帶權(quán)評論者-商品二部圖上用循環(huán)信念傳播算法計算群組成員的后驗協(xié)同造假可疑度,最后用信息熵的方法來判斷是否為共謀群組。在真實數(shù)據(jù)集上的實驗結(jié)果表明,本文算法優(yōu)于比較算法。
盡管本文算法在性能方面優(yōu)于基線算法,但也有不完善的地方。例如,本文實驗所用的數(shù)據(jù)量偏小,在產(chǎn)生后候選共謀群組時可以選用大數(shù)據(jù)集,然后采用其他算法來產(chǎn)生候選群組。因為數(shù)據(jù)量偏小時會導(dǎo)致群組規(guī)模太小,這樣檢測出來的群組可能不夠全面。在構(gòu)建帶權(quán)評論者-商品二部圖時,關(guān)于權(quán)重的計算方法還可以考慮更多的因素,如文本等使得計算出來的權(quán)值更準(zhǔn)確。同時在檢測群組造假時可以考慮新的檢測方法,使用行為指標(biāo)具有太多的限制,不能通用于各個領(lǐng)域,后續(xù)可以從這幾個方面繼續(xù)進行研究。