王曉東,趙一寧,肖海力,王小寧,遲學斌
1.中國科學院計算機網絡信息中心,北京100190
2.中國科學院大學,北京100049
中國國家高性能計算環境(China National Grid,CNGrid)是由國內眾多超算中心和高校的計算集群組成的國家級大型高性能計算環境,采用中國科學院計算機網絡信息中心自主研發的網格環境中間件SCE[1]聚合了大量的通用計算資源,為全國眾多高校和研究機構的用戶提供了優質的計算服務。作為開放式服務環境,用戶服務是在環境運維過程中的一項重要任務。實現用戶行為分析有助于發現用戶行為習慣,從而為針對性用戶服務提供數據支持,同時也能實現異常用戶行為的判別,因此可以對運維工作起到重要的支撐作用。
以點擊預測、用戶推薦為代表的用戶行為分析問題自從計算機網絡發展起來后就一直處于計算機領域研究的熱點。國家高性能計算環境中包含大量的真實用戶操作記錄,具有寶貴的實際分析價值,如何從大量的用戶中發掘有意義的信息對于維護環境的穩定以及減少維護人員的工作是非常重要的。比如當客戶端存在一個未正確實現的通信流程時,一個用戶由于忘記關閉腳本可能造成嘗試連接的命令大量重復出現,最終導致運維人員花費很長時間進行問題排查。如果此時能夠為用戶的正常操作建立一套模型,那么當用戶出現異常操作時就能很快對該異常行為進行診斷,使得維護人員快速地排查異常并進行相關異常處理操作,從而為國家高性能計算環境保持穩定運行提供保障。因此用戶行為分析模型對于指導實際異常檢測工作具有重要意義。
由于用戶行為分析問題具有較高的實用價值,人們對該問題的興趣也日益濃厚,因此近年來研究人員提出了多種研究模型。基于機器學習的用戶行為分析的研究目標是創建一個適當的模型預測用戶下一步的行為。通過對環境中的用戶操作記錄進行觀察,發現用戶有不同的操作習慣,比如不同用戶的每個會話操作的長度可能是不同的。因此,模型需要具有一定的通用性,即該模型能夠同時適用于長會話和短會話,甚至能夠處理長會話和短會話交替的會話組合。上述需求對模型的穩定性和可擴展性帶來了很大的挑戰。此外,在模型的建立過程中還應考慮用戶在兩個連續操作之間所消耗的時間,因為用戶在兩個操作之間的時間間隔對于用戶下一次操作的決策具有一定的影響。因此,如何將時間信息添加到模型中,從而進一步優化模型來提高預測精度也是構建該模型的重點研究內容。
為了解決上述問題,本文提出了一種新的圖神經網絡和循環神經網絡疊加的方法(graph and recurrent neural network,GR-NN)。圖神經網絡層用來學習一個操作與它周圍所有其他操作之間的關系,并為每一種操作類型生成一個潛向量,從而學習到用戶的局部偏好。然后,循環神經網絡用來學習操作序列之間隱藏的信息。圖1 顯示了該方法的總體工作流程。下面根據圖中所示,簡要地描述該模型的工作流程。首先,根據用戶操作順序構造一個圖的數據結構。然后,利用圖神經網絡對該數據結構進行處理,得到所有操作類別的潛向量。之后將這些操作類別按照輸入的操作順序重新排列并利用循環神經網絡對排列后的潛向量進行學習,得到用戶的全局操作偏好。最后,將循環神經網絡的輸出向量傳遞給Softmax 層,得到用戶下一步每種操作類型出現的概率。在實踐中,使用環境中真實的用戶行為操作數據集進行了大量實驗,實驗結果證明了該方法的有效性。

