行娟娟
(西安外事學院 工學院, 陜西 西安 710077)
基于Markov邏輯網的虛假評論識別方法
行娟娟
(西安外事學院 工學院, 陜西 西安 710077)
為解決虛假評論識別的問題,該文提出一種基于Markov邏輯網的虛假評論識別方法。首先,對虛假評論內容和評論者行為的特點進行分析,選取評論內容特征和評論者行為特征;然后,根據特征定義一階邏輯謂詞和邏輯公式,并介紹了權重學習和推理的過程;最后,進行了對比實驗,結果表明該方法的虛假評論識別取得了較好的效果。
Markov邏輯網;虛假評論;權重學習;自適應聚類
虛假評價是指商家或者個人為了自身利益,對在線商品發表的推銷、詆毀的評論。一直以來,虛假評論的泛濫嚴重制約著我國電子商務的發展。這些虛假評論在一定程度上影響了評論信息的參考價值,從而誤導消費者,識別出在線商品虛假評論有非常重要的現實意義。近幾年,隨著電子商務的快速發展,關于在線商品虛假評論識別研究已經開展了很多工作,主要分為兩類: 基于評論內容和基于評論者行為的虛假評論識別方法。
基于評論內容的虛假評論識別方法主要以評論內容為中心,需要對評論內容進行語義分析和情感識別。Ren等人[1]提出一種創新的PU學習框架來識別虛假評論,對于未標注評論集中的間諜樣例首先使用狄利克雷過程混合模型DPMM對其進行聚類;然后混合種群性和個體性兩種策略確定間諜樣例的類別標簽;最后使用兩種主流多核學習算法SILP和LPSOLVE來訓練最終的分類器,實驗證明所提方法可以有效用于虛假評論識別。Rupesh等人[2]提出結合詞匯特征和句法特征,利用有監督學習算法進行虛假評論識別,如SMO、決策樹、樸素貝葉斯等,取得了很好的識別效果。Wang等人[3]根據評論內容的特性,提出了一種基于主題—對立情感依賴模型的虛假評論檢測方法,該方法采用有監督學習分類器SVM對虛假評論進行檢測。Banerjee等人[4]在分析真實評論和虛假評論語言特征的基礎上,采用多種機器學習算法進行虛假評論的識別,提出語言特征和標題可以提高虛假評論識別準確率。Li等人[5]創建了一個多領域的黃金數據集,包括賓館、飯店和醫生三個領域的評論數據,并發現真實評論中包括更多的名詞、形容詞和介詞,而虛假評論中動詞、副詞和人稱代詞較多。Li等人[6]提出一種分類算法MHCC,利用評論、用戶和IP地址等信息構建異構網絡進行虛假評論識別,并在PU學習框架中對該算法進行擴展,取得了更高的識別準確率。Li等人[7]針對虛假評論識別任務,提出一種基于流行排序算法的三層圖模型,把虛假評論識別轉換成了排序問題進行求解。Li等人[8]通過定義虛假主題、真實主題、領域主題以及背景主題,利用概率主題模型獲取一條評論的主題分布,通過比較評論在虛假主題和真實主題上的概率大小來對虛假評論進行識別。Feng等人[9]定義并提取評論的上下文無關文法規則特征,采用SVM分類器對虛假評論進行檢測,并在標準數據集上獲得了一定分類率的驗證。Diao[10]等人針對Blog本身的特點,使用規則初步過濾垃圾評論,對剩余評論,利用LDA對博客中的博文進行主題提取,結合主題信息進行判斷,識別Blog空間的垃圾評論。
基于評論者行為的識別方法主要是從用戶評分行為出發,根據用戶的行為特征建立分類器的一種虛假評論檢測方法。目前,在基于評論者行為的虛假評論檢測方面,有很多研究者開展了相關工作。Mukherjee等人[11]提出利用虛假評論者可疑度作為隱性變量構建貝葉斯識別模型,通過分析虛假評論者的各種行為特點,如評論集中突發性、評論極端性等,認為虛假評論者與正常用戶具有極為不同的行為分布。Lim等人[12]從用戶評分行為出發,根據經驗對虛假評論者行為進行建模,設置各種行為特征的權重,通過找到虛假評論的制造者從而達到檢測虛假評論的目的。Qiu等人[13]從卓越亞馬遜網站獲取1 470個評論用戶,按單指標選取、五個指標集成選取的方法確定最可能和最不可能成為垃圾評論者的評論用戶各25個,并對這50個評論者進行人工標記,根據標記結果設計有監督的線性回歸模型。Song等人[14]從評論者行為出發,定義評論自身基本特征以及評論之間的關聯性特征,通過利用改進的聚類算法對評論數據進行聚類,然后計算每個聚類簇偏離整個評論數據集的程度,根據異常簇方法來識別虛假評論,提出一種基于自適應聚類的虛假評論檢測方法,并且實驗驗證取得了較好的檢測效果。
上述的虛假評論識別方法主要是基于評論內容或者評論者行為的檢測方法,它們對虛假評論識別取得了較好的效果。Markov 邏輯網利用強大的一階邏輯來表示知識,通過為每個一階邏輯公式附加權重的方式,將一階邏輯公式融合到概率圖模型中,可以更好地解決在線商品虛假評論的識別問題。因此,本文綜合考慮了評論內容和評論者行為特征,根據 Markov 邏輯網設計虛假評論識別規則,提出了一種基于Markov邏輯網的虛假評論識別方法。
2.1 Markov邏輯網相關理論
Markov邏輯網是一種將一階邏輯與概率圖模型相結合的統計關系學習模型,能夠很好的處理復雜性和不確定性問題[15]。基本思想是對一階邏輯約束的放松,當一個世界違反了知識庫中的一個規則,該世界發生的概率降低但不是不可能;而違反的越少則發生的概率越大。Markov邏輯網通過對每個公式都附加一個權值來表示該公式限制強度的大小,權值越大,滿足該公式與不滿足該公式的可能世界發生概率之間的差越大。

