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