Fig.1 GNN and RNN superimposed workflow圖1 GNN 和RNN 疊加模型的工作流程
綜上所述,本文的研究內容主要有以下三個貢獻點:
(1)將用戶會話數據轉換為圖結構,并根據需要加入時間信息。
(2)圖神經網絡與循環神經網絡疊加的建模技術使得模型獲得兩者的優點,提高了預測精度。
(3)該方法已在CNGrid 的實際數據中進行實驗,實驗結果表明該方法具有較高的實用價值。
本章簡單介紹一下用戶行為分析在傳統機器學習、深度學習以及圖神經網絡中的相關研究。
矩陣因子分解是用戶行為分析的一般方法[2-4],其基本目標是將用戶與項目評價的矩陣分解為兩個低秩矩陣,每個低秩矩陣表示用戶或項目的潛在因素。它不太適合基于會話的推薦,因為用戶偏好項僅由一些相關的點擊事件來提供。Sarwar 等[5]根據在會話中同時出現的項目來計算項目的相似性,然后以此為基礎推斷用戶的下一個行為。Linden 等[6]提出了項目到項目的協同濾波推薦方法。以上這些方法簡單有效,并得到了廣泛的應用,但它們僅根據最后一次點擊生成預測,實際上忽略了用戶歷史的點擊信息,因此有提升的空間。隨后基于馬爾可夫鏈的序列預測方法應運而生,Shani等[7]提出了馬爾可夫決策過程(Markov decision processes,MDP),對基于會話的推薦系統提出推薦項目,最簡單的MDP 可以歸結為一階馬爾可夫鏈,其下一個推薦可以通過項目之間的轉移概率簡單地計算出來。Rendle 等[8]為每兩次相鄰點擊之間的順序行為建模,并為每個序列提供更準確的預測。然而,基于馬爾可夫鏈模型的主要不足在于它們獨立地組合了過去的組件,這種獨立性假設過于強烈,限制了預測精度。
深度學習技術在最近幾年來廣泛用于各個領域,并且取得了非常有前景的效果[9-12]。受到自然語言領域最新進展[13]的啟發,一些專家開始將這個領域的知識運用到用戶行為推薦的問題上來。Hidasi等[14]使用帶有門控遞歸單元的深度遞歸神經網絡對會話數據建模,該模型直接從給定會話中的前一次單擊中學習會話表示,并為下一步操作提供預測。這是首次嘗試將循環神經網絡(recurrent neural network,RNN)應用于用戶行為推薦的問題上來,由于RNN 強大的序列建模能力,其模型可以在預測下一步行動時考慮用戶的歷史行為。Tan 等[15]使用適當的數據增強技術以及將用戶行為時間變化的技術加入到RNN網絡中,從而提高了遞歸模型的性能。Tuan 等[16]將會話點擊與內容特性(如項目描述和項目類別)結合起來,使用三維卷積神經網絡生成用戶行為推薦的操作。Li 等[17]設計了一個名叫NARM(neural attentive recommendation machine)的方法,該方法通過一個全局以及一個局部RNN 推薦器來同時捕獲用戶的順序行為和主要目的。與之類似,Liu 等[18]同樣也設計了STAMP(short term attention/memory priority)方法來利用簡單的MLP 網絡和一個注意力機制的網絡,捕捉用戶的普遍興趣和當前興趣,以此來提高模型的預測準確度。雖然上述方法取得了令人滿意的效果,具有很好的應用價值,但是RNN 模型通常適合處理用戶會話的長度比較長的情況,同時這些方法容易忽略遠距離用戶行為操作之間的復雜轉換。
“圖網絡”是指在圖上構建神經網絡模型并進行分析的方法,該類方法已經被廣泛開發和探索了十多年[19-22],但近年來發展更為迅速。最近,圖神經網絡作為一種強大的表示學習方法開始應用于諸如腳本時間預測[23]、姿態識別[24]、圖像分類等領域[25]。當輸入的數據結構是圖的時候,卷積神經網絡可以捕獲數據圖節點周圍的潛在關系。Shuman 等[26]詳細介紹了如何將代數和頻譜圖理論概念與計算諧波分析相結合來處理圖上的卷積操作。在此基礎上,第一代圖卷積神經網絡[27]根據卷積在圖網絡結構上的特點簡單地將頻域上的卷積核參數設置為節點數目來進行學習,之后Defferrard 等[28]優化了頻域上卷積核參數的設置,并且利用切比雪夫多項式擬合卷積核的方法降低了圖卷積神經網絡的計算復雜度。Li等[22]將門控單元引入到圖卷積神經網絡中,在此基礎上Wu 等[29]將此方法應用到用戶行為分析中,取得了良好的效果。然而,基于圖卷積的方法雖然具有強大的邏輯推理能力,但是該網絡在消息傳遞時根據其相鄰的局部節點進行迭代操作,因此其僅適用于長度比較短的用戶會話序列。本課題實際需要根據單個用戶分別建模,由于每個用戶的操作特點不同,因此需要處理的用戶操作會話長度可能會出現大小不一的情況,這樣就對模型處理不同輸入數據的能力提出了挑戰。
本章首先介紹背景和需要解決的問題,然后具體描述本文方法的各個步驟。
國家高性能計算環境作為運行國內眾多超算中心和高校的計算集群組成的國家級大型高性能計算環境,每天都會收到大量用戶獲取相關計算資源的請求,然而由于每個用戶的操作習慣各不相同,不同用戶對于平臺操作的熟練程度也都有區別,因此可能會在進行請求操作的過程中出現一些異常的操作情況。而這些異常操作隱藏在大量的正常操作之中,如何從中找到這些異常是一項需要解決的實際問題。顯然,使用傳統的人工方法手動檢測每個用戶的操作是一項不可能完成的任務,因此就需要一個自動化的用戶行為異常檢測系統。該系統能夠自動搜集到每個用戶的操作信息,并對每個用戶的操作習慣進行建模,之后當用戶進行相關操作時能夠對其進行檢測,通過該自動化檢測系統可以過濾掉大量的正常操作數據,將過濾后的數據發送給管理員進一步分析就能夠顯著地減少管理員的工作。整個用戶行為異常檢測系統的流程圖如圖2 所示。
從圖2 中可以看出,該系統的核心是構建一個預測模型,該模型能夠準確地通過用戶的歷史操作序列預測用戶的下一個操作類型。顯然,模型預測的準確度越高,那么當用戶的操作與預測操作不符并使得系統發出警告時,更有可能說明該用戶出現了操作不規范或者用戶賬號被盜等異常情況。這時候通過人工判別實際操作數據,如果真的發生了這些情況,就給相關用戶發送異常情況的提醒郵件,從而帶來更好的用戶體驗。
面對這樣一個用戶行為建模以及盡量提高模型準確度的問題,需要使用先進的技術構造一個恰當的用戶行為操作預測模型,下面分步驟說明構建該預測模型的具體過程。
通過上一節的介紹可以看出,用戶行為分析的目標是根據用戶一次會話中已知的歷史操作類型序列來預測用戶下一個操作類型,因此這里首先需要定義基本的用戶操作類型。設用戶操作類型的集合為V={v1,v2,…,vm},即用戶的每次操作只能是集合V中的唯一元素。在實際整理用戶會話數據時,可以根據數據的會話ID 段位得到一次會話的所有操作,然后將一次會話的所有操作數據通過數據的時間戳段位進行排序。這里將排好序的一次會話中的數據列表設為s=[vs,1,vs,2,…,vs,n],其中vs,i代表用戶在會話操作列表S中第i次的操作類型。用戶行為異常檢測模型的目標就是預測用戶下一個操作的類型,比如根據操作列表[vs,1,vs,2,…,vs,n-1]推出下一個操作類型vs,n,然后使用該預測結果和用戶實際操作進行對比,如果不同則說明該用戶可能進行了一次異常操作。