*fi(x))
(1)
其中,Z是歸一化因子,i是第i條規則的權重,如果第i條規則為真,fi= 1,反之fi= 0。Markov邏輯網虛假評論識別方法的流程如圖1所示。

圖1 Markov邏輯網虛假評論識別方法流程圖
2.2 特征選取
評論內容和評論者行為特征是反映評論是否為虛假評論的重要特征。結合以往相關學者針對虛假評論特征的研究工作[13-14],本文選取相對更重要的六維特征,如表1所示。

表1 評論內容特征
(1) 特征1,即“評論內容包含對商品的體驗感受詞”。體驗感受詞往往在真實評論內容中頻繁出現,而在虛假評論中出現的可能性較小,例如,實用、劃算、一如既往的好、外觀新穎、性能不錯、正品 、便宜、耐心、態度好等等。真實評論內容與虛假評論內容中的詞分布往往有很大的不同,選擇評論內容中的體驗感受詞作為一種評論內容特征。
(2) 特征2,即“評論內容包含大量字母、數字”。虛假評論者有隨意輸入一些字母或者數字來湊字數的習慣,這樣做的目的是節省評論的時間,但是這些字母和數字沒有任何意義,在真實評論內容中很少出現。因此,選擇評論內容中的大量字母、數字作為一種評論內容特征。
(3) 特征3,即“評論內容中第一人稱和第二人稱的比例”。消費者在電子商務網站上對所購商品做出的評論中,更多的是描述本人對商品的切身體會,往往表達的是我或者我們的體驗,而不是你或者你們應該做什么。然而,在虛假評論中,評論者所做的評論往往跟上述所描述的情況是相反的,即表達的是你或者你們應該做什么。把第一人稱代詞我、我們與第二人稱代詞你、你們的比例作為一維特征,以此來反映評論的虛假程度。
(4) 特征4,即“評論者單位時間內所發表評論數”。虛假評論者在單位時間內所發表的評論數往往非常多,因此可以將評論者單位時間內發表的評論數作為一維特征,如果評論者在單位時間內發表的評論數過多的話,就表明該評論者是虛假評論者,其發表的評論也是虛假評論。
(5) 特征5,即“評論者發表評論次數和評論對象類別數量比例”。虛假評論者大多都是針對某一個產品或者某一類產品發表虛假評論,他們發表評論次數和評論對象類別數量相差非常大,而正常的真實評論者不會存在這種現象。因此可以將評論者發表評論次數和評論對象類別數量比例作為一維特征,如果評論者在評論者發表評論次數和評論對象類別數量比例相差很大,就表明該評論者是虛假評論者,其發表的評論也是虛假評論。
(6) 特征6,即“評論者評論該產品次數與購買該產品次數比例”。被雇傭的虛假評論者往往沒有體驗過自己評論的產品,也即從沒購買過該產品,因此沒購買產品而發表評論的評論者很可能是虛假評論者,或者評論者購買過一次產品,而發表多條評論的話,這樣也可以認為該評論者是虛假評論者,這條評論也很可能是虛假的。
2.3 謂詞定義
針對上一小節選取的特征,定義了下面七個一階邏輯謂詞。
(1) Topic (topic,review): 表示評論review屬于虛假評論或者真實評論。
(2) HasWord (word,review): 表示評論review中包含了體驗感受詞word。
(3) HasManyLetterFigure (num,review): 表示評論review中包含num個字母或者數字。當且僅當評論review包含的字母或者數字數量達到評論內容字符數量一半時,為虛假評論。
(4) HasFirstAndSecond(flag,review): 表示評論review包含的第一人稱代詞和第二人稱代詞的比例。當且僅當第二人稱代詞的比例不小于第一人稱代詞的比例時,為虛假評論。
(5) ReviewNumber(num,reviewer): 表示評論者reviewer單位時間內所發表num個評論。當且僅當評論者每小時發表評論數大于10條時,為虛假評論。
(6) HasReviewAndCategory(flag,reviewer): 表示評論者reviewer發表評論次數和評論對象類別數量比例。當且僅當發表評論次數是評論對象類別數量的三倍及以上時,為虛假評論。
(7) HasReviewAndPurchase(flag,reviewer): 表示評論者reviewer評論產品次數與購買產品次數比例。當且僅當發表評論次數是購買該產品次數的兩倍及以上時,為虛假評論。
2.4 一階邏輯公式
根據虛假評論內容和評論者行為特點,綜合考慮虛假評論內容和評論者行為特征,定義了以下六個一階邏輯公式。
式(2)為:
HasWord(+word,review)?Topic(+topic,review)
(2)
該式表示的是體驗感受詞特征,如果評論review包含了詞word,那么評論review就屬于類別topic,“+”符號表示針對不同的詞形成的閉謂詞學習不同的權重。
式(3)為:
HasManyLetterFigure(num,review)?
Topic(topic,review)
(3)
該式表示的是大量字母、數字特征,如果評論review中包含了num個字母或者數字,那么評論review就屬于類別topic,即虛假評論或者真實評論。
式(4)為:
HasFirstAndSecond(flag,review)?
Topic(topic,review)
(4)
該式表示的是第一人稱和第二人稱比例特征,是根據評論review中第一人稱和第二人稱比例情況,評論review屬于對應的類別topic。
式(5)為:
ReviewNumber(num,reviewer)?
Topic(topic,review)
(5)
該式表示的是評論者單位時間內發表評論數特征,如果評論者reviewer單位時間內所發表num個評論,那么評論review屬于對應的類別topic。
式(6)為:
HasReviewAndCategory(flag,reviewer)?
Topic(topic,review)
(6)
該式表示的是評論者發表評論次數和評論對象類別數量比例特征,是根據評論者reviewer發表評論次數和評論對象類別數量的比例情況,評論review屬于對應的類別topic。
式(7)為:
HasReviewAndPurchase(flag,reviewer)?
Topic(topic,review)
(7)
該式表示的是評論者評論產品次數與購買產品次數比例特征,根據評論者reviewer評論產品次數與購買產品次數的比例情況,評論review屬于對應的類別topic。
2.5 權重學習
Markov邏輯網的參數學習就是指在Markov邏輯網結構確定的前提下,進一步學習和優化模型的參數。具體來說,就是對每個一階邏輯公式學習最優的權重ωi。本文利用判別式權重學習算法[16]來得到權重。在已知哪些謂詞是查詢謂詞,哪些謂詞是證據謂詞的前提下,可以自然的將數據庫分為兩個集合: 證據謂詞集合X和查詢謂詞集合Y,通過對條件概率式(8)),
(8)
求最大似然來學習權重ωi,其中,FY是一個包含閉查詢謂詞的公式集合。fi(x,y)是數據庫中第i個公式的閉公式的真值個數,對式(8)的對數似然函數求偏導,可得式(9)。
(9)
式(9)中,精確的求Eω[fi(x,y)]的時間復雜度非常巨大,因此使用近似求解方法求解,使用馬爾科夫鏈蒙特卡洛方法進行求解。
2.6 推理
Markov邏輯網推理的基本問題包括最大可能性推理,計算邊緣概率和條件概率。本文只需要計算最大可能解釋,因此只涉及最大可能性推理,下面簡要介紹Markov邏輯網中最大可能性推理的方法。最大可能性推理的基本過程可以表述為: 給定證據變量集x,求變量集合y最可能處于的狀態,即求式(10)。
(10)
在Markov邏輯網中,根據Markov邏輯網的聯合概率公式,式(10)可以轉化為式(11)。
(11)
其中,wi表示從句i的權重,fi(x,y)表示從句i的閉從句的真值數量。
因此,推理問題就轉化為計算可滿足從句帶權重最大化的問題,即尋找一組變量的賦值使所有被滿足的公式的權重之和最大。通常,可采用任何帶權的可滿足性問題解決器來處理這類問題,其效率并不比任何類型的標準邏輯推理方法低。事實上,如果Markov邏輯網體系中某些硬性的規則能夠適當放松,則推理效率可能會更快。可以使用MaxWalkSAT算法[15]進行求解,測試結果表明,MaxWalkSAT算法可以在幾分鐘內處理包含上千個變量的可滿足性問題。MaxWalkSAT算法的大致流程為: 首先對所有變量隨機賦值,然后在所有未滿足的從句中隨機選取一個從句,改變從句中一個變量x的值。對于x的選取,有兩種情況: 根據一定的概率隨機選取,或選取這樣一個變量,當該變量的值改變時,所有已滿足的從句的權重之和將達到最大。變量x的選取體現了“隨機”與“貪心”相結合的思想,避免了在局部尋優搜索中被卡住而導致算法不能正常收斂。
但是MaxWalkSAT需要將所有的公式和謂詞都轉化為閉公式和閉原子以后再進行求解,內存占用量過大,而在實際應用中,從句的數量非常大。LazySAT算法[17]采用一種“需要時再激活”的“惰性”思想,從而很好地解決了該問題。LazySAT算法針對一階邏輯知識庫中稀疏性的特點,即大多數閉原子的取值都為假,從而隱性地決定了大多數閉從句的取值都為真。LazySAT只將需要的原子和公式轉化為閉原子和閉公式,可以很好的提高推理速度和節約內存。LazySAT算法以加權的一階邏輯知識庫為輸入,使用兩個隊列active_atoms和active_clauses來分別保存激活的原子和從句。這兩個隊列使得LazySAT算法比MaxWalkSAT算法更有效地利用內存,大大降低了算法的空間復雜度,同時也在一定程度上降低了算法的時間復雜度。
3.1 語料說明
中文領域沒有標準的虛假評論語料,本文抓取了2014年京東商城在服裝、手機數碼、食品、圖書和化妝品五類商品中的評論數據,這些評論數據具有普遍性和概括性,能夠使實驗結果的準確性更高。對獲取到的語料進行了人工標注,把評論數據標記為虛假評論、真實評論以及不確定這三個類別。評論類別的標注標準參照“30 Ways You Can Spot Fake Online Reviews”,該標準介紹了30種識別虛假評論的方式。每條評論數據由三個標注者獨立進行標注,最終評論的類別依據多數原則來判斷,例如,某條評論至少兩個標注者將其標注為虛假評論,該條評論才是虛假評論。根據Kappa標準檢查標注者的一致性,三個標注者間的Kappa值均大于0.6,則認為這三個標注者得到的虛假評論結果一致性正常,標注數據可用。最后把這些標注語料數據集分成了兩類,一類作為訓練集;另一部分作為測試集。本文使用判別式權重學習算法[15]在訓練語料集上進行權重學習和優化,在測試語料集上進行識別性能測試,實驗數據集如表2所示。

