劉錦濤,謝穎華
(東華大學(xué) 信息科學(xué)與技術(shù)學(xué)院,上海 201620)
推薦系統(tǒng)中用戶已交互的項(xiàng)目相對(duì)于系統(tǒng)中的所有項(xiàng)目來說是冰山一角,這導(dǎo)致用戶-項(xiàng)目交互矩陣的元素極度稀疏,而協(xié)同過濾推薦算法是根據(jù)交互數(shù)據(jù)分析用戶潛在的興趣和需求來為用戶提供個(gè)性化的資源推薦服務(wù)[1].由于傳統(tǒng)的協(xié)同過濾算法沒有充分利用輔助信息,當(dāng)數(shù)據(jù)稀疏時(shí),對(duì)用戶和項(xiàng)目的信息提取能力有限,相似度的計(jì)算不夠準(zhǔn)確,無法準(zhǔn)確地建立用戶的偏好模型.因此緩解數(shù)據(jù)稀疏問題一直以來都是推薦算法研究的重點(diǎn).
隨著深度學(xué)習(xí)的發(fā)展,使用深度學(xué)習(xí)方法緩解推薦系統(tǒng)的數(shù)據(jù)稀疏問題得到了廣泛研究[2-4].基于深度學(xué)習(xí)的推薦模型主要是利用矩陣分解思想或網(wǎng)絡(luò)表示學(xué)習(xí)方法來得到用戶和項(xiàng)目的嵌入特征向量,然后將學(xué)習(xí)到的用戶和項(xiàng)目的嵌入特征向量通過深度學(xué)習(xí)方法獲得推薦結(jié)果[5-8].如何向南等人考慮到內(nèi)積運(yùn)算對(duì)傳統(tǒng)矩陣分解模型表達(dá)能力的限制,將廣義矩陣分解模型和多層感知機(jī)模型進(jìn)行融合,提出了神經(jīng)協(xié)同過濾模型[9].李同歡等人考慮到在不同維度空間中用戶和項(xiàng)目的潛向量表示的意義不同,在隱藏層設(shè)計(jì)了一種多交互的網(wǎng)絡(luò)結(jié)構(gòu),即利用塔式結(jié)構(gòu)的神經(jīng)傳播網(wǎng)絡(luò)學(xué)習(xí)不同維度空間中用戶和項(xiàng)目的潛向量表示,并通過內(nèi)積操作表示每一層用戶潛向量和項(xiàng)目潛向量的交互結(jié)果,最后綜合所有的交互結(jié)果作為最終的預(yù)測(cè)結(jié)果[10].
隨著圖神經(jīng)網(wǎng)絡(luò)研究的發(fā)展,將網(wǎng)絡(luò)表示學(xué)習(xí)方法運(yùn)用到推薦系統(tǒng)中成為推薦領(lǐng)域研究的熱點(diǎn).如Alibaba 的商品推薦系統(tǒng)根據(jù)用戶的行為歷史構(gòu)建項(xiàng)目圖,然后通過帶權(quán)重邊信息的圖嵌入模型學(xué)習(xí)圖中所有項(xiàng)目的嵌入表示,項(xiàng)目嵌入表示用于計(jì)算項(xiàng)目之間的成對(duì)相似性,并將其用于推薦過程[11].劉峰等人提出的基于網(wǎng)絡(luò)表示學(xué)習(xí)與深度學(xué)習(xí)的推薦算法使用無監(jiān)督的GraphSAGE 算法在用戶圖和項(xiàng)目圖上學(xué)習(xí)節(jié)點(diǎn)的網(wǎng)絡(luò)嵌入表示,并通過外積建模嵌入向量間的交互關(guān)系以作為后續(xù)卷積網(wǎng)絡(luò)推薦模型的輸入[12].Shi 等人提出的基于異構(gòu)網(wǎng)絡(luò)嵌入的推薦模型通過設(shè)計(jì)一種基于元路徑的隨機(jī)游走策略,為網(wǎng)絡(luò)嵌入生成元路徑相關(guān)的節(jié)點(diǎn)序列,然后根據(jù)由節(jié)點(diǎn)序列確定的鄰域來學(xué)習(xí)節(jié)點(diǎn)的相關(guān)元路徑嵌入,并通過融合函數(shù)對(duì)學(xué)習(xí)到的元路徑嵌入進(jìn)行聚合,最后將聚合后的節(jié)點(diǎn)嵌入集成到擴(kuò)展的矩陣分解模型中[13].
本文考慮到不同鄰居節(jié)點(diǎn)的屬性信息不同,對(duì)學(xué)習(xí)目標(biāo)節(jié)點(diǎn)的嵌入表示應(yīng)該有不同的貢獻(xiàn).圖注意力模型通過注意力機(jī)制獲得鄰居節(jié)點(diǎn)的注意力權(quán)重,并按權(quán)重聚合鄰居節(jié)點(diǎn)的特征,從而可以更準(zhǔn)確地學(xué)習(xí)目標(biāo)節(jié)點(diǎn)的嵌入表示.因此,本文設(shè)計(jì)了一種基于圖注意力網(wǎng)絡(luò)表示學(xué)習(xí)的推薦模型,該模型通過圖注意力網(wǎng)絡(luò)學(xué)習(xí)用戶和項(xiàng)目的網(wǎng)絡(luò)嵌入表示,并用其改善傳統(tǒng)的基于模型的協(xié)同過濾算法的推薦性能.
矩陣分解模型(matrix factorization,MF)是將用戶-項(xiàng)目交互矩陣分解成用戶潛特征矩陣與項(xiàng)目潛特征矩陣相乘的形式[14].用pu和qi分別表示用戶u和項(xiàng)目i的潛特征向量,對(duì)pu和qi進(jìn)行內(nèi)積運(yùn)算得到用戶對(duì)項(xiàng)目預(yù)測(cè)得分.
K表示用戶和項(xiàng)目潛向量的維度大小.從式(1)可以看出,矩陣分解使用潛向量內(nèi)積作為用戶和項(xiàng)目的交互結(jié)果,并假設(shè)維度之間特征彼此獨(dú)立且權(quán)重相等.但在實(shí)際中,用戶和項(xiàng)目的潛特征向量的各個(gè)維度之間可能不是彼此獨(dú)立的,并且每個(gè)維度的特征權(quán)重也有所不同,簡(jiǎn)單的線性疊加限制了模型的表征能力.因此,在矩陣分解的基礎(chǔ)上,有學(xué)者提出了其廣義的神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn).
從圖1 中可以看到,神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)的廣義矩陣分解模型(generalized matrix factorization,GMF)將用戶和項(xiàng)目的One-hot 編碼作為模型的輸入,通過嵌入層將用戶和項(xiàng)目的稀疏輸入向量映射為稠密的潛特征向量,接著在矩陣分解層對(duì)用戶和項(xiàng)目的潛特征向量進(jìn)行對(duì)應(yīng)元素積操作,最后通過一層全連接操作得到模型最終的預(yù)測(cè)得分.
圖1 廣義矩陣分解模型
圖注意力網(wǎng)絡(luò)(graph attention network,GAT)將注意力機(jī)制引入到基于空間域的圖神經(jīng)網(wǎng)絡(luò)中[15],優(yōu)化了基于頻譜域的圖卷積網(wǎng)絡(luò)不能處理動(dòng)態(tài)圖和不能表示鄰居節(jié)點(diǎn)重要性程度的缺陷.GAT 通過聚合鄰居節(jié)點(diǎn)的特征來更新目標(biāo)節(jié)點(diǎn)的特征表示,不需要使用依賴完整的圖的結(jié)構(gòu)的拉普拉斯矩陣,提高了模型的泛化能力,并且通過注意力機(jī)制,GAT 可以為每個(gè)鄰居節(jié)點(diǎn)學(xué)習(xí)不同的注意力權(quán)重,實(shí)現(xiàn)對(duì)鄰居節(jié)點(diǎn)特征的有效聚合以提高對(duì)目標(biāo)節(jié)點(diǎn)的特征提取能力.
不同鄰居節(jié)點(diǎn)的重要性不同,對(duì)目標(biāo)節(jié)點(diǎn)特征表示的貢獻(xiàn)也不同.GAT 通過計(jì)算注意力權(quán)重來區(qū)分鄰居節(jié)點(diǎn)的重要程度,并聚合按不同注意力權(quán)重縮放后的鄰居節(jié)點(diǎn)特征表示得到更新后的目標(biāo)節(jié)點(diǎn)特征表示計(jì)算公式如下:
GAT 可以使用多頭注意力機(jī)制從不同方面學(xué)習(xí)節(jié)點(diǎn)的特征表示,豐富模型的數(shù)據(jù)表達(dá)能力并穩(wěn)定學(xué)習(xí)過程.多頭注意力機(jī)制是指通過多個(gè)獨(dú)立的注意力機(jī)制執(zhí)行式(3)的轉(zhuǎn)換,從而獲得目標(biāo)節(jié)點(diǎn)的多個(gè)不同特征表示.考慮到每個(gè)注意力機(jī)制的學(xué)習(xí)能力不同,學(xué)習(xí)到的特征表示的意義也不同,多頭注意力機(jī)制的輸出有兩種組合方式,一是連接(Concatenation),二是均值(Average).
Concatenation:
Average:
式(4)為連接組合方式,將多頭注意力機(jī)制獲得的多個(gè)特征表示直接連接起來,這種組合方式會(huì)增加特征的維度.式(5)為均值組合方式,對(duì)多頭注意力機(jī)制獲得的多個(gè)特征表示取平均值.
知識(shí)圖譜可以通過結(jié)合輔助信息和交互數(shù)據(jù)來更加立體地展現(xiàn)用戶和項(xiàng)目之間復(fù)雜的關(guān)系結(jié)構(gòu),而傳統(tǒng)的基于模型的協(xié)同過濾推薦算法根據(jù)用戶與項(xiàng)目之間的交互信息來優(yōu)化模型參數(shù),學(xué)習(xí)用戶與項(xiàng)目的潛向量表示,對(duì)用戶和項(xiàng)目的信息提取能力有限,沒有考慮到用戶與用戶之間以及項(xiàng)目與項(xiàng)目之間的關(guān)系結(jié)構(gòu)信息,這些信息可以在一定程度上對(duì)推薦提供有用的幫助.網(wǎng)絡(luò)表示學(xué)習(xí)方法在處理圖譜數(shù)據(jù)上有著很大優(yōu)勢(shì),可以通過提取圖中重要的網(wǎng)絡(luò)結(jié)構(gòu)特征和節(jié)點(diǎn)屬性特征,學(xué)習(xí)圖中節(jié)點(diǎn)的嵌入表示.因此,本文提出一種基于圖注意力網(wǎng)絡(luò)表示學(xué)習(xí)的協(xié)同過濾推薦算法.算法的流程示意圖如圖2所示.
圖2 算法流程示意圖
本文算法的整體流程如下:首先根據(jù)用戶的行為歷史構(gòu)建用戶-項(xiàng)目二分網(wǎng)絡(luò),并由計(jì)算出的用戶之間、項(xiàng)目之間的相似度將二分網(wǎng)絡(luò)分解成用戶與用戶的同質(zhì)網(wǎng)絡(luò)以及項(xiàng)目與項(xiàng)目的同質(zhì)網(wǎng)絡(luò).然后在同質(zhì)網(wǎng)絡(luò)上進(jìn)行節(jié)點(diǎn)的網(wǎng)絡(luò)表示學(xué)習(xí),利用圖注意力網(wǎng)絡(luò)融合節(jié)點(diǎn)的屬性信息和網(wǎng)絡(luò)結(jié)構(gòu)信息,學(xué)習(xí)用戶與項(xiàng)目的網(wǎng)絡(luò)嵌入特征表示.最后將用戶與項(xiàng)目的網(wǎng)絡(luò)嵌入信息通過多層感知機(jī)融入到廣義矩陣分解模型中,綜合兩個(gè)部分的預(yù)測(cè)結(jié)果,構(gòu)建出融合網(wǎng)絡(luò)嵌入信息的神經(jīng)矩陣分解模型.
推薦系統(tǒng)收集有用戶與項(xiàng)目之間的交互記錄以及他們各自的屬性信息,因此可以通過知識(shí)圖譜來建模用戶和項(xiàng)目之間的關(guān)聯(lián)信息.圖中有兩類節(jié)點(diǎn),分別表示用戶和項(xiàng)目,節(jié)點(diǎn)特征為用戶和項(xiàng)目的屬性特征信息.圖中有一類邊,表示用戶與項(xiàng)目的交互行為.根據(jù)這些映射構(gòu)成用戶-項(xiàng)目二分網(wǎng)絡(luò)G=(U,V,E).用戶節(jié)點(diǎn)集合用U={u1,u2,···,uN}表示,項(xiàng)目節(jié)點(diǎn)集合用V={v1,v2,···,vM}表示,邊的集合用E表示,eij∈E表示用戶和項(xiàng)目之間存在交互.
用戶-項(xiàng)目二分網(wǎng)絡(luò)是一個(gè)由用戶和項(xiàng)目之間交互信息構(gòu)建的異構(gòu)網(wǎng)絡(luò),對(duì)于用戶、項(xiàng)目的同質(zhì)網(wǎng)絡(luò)來說,用戶-用戶之間、項(xiàng)目-項(xiàng)目之間也有著各自的聯(lián)系.以項(xiàng)目同質(zhì)網(wǎng)絡(luò)為例,不同的項(xiàng)目可能有著相似的受眾群體,因此可以根據(jù)相似度將用戶-項(xiàng)目二分網(wǎng)絡(luò)分解為兩個(gè)同質(zhì)網(wǎng)絡(luò).定義用戶節(jié)點(diǎn)之間和項(xiàng)目節(jié)點(diǎn)之間的相似度計(jì)算公式如下:
用戶相似度:
項(xiàng)目相似度:
其中,wij對(duì)應(yīng)邊eij的權(quán)重,不存在邊則為0.計(jì)算獲得項(xiàng)目相似度矩陣與用戶相似度矩陣接著根據(jù)WV和WU對(duì)相似度大于閾(值的)節(jié)點(diǎn)之間添加邊,從而建立項(xiàng)目同質(zhì)網(wǎng)絡(luò)和用戶同質(zhì)圖.
在用戶同質(zhì)網(wǎng)絡(luò)GU和項(xiàng)目同質(zhì)網(wǎng)絡(luò)GV上,我們分別進(jìn)行用戶和項(xiàng)目的網(wǎng)絡(luò)表示學(xué)習(xí).通過圖注意力網(wǎng)絡(luò)模型學(xué)習(xí)目標(biāo)節(jié)點(diǎn)與鄰居節(jié)點(diǎn)之間的注意力權(quán)重,并根據(jù)權(quán)重值聚合鄰居節(jié)點(diǎn)的特征表示來更新目標(biāo)節(jié)點(diǎn)的嵌入特征表示.為了提高模型的數(shù)據(jù)表達(dá)能力,本文使用雙頭注意力機(jī)制學(xué)習(xí)節(jié)點(diǎn)的特征表示,并通過均值組合方式綜合這兩種特征表示.
用戶網(wǎng)絡(luò)嵌入表示:
項(xiàng)目網(wǎng)絡(luò)嵌入表示:
其中,FU為用戶節(jié)點(diǎn)的屬性特征矩陣,FV為項(xiàng)目節(jié)點(diǎn)的屬性特征矩陣,AU為用戶鄰接矩陣,AV為項(xiàng)目鄰接矩陣,為采用均值組合方式的雙頭圖注意力網(wǎng)絡(luò)模型,XU和XV分別為GAT網(wǎng)絡(luò)學(xué)習(xí)的用戶網(wǎng)絡(luò)嵌入特征矩陣和項(xiàng)目網(wǎng)絡(luò)嵌入特征矩陣.
網(wǎng)絡(luò)表示學(xué)習(xí)分為無監(jiān)督學(xué)習(xí)和有監(jiān)督學(xué)習(xí)兩種方式.無監(jiān)督學(xué)習(xí)采用基于圖的損失函數(shù)作為模型優(yōu)化的目標(biāo)函數(shù),即希望相鄰節(jié)點(diǎn)具有相似的嵌入特征表示,同時(shí)讓相離節(jié)點(diǎn)的嵌入特征表示之間盡可能區(qū)分.有監(jiān)督學(xué)習(xí)可以根據(jù)任務(wù)的不同來設(shè)置相應(yīng)的目標(biāo)函數(shù).本文使用有監(jiān)督的圖注意力網(wǎng)絡(luò)模型學(xué)習(xí)節(jié)點(diǎn)的嵌入表示,將節(jié)點(diǎn)之間的相似度作為模型訓(xùn)練的目標(biāo)值,使用均方誤差作為模型優(yōu)化的目標(biāo)函數(shù).
其中,xi和xj為節(jié)點(diǎn)i和節(jié)點(diǎn)j的網(wǎng)絡(luò)嵌入特征向量,wij表示節(jié)點(diǎn)之間相似度,模型學(xué)習(xí)的目標(biāo)是使得節(jié)點(diǎn)的網(wǎng)絡(luò)嵌入特征向量之間的夾角余弦盡可能接近計(jì)算出的相似度值.
MF 模型將用戶和項(xiàng)目映射到相同的潛空間,使用潛向量間的內(nèi)積作為用戶和項(xiàng)目的交互結(jié)果,然后對(duì)用戶-項(xiàng)目交互矩陣使用基于點(diǎn)的目標(biāo)函數(shù)來優(yōu)化模型參數(shù),學(xué)習(xí)用戶和項(xiàng)目的潛特征矩陣,用戶或項(xiàng)目潛特征向量之間的夾角余弦反映出他們之間的相似性.在實(shí)際中,我們使用皮爾遜系數(shù)作為用戶或項(xiàng)目之間的真實(shí)相似度,簡(jiǎn)單內(nèi)積操作對(duì)用戶和項(xiàng)目的信息提取能力有限,在恢復(fù)用戶之間和項(xiàng)目之間的真實(shí)相似度上存在缺陷.因此本文通過圖注意力網(wǎng)絡(luò)模型來學(xué)習(xí)用戶和項(xiàng)目的網(wǎng)絡(luò)嵌入特征表示,擬合真實(shí)相似度,并將在網(wǎng)絡(luò)表示學(xué)習(xí)中獲得的用戶和項(xiàng)目的網(wǎng)絡(luò)嵌入信息通過多層感知機(jī)融入到廣義矩陣分解模型中,構(gòu)建一種融合網(wǎng)絡(luò)嵌入信息的神經(jīng)矩陣分解模型(GATNMF),緩解MF 模型存在的缺陷.GAT-NMF 網(wǎng)絡(luò)模型如圖3所示.
圖3 融合網(wǎng)絡(luò)嵌入信息的神經(jīng)矩陣分解模型
GAT-NMF 由圖注意力網(wǎng)絡(luò)信息嵌入的多層感知機(jī)模型(GAT-MLP)和廣義矩陣分解模型(GMF)這兩部分組成.輸入層為用戶和項(xiàng)目的one-hot 向量.GMF的嵌入層通過單層神經(jīng)網(wǎng)絡(luò)映射得到用戶和項(xiàng)目的潛特征矩陣.GAT-MLP 的嵌入層通過圖注意力網(wǎng)絡(luò)表示學(xué)習(xí)獲得用戶和項(xiàng)目的網(wǎng)絡(luò)嵌入特征矩陣.
GMF 部分將用戶和項(xiàng)目的潛特征向量進(jìn)行對(duì)應(yīng)元素積,最后通過權(quán)值向量映射得到預(yù)測(cè)得分.
其中,pGMF表示GMF 模型的用戶潛特征向量,qGMF表示GMF 模型的項(xiàng)目潛特征向量,⊙表示對(duì)應(yīng)元素積,為全連接層的權(quán)值向量.
GAT-MLP 部分將GAT 網(wǎng)絡(luò)學(xué)習(xí)的用戶和項(xiàng)目的網(wǎng)絡(luò)嵌入特征表示拼接后通過多層感知機(jī)得到預(yù)測(cè)得分,MLP 采用3 層的塔式網(wǎng)絡(luò)結(jié)構(gòu).
其中,pGAT表示用戶的網(wǎng)絡(luò)嵌入特征表示,qGAT表示項(xiàng)目的網(wǎng)絡(luò)嵌入特征表示,Wl和bl分別表示網(wǎng)絡(luò)層l的權(quán)重矩陣和偏差向量,為全連接層的權(quán)值向量,激活函數(shù) σ選擇tanh 函數(shù).
使用邏輯回歸中的對(duì)數(shù)似然函數(shù)作為GMF 模型和GAT-MLP 模型優(yōu)化的損失函數(shù).yui表示用戶u與項(xiàng)目i之間的交互信息,存在交互關(guān)系為1,不存在為表示模型的預(yù)測(cè)值,表示用戶與預(yù)測(cè)項(xiàng)目存在交互的可能性,Y表示與用戶存在交互的項(xiàng)目集合,Y-表示在用戶沒有交互的項(xiàng)目集合中采樣的負(fù)樣本,在全連接層使用Sigmoid 函數(shù)將其取值范圍限制在[0,1],損失函數(shù)定義如下:
Movielens 100 K 是提供電影推薦的數(shù)據(jù)集[16],它包含943 位用戶對(duì)1 682 部電影的10 萬條評(píng)分信息,以及用戶的性別、年齡、職業(yè),電影的類別、上映時(shí)間等屬性信息.本文按9:1 的比例隨機(jī)地將原數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集.
圖注意力網(wǎng)絡(luò)表示學(xué)習(xí)在訓(xùn)練時(shí)需要構(gòu)建用戶和項(xiàng)目的同質(zhì)網(wǎng)絡(luò),因此需要根據(jù)相似度閾值確定節(jié)點(diǎn)的鄰居節(jié)點(diǎn).本文在實(shí)驗(yàn)中設(shè)置用戶同質(zhì)網(wǎng)絡(luò)的相似度閾值為0.2,項(xiàng)目同質(zhì)網(wǎng)絡(luò)的相似度閾值為0.1,將相似度大于閾值的節(jié)點(diǎn)添加為鄰居節(jié)點(diǎn).在學(xué)習(xí)節(jié)點(diǎn)嵌入時(shí),采樣鄰居節(jié)點(diǎn)中相似度最高的前5 個(gè)節(jié)點(diǎn)進(jìn)行特征聚合.GAT 的其它參數(shù)設(shè)置如下:嵌入特征維度d1=32,聚合深度為1,注意力頭數(shù)為2,batchSize 為512,學(xué)習(xí)率為0.000 1.
GAT-NMF 模型訓(xùn)練時(shí)需要擴(kuò)展訓(xùn)練集,定義用戶交互的項(xiàng)目構(gòu)成其訓(xùn)練正樣本,假設(shè)用戶的訓(xùn)練正樣本數(shù)為m,從其未交互的項(xiàng)目中隨機(jī)抽取s×m個(gè)項(xiàng)目作為該用戶的訓(xùn)練負(fù)樣本.在測(cè)試時(shí),對(duì)于用戶的每一個(gè)正樣本,同樣隨機(jī)抽取該用戶t個(gè)負(fù)樣本并與正樣本一起構(gòu)成一組測(cè)試樣本.本文在實(shí)驗(yàn)中設(shè)置訓(xùn)練負(fù)采樣系數(shù)s為4,測(cè)試負(fù)采樣數(shù)t為99.GAT-NMF 的其它參數(shù)設(shè)置如下:GMF 的潛向量維度d2=32,權(quán)衡參數(shù)α=0.5,batchSize 為128,學(xué)習(xí)率為0.001.
在基于排序Top-N 的推薦系統(tǒng)中,推薦的質(zhì)量與推薦列表中用戶真正發(fā)生交互的項(xiàng)目數(shù)呈正相關(guān).為驗(yàn)證本文算法的有效性,使用召回率與歸一化折損累計(jì)增益作為評(píng)估指標(biāo).
(1)召回率
在推薦系統(tǒng)中,對(duì)于用戶u,設(shè)R(u)為其推薦列表,T(u)為其真實(shí)交互列表.召回率為系統(tǒng)推薦且用戶真正交互的項(xiàng)目在交互列表中的比值.公式如下:
召回率值越大,推薦算法命中用戶感興趣項(xiàng)目的概率越大,推薦性能越優(yōu).此外召回率的大小與推薦列表的長度緊密相關(guān),通常表示為HR@K 以表明推薦列表長度的條件設(shè)置.
(2)歸一化折損累計(jì)增益(NDCG)
累計(jì)增益(CG)表示為推薦列表中的項(xiàng)目相關(guān)性程度的總和,缺乏對(duì)項(xiàng)目排序的位置因素的考量.而折損累計(jì)增益(DCG)對(duì)推薦結(jié)果在列表中的排名增加了懲罰,公式如下:
其中,reli表示位于位置i的推薦結(jié)果的相關(guān)性,若與用戶存在交互關(guān)系則為1,否則為0.K為推薦列表的長度.由于評(píng)估指標(biāo)衡量的是算法對(duì)整體用戶的推薦效果,因此使用歸一化折損累計(jì)增益(NDCG)作為推薦結(jié)果的評(píng)估指標(biāo),公式如下:
其中,IDCG為理想情況下最大DCG值,即推薦算法為某一用戶返回的推薦結(jié)果為按照相關(guān)性從大到小的順序排序的前K個(gè)結(jié)果組成的集合,也就是最優(yōu)推薦列表.NDCG@K用作排序結(jié)果的評(píng)價(jià)指標(biāo),評(píng)價(jià)排序的準(zhǔn)確性,與推薦列表的長度相關(guān),取值范圍在0~1 之間,且其值越接近于1,推薦效果越好.
3.3.1 推薦性能分析
為驗(yàn)證本文算法的有效性,實(shí)驗(yàn)選取了較為有代表性的ItemKNN[16]、GMF[9]、MLP[9]、和NeuMF[9]模型進(jìn)行對(duì)比實(shí)驗(yàn).
圖4 顯示了在Movielens 數(shù)據(jù)集中本文模型和其它幾種模型在不同推薦列表長度K下召回率HR@K的對(duì)比情況.從圖中可以看出,在相同的推薦列表長度下,對(duì)于無序評(píng)價(jià)指標(biāo),本文模型的召回率高于其它幾種模型,其推薦的項(xiàng)目為用戶所喜好的概率最大.且在推薦列表長度K=5 時(shí),本文GAT-NMF 模型的召回率較NeuMF 模型提升了1.02%,較GMF 模型提升了2.21%,較MLP 模型提升了6.53%.
圖4 HR 對(duì)比情況
圖5 顯示了在Movielens 數(shù)據(jù)集中本文模型和其它幾種模型在不同推薦列表長度K下的歸一化折損累計(jì)增益NDCG@K 的對(duì)比情況.從圖中可以看出,在相同的推薦列表長度下,對(duì)于有序評(píng)價(jià)指標(biāo),本文模型的歸一化折損累計(jì)增益高于其它幾種模型,其推薦列表中真正為用戶所喜好的項(xiàng)目在列表中的排序更靠前,即排序的準(zhǔn)確性最高.且在推薦列表長度K=5 時(shí),本文GAT-NMF 模型的歸一化折損累計(jì)增益較NeuMF模型提升了1.26%,較GMF 模型提升了2.17%,較MLP 模型提升了6.11%.
圖5 NDCG 對(duì)比情況
此外,實(shí)驗(yàn)還將本文GAT-MLP 模型和MLP 模型的推薦性能隨迭代次數(shù)的變化情況進(jìn)行了對(duì)比,推薦列表長度設(shè)置為10,實(shí)驗(yàn)結(jié)果如圖6、圖7所示.
圖7 NDCG 的迭代次數(shù)對(duì)比實(shí)驗(yàn)
圖6 顯示了本文GAT-MLP 模型和MLP 模型的召回率隨迭代次數(shù)的變化情況.從圖6 中可以看出,經(jīng)過圖注意力網(wǎng)絡(luò)表示學(xué)習(xí)的GAT-MLP 模型的召回率高于MLP 模型,較MLP 模型提升了2.18%,并且GAT-MLP 模型的收斂速度也快于MLP 模型.
圖6 HR 的迭代次數(shù)對(duì)比實(shí)驗(yàn)
圖7 顯示了本文GAT-MLP 模型和MLP 模型的歸一化折損累計(jì)增益隨迭代次數(shù)的變化情況.從圖7中可以看出,經(jīng)過圖注意力網(wǎng)絡(luò)表示學(xué)習(xí)的GAT-MLP模型的歸一化折損累計(jì)增益優(yōu)于MLP 模型,較MLP模型提升了2.03%.
表1 顯示了本文算法GAT-NMF 和其它幾種算法在不同推薦列表長度K下的HR@K 和NDCG@K 的具體得分情況.
表1 Movielens 數(shù)據(jù)集對(duì)比實(shí)驗(yàn)結(jié)果
傳統(tǒng)的基于模型的協(xié)同過濾推薦算法根據(jù)用戶與項(xiàng)目之間的交互信息來學(xué)習(xí)用戶與項(xiàng)目的潛特征矩陣,使用潛向量間的內(nèi)積表示用戶和項(xiàng)目的發(fā)生交互的可能性,沒有考慮到用戶與用戶之間以及項(xiàng)目與項(xiàng)目之間的關(guān)系結(jié)構(gòu)信息,對(duì)用戶和項(xiàng)目的信息提取能力有限,在恢復(fù)用戶之間和項(xiàng)目之間真實(shí)相似度上存在缺陷.因此本文使用知識(shí)圖譜來表示用戶與項(xiàng)目之間的復(fù)雜關(guān)系結(jié)構(gòu),根據(jù)用戶-項(xiàng)目二分網(wǎng)絡(luò)計(jì)算用戶之間、項(xiàng)目之間的相似度來構(gòu)建用戶與項(xiàng)目的同質(zhì)網(wǎng)絡(luò),并在各自的同質(zhì)網(wǎng)絡(luò)上進(jìn)行節(jié)點(diǎn)的圖注意力網(wǎng)絡(luò)表示學(xué)習(xí),最后構(gòu)建融合網(wǎng)絡(luò)嵌入信息的神經(jīng)矩陣分解模型獲得推薦結(jié)果.與相關(guān)算法進(jìn)行對(duì)比實(shí)驗(yàn),本文算法提高了推薦的HR@K 和NDCG@K.