Fig.2 User behavior anomaly detection flow chart圖2 用戶行為異常檢測系統的流程圖
為了使得用戶序列數據適用于圖卷積神經網絡模型,用戶會話數據在輸入模型進行訓練之前首先需要轉換成圖數據結構。實際上每一個會話都可以當作一個有向圖Gs(Vs,εs),在這個會話組成的圖中,每一個節點代表一個操作類型vs,i∈V,每一條邊(vs,i-1,vs,i)∈εs代表該次會話中用戶在進行vs,i-1操作后,下一次進行了vs,i操作。由于每個操作之間都有時間間隔,因此每一條邊都可以增加一個基于時間間隔的權重,之后可以將每一個會話圖的每一個條目v∈V通過嵌入層嵌入到一個統一維度的歐式空間,然后經過圖卷積神經網絡的訓練得到的節點向量v′∈Rd表示學習到的潛向量,其中d表示該潛向量的維度。
本節首先詳細介紹如何將一個用戶會話數據轉換成適合圖神經網絡的輸入,然后講解如何根據圖卷積神經網絡獲得用戶行為操作的潛向量。
假設有用戶操作序列是[v1,v3,v5,v3,v4],其中{v1:登錄,v2:運行命令,v3:提交命令,v4:運行作業,v5:查看資源}代表國家高性能計算環境中用戶操作類型的編碼,則該序列就代表用戶進行一次簡單的操作流程。由于圖數據結構中每種操作類型僅能出現一次,因此該會話轉換成圖數據結構時僅有{v1,v3,v4,v5}這四種節點。為了使得每個節點可以數值化表示,需要將每種節點編碼為唯一的自然數。例如{v1→0,v3→1,v4→3,v5→2}為本例中的編碼。按此規則將本例中的用戶操作序列轉換成會話的圖結構,如圖3 最左邊的結構所示。隨后,該會話圖可以轉換成一個矩陣表示,但是通常圖節點之間的聯系并不密集,屬于稀疏圖,因此使用COO(coordinate format)進行存儲。圖3 中間的矩陣代表該會話圖轉換成矩陣的形式,而圖3 右邊的數據展示了該用戶會話的圖矩陣轉換成對應的COO表示。具體來說,其中的edge_index變量使用一個二維張量存儲有線節點之間按順序出現的節點編號,例如第一列[0,1](圖中紅色強調的數值)代表圖中0 號節點到1 號節點之間有一條連線。edge_attr 的維度與edge_index 的列數相同,存儲了對應連線上的權重。node_value 的維度與節點的個數相同,按照順序存儲了每個節點編號對應的操作類型。

