一種基于時序數據的推薦系統攻擊檢測算法
【專利摘要】本發明公開了一種基于時序數據的推薦系統攻擊檢測方法,包括:利用用戶-項目偏好程度數據集和頻繁項集挖掘技術,得到用戶組和項目組;為每對用戶組和項目組計算組偏好程度值比例特征;將項目組中各項目的所有偏好程度按操作時間形成時序的偏好程度數據;為每對的用戶組和項目組計算組偏好程度時間間隔特征;為用戶組計算組平均熵特征;為每一用戶組,選擇其對應最大的組偏好程度值比例特征和最大的組偏好程度時間間隔特征,并依次利用上述三種特征對用戶組進行排序,得到三個有序的用戶組序列;綜合所述三個有序的用戶組序列,得到一個整體有序的用戶組序列,從而得到最可能的攻擊用戶組;通過組偏好程度值比例特征得到最有可能的目標項目組。
【專利說明】一種基于時序數據的推薦系統攻擊檢測算法
【技術領域】
[0001]本發明涉及機器學習和模式識別領域,特別是機器學習中基于協同過濾的推薦系統攻擊檢測問題。
【背景技術】
[0002]近年來,隨著網絡的飛速發展,人們每天都會面臨大量的信息。面對成千上萬的信息,人們疲于從中發現自己感興趣的有價值的信息,推薦系統的出現可以使人們從海量的信息中解脫出來。推薦系統是一種信息過濾技術,它能夠從大量的信息中篩選出用戶感興趣的有價值的內容并提供給用戶,從而使用戶從紛雜繁多的信息中解脫出來。常用的推薦系統技術有基于內容的推薦系統、基于協同過濾的推薦系統和混合推薦系統,其中最流行的是基于協同過濾的推薦系統,本發明中的算法和框架也是面向協同過濾技術的推薦系統。
[0003]基于協同過濾的推薦系統收集并匯聚用戶偏好信息,依托用戶和項目的相似性度量對用戶可能的偏好項目進行個性化預測。基于協同過濾的技術又可以分為最近鄰協同過濾和基于模型的協同過濾。最近鄰協同過濾利用最相似的若干個用戶或項目的偏好來計算目標用戶對目標項目的偏好程度,然后再向目標用戶推薦其最感興趣的項目;基于模型的協同過濾不直接操作已有偏好信息而得到預測值,而是使用已有偏好信息去訓練模型再基于模型對項目進行偏好程度預測。雖然基于協同過濾的推薦系統能夠比較準確的向用戶推薦其可能感興趣的項目,但是它比較容易受到用戶概貌注入攻擊的影響。因為協同過濾算法是利用用戶和項目的相似性度量來發現用戶可能感興趣的項目,所以通過人為的制造大量與很多用戶相似的虛假用戶概貌信息并將其注入推薦系統,就能夠對基于協同過濾的推薦系統產生嚴重的影響。由于需要大量與正常用戶概貌相似的虛假用戶概貌信息以及希望在較短的時間內影響目標項目,很多攻擊用戶往往會一起行動從而形成攻擊用戶組,又因為組攻擊需要一定的成本,所以一組攻擊用戶常會去攻擊多個目標項目,這些被攻擊的目標項目就組成了目標項目組。現有的工作大多集中檢測單個的攻擊用戶,鮮有工作能夠檢測攻擊用戶組和目標項目組。
[0004]在真實的應用場景中,一組攻擊用戶一起攻擊一組目標項目這樣的組攻擊行為是普遍存在的,例如電子商務中的專業差評集團和電影推薦網站上的專業水軍公司等等。雖然這類組攻擊行為在實際中是廣泛存在的,但是卻很少有工作研究如何檢測組攻擊行為,即同時檢測攻擊用戶組和被該組攻擊用戶攻擊的目標項目組。基于時序數據的推薦攻擊檢測算法通過深入分析組攻擊行為的特點,提煉出三個組攻擊檢測特征,這三個特征分別是從偏好程度值、偏好程度時間和偏好程度分布的角度來描述組攻擊行為的。我們實驗也證明了基于時序數據的推薦系統攻擊檢測算法不僅能夠檢測最可能的攻擊用戶組,而且還可以檢測被該組攻擊用戶攻擊的目標項目組。
【發明內容】
[0005]已有的研究工作大多集中在利用用戶-項目偏好程度數據的一些統計特征來檢測單個攻擊用戶,它們沒有考慮偏好程度數據的時序特性,且不能用來檢測組攻擊行為。本發明提出了一種基于時序數據的推薦攻擊檢測算法。該檢測算法通過深入研究組攻擊行為的特點,然后從偏好程度值的角度、偏好程度時間間隔的角度和偏好程度分布的角度分別提取了“組偏好程度值比例”、“組偏好程度時間間隔特征”和“組平均熵”特征,使用這三個組攻擊檢測特征能夠很好的檢測攻擊用戶組和對應的目標項目組。
[0006]本發明提出的一種基于時序數據的推薦系統攻擊檢測算法,包括步驟:
[0007]步驟S1:利用用戶-項目偏好程度數據集和頻繁項集挖掘技術,得到候選的多個用戶組和候選的多個項目組;
[0008]步驟S2:為每對用戶組和項目組計算描述組攻擊行為在偏好程度值上特性的組偏好程度值比例特征;
[0009]步驟S3:將項目組中各項目的所有偏好程度按操作時間的先后順序進行組織,形成時序的偏好程度數據;
[0010]步驟S4:為每對的用戶組和項目組計算組偏好程度時間間隔特征,捕獲組攻擊行為的時間間隔特性;
[0011]步驟S5:為用戶組計算組平均熵特征,從一組用戶偏好程度分布的角度來檢測組攻擊行為;
[0012]步驟S6:為每一用戶組,選擇其對應最大的組偏好程度值比例特征和最大的組偏好程度時間間隔特征,并依次利用上述三種特征對用戶組進行排序,得到三個有序的用戶組序列;
[0013]步驟S7:利用排序聚集技術綜合所述三個有序的用戶組序列,得到一個整體有序的用戶組序列,從而得到最可能的攻擊用戶組;
[0014]步驟S8:通過組偏好程度值比例特征得到與所述最可能的攻擊用戶組對應的最有可能被攻擊的目標項目組。本發明提出的基于時序數據的推薦系統攻擊檢測算法通過深入研究組攻擊行為的特點,提出三個組攻擊檢測特征,這三個特征分別是從偏好程度值的角度、時間間隔的角度和偏好程度分布的角度來檢測組攻擊行為,從而使得該檢測算法不僅能夠檢測最可能的攻擊用戶組,同時還能檢測被該組攻擊用戶攻擊的目標項目組,在真實的場景中有著重要的應用價值。上述方法不僅能夠檢測攻擊用戶組還能同時檢測目標項目組,在組攻擊數據集上有很好的檢測效果。
【專利附圖】
【附圖說明】
[0015]圖1是本發明中基于時序數據的推薦系統攻擊檢測方法流程圖;
[0016]圖2是利用本發明提出的攻擊檢測方法進行實驗I的性能比較圖;
[0017]圖3是利用本發明提出的攻擊檢測方法進行實驗2的性能比較圖。
【具體實施方式】
[0018]下面詳細說明本發明技術方案中所涉及的各個細節問題。應指出的是,所描述的實施例旨在便于對本發明的理解,而對其不起任何限定作用。
[0019]圖1示出了本發明提出的基于時序數據的推薦系統攻擊檢測方法流程圖。如圖1所示,該方法包括如下步驟:
[0020]步驟SI利用用戶-項目偏好程度數據集和頻繁項集挖掘技術,得到候選的用戶組和候選的項目組;
[0021]步驟S2基于第一步中得到的用戶組和項目組,為每對用戶組和項目組計算“組偏好程度值比例”特征,用來描述組攻擊行為偏好程度值上的特性;
[0022]步驟S3將項目組中各項目的所有偏好程度按操作時間的先后順序進行組織,形成按時間有序的偏好程度數據;
[0023]步驟S4為用戶組和項目組對計算“組偏好程度時間間隔”特征,捕獲組攻擊行為的時間間隔特性;
[0024]步驟S5為用戶組計算“組平均熵”特征,從一組用戶偏好程度分布的角度來檢測組攻擊行為;
[0025]步驟S6對于各用戶組,選擇其對應最大的“組偏好程度值比例”特征和最大的“組偏好程度時間間隔”特征;依次利用上述三種特征,將用戶組進行排序,從而得到三個有序的用戶組序列;
[0026]步驟S7利用排序聚集技術綜合這三個有序的用戶組序列,得到一個整體有序的用戶組序列,從而可以得到最可能的攻擊用戶組;
[0027]步驟S8通過“組偏好程度值比例”特征得到一個與用戶組序列相對應的項目組序列,從而得到被攻擊用戶組攻擊的目標項目組。
[0028]下面詳細介紹上述幾個步驟。
[0029]給定用戶集U和項目集I,所有用戶和所有項目構成集合D = UX I,所有用戶的偏好程度rui構成了用戶-項目偏好程度數據集,記為R。
[0030]R={rui| (u,i) e D}(I)
[0031]在具體介紹各步驟之前,先介紹后面會使用的相關符號所表示的涵義。Gu表示用戶組集合,G1表示項目組集合,Gum表示第m個用戶組,Gin表示第η個項目組,!G1J表示第m個用戶組中的用戶個數,|Gin|表示第η個項目組中項目的個數。
[0032]設置檢測算法中的參數Θ i和Θ 2,Θ i和Θ 2是用于獲取候選的用戶組和項目組的兩個參數。
[0033]在本發明方法中,我們使用頻繁項集挖掘技術來分別得到候選的用戶組和項目組,而頻繁項集挖掘技術需要人為設定最小支持度,故本發明方法中設置的91和θ2參數用于頻繁項集挖掘技術。
[0034]步驟SI中,利用用戶-項目偏好程度數據集R來構造兩個事務數據!\、T2,其中T1是各用戶所評過分的項目的集合,T2是評過各項目的用戶的集合。對U中的每一個用戶u(ue U),將其評過分的所有項目構成一個事務tlu,所有用戶的事務的集合就構成了 T1 ;對I中的每一個項目i(i e I),將對其評過分的所有用戶構成一個事務t2i,所有項目的事務的集合就成了 T2。
[0035]T1=ItluIueul(2)
[0036]T2={t2i|i el}(3)
[0037]在得到T1后,我們將頻繁項集挖掘算法的最小支持度閾值參數設置為Θ i,并將T1和Q1提供給頻繁項集挖掘技術。如果一個由若干項目構成的集合,在事務數據T1中出現的次數大于最小支持度閾值Θ i,那么頻繁項集挖掘技術就判定該集合為一個頻繁的模式,我們將此頻繁模式中包含的所有項目作為一個候選的項目組。頻繁項集挖掘技術通過使用Apriori算法來產生所有的候選項集(Apriori算法通過使用一種逐層搜索的迭代方法來產生所有的候選項集,即先找出k項集,然后利用k項集找出k+Ι項集),然后判斷這些候選項集的支持度是否大于最小支持度閾值Θ i,從而判斷其是否是一個頻繁的項集,進而決定我們是否將其作為一個候選的項目組。于是,我們通過利用頻繁項集挖掘技術可以得到候選的項目組集合G”類似的,將92作為頻繁項集挖掘的最小支持度閾值,對T2使用頻繁項集挖掘技術,就可以得到候選的用戶組集合G?。
[0038]步驟S2中,對每對用戶組0_(6_ GGt7)和項目組ehH十算“組偏好程度值比例”特征的值GVRmn。
【權利要求】
1.一種基于時序數據的推薦系統攻擊檢測算法,包括步驟: 步驟S1:利用用戶-項目偏好程度數據集和頻繁項集挖掘技術,得到候選的多個用戶組和候選的多個項目組; 步驟S2:為每對用戶組和項目組計算描述組攻擊行為在偏好程度值上特性的組偏好程度值比例特征; 步驟S3:將項目組中各項目的所有偏好程度按操作時間的先后順序進行組織,形成時序的偏好程度數據; 步驟S4:為每對的用戶組和項目組計算組偏好程度時間間隔特征,捕獲組攻擊行為的時間間隔特性; 步驟S5:為用戶組計算組平均熵特征,從一組用戶偏好程度分布的角度來檢測組攻擊行為; 步驟S6:為每一用戶組,選擇其對應最大的組偏好程度值比例特征和最大的組偏好程度時間間隔特征,并依次利用上述三種特征對用戶組進行排序,得到三個有序的用戶組序列; 步驟S7:利用排序聚集技術綜合所述三個有序的用戶組序列,得到一個整體有序的用戶組序列,從而得到最可能的攻擊用戶組; 步驟S8:通過組偏好程度值比例特征得到與所述最可能的攻擊用戶組對應的最有可能被攻擊的目標項目組。
2.根據權利要求1所述的方法,其特征在于:利用用戶-項目偏好程度數據集和頻繁項集挖掘技術得到候選的用`戶組和項目組,從而使攻擊用戶組和目標項目組包含于其中。
3.根據權利要求1所述的方法,其特征在于:步驟S2中每對用戶組和項目組的組偏好程度值比例如下計算:
(Σ ZV2 廠 ΤΤ?Πι 一 _lkzGum J^in_
幽— j _ rij^° ^ ? 其中,G,m, (Gum ?;仏)為用戶組集合Gu中的第m個用戶組,Gm (Gm g )為項目組集合G1中的第η個項目組,GVRnmS組偏好程度值比例,IG1J表示第m個用戶組中的用戶個數,I Gin I表示第η個項目組中項目的個數,r.j是用戶組i對項目組j的偏好程度值。
4.根據權利要求1所述的方法,其特征在于:步驟S4中每對用戶組和項目組的組偏好程度時間間隔特征值如下計算: GRTInw =——ψζ.....f.......................................pe ps
k Σ 麗:?
I{qp} = \1 ,qP^°
1。,rgp=0其中,GRTInm為組偏好程度時間間隔特征值,G_(G_ EGc7)為用戶組集合Gu中的第m個用戶組,Giil(Giil QG,)為項目組集合G1中的第η個項目組,Tpe和Tps分別是用戶組Gum中用戶對項目P的最近和最早操作時間,|Gin|表示第η個項目組中項目的個數,rqp是用戶組Gum中用戶q對項目P的偏好程度。
5.根據權利要求1所述的方法,其特征在于:步驟S5中用戶組Gim的組平均熵特征值如下計算:
6.根據權利要求1所述的方法,其特征在于:步驟S6具體為: 對于每一用戶組,分別取其對應的組偏好程度值比例特征值和組偏好程度時間間隔特征值的最大值,然后獲得上述兩種最大值序列對應的用戶組序列。
7.根據權利要求1所述的方法,其特征在于:步驟S7中排在所述整體有序的用戶組序列最前面的用戶組為最有可能的攻擊用戶組。
8.如權利要求1所述的方法,其特征在于:步驟S8中每一用戶組的組偏好程度值比例特征的最大值對應的項目組為該用戶組的目標項目組。
【文檔編號】G06F17/30GK103678709SQ201310746814
【公開日】2014年3月26日 申請日期:2013年12月30日 優先權日:2013年12月30日
【發明者】王亮, 吳書, 王保興 申請人:中國科學院自動化研究所