表2 實驗數據集信息
3.2 實驗設計與結果分析
為了能夠更好地驗證所提方法的有效性,設計了三個對比試驗: (1)不同特征下虛假評論識別效果; (2)不同分類模型的識別效果; (3)不同方法的識別效果。
實驗一 不同特征下虛假評論識別效果為驗證融合評論內容特征和評論者行為特征的虛假評論識別效果,在使用本文所提算法的基礎上,分別融合三類特征對虛假評論進行識別: (1)融合評論內容特征,即表1中的前三類特征,該方法記為M1; (2)融合評論者行為特征,即表1中的后三類特征,該方法記為M2; (3)融合評論內容特征和評論者行為特征,即表1中的全部特征,該方法記為M3。實驗中采用的評價指標為準確率P、召回率R和F值。在數據集相同的情況下,實驗結果如表3所示。

表3 不同特征下虛假評論識別結果

續表
從表3可見,M1方法得到的平均準確率、召回率和F值分別為65.40%、62.91%和64.11%;M2方法得到的平均準確率、召回率和F值分別為63.16%、60.56%和74.60%;M3方法得到的平均準確率、召回率和F值分別為74.60%、72.52%和73.54%。與M1、M2相比,M3方法對虛假評論識別的F值有了十個百分點左右的提高,證明了融合評論內容特征和評論者行為特征提高了虛假評論的識別效果。
實驗二 不同分類模型的虛假評論識別效果為驗證Markov邏輯網比其他有監督分類模型在虛假評論識別上有更好的預測性能,在融合相同特征(表1)的條件下,本文與一些常見的監督學習模型進行了對比實驗,如最大熵(ME)和支持向量機(SVM)。實驗采用的評價指標為準確率P、召回率R和F值,在數據集大小相同的情況下,實驗結果如圖2所示。

