劉藝璇,孫英娟,李婉樺,劉 乾,楊丹陽,于 洋
(1.長春師范大學計算機科學與技術學院,吉林 長春 130032;2.長春市第五十六中學,吉林 長春 130022)
推薦系統(tǒng)在當今社會應用廣泛,它能幫助用戶找到對商品的潛在興趣,減輕信息過載[1]等問題。社交網絡中兩個關系密切的用戶可能具有共同或相似的興趣。社交推薦系統(tǒng)通過考慮社交影響力迅速增長。除了這些明確的用戶社交影響外,兩個項目之間的相關性也很重要,它可以提供描述項目的額外信息,因為項目可能與它相似或相關。同時,包括社交網絡在內的大多數信息本質上都是圖結構,而圖神經網絡(GNN)在圖表示學習方面具有強大的能力。
國內外研究者對基于深度學習推薦算法做了深層次研究。CHEN等[1]集成了來自社交網絡的知識,通過異構GNN學習用戶和物品表示。WU等[2]通過將社交推薦重構為具有社交網絡和興趣網絡的異構圖,來建立用戶影響擴散和興趣擴散的模型。GU等[3]將項目圖嵌入和情境社交建模納入推薦任務中,取得了不錯的推薦效果。遞歸神經網絡已被證明對序列問題是有效的,而基于會話的推薦是推薦系統(tǒng)的一個順序任務,它根據用戶最近的活動[4]預測用戶的下一個偏好。最近,圖神經網絡在各種任務中都取得了優(yōu)異的性能,包括基于會話的推薦。ZHANG等[5]使用注意力機制明確地模擬了用戶的歷史會話對當前會話的影響。
在推薦系統(tǒng)中,利用圖神經網絡的方法在蓬勃發(fā)展。然而,以往的研究多集中在對用戶行為的建模上,而對物品的關注較少。對于物品的建模,人們常常忽略了他們對物品產生的興趣可能隨時間發(fā)生變化,為了克服這些限制,本文提出了圖神經網絡(Graph Neural Network,GNN)與長短期記憶網絡(Long Short Term Memory,LSTM)相融合的推薦算法模型GNN-L,來預測用戶對物品的評分。
本文提出基于深度學習的融合圖神經網絡和長短期記憶網絡算法的混合模型GNN-L,算法模型如圖1所示。該模型由四部分組成:(1)輸入層,對原始數據集進行處理,并將其輸入到模型GNN-L中;(2)嵌入層,將預處理后的數據分別轉化為用戶空間向量和物品空間向量;(3)交互聚合層,關于物品建模,由于用戶會隨時間對物品的興趣發(fā)生變化,使用LSTM和注意力網絡聯合捕獲用戶物品的潛在特征Mj,對于用戶模塊,利用圖神經網絡從用戶物品圖和用戶社交圖獲得用戶的潛在特征;(4)輸出層,先連接用戶和物品的潛在特征(Gi和Mj),然后將其輸入MLP(Multilayer Perceptron,多層感知器),最終得到預測的評分,稱為R′ij。
圖1 GNN-L算法模型
1.1.1 輸入層
將用戶-物品交互圖R、用戶社交圖Gu和物品相關圖Gv作為輸入。由于大多數數據集沒有明確表示物品之間相關性的信息,一個較好的方法是將兩個高度相似的物品連接起來。用余弦相似度來度量兩個物品之間的相似度。對于任何物品Vj,R的第j列記錄了所有交互過的用戶對它的評分,例如,Vj和Vk的評分向量計算相似度公式為
1.1.2 嵌入層
每個用戶可以用自己的嵌入和評分的物品來表征,而一個物品可以用它的嵌入和用戶給出的評分來表征。用戶-物品交互圖R不僅包含了用戶與物品之間的交互,還包含了用戶對物品的評分。通常,將用戶ui對物品Vj的評分設置為rij,gr表示rij的嵌入。用戶嵌入表示為qi,物品嵌入表示為pa。物品嵌入pa及其評分嵌入gr的串聯作為多層感知器(MLP)輸入,MLP的輸出是Oia,表示物品和評分之間交互。同理,用戶和評分之間的交互表示為Yjt。
Oia=bv([pa⊕gr]),
Yjt=hu([gr⊕qi]),
其中,⊕表示兩個向量的串聯運算,bv和hu為2層感知器輸出的結果。
1.1.3 交互聚合層
引入一種注意力機制,以Yjt和物品信息的嵌入pa為輸入,通過兩層神經注意網絡區(qū)分用戶的重要性權重τjt:
所以,物品潛在特征Mj可以用函數表示為
1.1.4 輸出層
有各種推薦任務,如項目排名和評分預測。本文模型應用于評分預測的推薦任務。我們可以先連接用戶和物品的潛在特征(Gi和Mj)然后將其輸入MLP,來進行評分預測,計算預測的評分R′ij如下(l是隱藏層的索引):
g1=[Gi⊕Mj],
g2=f·(W2·g1+b2),
……
gl-1=f·(Wl·gl-2+bl),
R′ij=WT·gl-1.
對物品進行評分預測的任務實質上是回歸問題,本文利用平方損失函數訓練模型來優(yōu)化參數,采用正則化項以避免過度擬合,損失函數為
其中,|O|是訓練評分的數量,R′ij是得到的預測的評分,Rij是由物品Vj的使用者ui指定的基本真實評分,λ表示正則化項的常數參數,Θ表示模型中的未知參數的集合。
為了優(yōu)化目標函數,在實驗中采用RMSprop(Root Mean Square Prop,一種加快梯度下降算法)作為優(yōu)化器。
為了評估推薦算法性能的好壞,該模型使用平均絕對誤差(MAE)和均方根誤差(RMSE,也稱標準誤差),隨著MAE、RMSE的降低,其預測準確率也相應提高。MAE函數用M表示,RMSE函數用R表示。
其中,Rt為測試集的評分矩陣。
本文采用的數據集Ciao是從一個在線消費者購物網站上獲取的,它記錄了用戶對帶有時間戳的商品的評分,用戶還可以將其他人添加到好友列表中,并建立社交關系。因此,這個數據集提供了大量的評分信息和社交信息。用戶對物品的評分范圍是1~5分,并且數據集使用對應的嵌入向量,來初始化數據集的評分嵌入。Ciao數據集的具體數據統(tǒng)計如表1所示。
表1 Ciao數據集各項數據統(tǒng)計
在本文模型中,研究數據集劃分:訓練數據集占80%,用于擬合本文模型;驗證數據集占10%,用于調整超參數以避免過擬合;測試數據集占10%,用于評估最終模型的泛化能力。本文模型在Ciao數據集上的嵌入大小對推薦效果有影響,當嵌入大小為256時,性能降低了。具體參數值設置如表2所示。
表2 參數設置表
除了傳統(tǒng)推薦算法外,也有其他推薦性能較好的算法,例如,DeepSoR[6]:利用深度神經網絡,從社交關系中提取每個用戶復雜、固有的非線性特征,用于評分預測。NARM[7]:應用注意力機制,從當前會話捕獲用戶的順序行為和以用戶為主要目的的推薦模型。STAMP[8]:采用注意力機制,更好地捕捉用戶的短期興趣,主要用于匿名推薦。DGRec[9]:同時考慮用戶基于會話的興趣和動態(tài)的社會影響力,利用圖注意力神經網絡對情境相關的社會影響進行建模。Gra+[10]:在社交圖上聯合建模三種類型的聚合,即用戶-物品圖和物品-物品圖,全面學習用戶和物品的嵌入。將本文算法GNN-L與DeepSoR、NARM、STAMP、DGRec和Gra+算法進行比較,如表3和圖2所示,并對得到的結果進行分析。
表3 不同推薦算法的性能比較
圖2 迭代次數與RMSE之間的關系
從表3和圖2可以看出,與DeepSoR、NARM、STAMP、DGRec和Gra+算法相比,本研究結果表現較好,因為MAE值和RMSE值越小,表示準確率越高。在表3中,本文模型MAE值為0.731 8,RMSE值為0.970 9。這意味著本文模型的推薦效果更好,GNN-L優(yōu)于其他算法。因此得出結論:(1)加入社交網絡信息使推薦算法更準確;(2)加入圖神經網絡和LSTM的融合模型更能提高推薦算法性能。
GNN-L是用于評分預測推薦的方法,是一種以深度學習為基礎的融合算法,該算法融合GNN和LSTM,不僅能夠基于用戶評分學習用戶特征,而且能夠深度挖掘其他信息,學習到更精確的物品特征,最后利用MLP算法將得到的兩個特征相結合,來預測用戶對未評分物品的評分。通過對Ciao數據集的仿真試驗,證明了本文方法從整體上能有效提高推薦算法的性能,從而提高推薦質量。