魏 偉,康 準
(中南民族大學 計算機科學學院,湖北 武漢 430074)
基于隨機森林和規則匹配的垃圾評論識別
魏 偉,康 準
(中南民族大學 計算機科學學院,湖北 武漢 430074)
針對電子商務平臺存在的大量垃圾評論,提出一種基于隨機森林和規則匹配的垃圾識別方法。該方法對樣本進行有放回的重復抽取樣以建立隨機模型,以減弱評論數據集不平衡性的影響。一部分垃圾評論數據特征明顯,采用規則匹配進一步提高評論識別的召回率。從現有的電商平臺上提取評論數據集進行實驗,結果表明基于隨機森林分類模型比其他基于基線分類模型分類效果更好,且引入規則匹配機制后,分類效果也有一定程度的提高。
垃圾評論識別;隨機森林;集成學習算法;不平衡問題
隨著電子商務的高速發展,越來越多的消費者習慣網上購物,同時在網上大量寫下相關產品或服務的評論信息,為之后的消費者作為參考。但是,在上述評論中,存在一些垃圾評論,這些垃圾評論包括與產品無關評論,廣告評論等。何海紅等人[1]針對購物網站中的垃圾評論識別做了相關研究,這種評論被用于誤導消費者購買行為。Gilbert等人[2]的研究發現 10%~15%的評論本質上被早期評論所影響,并且很可能被垃圾評論所影響。這些垃圾評論不僅損害消費者的權益,給網絡市場的正常競爭造成了嚴重的負面影響。因此,甄別網絡上的垃圾評論對凈化網絡購物環境和正確引導消費者的購物行為具有重要意義。
通過分析文獻[3-4],本文將垃圾評論劃分為以下幾類:(1)與商品內容不相關的其他評論,比如對其他商品的評論等;(2)重復評論,相同字詞重復出現,單純為湊字數而評論;(3)與評論無關的信息,例如無意義的隨機字符,各類廣告和超鏈接等等。
近年來,研究者針對商品垃圾評論做了大量的工作。丁晟春等[5]人從評論、評論者和被評論的商品三個方面選擇特征,使用SVM模型中4種常用的核函數進行垃圾商品評論的識別,取得了較好的識別效果。吳為等[6]人利用評價句的數量能有效地區分與產品無關的評論或垃圾評論,結合評論的主題詞、情感傾向、文本結構等,有針對性地提取相應的特征,使用SVM分類模型對評論進行分類。何海江等[7]人提出將相關度向量空間模型CVSM作為評論的文檔表示模型,討論了信息增益 IG、互信息MI、χ2統計CHI、文檔頻率DF等不同特征抽取方法對模型的影響,與傳統的向量空間模型相比,顯著提高了垃圾評論的識別能力。
文獻[5-7]雖然考慮到特征值從多維度提取,但是未考慮商品評論數據集不平衡問題。本文在文獻[8-10]的工作基礎上,在評論特征[11]中選取元數據特征,情感特征,評論者特征三個維度提取特征建立隨機森林模型進行初步識別。與此同時鑒于一部分垃圾評論評論較顯著,在初步識別的基礎上,對商品評論文本進行基于規則的過濾。實驗結果表明,基于隨機森林和規則匹配能有效提高垃圾評論識別的準確率。
產品垃圾評論識別如圖1所示。

圖1 垃圾商品評論識別流程Fig.1 The process of recognizing spam comment
鑒于商品評論樣本數據形式不一致,例如一些樣本評論數據中含有鏈接,數字等。對樣本數據分詞前作如下處理:(1)將樣本數據中多余空格去掉;(2)剔除全是字母,數字,標點的樣本數據;(3)去除重復評論。預處理結束后,針對本文的樣本數據集,定義每個評論表示為特征向量其中n為本文模型中使用特征個數, yi= { 0,1},0表示正常評論,1表示垃圾評論。
無論是半監督學習算法還是全監督學習算法,都需要用對應的特征向量表示評論。定義并抽取恰當的評論特征是正確識別垃圾評論的關鍵。根據商品評論的特點引入以下特征表示商品評論并提取其特征值。從三個維度提取,文本特征中選取:內容相似度,鏈接數,廣告詞數,名詞度。情感特征中選取:情感詞數。元數據特征中選取:獲得贊數,評論長度。評論者特征中選取是否匿名,信用等級或者經驗等級。
(1)內容相似度。內容相似度是指評論者為了達到評論所需的最低字數選擇復制粘貼,例如評論“滿意滿意滿意滿意滿意”。內容相似度越低,該評論就越有可能是垃圾評論。內容相似度計算如式(1)所示:

其中riL 表示評論ir的總漢字數,riC 表示評論ir中不同的漢字數。
(2)鏈接數。根據電商平臺的評論數據分析,絕大多數含有超鏈接的評論都是屬于廣告評論或者推銷評論。一般正常評論中是比較少的含有超鏈接,所以一般含有的超鏈接數量越多,越有可能是垃圾評論。
(3)廣告詞數。針對商品評論中,有人利用大部分消費者在網上購物都會看該商品的評論信息的習慣借助評論打廣告。例如“全場包郵”,“淘寶鏈接”,“假一罰十”等等,搜集常見的廣告詞制作廣告字典,樣本評論數據分詞之后與字典比較,含有廣告詞越多的越可能是垃圾評論。
(4)名詞度。一般的評論都是表達消費者的意見,滿意或者不滿意。而垃圾評論更多的是描述信息,例如廣告信息,營銷信息。因此名詞度越高,該評論越可能是垃圾評論。計算方式如式(2)所示:

其中riC 表示評論ir的總詞數,rin表示評論ir中名詞數。
(5)情感詞數。評論一般需要表達出消費者的意見,通常飽含情緒。情感詞用的越少越可能是垃圾評論。第一步,分析語料庫創建情感詞詞典,例如“開心”,“幸運”,“倒霉”等。然后計算評論中包含的情感詞語的數量。
(6)獲得贊數。電商平臺一般會給一個評論設置一個回饋,后面的消費者如果覺得這條評論對自己有用就可以給這個評論點贊,類似的說法還有,有用數,給評論的評論數等等。這一類的數值越低越說明這條評論是一條垃圾評論的可能性越高。
(7)評論長度。真實顧客在寫評論時一般比較簡短,甚至懶于評論。而垃圾評論往往為了描述更多的信息去打廣告,匹配更多的關鍵字導致內容比較長。基于此,本文把正規化長度的平方 SNL(Square of the Normalized Length)作為描述長度的特征,在標注數據集時觀察得到當SNL越接近1時該評論為垃圾評論的可能性越大,其中計算SNL如式(3)所示:

其中kmax 是表示評論數據集中最長的評論;表示評論的長度,本文采用評論中漢字的個數來表示。
(8)是否匿名。一般情況下如果評論者是匿名的情況下,說明這一類評論是垃圾評論的可能性越高。
(9)評論者信用等級或者經驗等級。一般情況下如果評論者的信用等級或者經驗等級越低,越說明這條評論是一條垃圾評論的可能性越高。
目前主流垃圾評論識別相關方法主要考慮如何利用評論文本信息,評論者等信息對商品進行識別,忽略了評論數據集的不平衡性[12]。不平衡數據集會帶來如下問題:(1)容易導致小類樣本的缺失;(2)比較難區分噪聲樣本和小類樣本。(3)決策面偏移問題等等。為了克服以上可能會產生的問題,Breiman等人在2001年提出隨機森林(RF, Random Forest)算法[13],隨機森林是一個包含多個決策樹的組合分類器,單棵決策樹可以按照一定精度分類,為了進一步提高精度標準的做法就是種植一個森林,并且讓所有決策樹參加投票,通過投票結果得出最終的預測結果。當采用標準的隨機森林來解決垃圾評論識別問題時候,發現有較好的分類性能,但是對于一些不平衡的數據集識別速度很慢,需要做進一步改進。通過分析文獻[14-15]將隨機森林算法來處理垃圾評論分類問題,并減弱數據集不平衡性帶來的負面影響。實驗結果表明,該方法可以取得比較好的識別效果,具體算法如表1示所示。

