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