林秀嬌,魏晶晶,劉 月,廖祥文
(1.福州大學(xué)數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,福建福州 350116;2.福建省網(wǎng)絡(luò)計(jì)算與智能信息處理重點(diǎn)實(shí)驗(yàn)室,福建福州 350116;3.福建江夏學(xué)院電子信息科學(xué)學(xué)院,福建福州 350116)
隨著電子商務(wù)的高速發(fā)展,越來越多的用戶會(huì)在購買產(chǎn)品后發(fā)表自己對(duì)產(chǎn)品、商店服務(wù)等評(píng)論信息.這些信息對(duì)潛在用戶和商店是一個(gè)很重要的資源.但是有一些用戶為了提升或者詆毀某一產(chǎn)品或某一類產(chǎn)品的聲譽(yù),發(fā)表不真實(shí)的、有欺騙性質(zhì)的垃圾評(píng)論,這些評(píng)論可能會(huì)誤導(dǎo)潛在消費(fèi)者;同時(shí)還可能干擾評(píng)論意見挖掘和情感分析系統(tǒng)的分析[1].因此,對(duì)產(chǎn)品垃圾評(píng)論的識(shí)別很有必要.
目前,國(guó)內(nèi)外針對(duì)產(chǎn)品垃圾評(píng)論識(shí)別展開了很多的研究,并且取得了一定的成果.但是大部分工作集中在文本相似[1-3]、語言特征[4]、評(píng)論者行為[5-6]和評(píng)分模式[5-7]等方面,這些方法只能識(shí)別重復(fù)的垃圾評(píng)論或是寫重復(fù)評(píng)論的垃圾評(píng)論者,對(duì)于其他類型則無法檢測(cè).為此,本研究提出構(gòu)造評(píng)論者、評(píng)論和商店以及回復(fù)者的評(píng)論關(guān)系圖,利用四者的關(guān)系計(jì)算評(píng)論者可信度來檢測(cè)產(chǎn)品垃圾評(píng)論者.
2007年Jindal等[1-3]首次提出垃圾評(píng)論這個(gè)概念,把它分為三種類型:untruthful opinion,reviews on brands only,non-reviews,然后采用logistic回歸建立機(jī)器學(xué)習(xí)模型來識(shí)別三種類型的垃圾評(píng)論.Lai等[4]提出一種基于unigram模型的識(shí)別方法,利用句法分析和英文格式上的特征作為分類特征.Ott等[8]將垃圾評(píng)論的識(shí)別看成一個(gè)二元分類問題.除此之外,文獻(xiàn)[7,9-10]也利用垃圾評(píng)論文本內(nèi)容檢測(cè)垃圾評(píng)論.
上述方法需要對(duì)文本內(nèi)容有深度理解和觀點(diǎn)抽?。u(píng)論者為能成功誤導(dǎo)消費(fèi)者,會(huì)使自己的評(píng)論看起來與正常評(píng)論區(qū)別不大甚至沒有區(qū)別[11],因此利用評(píng)論文本來識(shí)別垃圾評(píng)論會(huì)比較困難.
這類檢測(cè)方法的基本思想是:垃圾評(píng)論者發(fā)表的評(píng)論多為垃圾評(píng)論.Lim等[5]和邱云飛等[6]利用用戶行為來檢測(cè)垃圾評(píng)論者.Liu等[12]通過研究“非期望規(guī)則”來識(shí)別垃圾評(píng)論者.但是這些方法只能檢測(cè)某種特定的垃圾評(píng)論者,如寫重復(fù)評(píng)論的產(chǎn)品垃圾評(píng)論者.Liu等[13-14]認(rèn)為產(chǎn)品垃圾評(píng)論不只是個(gè)人的行為,而是一種團(tuán)體活動(dòng),他們結(jié)合評(píng)論組特征與單個(gè)評(píng)論者特征建立三個(gè)交叉模型識(shí)別垃圾評(píng)論者.Xie等[15-16]利用時(shí)間序列檢測(cè)垃圾評(píng)論者.Li等[17]把垃圾評(píng)論者檢測(cè)和垃圾評(píng)論檢測(cè)兩者結(jié)合起來,但該方法仍然需要抽取評(píng)論文本內(nèi)容.Wang等[18]利用評(píng)論者、評(píng)論和商店三者之間的關(guān)系檢測(cè)垃圾評(píng)論者,不僅避開了對(duì)文本內(nèi)容深度理解和觀點(diǎn)的抽取,而且還能檢測(cè)出寫非重復(fù)垃圾評(píng)論的垃圾評(píng)論者.但是他們尚未加入回復(fù)者對(duì)評(píng)論的影響,對(duì)于有越多可信度高的回復(fù)者認(rèn)為有用的評(píng)論,有理由相信該評(píng)論的真實(shí)度會(huì)更高.因此,本研究提出構(gòu)造評(píng)論者、評(píng)論、商店以及回復(fù)者的評(píng)論關(guān)系圖,利用四者之間的關(guān)系計(jì)算評(píng)論者可信度檢測(cè)垃圾評(píng)論者.
為了檢測(cè)垃圾評(píng)論者,用帶有箭頭的實(shí)線將評(píng)論者與其評(píng)論及所在商店相連.如果一條評(píng)論有其他評(píng)論者(回復(fù)者)對(duì)其回復(fù),則用帶有箭頭的虛線將回復(fù)者與評(píng)論相連,形成評(píng)論關(guān)系圖,如圖1所示.
圖1 評(píng)論關(guān)系圖Fig.1 Review graph
由圖1可以看出,評(píng)論者與其評(píng)論有關(guān)聯(lián),因此判斷一個(gè)評(píng)論者是否為垃圾評(píng)論者,可以觀察該評(píng)論者的評(píng)論是否真實(shí).假設(shè)一個(gè)評(píng)論者的可信度與其所有評(píng)論的真實(shí)度的總和Hr有關(guān)系.圖1中的評(píng)論者用R={r1,r2,…,rn}表示,T(r)={T(r1),T(r2),T(rn)}表示評(píng)論者r的可信度,K是評(píng)論者可信度的上界,nr是評(píng)論者r的評(píng)論總數(shù)量,αir是評(píng)論者r的第i個(gè)評(píng)論.則問題定義為:
為了方便計(jì)算,將T(r)的值歸一化到[-1,1],則評(píng)論者的可信度為:
其中:
明確評(píng)論者可信度T(r)的求解方法后,需要求得公式中的另一個(gè)參數(shù)H(v).
用戶在判斷一條評(píng)論是否真實(shí)可信,一般會(huì)從以下三個(gè)方面進(jìn)行考慮:①了解商店是否可靠.對(duì)于可靠的商店,用戶會(huì)相信其評(píng)論是真實(shí)可信的,而對(duì)于聲譽(yù)差的商店,用戶一般會(huì)懷疑其評(píng)論的真實(shí)性.②觀察該評(píng)論的周圍評(píng)論,即同一家商店一定時(shí)間內(nèi)Δt的其他評(píng)論.如果周圍評(píng)論都認(rèn)為產(chǎn)品是好的,則用戶會(huì)相信該產(chǎn)品是好的;反之,用戶會(huì)懷疑該產(chǎn)品的質(zhì)量.③觀察這條評(píng)論的回復(fù)者,如果越多可信度高的回復(fù)者認(rèn)為評(píng)論有用,則認(rèn)為評(píng)論的真實(shí)度越高.反之,用戶會(huì)覺得該評(píng)論不真實(shí).基于以上三方面考慮,評(píng)論真實(shí)度模型有三個(gè)影響因素,即商店的可靠性、周圍評(píng)論的一致性分?jǐn)?shù)以及回復(fù)者的回復(fù)分?jǐn)?shù).因此,將評(píng)論v的真實(shí)度定義為:
H(v)的值在[-1,1].其中:α是參數(shù),取值為0.3、0.5、0.7、1.0、1.5、2.0;An(v,Δt)是周圍評(píng)論的一致性分?jǐn)?shù);R(Γv)是商店Γv的可靠性分?jǐn)?shù);Γv是評(píng)論v評(píng)論的商店id;U(v)是評(píng)論v的回復(fù)分?jǐn)?shù).
2.2.1 周圍評(píng)論的一致性分?jǐn)?shù)估計(jì)
把評(píng)論v的所有周圍評(píng)論的集合記為Sv,即:
其中:tv是評(píng)論v的評(píng)論時(shí)間.對(duì)于Sv中任意兩條評(píng)論i、j,如果這兩條評(píng)論關(guān)于同一家商店的同一產(chǎn)品的觀點(diǎn)相似,則認(rèn)為這兩條評(píng)論是一致的.由于觀點(diǎn)挖掘需要的代價(jià)大,假設(shè)兩條評(píng)論關(guān)于同一家商店有相似的評(píng)分,則認(rèn)為這兩條評(píng)論對(duì)這家商店有相似的觀點(diǎn).
因此,根據(jù)假設(shè),如果
其中:ψv是評(píng)論v的評(píng)分;δ是一個(gè)給定的邊界(本文的評(píng)分有5個(gè)等級(jí),δ取值為1),則表示一致評(píng)論.現(xiàn)把 Sv劃分為兩個(gè)集合,Sv,a和 Sv,d,定義如下:
同時(shí),考慮評(píng)論者的可信度分?jǐn)?shù).評(píng)論者可信度越高,其評(píng)論越真實(shí),即使它的周圍評(píng)論和它不一致,因?yàn)橹車u(píng)論可能都是不可信評(píng)論者寫的.類似地,一條評(píng)論和周圍的評(píng)論都一致也有可能是不真實(shí)的,因?yàn)橹車u(píng)論有可能都是垃圾評(píng)論者寫的.因此,定義評(píng)論v在一定時(shí)間內(nèi)的周圍評(píng)論的一致性分?jǐn)?shù)為:
其中:κv是評(píng)論v的作者id,Δt取發(fā)表這條評(píng)論時(shí)間的前后3個(gè)月.對(duì)周圍的一致性分?jǐn)?shù)歸一化到[-1,1]后得到:
2.2.2 商店的可靠性計(jì)算
如果一個(gè)商店有更多可信度高的評(píng)論者寫正面的評(píng)論,則認(rèn)為這家商店更可靠.反之,則認(rèn)為這家商店更不可靠.因此定義商店s的可靠性為:
其中:
R(s)的值在[-1,1];vs是商店s的評(píng)論集合;u是評(píng)分系統(tǒng)的中間值,故u取3.
2.2.3 回復(fù)分?jǐn)?shù)估算
回復(fù)者對(duì)評(píng)論的回復(fù)可反應(yīng)其他人對(duì)這條評(píng)論的認(rèn)可程度,從而間接反應(yīng)出評(píng)論的書寫者是否可信.如果一條評(píng)論有越多的可信度高的回復(fù)者對(duì)其回復(fù),并且認(rèn)為這條評(píng)論有用,則這條評(píng)論的真實(shí)度越高.反之,則認(rèn)為這條評(píng)論不真實(shí).
依據(jù)回復(fù)者的可信度將回復(fù)者分為可信回復(fù)者和不可信回復(fù)者.根據(jù)不可信評(píng)論者的大部分評(píng)論是不可信的,假設(shè)不可信回復(fù)者的回復(fù)是不可信的.在計(jì)算回復(fù)分?jǐn)?shù)時(shí)只考慮可信回復(fù)者(回復(fù)者的可信度大于零)的回復(fù)對(duì)評(píng)論的影響.同時(shí),在計(jì)算回復(fù)分?jǐn)?shù)時(shí)不考慮評(píng)論者自己對(duì)自己評(píng)論的回復(fù),因?yàn)檫@可能只是評(píng)論者對(duì)自己評(píng)論的補(bǔ)充.
因此,定義評(píng)論v的回復(fù)分?jǐn)?shù)為:
U(v)的值在[-1,1].其中,rv是評(píng)論者r認(rèn)為評(píng)論v有用的回復(fù)者.
2.2.4 迭代算法
采用迭代算法求解評(píng)論者可信度分?jǐn)?shù),依據(jù)文獻(xiàn)[8],本文的迭代次數(shù)為5,具體算法步驟如下:
輸入:商店 s={s1,s2,…,st},評(píng)論v={v1,v2,…,vk},評(píng)論者r={r1,r2,…,rn},時(shí)間窗口Δt,評(píng)論相似閾值δ.
輸出:評(píng)論者可信度T(r),評(píng)論真實(shí)度H(v),商店可靠性R(s).
Step1:初始化商店可靠性R(s)=1,評(píng)論者可信度T(r)=1,評(píng)分中間值u=3;
Step2:根據(jù)初始值計(jì)算評(píng)論的周圍分?jǐn)?shù)An(v,Δt)以及回復(fù)分?jǐn)?shù)U(v);
Step8:重復(fù)迭代上述步驟,當(dāng)?shù)趇次迭代和第i+1次迭代得到的評(píng)論者可信度的向量ξi和ξi+1滿足:1 -cos(ξi,ξi+1)< 5 ×10-4時(shí),迭代結(jié)束.
使用文獻(xiàn)[6]提供的亞馬遜網(wǎng)站的評(píng)論作為實(shí)驗(yàn)數(shù)據(jù)集.根據(jù)得到的數(shù)據(jù)集,假設(shè)同一個(gè)品牌的商品為同一家商店出售.
數(shù)據(jù)集分為評(píng)論數(shù)據(jù)集和回復(fù)數(shù)據(jù)集.對(duì)數(shù)據(jù)集先進(jìn)行預(yù)處理:①刪除在評(píng)論數(shù)據(jù)集中沒有評(píng)論的回復(fù)者.②刪除重復(fù)的回復(fù)評(píng)論.③刪除評(píng)論者對(duì)自己的回復(fù).經(jīng)過預(yù)處理后得到的數(shù)據(jù)集如表1所示.
表1 預(yù)處理后的數(shù)據(jù)集Tab.1 The dataset after preprocessing
為了檢驗(yàn)?zāi)P偷暮侠硇院陀行裕紫扔帽疚乃惴ㄗR(shí)別出前100個(gè)高度可疑的垃圾評(píng)論者作為候選垃圾評(píng)論者,然后對(duì)這100個(gè)候選垃圾評(píng)論者進(jìn)行人工(3個(gè)標(biāo)記人)標(biāo)注,識(shí)別過程中標(biāo)記人是獨(dú)立的.根據(jù)大多數(shù)投票原則,一個(gè)評(píng)論者如果同時(shí)被2個(gè)或2個(gè)以上的標(biāo)記人標(biāo)記,則認(rèn)為該評(píng)論者是垃圾評(píng)論者.根據(jù)最終人工標(biāo)記的結(jié)果,采用準(zhǔn)確率(precision)來評(píng)估方法的好壞.
式(4)中的α 取值為0.3、0.5、0.7、1.0、1.5、2.0.由于篇幅限制,這里只列出實(shí)驗(yàn)效果最好的(α =0.5)人工標(biāo)記結(jié)果,如表2所示.
表2 人工標(biāo)記結(jié)果Tab.2 Human evaluation result (個(gè))
表2顯示了人工標(biāo)記的一致性.例如,由算法檢測(cè)的前100個(gè)可疑垃圾評(píng)論者中,標(biāo)記人1認(rèn)為其中48個(gè)可疑垃圾評(píng)論者為真實(shí)的垃圾評(píng)論者,標(biāo)記人2與標(biāo)記人1有36個(gè)可疑垃圾評(píng)論者一致認(rèn)為是真實(shí)的垃圾評(píng)論者,而標(biāo)記人3與標(biāo)記人1有35個(gè)可疑垃圾評(píng)論者一致認(rèn)為是真實(shí)的垃圾評(píng)論者.
為了驗(yàn)證本文方法的合理性和有效性,設(shè)計(jì)了回復(fù)分?jǐn)?shù)前后的對(duì)比實(shí)驗(yàn).實(shí)驗(yàn)結(jié)果顯示,當(dāng)回復(fù)分?jǐn)?shù)中的 α 取值為0.3、0.5、0.7、1.0、1.5、2.0時(shí),準(zhǔn)確率分別為44%、45%、43%、44%、42%、41%,與基準(zhǔn)的準(zhǔn)確率41%相比都有提高或持平.可以看出,當(dāng)α>1之后,準(zhǔn)確率的提升空間逐漸減小,這說明回復(fù)分?jǐn)?shù)對(duì)評(píng)論真實(shí)度有影響,但是其影響力度與商店的可靠性和周圍評(píng)論的一致性對(duì)評(píng)論真實(shí)度的影響力度相比較小,所需要的權(quán)值也應(yīng)該更?。?/p>
通過實(shí)驗(yàn)證明,回復(fù)分?jǐn)?shù)對(duì)評(píng)論的真實(shí)度有影響,能夠提高垃圾評(píng)論者識(shí)別的準(zhǔn)確率.例如,正常的評(píng)論者“kanghui35”在基準(zhǔn)實(shí)驗(yàn)下,他的可信度分?jǐn)?shù)為-0.550 420,被認(rèn)為是可疑的垃圾評(píng)論者.而加入回復(fù)數(shù)后“kanghui35”的可信度分?jǐn)?shù)為0.145 761,可信度分?jǐn)?shù)提高了,被正確識(shí)別.
雖然加入回復(fù)分?jǐn)?shù)之后的準(zhǔn)確率提高了,但是提高的幅度不大,即使在α=0.5實(shí)驗(yàn)效果最好的情況下與基準(zhǔn)的準(zhǔn)確率相比只提高了4個(gè)百分點(diǎn),總的準(zhǔn)確率還有較大的提升空間.影響準(zhǔn)確率的原因可能是:首先,由于回復(fù)的數(shù)據(jù)集較少,一些真實(shí)可靠的評(píng)論并未得到可信度高的回復(fù)者回復(fù);其次,回復(fù)分?jǐn)?shù)中參數(shù)α對(duì)實(shí)驗(yàn)結(jié)果有一定的影響,需要繼續(xù)對(duì)α進(jìn)行優(yōu)化,降低其對(duì)結(jié)果產(chǎn)生的誤差,提高識(shí)別精度;另外,還可能是因?yàn)橐恍├u(píng)論者的特征指標(biāo)尚未被考慮,無法識(shí)別更多的垃圾評(píng)論者.以上三種可能有待于之后的進(jìn)一步細(xì)致研究.
致謝:感謝邱云飛,王建坤等為本文提供的亞馬遜網(wǎng)站的評(píng)論數(shù)據(jù)集.