王英博,孫永荻
1.遼寧工程技術(shù)大學(xué) 創(chuàng)新實(shí)踐學(xué)院,遼寧 阜新 123000
2.遼寧工程技術(shù)大學(xué) 軟件學(xué)院,遼寧 葫蘆島 125105
在信息爆炸的時(shí)代,推薦系統(tǒng)因其在緩解信息過載上的特殊能力受到越來越多的關(guān)注,被電子商務(wù)、在線新聞、社交媒體網(wǎng)站等眾多在線服務(wù)機(jī)構(gòu)廣泛采用[1]。推薦系統(tǒng)利用用戶和項(xiàng)目之間的交互信息來深入挖掘用戶的行為偏好,從而預(yù)測用戶的興趣偏好,并向需要該項(xiàng)目的特定用戶推薦最合適的項(xiàng)目,這類方法被稱為協(xié)同過濾[2-3]。在眾多協(xié)同過濾推薦算法中,矩陣分解(MF)[4-5]已成為最受歡迎的推薦算法之一,并引起了廣泛關(guān)注。它主要是將用戶和項(xiàng)目嵌入到一個(gè)共享的潛在空間中,將用戶和項(xiàng)目用特征潛在向量表示。之后,用戶和項(xiàng)目之間的交互被建模為其潛在特征向量的內(nèi)積。受Netflix獎(jiǎng)的影響,MF 已經(jīng)成為潛在因素模型推薦的實(shí)際方法。許多研究工作致力于改進(jìn)MF,SoRec[6]提出了一種協(xié)因子分解方法,該方法通過評分和社會關(guān)系來共享一個(gè)共同的潛在用戶特征矩陣。SocialMF[7]通過分解社會信任網(wǎng)絡(luò),將用戶映射到兩個(gè)低維空間:信任者空間和受托者空間。近年來,深度神經(jīng)網(wǎng)絡(luò)模型對學(xué)習(xí)各個(gè)領(lǐng)域的有效特征表示產(chǎn)生了很大的影響,如語音識別、計(jì)算機(jī)視覺(Computer Vision,CV)和自然語言處理(Natural Language Processing,NLP)。最近的一些研究已經(jīng)將深度神經(jīng)網(wǎng)絡(luò)應(yīng)用于推薦任務(wù),并取得了令人滿意的結(jié)果[8-9],但大多數(shù)研究都使用深度神經(jīng)網(wǎng)絡(luò)來建模音樂的音頻特征,項(xiàng)目的文本描述,以及圖像的視覺內(nèi)容。此外,NeuMF[10]提出了一個(gè)神經(jīng)協(xié)作過濾框架來學(xué)習(xí)用戶和項(xiàng)目之間的非線性交互作用。DLMF[11]在評級上使用自動編碼器來學(xué)習(xí)初始化現(xiàn)有矩陣分解的表示。提出了一種兩階段的信任感知推薦過程,利用深層神經(jīng)網(wǎng)絡(luò)對矩陣分解進(jìn)行初始化,綜合用戶的興趣和信任朋友的興趣以及基于矩陣分解的社區(qū)效應(yīng)的影響。DeepSoR[12]將用戶社會關(guān)系的神經(jīng)網(wǎng)絡(luò)集成到概率矩陣分解中,首先使用預(yù)先訓(xùn)練的節(jié)點(diǎn)嵌入技術(shù)來表示用戶,并進(jìn)一步利用k近鄰來連接用戶嵌入特征和神經(jīng)網(wǎng)絡(luò)。最近,圖神經(jīng)網(wǎng)絡(luò)(GNN)已經(jīng)被證明能夠?qū)W習(xí)圖結(jié)構(gòu)數(shù)據(jù)[13-14]。在推薦系統(tǒng)的任務(wù)中,用戶-項(xiàng)目交互包含了用戶對推薦項(xiàng)目的評價(jià),是一種典型的圖形數(shù)據(jù)。因此,有人提出了GNN 來解決推薦問題[15-16]。sRMGCNN[17]采用GNN提取用戶和項(xiàng)目的圖嵌入,然后結(jié)合遞歸神經(jīng)網(wǎng)絡(luò)進(jìn)行擴(kuò)散過程。盡管先前的工作取得了令人矚目的成功,但人們對GNN 的社會推薦關(guān)注甚少。本文提出了一種用于社會推薦的圖神經(jīng)網(wǎng)絡(luò)來填補(bǔ)這一空白。
在本文中,探討了如何利用GNN 建模學(xué)習(xí)用戶潛在特征。這項(xiàng)工作的主要貢獻(xiàn)如下:
(1)提出一種神經(jīng)網(wǎng)絡(luò)架構(gòu)來建模學(xué)習(xí)用戶潛在特征,通過用戶項(xiàng)目圖和社交網(wǎng)絡(luò)圖發(fā)現(xiàn)其內(nèi)在聯(lián)系,并集成到概率矩陣分解上形成推薦。
(2)提出一種在用戶項(xiàng)目圖中將用戶意見和項(xiàng)目交互聯(lián)系在一起的方法。
(3)在兩個(gè)真實(shí)數(shù)據(jù)集中進(jìn)行了廣泛的實(shí)驗(yàn)數(shù)據(jù)集來證明GNN與MF結(jié)合的有效性和可行性。
2006 年,在著名的Netflix 大賽[18]中,采用矩陣分解法處理評分預(yù)測問題的推薦算法大放異彩。與考慮用戶和項(xiàng)目之間的相似度的基于近鄰協(xié)同過濾推薦算法相比,矩陣分解推薦方法更節(jié)省內(nèi)存,更精確。與奇異值分解(SVD)類似,矩陣分解將用戶項(xiàng)目評分矩陣分解為兩個(gè)低秩矩陣的乘法,其中可以存儲用戶和項(xiàng)目的潛在因素。因此,矩陣分解可以發(fā)現(xiàn)具有相似內(nèi)容和隱含特征的項(xiàng)目。用戶u和項(xiàng)目i的矩陣分解推薦系統(tǒng)將分別產(chǎn)生用戶向量pu∈Rf和項(xiàng)目向量qi∈Rf,其捕捉用戶u和項(xiàng)目i之間的交互。
矩陣分解的主要難題是在因子向量中找到用戶和項(xiàng)目之間的映射。為了學(xué)習(xí)因子向量pu和qi,將評級矩陣R中的值作為訓(xùn)練數(shù)據(jù),并分解為,其目標(biāo)函數(shù):
其中,Iui是指示函數(shù),有評分為1,否則為0。rui為真實(shí)評分,為預(yù)測評分。λ為防止過擬合的正則化參數(shù)。
隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,大量的圖結(jié)構(gòu)數(shù)據(jù)已經(jīng)遍布各個(gè)領(lǐng)域。例如,微博用戶之間形成社交網(wǎng)絡(luò),淘寶用戶與商品構(gòu)成電子商務(wù)網(wǎng)絡(luò),生物分子網(wǎng)絡(luò)以及交通網(wǎng)絡(luò)等等[19]。與圖像、文本不同,圖結(jié)構(gòu)是復(fù)雜多變的不規(guī)則領(lǐng)域。近年來,圖形數(shù)據(jù)的深度神經(jīng)網(wǎng)絡(luò)技術(shù)有了長足的發(fā)展。這些深層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)被稱為圖神經(jīng)網(wǎng)絡(luò)(GNN)[20],它被提出學(xué)習(xí)有意義的圖形數(shù)據(jù)表示。他們的主要思想是如何使用神經(jīng)網(wǎng)絡(luò)迭代地從局部圖鄰域聚集特征信息。同時(shí),節(jié)點(diǎn)信息經(jīng)過轉(zhuǎn)換和聚合后可以通過圖來傳播。因此,GNN 自然地整合了節(jié)點(diǎn)信息和拓?fù)浣Y(jié)構(gòu),并被證明在表示學(xué)習(xí)方面具有強(qiáng)大的能力。另一方面,社會推薦中的數(shù)據(jù)可以用兩個(gè)圖來表示。這兩個(gè)圖包括表示用戶之間關(guān)系的社交圖和表示用戶與項(xiàng)目之間交互的用戶項(xiàng)圖。用戶同時(shí)參與到這兩個(gè)圖中。此外,社交推薦的自然方式是將社交網(wǎng)絡(luò)信息納入用戶和項(xiàng)目潛在因素學(xué)習(xí)。學(xué)習(xí)項(xiàng)目和用戶的表征是建立推薦系統(tǒng)的關(guān)鍵。因此,鑒于GNN 的優(yōu)勢,GNN為促進(jìn)社交推薦提供了前所未有的機(jī)會。
設(shè)U={u1,u2,…,un}和V={v1,v2,…,vm}分別是用戶集和項(xiàng)目集,其中n是用戶數(shù),m是項(xiàng)目數(shù)。假設(shè)R∈?n×m是評分矩陣,也稱為用戶項(xiàng)目圖。如果ui給vj評分,rij為評分得分,否則用0 表示從ui到vj的未知評分,即rij=0。觀察到的評分rij可以看作是用戶ui對項(xiàng)目vj的意見。設(shè)O={
圖1顯示了GNN_MF概率模型的整體視圖。GNN_MF的目標(biāo)是找到用戶和項(xiàng)目的潛在模型(U∈Rf×n和V∈Rf×m,其中f是維數(shù)),通過(UTV)重建評級矩陣R預(yù)測評分。其條件分布可以定義為:
圖1 GNN_MF圖形框架Fig.1 GNN_MF graphics framework
對于概率矩陣分解中的用戶潛在特征向量,有神經(jīng)圖生成的用戶潛在特征向量向量來近似,如下所示:
其中xi是用戶i的偏好信息,稍后將進(jìn)行描述。將Netu和噪聲?中的內(nèi)部權(quán)重W(權(quán)重和偏差)分別建模為方差為σW2和σU2的零均值高斯分布。因此,定義一個(gè)給定W和X的U的條件分布來建模用戶潛在模型,如下所示:
圖2 用戶潛在特征模型Fig.2 User latent feature model
2.3.1 項(xiàng)目聚集
項(xiàng)目聚合的目的是通過考慮用戶ui交互過的項(xiàng)目和用戶對這些項(xiàng)目的評分意見,來學(xué)習(xí)項(xiàng)目空間用戶潛在因素具體聚合函數(shù)如下:
其中C(i)是用戶ui與之交互的項(xiàng)目集,oia是表示用戶ui和項(xiàng)目va之間的意見交互的表示向量,而αia表示歷史交互項(xiàng)目的權(quán)重,W和b是神經(jīng)網(wǎng)絡(luò)的權(quán)值和偏差。接下來將討論如何定義意見交互向量oia和權(quán)重αia。
在用戶-項(xiàng)目交互過程中,用戶可以表達(dá)他/她的觀點(diǎn)(或評分分?jǐn)?shù)),用r表示。這些對項(xiàng)目的看法可以捕捉到用戶對項(xiàng)目的偏好,有助于對項(xiàng)目空間用戶潛在因素進(jìn)行建模。為了建立觀點(diǎn)模型,對于每一類意見r,引入一個(gè)意見嵌入向量er∈Rd,它將每個(gè)意見r表示為一個(gè)稠密向量表示。針對用戶ui與項(xiàng)目va之間的意見r交互,通過多層感知器(MLP)將意見交互表示xia建模為項(xiàng)目嵌入qa和意見嵌入er的組合。
其中⊕表示兩個(gè)向量之間的串聯(lián)操作。
將項(xiàng)目權(quán)重αia參數(shù)化為一個(gè)兩層神經(jīng)網(wǎng)絡(luò),稱之為注意網(wǎng)絡(luò)。注意力網(wǎng)絡(luò)的輸入是交互的意見表示oia和目標(biāo)用戶ui的嵌入pi。形式上,注意力網(wǎng)絡(luò)被定義為:
最后的注意權(quán)重通過使用Softmax函數(shù)對上述注意得分進(jìn)行歸一化得到:
2.3.2 社會聚集
根據(jù)社會相關(guān)理論[6,8],用戶的偏好與他/她直接聯(lián)系的社交朋友相似或受其影響。因此應(yīng)該結(jié)合社會信息來進(jìn)一步模擬用戶的潛在因素。同時(shí),用戶之間的聯(lián)系強(qiáng)度可以從社交圖中進(jìn)一步影響用戶的行為。換言之,學(xué)習(xí)社會空間目標(biāo)用戶的潛在因素應(yīng)考慮社會關(guān)系的異質(zhì)性優(yōu)勢。因此,引入了一種注意機(jī)制來選擇具有代表性的社交好友來表征用戶的社交信息,并對其信息進(jìn)行聚合。
為了從這個(gè)社會化的角度來表達(dá)用戶的潛在因素,提出了社交空間用戶潛在因素,即從社交圖中聚合相鄰用戶的項(xiàng)目空間用戶潛在因素。具體而言,ui的社交空間用戶潛因子是將用戶在ui的鄰居N(i)中的項(xiàng)目空間用戶潛因子聚合起來,如下所示:
如前所述,強(qiáng)關(guān)系和弱關(guān)系在一個(gè)社交網(wǎng)絡(luò)中是混合在一起的,用戶可能會與強(qiáng)關(guān)系而不是弱關(guān)系分享更多相似的偏好。因此,用一個(gè)雙層神經(jīng)網(wǎng)絡(luò)來執(zhí)行一個(gè)注意力機(jī)制,通過將社會注意力βik與和目標(biāo)用戶嵌入pi相關(guān)聯(lián),提取出這些對ui有重要影響的用戶,并對其關(guān)聯(lián)強(qiáng)度進(jìn)行建模,如下所示:
其中βik可以看作是用戶之間的優(yōu)勢,值越高代表其意見對目標(biāo)用戶的影響越大。
為了更好地了解用戶潛在因素,需要將項(xiàng)目空間用戶潛在因素和社會空間用戶潛在因素結(jié)合起來考慮,因?yàn)樯鐣D和用戶項(xiàng)目圖從不同的角度提供了關(guān)于用戶的信息。通過一個(gè)標(biāo)準(zhǔn)的MLP將這兩個(gè)潛在因素結(jié)合成最終用戶潛在因素,其中項(xiàng)目空間用戶潛在因素和社交空間用戶潛在因素在輸入MLP 之前被連接起來。形式上,用戶潛在因素定義為:
為了優(yōu)化GNN 的用戶潛在模型、權(quán)重和偏差變量等變量,使用最大后驗(yàn)概率(MAP)估計(jì)如下:
對于變量ui和vj,使用坐標(biāo)上升法迭代優(yōu)化潛在變量,同時(shí)固定剩余變量:
輸入:用戶項(xiàng)目圖、社交網(wǎng)絡(luò)圖;
輸出:預(yù)測評分。
1.利用矩陣分解生成用戶、項(xiàng)目潛向量U、V。
2.根據(jù)公式(6),生成用戶交互意見向量。
3.根據(jù)公式(5)(9),生成項(xiàng)目空間和社會空間的用戶特征。
4.根據(jù)公式(11),輸出用戶潛在特征。
5.結(jié)合步驟1 的物品隱向量和步驟5 的用戶潛在特征向量,最后得到優(yōu)化函數(shù),式(12)。
6.根據(jù)公式(13),更新ui和vj。
7.預(yù)測評分。
實(shí)驗(yàn)采用兩個(gè)具有代表性的數(shù)據(jù)集Ciao和Epinions,它們來自于社交網(wǎng)站。每個(gè)社交網(wǎng)絡(luò)都允許用戶對項(xiàng)目進(jìn)行評分、瀏覽/撰寫評論,并將朋友添加到他們的“朋友圈”中。因此,它們提供了大量的評級信息和社會信息。評分范圍是從1到5。根據(jù){1,2,3,4,5}中的5個(gè)分?jǐn)?shù),用5個(gè)不同的嵌入向量隨機(jī)初始化意見嵌入。這兩個(gè)數(shù)據(jù)集的統(tǒng)計(jì)數(shù)據(jù)如表1所示。
表1 實(shí)驗(yàn)數(shù)據(jù)集描述Table 1 Experimental data sets description
為了更加公平地對比算法性能,采用五折交叉驗(yàn)證來對推薦模型進(jìn)行訓(xùn)練與測試。把數(shù)據(jù)集中用戶對項(xiàng)目的評分?jǐn)?shù)據(jù)平均分成5等份,在每次實(shí)驗(yàn)中,隨機(jī)選取1組作為測試集,其余4組作為訓(xùn)練集。5次實(shí)驗(yàn)確保每一組都被測試,最終實(shí)驗(yàn)結(jié)果為5次實(shí)驗(yàn)結(jié)果的平均值。
利用兩個(gè)指標(biāo)來衡量預(yù)測精度,即均方根誤差(RMSE)和平均絕對誤差(MAE),定義為:
從計(jì)算公式可以看出,MAE和RMSE越小,預(yù)測精度越高,算法越有效。
3.3.1 參數(shù)設(shè)置
對于所有的神經(jīng)網(wǎng)絡(luò)方法,batch size 和學(xué)習(xí)率分別在[32,64,128,512],[0.000 5,0.001,0.005,0.01,0.05,0.1]中搜索。此外,根據(jù)經(jīng)驗(yàn)將隱藏層的大小設(shè)置為嵌入大小,并將激活函數(shù)設(shè)置為ReLU。隨機(jī)初始化模型參數(shù)為高斯分布,其中平均值和標(biāo)準(zhǔn)差分別為0和0.1。
對于嵌入大小f,測試[8,16,32,64,128,256]的值。從圖3和圖4可以看出,當(dāng)為64時(shí)效果最好。
圖3 Epinions數(shù)據(jù)集下不同f 的RMSEFig.3 RMSE of different f under Epinions data set
圖4 Ciao數(shù)據(jù)集下不同f 的RMSEFig.4 RMSE of different f under Ciao data set
圖5和圖6顯示了不同的λU取值在Epinion數(shù)據(jù)集和Ciao數(shù)據(jù)集上RMSE的變化。
圖5 Epinions數(shù)據(jù)集下λU 的RMSEFig.5 RMSE of λU under Epinions data set
圖6 Ciao數(shù)據(jù)集下λU 的RMSEFig.6 RMSE of λU under Epinion data set
從圖中可以看出,RMSE 隨λU的變化呈現(xiàn)先減小后增大的趨勢。當(dāng)λU=10 時(shí)RMSE 取得最小值,性能最優(yōu),因此將λU設(shè)置為10。
圖7和圖8分別給出了在Epinions數(shù)據(jù)集和Ciao數(shù)據(jù)集上,λV的取值對本文提出的GNN_MF算法在RMSE上的影響。
圖7 Epinion數(shù)據(jù)集下λV 的RMSEFig.7 RMSE of λV under Epinion dataset
圖8 Ciao數(shù)據(jù)集下λV 的RMSEFig.8 RMSE of λV under Ciao data set
從圖7 和圖可以看出,隨λV的增大,RMSE 呈現(xiàn)先減小后增大的趨勢,且在λV=10 的時(shí)候取得最小值。故,將λV設(shè)置為10。
對比算法的參數(shù)采用文獻(xiàn)中的配置,然后仔細(xì)地調(diào)整以達(dá)到最佳性能
3.3.2 算法性能對比
為了驗(yàn)證基于GNN_MF推薦算法的性能,將本文所提出的算法和PMF、SocislMF、NeuMF 以及DeepSoR 等經(jīng)典推薦算法進(jìn)行比較,并對得到的實(shí)驗(yàn)結(jié)果進(jìn)行分析。
PMF[7]:一個(gè)典型的潛在因子模型,它對公共子空間[18]中的用戶和項(xiàng)進(jìn)行因子分解。
SocialMF[6]:它考慮信任信息和信任信息傳播到推薦系統(tǒng)的矩陣分解模型中。
NeuMF[10]:這種方法是一種最先進(jìn)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)矩陣分解模型,最初的實(shí)現(xiàn)是針對推薦排名任務(wù),將其損失調(diào)整為損失的平方來進(jìn)行評級預(yù)測。
DeepSoR[13]:該模型利用深度神經(jīng)網(wǎng)絡(luò)從社會關(guān)系中學(xué)習(xí)每個(gè)用戶的表示,并集成到概率矩陣因子分解中進(jìn)行評級預(yù)測。
比較了各種方法的推薦性能。表2 顯示了Ciao 和Epinions數(shù)據(jù)集推薦方法中的總體評級預(yù)測誤差RMSE和MAE。
表2 不同推薦推薦算法的性能比較Table 2 Performance comparison of different recommendation algorithms
分析表2,有以下主要發(fā)現(xiàn):
SocialMF 和DeepSoR 的表現(xiàn)總是優(yōu)于PMF。所有這些方法都是基于矩陣分解的。SocialMF和DeepSoR同時(shí)利用評級和社交網(wǎng)絡(luò)信息;而PMF只使用評級信息。這些結(jié)果支持社會網(wǎng)絡(luò)信息是對推薦的評級信息的補(bǔ)充。
NeuMF的性能比PMF好得多。兩種方法都只利用評級信息。然而,NeuMF是基于神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的,這表明了神經(jīng)網(wǎng)絡(luò)模型在推薦系統(tǒng)中的強(qiáng)大作用。
DeepSoR的性能優(yōu)于SocialMF。它們都利用了評級和社交網(wǎng)絡(luò)信息。然而,DeepSoR是基于神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)的,這進(jìn)一步表明了神經(jīng)網(wǎng)絡(luò)模型在推薦中的作用。
本文方法GNN_MF 始終優(yōu)于所有對比方法。與DeepSoR 相比,GNN_MF 提供了先進(jìn)的模型組件來集成評級和社會網(wǎng)絡(luò)信息。此外,還提供了一種在用戶項(xiàng)圖中同時(shí)考慮交互和意見的方法。
本文提出了一種融合PMF 和GNN 的GNN_MF 算法。在PMF的基礎(chǔ)上,通過神經(jīng)網(wǎng)絡(luò),在用戶項(xiàng)目圖以及社交圖中學(xué)習(xí)用戶潛在特征,將其與PMF 學(xué)習(xí)的項(xiàng)目潛在特征進(jìn)行結(jié)合,對推薦系統(tǒng)中的數(shù)據(jù)稀疏以及冷啟動問題有很大的改善。特別提出一種在用戶項(xiàng)目圖上融合意見和交互的方法。在數(shù)據(jù)量和稀疏性均不同的Epinions和Ciao數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,本文算法能有效地提高推薦系統(tǒng)的性能。
目前僅將社交圖納入推薦,而現(xiàn)實(shí)世界中的許多行業(yè)都與用戶和商品相關(guān)的豐富的其他方面的信息。例如,用戶和項(xiàng)目與豐富的屬性相關(guān)聯(lián)。因此,探索具有屬性的圖神經(jīng)網(wǎng)絡(luò)推薦將是一個(gè)有趣的未來方向。除此之外,本文假設(shè)評級和社會信息都是靜態(tài)的。然而,評級和社會信息自然是動態(tài)的,因此,在未來將考慮建立基于動態(tài)圖神經(jīng)網(wǎng)絡(luò)的社會動態(tài)推薦。