圖2 不同分類模型的虛假評論識別結果
圖2中在虛假評論識別上,在融合相同特征下,最大熵和支持向量機模型虛假評論識別的準確率、召回率和F值分別是73.08%、71.99%、72.53%和73.28%、72.21%、72.74%,而Markov邏輯網的識別準確率、召回率和F值達到了74.60%、72.52%、73.54%。與前面兩個有監督分類模型相比,識別準確率、召回率和F值都有一定的提高。因此,在虛假評論識別上,Markov邏輯網比其他有監督分類模型具有更好的預測性能。
實驗三 不同方法的虛假評論識別效果為驗證所提方法的有效性,本文與一些權威期刊和國際頂級會議論文提出的方法進行了對比,把Ren等人[1]提出的基于PU學習框架的方法記為M1,把Li等人[8]提出的基于概率主題模型的方法[8]記為M2,把文獻[6]中提出的基于異構網絡的方法[6]記為M3,把本文所提的基于Markov邏輯網的方法記為M4。實驗采用的評價指標為準確率P、召回率R和F值,在相同數據集情況下,實驗結果如圖3所示。

圖3 不同方法的虛假評論識別結果
圖3中與前三種方法相比,本文提出的基于Markov邏輯網的虛假評論識別方法各項指標都有所提升,具有更好的虛假評論識別性能。主要原因包括兩個方面,第一本文使用了Markov 邏輯網,利用強大的一階邏輯更好地表示虛假評論的特征知識,通過為一階邏輯公式附加權重的方式,將公式融到概率圖模型中進行虛假評論的識別推理,預測能力更強;第二在特征選擇上,本文綜合考慮了評論內容和評論者行為特點進行虛假評論識別,因此得到更好的識別效果。
針對虛假評論內容和評論者行為特點以及Markov邏輯網絡對規則復雜性表達和不確定性推理的優勢,本文提出一種基于Markov邏輯網的虛假評論識別方法,利用 Markov 邏輯網設計虛假評論識別規則,進行虛假評論識別。使用京東商城的商品評論數據集進行了對比實驗,驗證了提出方法的有效性。但是,隨著規則復雜度的提高,形成的 Markov網非常龐大,使得參數學習和推理過程需要巨大的時間和空間代價,識別算法的速度會明顯降低,目前只能進行離線識別。下一步工作是將該算法進行分布式架構設計,減少虛假評論識別時間,滿足或者近似滿足在線工作的需求。
[1] 任亞峰, 姬東鴻, 張紅斌,等. 基于PU學習算法的虛假評論識別研究[J]. 計算機研究與發展,2015,52(3): 639-648.
[2] Rupesh K D, A K Singh. Identification of Fake Reviews Using New Set of Lexical and Syntactic Features[C]//Proceedings of the Sixth International Conference on Computer and Communication Technology 2015, 2015: 115-119.
[3] 汪建成, 嚴馨, 余正濤, 等. 基于主題-對立情感依賴模型的虛假評論檢測方法[J]. 山西大學學報(自然科學版), 2015, 38(1): 31-38.
[4] S Banerjee, A Y Chua, J J Kim. Using supervised learning to classify authentic and fake online reviews[C]//Proceedings of the 9th International Conference on Ubiquitous Information Management and Communication, ACM, 2015: 88-94.
[5] J Li, M Ott, C Cardie, et al. Towards a general rule for identifying deceptive opinion spam[C]//Proceedings of the 52th Annual Meeting of the Association for Computational Linguistics, ACL 2014, Baltimore, Maryland, USA, 2014: 1566-1576.
[6] H Li, Z Chen, B Liu, et.al. Spotting fake reviews via collective positive-unlabeled learning[C]//Proceedings of the 2014 IEEE International Conference on Data Mining, ICDM 2014, Shenzhen, China, 2014: 899-904.
[7] J Li, M Ott, C Cardie. Identifying manipulated offerings on review portals[C]//Proceedings of the 2013 Conference on Empirical Methods in Natural Language Processing, EMNLP 2013: 1933-1942.
[8] J Li, C Cardie, S Li. TopicSpam: a Topic-Model-Based Approach for Spam Detection[C]//Proceedings of the 51st Annual Meeting of the Association for Computational Linguistics, ACL 2013: 217-221.
[9] S Feng, R Banerjee, Y Choi. Syntactic Stylometry for Deception Detection[C]//Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics, ACL 2012: 171-175.
[10] 刁宇峰, 楊亮, 林鴻飛. 基于LDA模型的博客垃圾評論發現[J]. 中文信息學報, 2011, 25(1): 41-47.
[11] A Mukherjee, A Kumar, B Liu, et.al. Spotting opinion spammers using behavioral footprints[C]//Proceedings of the 19th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, KDD 2013: 632-640.
[12] Lim E P, Nguyen V A, Jindal N, et.al. Detecting Product Review Spammers Using Rating Behaviors[C]//Proceedings of the 19th ACM International Conference on Information and Knowledge Management, CIKM 2010: 939-948.
[13] 邱云飛, 王建坤, 邵良杉, 等.基于用戶行為的產品垃圾評論者檢測研究[J].計算機工程,2012,38(11): 254-257.
[14] 宋海霞, 嚴馨, 余正濤, 等. 基于自適應聚類的虛假評論檢測[J]. 南京大學學報(自然科學), 2013, 49(4): 433-438.
[15] Richardson M, Domingos P. Markov logic networks[J]. Machine Learning, 2006, 62(1-2): 107-136.
[16] Parag Singla, Pedro Domingos. Discriminative training of markov logic networks[C]//Proceedings of the 20th National Conference on Articial Intelligence, Pittsburgh, Pennsylvania, 2005: 868-873.
[17] Singla P, Domingos P. Memory-Efficient inference in relational domains[C]//Proceedings of the 21st National Conference on Artificial Intelligence, Boston, Massachusetts, 2006: 488-493.
Fake Reviews Identification Based on Markov Logic Networks
XING Juanjuan
(Engineering College, Xi’an International University, Xi’an,Shanxi 710077, China)
In order to identify fake reviews, we propose a method of fake reviews identification based on Markov Logic Networks. Firstly, the characteristics of fake review content and reviewer behavior are analyzed,and the review content features and the reviewer behavior features are selected. Secondly, the predicates and the formulas are defined with the features,and the weight The experimental results and the inference are decriked. show that the proposed method has a good performance.
Markov logic networks; fake review; weight learning; adaptive clustering

行娟娟(1963—),碩士研究生,高級工程師,主要研究領域為電力電子及智能控制。E?mail:xjj_1963@sina.com
1003-0077(2016)05-094-07
2015-03-01 定稿日期: 2016-02-03
國家自然科學基金(61103242)
TP301
A