劉 歡,李曉戈*,胡立坤,胡飛雄,王鵬華
(1.西安郵電大學(xué)計算機學(xué)院,西安 710121;2.陜西省網(wǎng)絡(luò)數(shù)據(jù)分析與智能處理重點實驗室(西安郵電大學(xué)),西安 710121;3.深圳騰訊計算機系統(tǒng)有限公司智能化運維部,廣東深圳 518000)
隨著互聯(lián)網(wǎng)技術(shù)的進步,人們可以獲取到大量的在線內(nèi)容,比如新聞、電影以及各種商品等。但在線信息的爆炸性增長經(jīng)常讓用戶不堪重負,推薦系統(tǒng)則是一個有效的信息過濾工具,在減輕信息過載的同時又可以為用戶提供良好的體驗。推薦系統(tǒng)通常會搜索并選擇較小數(shù)量的內(nèi)容來滿足用戶的個性化興趣。協(xié)同過濾算法是一種經(jīng)典的推薦技術(shù),它將用戶以及物品表示為向量形式,通過特定操作(內(nèi)積、神經(jīng)網(wǎng)絡(luò)[1]等)對它們的交互進行建模;然而,協(xié)同過濾算法通常都會面臨稀疏性以及冷啟動等問題。為了緩解基于協(xié)同過濾的推薦系統(tǒng)的稀疏性和冷啟動問題,研究人員通常會收集用戶和物品的屬性,并設(shè)計精巧的算法來利用這些額外的信息[2]。
最近的一些研究[3-6]都使用了物品屬性來進行建模,這些研究成果表明屬性并不是孤立的,而是被相互連接起來的,其中一種形式就是知識圖譜(Knowledge Graph,KG)。KG 是一種典型的異構(gòu)網(wǎng)絡(luò),它的每個節(jié)點代表一個實體,這些實體可以是物品也可以是屬性,兩個存在關(guān)系的實體由一條邊相連。KG擁有豐富的語義關(guān)聯(lián)信息,可以為推薦系統(tǒng)提供豐富的輔助信息。與沒有KG 輔助的推薦模型相比,使用KG 輔助的推薦模型可以讓推薦結(jié)果擁有以下三個特征[7]:1)精確性。豐富的語義相關(guān)信息可以發(fā)掘更深層次的隱藏關(guān)系并且提高結(jié)果的準確率。2)多樣性。KG 中多類別的關(guān)系可以擴展用戶興趣,合理地發(fā)散推薦結(jié)果,提高推薦結(jié)果的多樣性。3)可解釋性。KG可以連接用戶的歷史點擊記錄和推薦記錄,為推薦系統(tǒng)提供可解釋性。雖然KG 有著上述優(yōu)點,但是由于KG 天然的高維性以及異構(gòu)性,如何利用KG 進行推薦仍然是一個挑戰(zhàn)。目前的一種可行方法就是KG 嵌入,將KG 中的實體或者關(guān)系映射為低維表示向量。然而,一些常用的KG 嵌入方法,諸如TransE[8]和TransR[9]等,都側(cè)重于對語義關(guān)聯(lián)進行建模,更適合于KG 補全和鏈路預(yù)測等圖應(yīng)用,而不是推薦。在圖嵌入的方法中,圖的建模和特征表示與下游任務(wù)是獨立的,下游任務(wù)獲得的結(jié)果無法用來優(yōu)化圖的特征表示;而且這種方法缺乏歸納能力,當(dāng)有新節(jié)點加入時,需要重新學(xué)習(xí)整個圖的特征表示。為了解決這些問題,本文提出一種基于知識圖譜驅(qū)動的端到端圖神經(jīng)網(wǎng)絡(luò)模型(Knowledge Graph driven Learning Network,KGLN),利用KG 中的語義相關(guān)信息,驅(qū)動用戶以及物品的表示學(xué)習(xí)。在端到端模型中,下游任務(wù)得到的結(jié)果可以用來優(yōu)化圖的特征表示并且具備歸納能力,當(dāng)有新節(jié)點加入時,通過共享參數(shù)可以直接獲得該節(jié)點的特征表示。
KGLN 中,在實體表示學(xué)習(xí)的過程中根據(jù)用戶偏好來影響鄰居節(jié)點聚合的權(quán)重,這樣做有兩個優(yōu)點:1)鄰居節(jié)點擁有不同的權(quán)重,聚合時可以讓當(dāng)前實體獲得更加精確的表示,提高推薦的準確率;2)由于用戶偏好的影響,在學(xué)習(xí)過程中可以擴展到更多與用戶興趣相關(guān)的內(nèi)容,可以提高推薦的多樣性。
圖神經(jīng)網(wǎng)絡(luò)旨在將神經(jīng)網(wǎng)絡(luò)應(yīng)用于非歐氏空間的數(shù)據(jù)(如圖數(shù)據(jù))來進行特征學(xué)習(xí)。圖卷積神經(jīng)網(wǎng)絡(luò)(Graph Convolutional neural Network,GCN)由Kpif 于2017 年提出[10],它為圖結(jié)構(gòu)數(shù)據(jù)的處理提供了一種嶄新的思路,將卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CCN)應(yīng)用到了圖數(shù)據(jù)中。
最近,很多的研究工作都將GCN 運用到了推薦系統(tǒng)中:PinSAGE[11]應(yīng)用到了Pinterest 中的圖片與圖集這個二分圖的推薦;Monti 等[12]和van den Berg 等[13]將推薦系統(tǒng)建模為矩陣分解并分別設(shè)計了不同的GCN 模型來為二分圖中的用戶以及項目進行表示學(xué)習(xí);Wu 等[14]在用戶/物品的結(jié)構(gòu)圖上使用GCN 去學(xué)習(xí)用戶/物品的表示。這些工作與本文工作的區(qū)別是它們的模型都是為同質(zhì)二分圖設(shè)計,由于不存在復(fù)雜的關(guān)系,所以使用GCN建模比較簡單。
深度學(xué)習(xí)對數(shù)據(jù)進行多重非線性變換,可以擬合出較為復(fù)雜的預(yù)測函數(shù)。推薦系統(tǒng)中的核心算法是協(xié)同過濾,其目標從機器學(xué)習(xí)的角度可以看成擬合用戶和物品之間的交互函數(shù)。因此,近期一系列的工作也將深度學(xué)習(xí)技術(shù)應(yīng)用于協(xié)同過濾的交互函數(shù)上。例如,DeepFM[15]擴展了分解機(Factorization Machine,F(xiàn)M)方法,在FM中引入了一個深度線性模型來擬合特征之間復(fù)雜的交互關(guān)系;Wide&Deep[2]的Wide 部分采用和FM一樣的線性回歸模型,Deep部分采用了基于特征表示學(xué)習(xí)的多層感知機模型,提出了一個應(yīng)用于視頻推薦的深度神經(jīng)網(wǎng)絡(luò)推薦模型;NCF(Neural Collaborative Filtering)[1]用多層感知機替換傳統(tǒng)協(xié)同過濾中的點積操作;DMF(Deep Matrix Factorization)[16]類似于DeepFM,在傳統(tǒng)矩陣分解模型中引入了一個深度學(xué)習(xí)模塊來提高模型的表達能力。
目前的KG 感知推薦系統(tǒng)主要是基于圖嵌入的方法,將KG 使用KG 嵌入算法進行預(yù)處理,然后將學(xué)習(xí)好的實體向量融合到推薦系統(tǒng)中。這種方法將圖嵌入以及推薦兩個過程分開,導(dǎo)致推薦結(jié)果完全取決于圖嵌入算法的優(yōu)劣,而本文提出的端到端圖神經(jīng)網(wǎng)絡(luò)推薦模型可以根據(jù)推薦結(jié)果的反饋來優(yōu)化圖的表示學(xué)習(xí),很好地解決了上述問題。
同樣使用KG 作為輔助信息的模型還有多任務(wù)知識圖譜特征學(xué)習(xí)推薦模型(Multi-task feature learning for Knowledge graph enhanced Recommendation,MKR)[17]以及RippleNet[18]。MKR 包含推薦系統(tǒng)模塊與知識圖譜實體特征學(xué)習(xí)模塊,這兩個模塊通過一個交叉壓縮模塊進行橋接,交叉壓縮模塊可以自動學(xué)習(xí)兩個任務(wù)中物品和實體的高階特征交互,通過依次訓(xùn)練來共享特征信息。RippleNet 的核心思想是興趣傳播,將用戶歷史作為種子,然后通過KG 中的連接迭代地向外擴展用戶的興趣,以此獲得用戶向量來進行下行預(yù)測任務(wù)。兩種模型都在真實數(shù)據(jù)集上擁有出色的效果,本文模型也將與二者進行實驗結(jié)果對比來驗證本文模型的有效性。
在一個典型的推薦場景中,會有一個包含M個用戶的集合U={u1,u2,…,uM} 和一個包含N個物品的集合V={v1,v2,…,vN}。用戶與物品的交互矩陣為Y∈RM×N,它反映了用戶的隱式反饋,當(dāng)yuv=1 代表用戶u與物品v存在聯(lián)系,比如點擊、瀏覽或者購買等,反之yuv=0。此外,還有一個知識圖譜G,它由實體-關(guān)系-實體三元組(h,r,t)組成。此處h∈E、r∈R和t∈E表示三元組的頭部、關(guān)系和尾部,E和R分別是知識圖中的實體和關(guān)系集。例如三元組(哈利波特,作者,JK 羅琳)表示JK 羅琳創(chuàng)作了哈利波特這個事實。在許多的推薦場景中,一個物品是與一個實體相關(guān)的。比如在書籍推薦中,《哈利波特》就可以作為知識圖譜中的一個實體。給定一個用戶物品交互矩陣Y以及知識圖譜G,目標是預(yù)測用戶u是否對物品v有潛在的興趣。也就是學(xué)習(xí)函數(shù)=F(u,v|Y,G,Θ),其中表示用戶u喜歡物品v的概率,Θ為函數(shù)F的參數(shù)。
整個KGLN 的模型框架如圖1 所示,圖中展示了階數(shù)為2時的整體流程。對于每對用戶u和物品v,使用它們的原始特征作為輸入:用戶特征u主要參與影響因子的計算以及最后推薦評分的預(yù)測;物品特征v在單層KGLN中首先采樣出鄰居樣本(圖1中分別用以及表示v的鄰居實體e1以及e2的原始特征),之后通過用戶特征u及物品與鄰居之間的關(guān)系特征r計算出影響因子α作為權(quán)重進行鄰居特征聚合,再通過聚合器得到一階特征v1來更新原始的v0,這就完成了一次單層KGLN。為了得到物品的二階特征v2,需要先對以及分別進行一次單層KGLN 得到兩個鄰居的一階特征,再對物品的一階特征進行一次單層KGLN 得到信息更加豐富的二階特征v2,之后與用戶特征u來預(yù)測評分。
圖1 KGLN整體框架Fig.1 Overall framework of KGLN
2.3.1 影響因子
KGLN 的核心思想是通過KG 中實體間的近鄰關(guān)系來驅(qū)動模型進行用戶和物品的表示學(xué)習(xí)。首先介紹單層的KGLN,考慮一個用戶u和物品v,v在知識圖譜中存在一個實體,用N(v)來表示實體v在知識圖譜中的鄰居實體的集合,表示兩個實體ei和ej之間的關(guān)系。如果用戶u曾經(jīng)為物品v評分過,在KGLN中,會在知識圖譜中找到與物品v相關(guān)的實體,接下來對該實體做鄰居節(jié)點特征聚合。在鄰居節(jié)點特征聚合的過程中,加入影響因子來影響聚合的結(jié)果,影響因子可以當(dāng)作是對用戶偏好的衡量,這種影響因子類似于注意力機制。具體來說,引入了一個評分函數(shù)g:Rd×Rd→R 來計算影響因子,也就是用戶與關(guān)系之間的分值:
其中:u∈Rd和r∈Rd分別代表用戶u和關(guān)系r的特征,d是特征的維度。一般而言,已經(jīng)刻畫了關(guān)系r對用戶u的重要程度,可以用來表示用戶的興趣偏好。比如用戶A 可能會對曾經(jīng)閱讀過的書籍的作者寫的另一部作品感興趣,而用戶B 更多是因為作品的題材而對該作品感興趣。在KGLN 中,不僅要計算用戶偏好的影響因子,也要計算不同鄰居節(jié)點對當(dāng)前中心實體的影響因子:
其中:e為當(dāng)前實體v的所有鄰居節(jié)點的特征??坍嬃怂朽従訉嶓we對當(dāng)前實體v的影響程度。得到兩種影響因子后,分別對其進行歸一化處理:
2.3.2 鄰居采樣
在對每一個節(jié)點進行鄰居節(jié)點實體特征融合的過程前都需要對其鄰居進行采樣,取得需要進行特征融合的鄰居集合。由于在知識圖譜中一個實體的鄰居數(shù)據(jù)不會相同,而在一種極端的情況下,其數(shù)量可能會相差非常多。為了提高模型的訓(xùn)練效率,對每個實體沒有使用它的全部鄰居,而是均勻隨機地在所有鄰居中采樣出一個集合采樣的鄰居個數(shù)用K控制。圖2是K=2時的采樣情況,即每個節(jié)點只會選取鄰近自己的兩個鄰居節(jié)點。在KGLN 中,S(v)也可以被稱為實體v的(單層的)感受野(receptive field),因為實體v的最終特征計算對這些范圍敏感(圖2 中的深色節(jié)點)。在均勻隨機地采樣了K個鄰居節(jié)點后,根據(jù)式(1)~(4)計算每個節(jié)點的影響因子,然后對物品v的鄰居節(jié)點進行建模,具體如下:
圖2 采樣完成的鄰居節(jié)點向內(nèi)聚合Fig.2 Inward aggregation of neighbor nodes after sampling
其中e為實體v鄰居節(jié)點的特征。影響因子的引入可以讓我們根據(jù)用戶偏好來個性化地聚合鄰居節(jié)點特征。
2.3.3 聚合實體特征
最后一個步驟就是融合當(dāng)前實體特征v與它的鄰居特征,將獲得的結(jié)果作為當(dāng)前實體新的特征表示。使用了三種類型的聚合器:
1)GCN 聚合器(GCN aggregator)[10]直接將兩個特征相加,然后使用一個非線性函數(shù)得到結(jié)果:
將激活函數(shù)設(shè)置為LeakyReLU。W∈Rd×d是可訓(xùn)練的權(quán)重矩陣,用來提取有用信息進行傳播操作。
2)GraphSage聚合器(GraphSage aggregator)[19]將兩個特征拼接再應(yīng)用一個非線性變換得到結(jié)果:
激活函數(shù)為LeakyReLU,W∈Rd×d是可訓(xùn)練的權(quán)重矩陣。
3)雙交互聚合器(Bi-Interaction aggregator)[20]考慮了當(dāng)前節(jié)點特征v與鄰居特征的兩種信息交互:其中:W1,W2∈Rd×d都為可訓(xùn)練權(quán)重矩陣;⊙表示向量按元素相乘。與GCN 聚合器和GraphSAGE 聚合器不同,雙交聚合器模型傳播的信息對v與的相關(guān)性比較敏感,它會傳遞更多類似當(dāng)前實體節(jié)點的信息。
經(jīng)過一個單層的KGLN,一個實體節(jié)點得到的實體表示依賴于其鄰居節(jié)點,稱其為一階實體特征。當(dāng)我們將KGLN擴展到多層時,就可以探索用戶更深層次的潛在興趣,這是十分自然合理的,具體的算法如下所述:
1)對于一個給定的用戶-物品對(u,v),首先對v進行鄰居采樣,經(jīng)過隨機采樣之后得到v的K個鄰居節(jié)點,接下來對這K個鄰居節(jié)點進行相同的采樣操作。這樣,以一種迭代的計算過程得到v的多階鄰居集合。這里用H來表示感受野的深度,也就是迭代的次數(shù),如圖2 所示為H=2 時v的感受野(圖中的深色節(jié)點)。
2)鄰居采樣完成后,考慮H=2 時的計算過程。首先計算v的一階實體特征v1(角標代表階數(shù)),這里需要用到v的零階實體特征v0,也就是原始特征。在經(jīng)過單層KGLN 之后,可以得到融合了鄰居節(jié)點特征v的新實體特征v1。之后用一層KGLN 計算v的所有鄰居的一階實體特征,用一階實體特征更新原始特征得到所有的,en∈N(v)。最后再使用一層KGLN 更新v的實體特征,得到v的二階實體特征v2。整個迭代過程如圖4所示,自底向上不斷進行鄰居節(jié)點特征融合。
圖3 鄰居實體特征的聚合過程Fig.3 Aggregation process of neighbor entity features
圖4 鄰居節(jié)點特征融合的迭代過程Fig.4 Iterative process of neighbor node feature fusion
3)將所有用戶-物品對(u,v)執(zhí)行1)~2)過程后,可以得到最終的H階實體特征,這里記為vu。將vu與用戶特征u一起輸入函數(shù)f:Rd×Rd→R,得到最終的預(yù)測概率:
整個模型損失函數(shù)如下:
為了計算更有效率,在訓(xùn)練中使用了負采樣技術(shù)。其中?是交叉熵損失函數(shù),Tu是用戶u的負樣本個數(shù),P是負樣本的分布。在本模型中,Tu與用戶正樣本的個數(shù)相同,P則為均勻分布。最后一項為L2 正則項,包括中所有的參數(shù)。
實驗部分選擇了兩種數(shù)據(jù)集:MovieLens-1M 以及Book-Crossing。MovieLens-1M 是電影推薦中的一個廣泛使用的基準數(shù)據(jù)集,它包含了在MovieLens網(wǎng)站上用戶對電影的顯式的從1 到5 的評分;Book-Crossing 是Book-Crossing 圖書社區(qū)的用戶對圖書進行0~10評分的數(shù)據(jù)。
將兩種數(shù)據(jù)集進行處理:在MovisLens-1M 中,如果用戶對電影做出了4 分以上的評分,則將用戶與該電影的交互置為1,反之為0;對Book-Crossing 也做相同的處理,評分范圍規(guī)定為0 分以上,即只要用戶對該圖書做了評分則將交互置為1。
知識圖譜部分使用了MKR 中構(gòu)建的知識圖譜,該知識圖譜使用微軟Satori構(gòu)造。對于MovisLens-1M 和Book-Crossing,首先從整個知識圖譜中選擇一個子圖,其中關(guān)系的名字包括電影以及圖書。從初步篩出的子圖中比照了所有數(shù)據(jù)集中的電影名或者圖書名,來進行物品與實體的配對,最后再刪掉無法找到實體的數(shù)據(jù)集數(shù)據(jù),得到最終的知識圖譜與交互矩陣。兩種數(shù)據(jù)集的基本統(tǒng)計信息如表1所示。
表1 兩種數(shù)據(jù)集的統(tǒng)計結(jié)果Tab.1 Statistical results of two datasets
圖5 為使用MovieLens-1M 構(gòu)造的部分知識圖譜展示,該部分圖譜以“Forrest Gump”為中心節(jié)點。為了便于展示,在關(guān)系前加上了該關(guān)系三元組中頭節(jié)點的屬性。在MovieLens-1M數(shù)據(jù)集中,作為中心實體的都是電影,每個電影通過不同的關(guān)系連接不同的屬性,KGLN 將會用這些豐富的屬性信息對每個電影實體進行特征學(xué)習(xí)。
圖5 知識圖譜樣例Fig.5 Sample of knowledge graph
在KGLN的實驗中,使用了如下的基準方法:
LibFM[21]是一個用于點擊率(Click-Through-Rate)預(yù)測的基于特征分解的模型,使用用戶與物品的原始特征作為輸入。
Wide&Deep[2]是一個基于深度學(xué)習(xí)推薦算法,是一種融合淺層(Wide)模型和深層(Deep)模型進行聯(lián)合訓(xùn)練的框架。Wide 部分的輸入需要特征工程得到的二階交叉特征,在本實驗過程中使用原始稀疏特征作為輸入。
DeepFM[15]是Wide&Deep的改進,通過淺層模型和深層模型來訓(xùn)練得到。它包含兩個部分:神經(jīng)網(wǎng)絡(luò)模塊與因子分解機模塊,分別負責(zé)低階特征的提取和高階特征的提取,兩部分輸入與LibFM相同均為原始特征。
MKR[17]包含推薦系統(tǒng)模塊以及知識圖譜特征學(xué)習(xí)模塊,使用用戶以及物品的原始特征作為推薦系統(tǒng)模塊的輸入,數(shù)據(jù)集上的知識圖譜作為知識圖譜特征學(xué)習(xí)模塊的輸入。
RippleNet[18]是混合模型的代表,通過在知識圖譜上傳播用戶偏好的記憶網(wǎng)絡(luò)推薦模型,輸入同樣為用戶和物品的原始特征以及知識圖譜。
KGLN 的實驗準備如下:在KGLN 中,將MovieLens-1M 的跳數(shù)H設(shè)置為2,Book-Crossing的跳數(shù)H設(shè)置為1,其他超參數(shù)的設(shè)置如表2 所示,其中:d為特征維度;ε為學(xué)習(xí)率;模型中g(shù)設(shè)置為內(nèi)積函數(shù),非最后一層聚合器的激活函數(shù)為LeakyReLU,最后一層聚合器的激活函數(shù)為tanh,所有超參數(shù)在驗證集上通過優(yōu)化AUC值得到。
表2 KGLN的超參數(shù)設(shè)置Tab.2 Hyperparameter setting of KGLN
基準方法的超參數(shù)設(shè)置如下:對于LibFM,其維度為{1,1,8},學(xué)習(xí)輪數(shù)為50;對于DeepFM,兩個數(shù)據(jù)集上的特征維度都為d=8,模型維度為{16,16,16};對于RippleNet,其特征維度與學(xué)習(xí)率設(shè)置為與KGLN 相同。Wide&Deep 以及MKR的超參數(shù)選擇和原始論文或代碼默認值一致。
在實驗中,數(shù)據(jù)集的訓(xùn)練集、驗證集和測試集的比例為6∶2∶2,最終實驗結(jié)果均為5 次實驗結(jié)果取平均得到的。實驗情景為CTR 預(yù)測,通過受試者工作特征曲線(Receiver Operating Characteristic,ROC)下面積(Area Under Curve of ROC,AUC)以及F1值衡量模型性能。
3.4.1 與基準方法的比較
KGLN 與其他基準方法的結(jié)果如表3 所示,從中可以看出:
LibFM 輸入為數(shù)據(jù)集的原始特征,通過FM 來學(xué)習(xí)一階特征和二階交叉特征,得到低維向量表示;DeepFM 和Wide&Deep 都是用深度神經(jīng)網(wǎng)絡(luò)來得到向量表示,區(qū)別是前者使用FM 來負責(zé)一階特征以及二階交叉特征,后者使用Wide 部分的邏輯回歸模型記憶二階交叉特征。這三種方法都只用到了數(shù)據(jù)集本身的特征信息,沒有任何輔助信息,在評價指標上要低于所有使用知識圖譜作為輔助信息的方法,這表明引入知識圖譜是有效的。
MKR 在Book-Crossing 上的結(jié)果要優(yōu)于所有基準方法,因為Book-Crossing 數(shù)據(jù)集相對來說比較稀疏,而MKR 中的交叉共享單元可以讓圖學(xué)習(xí)模塊以及推薦模塊共享對方的額外信息,這種交互學(xué)習(xí)方式一定程度上彌補了數(shù)據(jù)集稀疏的問題。KGLN 在Book-Crossing 上的效果略低于MKR,也是由于數(shù)據(jù)集的稀疏性,在融合鄰居節(jié)點特征時容易引入噪聲。而在MovieLens-1M 這種相對稠密的數(shù)據(jù)集上,KGLN 的表現(xiàn)要優(yōu)于所有基準方法,這也體現(xiàn)了越豐富的知識圖譜對推薦效果起的作用越大。
RippleNet 與KGLN 的結(jié)果非常相近,注意到RippleNet 也用到了多跳關(guān)聯(lián)實體信息,這表明在使用知識圖譜輔助時對局部結(jié)構(gòu)以及鄰居節(jié)點關(guān)系進行建模十分重要。
表3 中KGLN-BI、KGLN-GS 和KGLN-GCN 表 示KGLN 中分別使用不同聚合器(見2.3.3 節(jié))得到的結(jié)果。可以發(fā)現(xiàn):雙向交互聚合器一般而言表現(xiàn)最好,是因為雙交互聚合器可以更多地保留自身的信息特征,并融合更多類似于自身信息而來自鄰居節(jié)點的特征;GCN 與GraphSAGE 聚合器效果略差,是由于在聚合過程中結(jié)構(gòu)信息的比重與節(jié)點自身信息的比重一致而造成的,這表明在建模過程中應(yīng)該更多考慮節(jié)點本身的信息。
表3 KGLN與其他基準方法在MovieLens-1M和 Book-Crossing數(shù)據(jù)集上的AUC與F1比較Tab.3 Comparison of AUC and F1 of KGLN and other benchmark methods on MovieLens-1M and Book-Crossing datasets
為了驗證影響因子的效果,對比了使用影響因子與未使用影響因子(即鄰居結(jié)構(gòu)建模時使用所有鄰居節(jié)點特征的均值作為鄰居特征,即的AUC 值,如表4 所示。未使用影響因子的結(jié)果要比使用影響因子的效果差,這說明注意力機制確實對推薦結(jié)果有提升作用。
表4 影響因子在不同聚合器上的效果(AUC值)Tab.4 Effect of influence factors on of different aggregators(AUC)
3.4.2 感受野深度的影響
表5給出了感受野深度H從1變化到3時對KGLN結(jié)果的影響,可以看出KGLN 對H的改變比較敏感。感受野會隨著深度的增加一個指數(shù)式級擴大[22],一個較大的H在模型中會讓實體節(jié)點對以其為中心的大范圍實體敏感,因為該實體的最終特征計算依賴于這些實體,而這些大范圍的實體中會存在很多對中心實體特征表示毫無用處的實體,這就會引入大量的噪聲,導(dǎo)致模型結(jié)果下降。
表5 不同感受野深度H下的實驗結(jié)果Tab.5 Experimental results of different receptive field depths H
Book-Crossing數(shù)據(jù)集在H=3時得到了相對較差的結(jié)果,這表明模型在融合三階實體特征時已經(jīng)引入了大量的噪聲。在現(xiàn)實情況中,過深的探索用戶興趣也是沒有必要的。比如在電影推薦的場景中,用戶A 喜歡電影B 是因為該電影的演員C,那么可以通過演員C 這個實體去發(fā)掘該演員演過的電影,在這些電影實體中融合更多演員C 這個實體的信息可以達到挖掘用戶興趣的目的。可見,H為1或2在真實場景中已經(jīng)可以滿足需求。
本文提出了圖神經(jīng)網(wǎng)絡(luò)推薦模型,在知識圖譜特征學(xué)習(xí)的過程中引入了影響因子,通過改變鄰居節(jié)點特征的權(quán)重來進行聚合,不僅學(xué)習(xí)到了知識圖譜的結(jié)構(gòu)和語義信息,還可以挖掘用戶的個性化興趣以及潛在愛好,提高了推薦結(jié)果的多樣性和豐富性。在兩種公開數(shù)據(jù)集MovieLens-1M 與Book-Crossing上進行實驗,分析研究了不同聚合器及影響因子對推薦結(jié)果的影響。使用AUC 值與F1 值作為評價標準,將KGLN與經(jīng)典模型DeepFM、LibFM、Wide&Deep、RippleNet 進行對比,結(jié)果表明KGLN 在推薦效果上都有所提升,驗證了KGLN的可行性和有效性。KGLN 所考慮的知識圖譜是靜態(tài)的,而現(xiàn)實生活中大部分情況知識圖譜都會隨著時間而變化;不僅如此,用戶的喜好也會隨著時間而變化,如何刻畫這種隨時間演變的情況,也是未來研究的方向。