[發明專利]一種基于網絡流的Web用戶點擊目標識別的方法有效
| 申請號: | 201810728059.0 | 申請日: | 2018-07-05 |
| 公開(公告)號: | CN108989411B | 公開(公告)日: | 2021-10-08 |
| 發明(設計)人: | 費星瑞;謝逸;譚新城 | 申請(專利權)人: | 中山大學 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;H04L12/851;H04L12/24 |
| 代理公司: | 廣州圣理華知識產權代理有限公司 44302 | 代理人: | 頓海舟 |
| 地址: | 510275 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 網絡 web 用戶 點擊 目標 識別 方法 | ||
1.一種基于網絡流的Web用戶點擊目標識別的方法,其特征在于,包括模型訓練階段和網絡流識別階段,其中:
模型訓練階段的過程為:
Step1:在網絡側采集網絡流數據;
Step2:使用采集到的網絡流數據構造訓練樣本;
Step3:訓練用戶點擊和自動請求的模型;
網絡流識別階段的過程為:
Step4:提取需要識別的網絡流的觀測值;
Step5:將觀測值組成的觀測序列輸入到由Step3訓練好的模型;識別出網絡流;
在網絡側通過數據包采集軟件抓取用戶在進行Web瀏覽過程中的網絡數據包,若包含多個用戶同時訪問,則根據源IP地址對用戶進行區分;
對于用于訓練模型的網絡流數據,需要獲得每個請求對應的標簽,具體是:通過瀏覽器插件獲得用戶的真實點擊行為,再根據請求目標的URL與網絡流數據中相應的字段進行對比,以標記數據;
Step2所述構造訓練樣本是:使用其后續的相鄰兩個請求間的時間差序列,來描述該請求產生的過程,同時使用Z分數標準化這個序列,使所有用于描述過程的觀測值落在固定的數值區間內;在構造描述此過程的序列時,取當前請求及其之后的5個請求構造描述過程的時間差序列時效果最好; 此外,再使用當前請求與其前后請求的時間間隔,與上述標準化后的序列共同組成該段網絡流的觀測序列O1:T=O1O2O3…OT,其中O1,O2,O3…OT∈O;
Step3所述的訓練用戶點擊和自動請求的模型是基于HMM,通過對用戶點擊和自動請求產生的過程分別建模,其過程為:
對所有觀測值進行聚類即可得到每條觀測序列所對應的隱含狀態序列S1:T=S1S2S3…ST,其中S1,S2,S3…ST∈S,且根據點擊過程可知狀態Si的值取決于前面有限個狀態;根據Step1、Step2中的描述,標準化之后的觀測值會落在某個特定的數值區間內,則用S1表示在標準化后的數值區間內大于平均值的觀測值對應的狀態,用S2表示該區間內小于平均值的觀測值對應的狀態,S3表示RTT 的數值大于10秒所對應的狀態,S4表示RTT所對應的狀態,S5表示RTT的數值小于0.1秒所對應的狀態,S6表示剩下一些無法確定的數值所對應的狀態;
HMM的參數為λ=(A,B,π),其中A為狀態轉移矩陣,表示狀態間的轉移關系,Ai,j是矩陣A的第i行、第j列元素,表示狀態Si轉移到狀態Sj的概率;B矩陣描述的是狀態與觀測值的對應關系,Bi,j是矩陣B的第i行、第j列元素,表示狀態Si生成狀態Oj的概率;π為初始狀態概率;
在此步驟中,需要訓練兩個模型,用戶點擊對應的模型λ1和自動請求對應的模型λ2,根據在Step1中采集到的用戶真實瀏覽行為,能對Step2中構造的觀測序列進行標記,將其分為和其中為訓練λ1的訓練樣本,為訓練λ2的訓練樣本;具體訓練過程如下:
(1)使用K-means聚類算法對訓練樣本中的所有觀測值進行聚類,得到Q個狀態,以及對應的狀態序列
(2)統計狀態序列中時刻t處于狀態i,在時刻t+1轉移到狀態j的頻數為ai,j,則狀態轉移矩陣A的初始值為:
(3)為了便于實際工程應用,在計算過程中使用頻率近似概率,計算前需要對觀測值進行離散化,所以在所有觀測值的最大值與最小值之間等間隔取K-1個點,產生K個區間,觀測值落在每個區間的數量則為該區間的頻數,此時便將連續的觀測值轉換成了K個離散值,則訓練樣本中狀態為j,觀測值為o,且o落在第k個區間的頻數用bj,k(o)表示,其中k∈[1,K],那么觀測概率矩陣B為:
(4)初始狀態概率π為每個狀態在N個狀態序列中作為初始狀態的概率;
(5)根據初始參數λ(0)=(A(0),B(0),π(0))和使用維特比算法重新計算對應的狀態序列再重復步驟(2)、(3)、(4)獲得新的模型參數λ(*),其中維特比算法如下所示:
維特比算法根據模型參數和觀測序列,計算出對應的最優狀態序列,也能將其看成狀態轉移的最優路徑;首先導入兩個變量δ和ψ,定義在時刻t狀態為i的所有單個路徑(i1,i2,...,it)中概率最大值為:
由定義可得變量δ的遞推公式為:
定義在時刻t狀態為i的所有單個路徑(i1,i2,...,it-1,it)中概率最大的路徑的第t-1個結點為:
首先進行初始化:
δ1(i)=πibi,k(o1),i=1,2,...,Q
ψ1(i)=0,i=1,2,...,Q
接著是遞推;對t=2,3,...,T
終止
最優路徑回溯;對t=T-1,T-2,...,1
求得最優路徑即該觀測序列在現有模型中對應的最佳狀態序列;
(6)使用第(5)步中獲得的新的模型參數λ(*),和訓練樣本通過維特比算法重新計算對應的狀態序列再根據(2)、(3)、(4)重新估計模型參數λ(**);使用λ(**)替代λ(*)重復迭代此過程,當達到設定的最大迭代次數或迭代后觀測序列相對于模型似然概率的差值小于設定閾值,即時,則停止迭代,獲得最終的HMM模型參數λ=(A,B,π);
所以在經過Step3后,會得到λ1和λ2;至此,就完成了對模型的訓練;
網絡流識別階段的過程為:
根據Step1采集需要識別的網絡流數據,再根據Step2中構造觀測序列的方法提取采集到的數據的觀測值,并組成觀測序列該序列無標簽;
將分別輸入到λ1和λ2,其中n∈[1,N],能計算在模型λ下觀測序列O1:T出現的概率P(O1:T|λ),使用前向算法進行計算:
給定隱馬爾科夫模型λ,定義到時刻t,觀測到部分觀測序列O1:t且狀態為i的概率為前向概率,記作αi(t)=p(O1=o1,...,Ot=ot,St=i|λ),能遞推地求得:
αi(1)=πibi,k(o1)
若則該觀測序列對應的請求為用戶點擊產生,反之,則為自動請求;遍歷完所有觀測序列后,則完成了對該網絡流的識別。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中山大學,未經中山大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810728059.0/1.html,轉載請聲明來源鉆瓜專利網。