Fig.3 User behavior data conversion圖3 用戶行為操作序列數據轉換
由于用戶在進行兩個操作之間的時間間隔在數據預測中起著非常重要的作用,因此處理時把這些數據轉換成圖結構上邊的權值。在實踐中,每一個時間數據都是一個連續的非負實數,需要標準化時間數據。由于時間數據的范圍比較大,因此這里使用Softmax 函數對時間數據進行歸一化處理。這樣在每一條邊上設置的權重計算公式如下:

其中,tj代表第j條連接兩個操作節點之間的間隔時間。根據上述規則將輸入的會話數據轉換成對應的圖結構后,為了提高模型的準確度,首先使用表示學習中的分布式表示法來構造一個嵌入層,即將每個類別向量通過嵌入層轉換成一個低維稠密向量。然后即可通過圖卷積神經網絡進行學習。圖卷積操作的關鍵是將卷積運算符推廣到不規則域的方法,該方法通常表示為鄰域聚合或消息傳遞模式[30],其中傳遞模式可以使用如下的公式進行計算[31]:

其中,□代表一個可微的排列不變函數(differentiable,permutation invariant function)。例如:求和、求平均、取最大。γ和φ代表可微函數,比如在神經網絡中常用的多層感知機。這里設經過嵌入層后得到的數據為X,則可以使用文獻[32]中提出的圖卷積神經網絡進行卷積,其正向的消息傳遞函數如下:

到目前為止,所構建模型的圖卷積神經網絡模塊通過消息傳遞機制已經使得潛向量學習到了每個操作之間的局部轉換以及操作之間的時間間隔信息。然而圖數據結構忽略了用戶操作的順序信息,因此為了更好地對用戶的全局信息進行學習,后續還要使循環神經網絡進行進一步學習。實際上,選擇圖卷積網絡后進行循環神經網絡的疊加方式的原因是圖卷積層可以看作數據的預處理部分,相較于普通的卷積神經網絡,圖卷積神經網絡可以滿足會話圖結構這種相鄰節點數量是變化的情況,同時能夠學習到節點前后操作的邏輯關系。然而在進行循環神經網絡模塊之前,潛向量首先要根據輸入時用戶的操作順序從新排列。這里為了簡化,使用符號X代表排列好的潛向量,則使用的正向傳播循環神經網絡公式如下:

其中,ht代表第t個時間步時的隱狀態,h(t-1)代表該層在t-1 時間步時的隱狀態或者是初始狀態,rt、zt、nt分別為重置門、更新門和新門。σ是sigmoid函數,計算符號*代表矩陣之間的哈達瑪積。因為更新門用于控制前一時刻的狀態信息被帶入到當前狀態中的程度,更新門的值越大說明前一時刻的狀態信息帶入越多,重置門控制前一狀態有多少信息被寫入到當前的新門nt,因此數據流通過更新門的式(4)和重置門的式(5)分別決定保存和丟棄哪些信息并根據式(6)得出新門。
得到循環神經網絡的輸出后,通過一個全連接網絡將向量的維度線性變換為操作類別的維度,變換后得到的向量為,并用多分類問題的softmax 函數進行計算從而得到輸出向量:


其中,y表示真實值的一個獨熱編碼向量。最后使用反向傳播算法來訓練。
使用Python 實現了本文方法。在模型搭建的過程中,使用Pytorch[33]庫進行深度學習算法的實現,使用PyG[31]進行圖卷積神經網絡的實現。在實際部署的時候,可以分為線上和線下部分。線下部分的作用是根據歷史數據訓練并構建模型,得到模型后,線上進行檢測時就不再更新模型參數,直接進行預測。經過一段時間后,根據新搜集的數據繼續線下更新迭代模型參數。該模型在線上預測時,可以根據不同的用戶調用不同的參數模型,然后預測該用戶的操作并與該用戶的實際操作進行對比,如果不同則認為該用戶的此次操作是一次異常行為。整體的異常診斷流程如圖4 所示,當輸入動作v1時,可以通過該模型預測出用戶行為,當實際用戶動作v2出現時與之進行對比,如果不同則進行異常標記,然后通過動作[v1,v2]輸入模型預測下一個動作,并當用戶實際動作v3出現時與之進行比較,以此類推并設定警戒閾值,比如設定閾值為3 次錯誤進行報警,則當同時出現時進行報警。

Fig.4 Abnormal diagnosis flow chart圖4 異常診斷流程圖
本章首先演示如何使用本文方法來分析CNGrid中的實際的用戶行為數據。然后,將所提出的方法與其他方法進行比較。最后,通過不同的實驗設置對本文方法進行了詳細的分析。
本文搜集CNGrid 用戶的實際操作內容作為數據集,并以該數據集來實驗并評估本文方法。數據集的時間段為2019 年1 月至4 月,在預處理階段,所有操作都已經被整理并編碼成唯一整數。然后挑選單個用戶作為主要實驗對象。所有其他用戶的數據作為對比實驗對象。
首先過濾掉長度為1 和長度大于50 的所有會話,剩下464 條單用戶會話,910 條其余用戶會話。此外,與文獻[29]類似,通過分割會話數據來生成輸入序列和相應的預測標簽。例如,設輸入會話S=[is,1,is,2,…,is,n],則該條會話可以生成一系列輸入序列和標簽組成的元組,即([is,1],is,2),([is,1,is,2],is,3),…,([is,1,is,2,…,is,n-1],is,n),其中最后一個元組的[is,1,is,2,…,is,n-1]代表輸入的動作序列,is,n代表該動作序列出現時下一個預測的動作類型。最終,整理后得到的數據集數如表1 所示。

Table 1 Number of dataset表1 數據集數量
為了評價該方法的性能,將該方法與以下具有代表性的基線方法進行了比較:
(1)POP(popularity predictor)和S-POP(session popularity predictor)算法:分別選取訓練集和當前會話中最常出現的前n個操作作為預測結果的算法。
(2)Item-KNN 算法[5]:預測的操作類基于之前會話中用戶操作與之最相似的會話類型,其中兩個會話之間的相似度使用會話向量之間的余弦相似度來計算。
(3)BPR-MF(Bayesian personalized ranking-matrix factorization)算法[34]:通過隨機梯度下降優化兩個會話排序的目標函數。
(4)FPMC(factorizing personalized Markov chains)算法[8]:使用馬爾可夫鏈捕獲用戶的行為并預測。
(5)RNN 算法[14]:直接使用循環神經網絡進行預測。
(6)RNN+注意力機制算法:使用循環神經網絡以及注意力機制對用戶行為進行預測。
(7)SR-GNN(session-based recommendation with graph neural networks)算法[29]:使用圖神經網絡和注意力機制對用戶行為進行預測。
為了比較上述方法的性能,選擇兩個評價指標進行對比分析。本文選擇的指標廣泛用于基于會話的數據集[18]。其具體描述如下:
P@3(Precision)代表模型預測結果的概率分布列表中概率值最大的前三位預測結果中的其中一個和實際結果相同,這樣的數據在所有測試數據中所占的比例。

其中,N代表測試集中所有數據的個數,nhit代表命中的數據個數。公式中一次命中是指:預測操作類型的概率分布列表中概率值最大的前K個預測結果中包含了實際的預測結果。
MRR@3(mean reciprocal rank)代表一定范圍內條目t的倒數秩的平均值。此處設置為如果倒數秩大于3,則倒數秩為0。

MRR是在范圍[0,1]之間的歸一化得分,該分值的增加反映了大部分“命中”的預測結果,其排名在概率分布列表中靠前的位置,這說明相應預測模型表現的效果好。
為了使得實驗結果公正,所有深度學習方式參數設置均一致。其中潛向量的維度都為d=100,數據訓練時使用小批Adam 優化器對這些參數進行優化,其中初始學習率設置為0.000 1,每3 次迭代后衰減0.1。訓練每一批次數據輸入的大小和L2 值分別設置為30 和0.000 01。
為了演示所提出模型的整體性能,將本文方法進行測試并計算出結果,然后將其與最先進的項目推薦方法進行比較,所有方法評價結果的數值如表2所示,其中每一列的最佳結果以加粗字體突出顯示。從表2 可以看出,在CNGrid 數據集上,GR-NN 在P@3 和MRR@3 方面的性能處于最優水平,驗證了所提出模型的有效性。

