本申請涉及網絡技術領域,特別涉及一種異常用戶檢測方法。本申請同時還涉及一種異常用戶檢測設備。
背景技術:
隨著互聯網的蓬勃發展,人們的生活習慣逐漸發生著變化,相應地,電子商務平臺帶來的網絡購物生態圈也吸引著越來越多的商家投身其中。由于電商平臺存在巨大的經濟利益,因此催生了很多黑色產業的發展,比如說商家雇傭大量小號購買自身產品提高電商平臺的信用、黑產人員使用腳本和小號大量搶購商家促銷商品再進行二次銷售等。
現有的批量虛假交易買家的識別技術,主要是利用業務領域專家分析并總結的一些批量購買行為特征(如地理區域、交易次數等),訓練分類模型,然后產出一些閾值來對用戶ID進行篩選,這種方法容易被作弊用戶以代理IP、低頻交易等形式繞過模型監控。因此,如何能從海量日志數據中有效識別存在批量虛假交易行為的買家,不僅是電子商務系統防范黑色產業、保護商家和消費者正常交易行為的一個有力切入點,同時也是本領域技術人員亟待解決的技術問題。
技術實現要素:
本申請提供了一種異常用戶檢測方法,結合數據系統中各個用戶的操作行為對用戶進行檢測,發現具有異常操作行為的用戶,從而提高現有數據系統的穩定性,提升用戶的使用體驗。該方法包括:
預設第一類型操作行為與第二類型操作行為的對應關系,該方法包括:
根據所述對應關系獲取指定時間段內用戶的各個第一類型操作行為與后續距離其時刻最近的第二類型操作行為之間的時間間隔;
根據各所述時間間隔、多個預設的間隔時長以及與各所述間隔時長對應的權重值生成與所述用戶對應的間隔累積值;
根據所述用戶的間隔累積值與所述數據系統中其他用戶的間隔累積值確定所述用戶是否為異常用戶。
優選地,根據各所述時間間隔、預設的間隔時長以及與各所述間隔時長對應的權重值生成與所述用戶對應的間隔累積值,具體為:
根據所述時間間隔以及所述間隔時長確定與各所述間隔時長對應的歸一化值,所述歸一化值為單一間隔時長對應的時間間隔的數量與所述時間間隔的總數量的比值;
根據與各所述間隔時長對應的權重以及歸一化值生成所述間隔累積值,其中,時間長度較長的間隔時長所對應的權重高于時間長度較短的間隔時長所對應的權重。
優選地,根據所述對應關系獲取指定時間段內用戶的各個第一類型操作行為與后續距離其時刻最近的第二類型操作行為之間的時間間隔,具體為:
獲取所述用戶在指定時間段內的行為記錄數據,所述行為記錄數據包括所述第一類型操作行為的操作時刻以及所述第二類型操作行為的操作時刻;
獲取各所述第一類型操作行為的操作時刻與后續距離其最近的第二類型操作行為的操作時刻確定各所述時間間隔。
優選地,根據所述時間間隔以及多個預設的間隔時長確定與各所述間隔時長對應的歸一化值,具體為:
將所述時間間隔按照多個預設的間隔時長進行分類;
確定各所述間隔時長對應的時間間隔的數量;
獲取各所述間隔時長對應的時間間隔的數量與所述時間間隔的總數量的 比值,將所述比值作為各所述間隔時長的歸一化值。
優選地,根據所述用戶的間隔累積值與所述數據系統中其他用戶的間隔累積值確定所述用戶是否為異常用戶,具體為:
將所述用戶間隔累積值與所述其他用戶中數值最大的間隔累積值之間的差值作為所述用戶的反向間隔累積值;
根據所述用戶以及所述其他用戶的反向間隔累積值確定異常閥值;
判斷所述用戶的反向間隔累積值是否大于所述異常閥值;
若是,則確定所述用戶為異常用戶;
若否,確定所述用戶為正常用戶。
優選地,根據所述用戶以及所述其他用戶的反向間隔累積值確定異常閥值,具體為:
將所述用戶以及所述其他用戶的間隔累積值按照大小順序進行排序;
根據指定排序位的用戶的間隔累積值的差值以及預設的系數確定所述異常閥值。
相應地,本申請還提出了一種異常用戶檢測設備所述設備預設第一類型操作行為與第二類型操作行為的對應關系,該設備還包括:
獲取模塊,根據所述對應關系獲取指定時間段內用戶的各個第一類型操作行為與后續距離其時刻最近的第二類型操作行為之間的時間間隔;
生成模塊,根據各所述時間間隔、多個預設的間隔時長以及與各所述間隔時長對應的權重值生成與所述用戶對應的間隔累積值;
確定模塊,根據所述用戶的間隔累積值與所述數據系統中其他用戶的間隔累積值確定所述用戶是否為異常用戶。
優選地,所述生成模塊具體用于:
根據所述時間間隔以及所述間隔時長確定與各所述間隔時長對應的歸一 化值,所述歸一化值為單一間隔時長對應的時間間隔的數量與所述時間間隔的總數量的比值;
根據與各所述間隔時長對應的權重以及歸一化值生成所述間隔累積值,其中,時間長度較長的間隔時長所對應的權重高于時間長度較短的間隔時長所對應的權重。
優選地,所述獲取模塊具體用于:
獲取所述用戶在指定時間段內的行為記錄數據,所述行為記錄數據包括所述第一類型操作行為的操作時刻以及所述第二類型操作行為的操作時刻;
獲取各所述第一類型操作行為的操作時刻與后續距離其最近的第二類型操作行為的操作時刻確定各所述時間間隔。
優選地,所述生成模塊根據所述時間間隔以及多個預設的間隔時長確定與各所述間隔時長對應的歸一化值,具體為:
將所述時間間隔按照多個預設的間隔時長進行分類;
確定各所述間隔時長對應的時間間隔的數量;
獲取各所述間隔時長對應的時間間隔的數量與所述時間間隔的總數量的比值,將所述比值作為各所述間隔時長的歸一化值。
優選地,所述確定模塊具體用于:
將所述用戶間隔累積值與所述其他用戶中數值最大的間隔累積值之間的差值作為所述用戶的反向間隔累積值;
根據所述用戶以及所述其他用戶的反向間隔累積值確定異常閥值;
判斷所述用戶的反向間隔累積值是否大于所述異常閥值;
若是,則確定所述用戶為異常用戶;
若否,確定所述用戶為正常用戶。
優選地,所述確定模塊根據所述用戶以及所述其他用戶的反向間隔累積值確定異常閥值,具體為:
將所述用戶以及所述其他用戶的間隔累積值按照大小順序進行排序;
根據指定排序位的用戶的間隔累積值的差值以及預設的系數確定所述異常閥值。
由此可見,通過應用本申請的技術方案,基于預設的第一類型操作行為與第二類型操作行為的對應關系獲取指定時間段內用戶的各個第一類型操作行為與后續距離其時刻最近的第二類型操作行為之間的時間間隔,根據各時間間隔、多個預設的間隔時長以及與各間隔時長對應的權重值生成與用戶對應的間隔累積值,并根據用戶的間隔累積值與其他用戶的間隔累積值確定用戶是否為異常用戶。從而能夠在數據系統中的海量行為數據記錄中主動監測并發現存在異常行為的用戶,提高了數據系統的穩定性以及用戶的使用體驗。
附圖說明
圖1為本申請提出的一種異常用戶檢測方法的流程示意圖;
圖2為本申請提出的一種異常用戶檢測設備的結構示意圖。
具體實施方式
為解決背景技術中的技術問題,本申請通過使用電子商務平臺的用戶在一段時間范圍內的行為日志,通過分析兩個特定類型的操作行為之間的間隔時間規律,判斷該用戶是否存在如批量虛假交易等異常操作行為。
如圖1所示,為本申請提出的一種異常用戶檢測方法的流程示意圖,在使用該方案之前,技術人員可以根據實際需要以及使用場景指定具體的第一類型操作行為與具體的第二類型操作行為,并預設第一類型操作行為與第二類型操作行為。包括以下步驟:
S101,根據所述對應關系獲取指定時間段內用戶的各個第一類型操作行為與后續距離其時刻最近的第二類型操作行為之間的時間間隔。
用戶行為記錄數據是大數據體系中的重要組成部分。大多數電子商務平臺系統都嵌入了日志模塊實時記錄用戶在系統上的操作行為,從而支撐相應的分析模型,比如用戶對商品的瀏覽軌跡可用于商品智能推薦模型的訓練等。在不同用戶的行為記錄數據中都包含了用戶的各個不同行為及其對因的操作時間,其中就包括了用戶瀏覽商品的時間以及用戶購買瀏覽的商品的時間。
由于本申請可實現針對用戶的虛假交易行為進行檢測,這與用戶瀏覽商品以及購買商品之間的時間間隔密不可分,因為正常的用戶在瀏覽商品后通常需要一段時間考慮是否需要購買,因此不會立刻進行購買,而虛假交易的用戶為了提高刷單效率,則是在瀏覽完商品后即刻進行購買。出于獲取經濟利益的原因,進行批量虛假交易行為的用戶對應的“瀏覽”和“購買”兩個行為之間的間隔時間較短,與正常交易行為存在可分辨的差異,因此在本申請的優選實施例中,當需要根據對應關系獲取指定時間段內用戶的各個第一類型操作行為與后續距離其時刻最近的第二類型操作行為之間的時間間隔時,可以首先獲取所述用戶在指定時間段內的行為記錄數據,所述行為記錄數據包括所述第一類型操作行為的操作時刻以及所述第二類型操作行為的操作時刻;隨后再獲取各所述第一類型操作行為的操作時刻與后續距離其最近的第二類型操作行為的操作時刻確定各所述時間間隔。在具體的應用場景中,第一類型操作行為可設置為“瀏覽”,第二類型操作行為可設置為“購買”。
S102,根據各所述時間間隔、多個預設的間隔時長以及與各所述間隔時長對應的權重值生成與所述用戶對應的間隔累積值。
為了能夠清楚反映一個用戶在某個時間段內的第一類型操作行為與第二類型操作行為之間的時間間隔的情況,在本申請優選的實施例中引入了歸一化值以及與各個間隔時長對應的權重,其中歸一化值為單一間隔時長對應的時間間隔的數量與所述時間間隔的總數量的比值,而時間長度較長的間隔時 長所對應的權重高于時間長度較短的間隔時長所對應的權重。基于S101中所獲取的間隔時長,該步驟首先根據時間間隔以及間隔時長確定與各所述間隔時長對應的歸一化值,隨后根據與各所述間隔時長對應的權重以及歸一化值生成所述間隔累積值。具體地,在本申請的一個優選實施例中,可采取以下步驟確定歸一化值:
步驟a)將所述時間間隔按照多個預設的間隔時長進行分類;
步驟b)確定各所述間隔時長對應的時間間隔的數量;
步驟c)獲取各所述間隔時長對應的時間間隔的數量與所述時間間隔的總數量的比值,將所述比值作為各所述間隔時長的歸一化值。
同時,為了能夠清楚的描述一個用戶的交易頻次,以及將正常用戶與批量虛假交易的用戶進行區分,本申請技術方案針對各個間隔時長設置了一個權重值,并且令時間長度較長的間隔時長所對應的權重高于時間長度較短的間隔時長所對應的權重,然后針對每一個用戶根據各間隔時長對應的權重以及歸一化值生成該用戶的間隔累積值。通過該方式所得到的用戶的間隔累積值對于批量虛假交易的用戶來說是必然小于正常交易的用戶的。
以具體實施場景中針對虛假交易用戶檢測為例,為了能夠清楚地對一個用戶的交易頻次進行界定,本申請預設了多個不同長短的間隔時長,例如1秒以內、1秒至10秒之間、10秒至30秒之間、30秒至1分鐘之間、1分鐘至10分鐘之間、10分鐘至30分鐘之間、30分鐘至1小時之間、1小時以上等。基于S101中所獲取的時間間隔,本申請在該步驟中首先將時間間隔按照多個預設的間隔時長進行分類,即根據各個時間間隔的長度,將其歸類到相應的范圍的間隔時長中,假設某個時間間隔長度為6分鐘,那么與其對應的間隔時長則為“1分鐘至10分鐘之間”。
在確認所有的時間間隔都分類完畢之后,該步驟繼續確定與各間隔時長 對應的時間間隔的數量,比如有多少個時間間隔對應“30秒至1分鐘之間”的間隔時長,多少時間間隔對應“30分鐘至1小時之間”的間隔時長等等,最后根據統計的結果獲取各間隔時長對應的時間間隔的數量與時間間隔的總數量的比值,將該比值作為各個間隔時長對應的歸一化值。通過以上處理所到的歸一化值,可以很清楚的表明該用戶的交易頻次。
S103,根據所述用戶的間隔累積值與其他用戶的間隔累積值確定所述用戶是否為異常用戶。
基于S102中的說明,由于間隔累積值能夠平均地反映一個用戶在指定時間內的交易頻次水平,因此在獲取到當前數據系統的所有用戶的間隔累積值后,即可進一步地根據所有用戶的間隔累積值的水平設置相應的檢測方案,在本申請優選的實施例中,可采取如下實現方案:
步驟a)將所述用戶間隔累積值與所述其他用戶中數值最大的間隔累積值之間的差值作為所述用戶的反向間隔累積值。
由于本實施例中是將一段時間內所有用戶的間隔累積值進行比較,因此以最大的間隔累積值的用戶作為標準(該用戶明顯不會是批量虛假交易的用戶),計算得到各個用戶相對于該用戶的反向間隔累積值,反向間隔累積值越大即代表該用戶可能為批量虛假交易用戶的可能性越大。
步驟b)根據所述用戶以及所述其他用戶的反向間隔累積值確定異常閥值。
為了能夠準確地對批量虛假交易用戶進行界定,基于上一步驟中所得到的反向間隔累積值,該步驟將用戶以及其他用戶的間隔累積值按照大小順序進行排序,然后根據指定排序位的用戶的間隔累積值的差值以及預設的系數確定異常閥值。其中,具體的排序位以及系數可以根據實際情況靈活設置,在此基礎上本領域技術人員也可選擇其他閾值指標結合反向間隔累積值(例 如灰度圖分割技術等)確定用戶是否為異常用戶,這些都屬于本申請的保護范圍。
步驟c)判斷所述用戶的反向間隔累積值是否大于所述異常閥值;
若是,則確定所述用戶為異常用戶;
若否,確定所述用戶為正常用戶。
為了進一步闡述本申請的技術思想,現結合具體的應用場景,對本申請的技術方案進行說明。該具體實施例包括以下步驟:
步驟201,獲取用戶在一段時間范圍內的行為記錄數據。
假定分析日期為2014年1月1日至12月31日,具體的記錄數據如下表1所示,該行為記錄數據是從數據系統中所有用戶的行為記錄數據表中根據用戶ID分組提取出來的,其中主要包括了日志流水號、用戶ID、操作行為類型以及操作時間等信息。
表1
步驟202,以用戶為單位,按照時間對行為記錄數據進行排序,生成“瀏覽”以及“購買”行為的時間間隔序列。
基于表1該步驟按用戶ID分組,分別統計“用戶001”相鄰的“瀏覽”和“購買”行為的時間間隔,形成如下格式的數據:
{用戶ID:X;時間間隔(秒):4,23,12,21,2,11,……}
步驟203,對時間間隔信息進行離散化、歸一化處理,生成歸一化向量。
該步驟首先分別計算出時間間隔為1秒以內、1秒至10秒之間、10秒至30秒之間、30秒至1分鐘之間、1分鐘至10分鐘之間、10分鐘至30分鐘之間、30分鐘至1小時之間、1小時以上的交易次數,隨后將這些交易次數除以總交易數量,得到維度為8的“歸一化向量”。以用戶ID為001以及總交易數量為100為例,相應的歸一化計算示例如下表2所示:
表2
最后所得到該用戶的歸一化后的向量為:{V1,V2,V3,……,V8},其中,V1代表小于1秒的交易次數的歸一化值(上例中為:0.3),V8代表大于等于1小時的交易次數的歸一化值(上例中為:0.01),其余的Vi是時間間隔為i秒的交易次數的歸一化值,另外由于是“歸一化”值,因此該向量具備以下 特征:V1+V2+V3……+V8=1.0
步驟204,按照算法生成用戶ID對應的間隔累積值與反向間隔累積值。
具體地,每個用戶ID的間隔累積值(“Accumulated Interval”數值)計算方法如下:
令A代表“Accumulated Interval”數值,則:
接下來對間隔累積值取反(時間間隔越短越可能批量虛假交易,間隔累積值會趨向變小),用戶ID的反向間隔累積值=Max(所有用戶ID的間隔累積值)-該用戶ID的間隔累積值。
步驟205,對用戶的反向間隔累積值進行過濾,確定異常用戶的ID。
該步驟將統計出所有用戶ID中的異常間隔累積值,并以此數值為閥值,過濾出懷疑存在批量虛假交易行為的買家ID。具體地,異常閥值計算公式如下:
異常閥值=2*1.5*(75分位值–25分位值);
其中,“75分位值”和“25分位值”分別是步驟3中所有用戶的反向間隔累積值按從小到大的75位排名數值和25位排名值。
基于異常閾值,即可過濾出所有反向間隔累積值大于“異常閥值”的用戶ID。
步驟206,輸出異常用戶的ID清單,判斷為虛假批量交易用戶。
為達到以上技術目的,本申請還提出了一種異常用戶檢測設備,如圖2所示,該設備包括:
獲取模塊210,根據所述對應關系獲取指定時間段內用戶的各個第一類型 操作行為與后續距離其時刻最近的第二類型操作行為之間的時間間隔;
生成模塊220,根據各所述時間間隔、多個預設的間隔時長以及與各所述間隔時長對應的權重值生成與所述用戶對應的間隔累積值;
確定模塊230,根據所述用戶的間隔累積值與其他用戶的間隔累積值確定所述用戶是否為異常用戶。
在具體的應用場景中,所述生成模塊具體用于:
根據所述時間間隔以及所述間隔時長確定與各所述間隔時長對應的歸一化值,所述歸一化值為單一間隔時長對應的時間間隔的數量與所述時間間隔的總數量的比值;
根據與各所述間隔時長對應的權重以及歸一化值生成所述間隔累積值,其中,時間長度較長的間隔時長所對應的權重高于時間長度較短的間隔時長所對應的權重。
在具體的應用場景中,所述獲取模塊具體用于:
獲取所述用戶在指定時間段內的行為記錄數據,所述行為記錄數據包括所述第一類型操作行為的操作時刻以及所述第二類型操作行為的操作時刻;
獲取各所述第一類型操作行為的操作時刻與后續距離其最近的第二類型操作行為的操作時刻確定各所述時間間隔。
在具體的應用場景中,所述生成模塊根據所述時間間隔以及多個預設的間隔時長確定與各所述間隔時長對應的歸一化值,具體為:
將所述時間間隔按照多個預設的間隔時長進行分類;
確定各所述間隔時長對應的時間間隔的數量;
獲取各所述間隔時長對應的時間間隔的數量與所述時間間隔的總數量的比值,將所述比值作為各所述間隔時長的歸一化值。
在具體的應用場景中,所述確定模塊具體用于:
將所述用戶間隔累積值與所述其他用戶中數值最大的間隔累積值之間的 差值作為所述用戶的反向間隔累積值;
根據所述用戶以及所述其他用戶的反向間隔累積值確定異常閥值;
判斷所述用戶的反向間隔累積值是否大于所述異常閥值;
若是,則確定所述用戶為異常用戶;
若否,確定所述用戶為正常用戶。
在具體的應用場景中,所述確定模塊根據所述用戶以及所述其他用戶的反向間隔累積值確定異常閥值,具體為:
將所述用戶以及所述其他用戶的間隔累積值按照大小順序進行排序;
根據指定排序位的用戶的間隔累積值的差值以及預設的系數確定所述異常閥值。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本申請可以通過硬件實現,也可以借助軟件加必要的通用硬件平臺的方式來實現。基于這樣的理解,本申請的技術方案可以以軟件產品的形式體現出來,該軟件產品可以存儲在一個非易失性存儲介質(可以是CD-ROM,U盤,移動硬盤等)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本申請各個實施場景所述的方法。
本領域技術人員可以理解附圖只是一個優選實施場景的示意圖,附圖中的模塊或流程并不一定是實施本申請所必須的。
本領域技術人員可以理解實施場景中的裝置中的模塊可以按照實施場景描述進行分布于實施場景的裝置中,也可以進行相應變化位于不同于本實施場景的一個或多個裝置中。上述實施場景的模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。
上述本申請序號僅僅為了描述,不代表實施場景的優劣。
以上公開的僅為本申請的幾個具體實施場景,但是,本申請并非局限于 此,任何本領域的技術人員能思之的變化都應落入本申請的保護范圍。