表1 隨機森林算法Tab.1 Random forest algorithm
根據本文上面章節總結的垃圾評論的類型以及顯著性特征,我們設置了下面幾種規則匹配。規則匹配包含相應的詞典,正則表達式等資源,由判別邏輯表達式構成識別規則。一篇評論如果符合規則中一條或者幾條,則根據規則匹配識別為垃圾評論。未識別的被留存,給下一步的分類模型進行分類識別。為了闡述規則匹配的建立過程,我們把一篇評論視為一個詞語序列,不構成詞語的部分則視為一個連續的字符串,詞語和非詞語字符串在規則匹配中等價(下面都稱為詞語)。對于評論文本 R為一個詞語序列,W為評論文本中包含的詞語的集合,規則匹配構建如下:
(1)基于關鍵詞規則
以廣告,營銷,傳播虛假信息等為目的的垃圾評論。在評論文本中通常包含網站鏈接,“http”“https”“www”等。聯系方式,“加 QQ”“聯系 QQ”“微信搜索”“公眾號”等。營銷信息,“代金券”“促銷”“搶購”“熱線”等。我們根據這些關鍵詞來構建垃圾關鍵詞詞典。設置詞典集合 K,以及垃圾關鍵詞的正則表達式集合 R。正則表達式算子為Match(Word,Regx∈{true,false}),若 Word 符合正則表達式Regx,則值為true,否則為false。
規則一:若(? word ∈ W)(? regx ∈ R)(word∈ K V Match(word,regx)),則 T 為一篇垃圾評論。
(2)評論中無序字母,數字及字符序列規則
有效評論一般包含正常評論的英文單詞數量,而垃圾評論中包含多個連續的與內容無關的字母,數字和字符等。利用非詞語字符串占評論比例可以有效判斷垃圾評論。
規則二:對于評論 T,非詞語字符長度為 l,若l/|T|>χ,則評論T被認為是垃圾評論。例如:“很好吃啊!!!!!!!。。。。”等。
(3)內容相似度規則。
單純去湊夠評論字數的評論,基本毫無意義。1.3節中對于特征值內容相似度已做闡述,設置S(t)為評論T的相似度。
規則三:若|S(t)|<α,則評論T為垃圾評論。
現有機器學習算法中,標注訓練語料的準確性將直接影響最后的分類正確性。然而目前國內對于中文語料沒有一個公開的語料庫。為了追求數據真實性,本文從淘寶網絡商城(https://www.taobao.com)上抓取數據。本文的數據集就是基于這個抓取的數據構建得到,該數據集一共包含9901篇評論,其中正常評論8020篇,垃圾評論881篇,大類和小類的比例約為 10:1,數據集的不平衡性比較大,其構成如表2所示。

表2 實驗數據集Tab.2 Experimental data set
為了比較全面的評價本文所提識別方法的有效性,本文在統計召回率和正確率兩個指標的基礎上采取F值作為垃圾評論識別效果的最終測評指標。公式如下:

其中,CS表示實際標注的虛假評論集合;PS表示算法預測的虛假評論集合。
分析
本文采用 3.1節獲取的數據集作為實驗數據并且以weka作為實驗平臺,采用十折交叉驗證的方法進行實驗。為了驗證本文所提方法的可行性和有效性一共設計了二組實驗,第一組實驗主要比較不同基線方法與隨機森林的性能差別結果如表3所示。
第二組實驗主要比較在本文采用基于隨機森林算法的基礎上,進一步進行規則過濾。基于對大量垃圾評論的觀察,得出垃圾評論具有的一些顯著特征,故本文在采用基于隨機森林算法的基礎上,采用2.1節提出的規則匹配進行過濾。實驗結果如表4所示。

表3 基于隨機森林的bagging算法與基線方法實驗結果Tab.3 The results of bagging algorithm experimental
通過表2的數據可以看出,在本文收集的數據集的情況下,隨機森林的識別準確率明顯高于其他基于基線的方法。通過表3中的Result_1可知,經過規則過濾,對于選擇的四類產品垃圾評論的識別準確率進一步提高,與此同時召回率和F值均高于Result_0,實驗結果表明本文提出規則的有效性。

表4 基于隨機森林和規則匹配的實驗結果Tab.4 The results of rules matching experimental
本文針對垃圾評論數據集不平衡性問題,提出基于隨機森林的垃圾識別方法,以減弱數據不平衡性的影響,實驗結果表明本文所提的識別方法取得良好的效果,未來將嘗試大規模評論數據的垃圾評論識別研究,同時針對中文垃圾評論,在特征建模過程中增加文本的心理語言學特征改進模型加快算法執行效率。
[1] SUN Y C, Li Q S. The research situation and prospect analysis of meta search engines[C]// 2012 2nd International Conference on Uncertainty Reasoning and Knowledge Engineering(URKE). IEEE. Bali. Indonesia, 2012: 224-229.
[2] CALLAN J P. LU Z H, CROFT W B. Searching distributed col-lections with inference networks[C]// Proceedings of the 18thAnnual International ACM S1G1R Conference on Research and Development in Information Retrieval. ACM.Massachusetts. USA, 1995: 2128.
[3] JINDAL N. LIU 13. Opinion spam and analysis[C]//International Conference on Web Search and Data Mining. ACM, 2008:19-230.
[4] LIU B. Sentiment Analysis and Opinon Mining[M], Chicago:Morgan&-Clayppol, 2012: 113-115.
[5] 李霄, 丁晟春. 垃圾商品評論信息的識別研究[J]. 現代圖書情報技術, 2013, (01): 63-68.
[6] 游貴榮, 吳為, 錢沄濤. 電子商務中垃圾評論檢測的特征提取方法[J]. 現代圖書情報技術, 2014, (10): 93-100.
[7] 何海江, 凌云. 由Logistic回歸識別Web社區的垃圾評論[J].計算機工程與應用, 2009, 45(23): 140-143.
[8] 章劍鋒. 評論挖掘中的語義信息抽取[D]. 復旦大學, 2008.
[9] 何瓏. 基于隨機森林的產品垃圾評論識別[J]. 中文信息學報, 2015, 29(03): 150-154.
[10] 黃鈴, 李學明. 基于AdaBoost的微博垃圾評論識別方法[J].計算機應用, 2013, 33(12): 3563-3566.
[11] 林煜明, 王曉玲, 朱濤, 周傲英. 用戶評論的質量檢測與控制研究綜述[J/OL]. 軟件學報, 2014, 25(03): 506-527.
[12] Piyaphol Phoungphol. Robust Multiclass Classification for Learning from Imbalanced Biomedical Data[J]. Tsinghua Science and Technology, 2012, 17(06): 619-628.
[13] BREIMANL Random F[J]. Machine learning, 2001, 45(1):5-32.
[14] Zhou ZH, Wu JX, Tang W. Ensembling neural networks:Many could be better than all. Artificial Intelligence, 2002,137(1, 2): 239. 263.
[15] 郭山清, 高叢, 姚建等. 基于改進的隨機森林算法的入侵檢測模型(英文)[J]. 軟件學報, 2005, (08): 1490-1498.
Recognition of Spam Comment Based on Random Forest and Rule matching
WEI Wei, KANG Zhun
(College of Computer Science, South-Central University for Nationalities, Hubei Wuhan 430074)
Aiming at the spam comment on the existence of e-commerce platform, a identification method based on random forest and rule matching is proposed. The method extracts the same number of replicas for the two classes in the sample, or assigns the same weight to two different classes to establish a stochastic model to weaken the impact of the data set imbalance. Part of the spam comment data characteristics are obvious, the use of rule matching to further improve the recall rate of comments identified. The results show that there is a high recognition rate for the identification of spam, and the validity of the proposed method is verified by extracting the data from the actual electricity platform.
Spam collection recognition; Random forest; Integrated learning algorithm; Unbalanced problem
TP301.6
A
10.3969/j.issn.1003-6970.2017.12.017
本文著錄格式:魏偉,康準. 基于隨機森林和規則匹配的垃圾評論識別[J]. 軟件,2017,38(12):90-94
中南民族大學中央高校基本科研業務費專項資金項目(CZZ15002)
魏偉(1991-),男,中南民族大學計算機科學學院碩士研究生,主要研究方向為自然語言處理和分布式計算。康準(1992-),男,中南民族大學計算機科學學院碩士研究生,主要研究方向為自然語言處理和知識圖譜。