Table 2 Experimental result of OneUser dataset表2 OneUser數據集實驗結果%
從表2 還可以得出以下結論:所有神經網絡基線方法的結果都明顯優于傳統模型,從而證明了深度學習技術在該領域的有效性。SR-GNN 結果略低于RNN 方法的結果數值,說明該用戶的操作序列通常較長,而RNN 網絡適合預測較長的用戶操作序列數據集。以上深度學習方法明確地對用戶的整體行為偏好進行建模,并考慮用戶先前操作和下一次單擊之間的轉換,從而獲得優于這些傳統方法的性能。然而,它們的性能仍然低于本文方法。本文算法不僅通過圖卷積神經網絡學習到不同操作類型之間的用戶偏好,忽略了當前會話中用戶動作的干擾,還能夠通過循環神經網絡自動選擇最重要的項之間的轉換規則。本文方法可以通過GNN(graph neural network)捕獲短會話的內部邏輯,通過RNN 捕獲長會話的長期依賴關系,實驗結果也證明了該方法的有效性。
為了驗證本文方法的正確性,本輪實驗選擇了不同的GNN 和RNN 疊加進行建模。實驗結果如表3所示。括號中的GNN 方法是指構造疊加模型時所選擇的不同的GNN 方案的名稱。從以上結果可以看出,不同的GNN 網絡對預測結果的影響很小,這意味著所有的GNN 網絡都具有較強的學習用戶行為邏輯的能力。而且表3 中所有結果都優于表2 中其他方法的結果,這說明對于用戶操作這種數據來說,可能出現一些操作行之間沒有明確目的,或者在當前會話中用戶操作的興趣在不同操作之間快速漂移時,圖卷積神經網絡可以在處理時有效地過濾這種有噪音的會話。以上討論驗證了本文方法思路的有效性。

Table 3 Result of other GNN and RNN methods表3 其他GNN 和RNN 方法結合的實驗結果 %
為了驗證本文方法在不同情況下的有效性和優勢,將本文方法應用于所有其他用戶的數據集上。所有其他用戶的數據集中由于包含了各種不同用戶,而不同用戶的行為是復雜多變的,因此這些數據中包含了長會話和短會話,這使得預測更加困難。由表4 的結果可知,在復雜的數據集中,GNN 網絡優于RNN 網絡,這是因為該方法將每個會話建模為一個圖,從而考慮了會話中不同操作之間的轉換,所以它可以捕獲用戶單擊之間更復雜和隱式的連接關系。

Table 4 Experimental result of AllOthers dataset表4 AllOthers數據集實驗結果%
表2 中使用OneUser 用戶數據集的實驗結果表明,RNN 網絡(RNN &RNN+注意力機制)的結果優于GNN 網絡(SR-GNN 法),這與表4 的結果相反,這是因為圖數據結構忽略了用戶操作的順序信息,所以僅僅使用圖卷積神經網絡容易忽略遠距用戶操作之間的復雜轉換,而循環神經網絡可以學習到這種關系。以上討論更進一步證明了GNN 網絡和RNN網絡各有其適應的范圍。而本文方法在兩種情況下都得到了最好的結果,這也驗證了本文方法的通用性。
目前GNN 和RNN 對于用戶行為預測這種序列類預測問題各有優勢。GNN 的優勢在于可以捕獲數據圖節點之間的潛在邏輯關系,其消息傳遞時根據其相鄰的局部節點進行迭代操作,因此適用于長度比較短的用戶會話序列。RNN 的優勢在于其長期記憶能力,適用于長度比較長的用戶會話序列。本文提出了一種將GNN 和RNN 結合的方法,用于用戶行為異常檢測分析。因為構建的模型結合了GNN 和RNN,所以吸收了兩者各自的優點。在CNGrid 數據集中對用戶的實際操作進行了大量的實驗,并證明該方法在不同的評價指標方面能夠超越當前主流的方法。在實驗中還對不同的GNN 方法和不同的數據集進行了測試,實驗結果也證明了提出模型的合理性和廣泛的適用性。