郭曉旺,夏鴻斌,2+,劉 淵,2
1.江南大學(xué) 人工智能與計算機學(xué)院,江蘇 無錫 214122
2.江蘇省媒體設(shè)計與軟件技術(shù)重點實驗室,江蘇 無錫 214122
隨著信息社會的不斷發(fā)展,人們可以在網(wǎng)絡(luò)上接觸到大量的信息,例如視頻和書籍,信息超載使得人們無法快速有效地選擇自己需要的信息。為了減少信息超載的影響,研究人員提出了推薦系統(tǒng)以對用戶進行信息的個性化推薦。其中協(xié)同過濾算法是一種傳統(tǒng)的推薦算法,它主要通過分析用戶的歷史行為進行推薦。例如,Jamali等人提出一種基于用戶信任和協(xié)同過濾方法的隨機游走模型,Wang等人提出一種貝葉斯框架用于給用戶推薦當前感興趣的新聞。然而協(xié)同過濾算法存在冷啟動的問題,同時也很難給出合理的推薦解釋。為了解決上述問題,研究人員增加一些輔助信息用于推薦,常見的輔助信息:社交網(wǎng)絡(luò)、用戶或物品的特征、多媒體信息、上下文信息(比如用戶在用APP 訂餐時的瀏覽和購買記錄)。知識圖譜(knowledge graph,KG)通常包含項目的豐富屬性和關(guān)系,有助于提升推薦系統(tǒng)的性能。例如,Zhang 等人提出一種基于知識圖譜的鄰域聚合協(xié)同過濾模型。
知識圖譜的節(jié)點對應(yīng)實體,邊表示實體間的關(guān)系。將項目及其屬性映射到知識圖譜可以更好地理解項目間的關(guān)系;將用戶及其相關(guān)信息映射到知識圖譜,可以構(gòu)建用戶和項目之間的關(guān)系,更加準確地提取用戶的偏好。與沒有將知識圖譜作為輔助信息的推薦系統(tǒng)相比,基于知識圖譜的推薦系統(tǒng)在推薦性能上具有以下優(yōu)點:提高推薦系統(tǒng)的性能,增加推薦項目的多樣性,為推薦提供可解釋性。
近幾年,研究人員關(guān)注于將知識圖譜作為輔助信息用于提高推薦系統(tǒng)的性能。高仰等人將知識圖譜與用戶的短期偏好相結(jié)合,提出一種基于知識圖譜的混合框架。Wang 等人提出了MKR(multi-task feature learning for knowledge graph enhanced recommendation)模型。MKR 模型采用知識圖譜嵌入來輔助推薦任務(wù),通過多任務(wù)學(xué)習(xí)自動共享項目的潛在特征,學(xué)習(xí)項目之間的高階內(nèi)在關(guān)系。Wang等人提出的KGCN(knowledge graph convolutional networks for recommender systems)模型利用圖卷積網(wǎng)絡(luò),選擇性地聚合項目的鄰域信息得到項目的特征向量,自動捕獲知識圖譜的高階結(jié)構(gòu)和語義信息。Wang 等人提出的RippleNet模型將基于路徑和基于嵌入的方法結(jié)合,通過用戶的興趣偏好傳播提取用戶特征,忽略了項目特征對于用戶興趣建模的重要性。
然而,以上方法雖通過知識圖譜提高了推薦模型的性能,卻未能充分利用知識圖譜的結(jié)構(gòu)信息。其中MKR 模型忽略了知識圖譜中實體間的鄰域關(guān)系,造成模型提取的項目的特征不夠精確;以上推薦方法也未能同時將用戶特征和項目特征與知識圖譜進行有效的信息融合,只是單一地考慮項目與實體或者用戶與實體之間的聯(lián)系。
針對以上問題,本文提出一種融合知識圖譜與圖卷積網(wǎng)絡(luò)的混合推薦模型(hybrid recommendation model of knowledge graph and graph convolutional network,HKC)。本文的主要貢獻包括:
(1)通過KGCN 算法計算項目的鄰域特征向量,對知識圖譜中實體間的鄰域關(guān)系進行建模,更好地利用知識圖譜結(jié)構(gòu)信息,提高了模型的評分預(yù)測精度。
(2)在神經(jīng)網(wǎng)絡(luò)中,利用協(xié)作傳播和交互單元操作有效地促進用戶和知識圖譜中實體之間的信息融合。同時采用交替學(xué)習(xí)的訓(xùn)練方式計算用戶的偏好特征,優(yōu)化模型的結(jié)構(gòu),增強了推薦性能。
(3)優(yōu)化MKR 模型中的交叉壓縮單元,在壓縮層中去除參數(shù)偏置,減少神經(jīng)網(wǎng)絡(luò)中的參數(shù),降低計算量,提高了交替學(xué)習(xí)訓(xùn)練的有效性。
圖卷積神經(jīng)網(wǎng)絡(luò)(graph convolutional network,GCN)是一種提取拓撲圖的空間特征的深度學(xué)習(xí)方法,包含譜方法和非譜方法。許多現(xiàn)有的推薦系統(tǒng)中結(jié)合了GCN 方法,例如:PinSage算法結(jié)合隨機游走算法和GCN方法構(gòu)建節(jié)點嵌入表示,包含了圖的結(jié)構(gòu)和節(jié)點特征;Yang等人提出一種可解釋的GCN模型,利用雙向傳播策略自動構(gòu)建用戶和項目的特征。
現(xiàn)有的融合知識圖譜的推薦模型可以分成三類:基于嵌入的方法、基于路徑的方法和基于圖的方法。
(1)基于嵌入的方法主要使用知識圖譜嵌入算法對知識圖譜中的推薦實體進行預(yù)處理,然后將得到的嵌入向量應(yīng)用于推薦模型。例如,DKN(deep knowledge-aware network for news recommendation)模型將實體嵌入和標題嵌入作為不同的初始化特征用于新聞推薦。CKE(collaborative knowledge base embedding for recommender systems)模型將知識圖譜嵌入、文本和圖像結(jié)合在一起,通過協(xié)同過濾進行統(tǒng)一推薦。知識圖譜嵌入通常適用于進行鏈路預(yù)測。
(2)基于路徑的方法中,知識圖譜中包含豐富的實體,這些實體之間存在連接,形成了多條路徑。例如PER(personalized entity recommendation)使 用KG 中元路徑的潛在特征表示在不同關(guān)系中用戶和項目的連通性。然而,基于路徑的方法依賴于手動設(shè)置元路徑,不利于解決推薦系統(tǒng)中的冷啟動問題。
(3)基于圖的方法將知識圖譜視為一個以某個特定的用戶或項目為中心的異構(gòu)網(wǎng)絡(luò),從知識圖譜的中心實體向外傳播提取相關(guān)實體的特征。例如RippleNet使用偏好傳播方法,很自然地將知識圖譜嵌入與推薦系統(tǒng)相結(jié)合,可以不斷自動地發(fā)現(xiàn)用戶的潛在層級興趣。
在一個典型的推薦場景中,用戶集合與項目集合分別用={,,…,u}和={,,…,v}進行表示。用戶與項目的交互矩陣為∈R,它根據(jù)用戶的隱式反饋定義為={y|∈,∈},其中:
當y=1 時僅表示用戶和項目之間存在交互,如播放、預(yù)覽、購買等行為。此外,知識圖譜由三元組(,,) 構(gòu)成,其中∈,∈,∈分別表示一個三元組的頭實體、實體間的關(guān)系和尾實體,和分別表示中的實體集合和關(guān)系集合。比如:在電影知識圖譜中一個三元組(王硯輝,參演,我不是藥神)表示王硯輝參演了電影《我不是藥神》。
圖1 HKC 模型結(jié)構(gòu)Fig.1 Framework of HKC
整個HKC 模型的框架如圖1 所示。HKC 模型主要由四部分組成:鄰域聚合、協(xié)作傳播、交互單元和知識圖譜嵌入單元。圖1 中項目的鄰域聚合操作,通過KGCN算法在知識圖譜中找到項目對應(yīng)的實體以及鄰居實體,最后將項目實體的鄰居實體及其本身進行聚合,得到項目的特征向量。圖1 下半部分分別為協(xié)作傳播和知識圖譜嵌入單元。其中協(xié)作傳播操作通過對用戶的歷史記錄查詢得到用戶交互過的項目集合,然后通過項目與實體的對比得到知識圖譜中與用戶相關(guān)的實體集合。知識圖譜嵌入單元使用多層感知機(multilayer perceptron,MLP)和交互單元(interaction unit,IU)分別提取知識圖譜中實體間的關(guān)系特征和頭實體特征,在分數(shù)函數(shù)和真實尾實體的監(jiān)督下輸出預(yù)測的尾實體向量。圖1 中間的交互單元以用戶和與之關(guān)聯(lián)的實體作為輸入,實現(xiàn)用戶和實體之間的信息共享,輸出用戶特征向量和頭實體特征向量。最后將用戶和項目特征向量通過向量內(nèi)積運算得到預(yù)測概率。
本文采用KGCN 算法對項目及其鄰居節(jié)點進行聚合。KGCN算法利用圖卷積技術(shù)將知識圖譜中節(jié)點的鄰域信息建模為接收域,以豐富實體節(jié)點信息。
KGCN 算法的主要思想是對于給定的知識圖譜中的實體,有偏差地聚合其鄰居節(jié)點信息。對于給定的用戶和項目,()表示與直接相連的實體集合,r表示實體e和e之間的關(guān)系,利用函數(shù)計算用戶與關(guān)系之間的得分:
計算項目實體的鄰域表示時,歸一化的用戶-關(guān)系得分可以作為用戶的偏好權(quán)重,基于用戶偏好權(quán)重對項目的鄰域進行加權(quán)求和。
圖2 鄰域聚合Fig.2 Neighborhood aggregation
其中,和分別表示權(quán)重和偏置,為非線性函數(shù)。
用戶的歷史交互項目在一定程度上可以表示用戶的偏好特征,通過用戶的歷史交互記錄可以得到與用戶相關(guān)的項目集合,再通過項目與實體之間的對應(yīng)關(guān)系,得到知識圖譜中相關(guān)實體集合。用戶的實體集合()定義為:
在交互單元中,首先構(gòu)建用戶和其對應(yīng)實體之間的交互特征矩陣I:
其中,特征向量u∈R和e∈()分別表示第層的用戶和實體,表示隱藏層的維度。然后,進行壓縮操作,交互特征矩陣沿水平和垂直方向進行轉(zhuǎn)換:
其中,∈R表示神經(jīng)網(wǎng)絡(luò)的權(quán)重。本文基于MKR模型中交叉壓縮單元,將壓縮公式去除了參數(shù)偏置進行優(yōu)化,壓縮操作將交互特征矩陣的維度從R降到R,輸出的結(jié)果分別為用戶特征向量和實體特征向量。最終將交互單元操作表示為:
交互單元實現(xiàn)了用戶與知識圖譜嵌入單元中實體之間的信息共享,自動控制兩個任務(wù)模塊的交叉知識轉(zhuǎn)移。
知識圖譜嵌入單元的輸入為通過協(xié)作傳播得到的與用戶相聯(lián)系的知識圖譜。使用交互單元和多層感知機分別提取頭實體和實體間關(guān)系的特征,得到頭實體特征向量h和實體間的關(guān)系的特征向量r:
其中,后綴[]表示交互單元輸出結(jié)果的實體特征向量;I表示層的交互單元計算;M表示層的多層感知機操作:
HKC 模型的輸入為用戶-項目交互矩陣和知識圖譜信息。通過層交互單元操作得到用戶的特征向量u:
其中,為sigmoid 函數(shù)。
HKC 模型的完整損失函數(shù)定義如下:
上述公式中,第一項測量模型真實概率和預(yù)測概率的損失值,表示交叉熵損失函數(shù)。第二項測量知識圖譜嵌入單元的損失值,′和′是對知識圖譜的負采樣。最后一項是正則化項,防止過擬合,和為超參數(shù)。
第1 行至第3 行是數(shù)據(jù)準備階段。在每次的訓(xùn)練迭代中包含兩個階段:模型預(yù)測和知識圖譜嵌入單元。第5 行到第10 行是模型預(yù)測,第11 行至第14行是知識圖譜嵌入單元。
首先進行次模型預(yù)測,在每輪預(yù)測中鄰居采樣算法的時間復(fù)雜度為(+lg),為輸入?yún)?shù)()中的實體個數(shù),通過鄰域聚合計算項目的特征向量的時間復(fù)雜度為(YHK+YHKd),其中為用戶-項目交互次數(shù),為項目鄰居的最大接受域?qū)訑?shù),為鄰域的采樣大小,為特征維度。因此算法1的時間復(fù)雜度為(+lg+YHK+YHKd)。
本文的實驗環(huán)境:Windows 10,64 位操作系統(tǒng),Pycharm2020,IntelCorei7-10700k CPU@2.90 GHz,16 GB 內(nèi)存,python 3.8。本文的深度學(xué)習(xí)框架為TensorFlow。
本章給出HKC 模型在三個數(shù)據(jù)集上的實驗結(jié)果,與另外七個代表性模型進行推薦性能的對比。首先介紹實驗中使用的三個數(shù)據(jù)集,以及評價指標和對比模型;其次給出CTR(click through rate)預(yù)測結(jié)果以及Top-的推薦結(jié)果;然后討論不同優(yōu)化器對模型性能的影響和模型中的超參數(shù)的設(shè)置;最后分析稀疏性場景中的模型性能。
MovieLens-1M:MovieLens-1M 在電影推薦系統(tǒng)中應(yīng)用較為廣泛。本文的電影數(shù)據(jù)集大小為1 MB,包括6 040 個用戶對于3 900 部電影的1 000 209 個評分,用戶對電影的評分范圍為1~5。Book-Crossing:Book-Crossing 數(shù)據(jù)集由德國自由堡大學(xué)于2005 年發(fā)布,包括一百多萬條用戶對書籍的顯示評分記錄,其評分范圍為0~10。Last.FM:包含2 000 名用戶通過Last.fm 在線音樂系統(tǒng)收聽的信息記錄。
本文在進行實驗時對數(shù)據(jù)集進行了預(yù)處理。首先在MovieLens-1M 數(shù)據(jù)集中,如果用戶對電影的評分大于等于4,則將用戶與評分電影的交互標記為1,反之為0。其次對于Book-Crossing和Last.FM 兩個數(shù)據(jù)集,只要用戶對交互的項目進行了評分,則將交互標記為1,否則為0。知識圖譜使用的是MKR模型中構(gòu)建的知識圖譜。三個數(shù)據(jù)集的基本信息如表1所示。
表1 三個數(shù)據(jù)集的基本統(tǒng)計數(shù)據(jù)Table 1 Basic statistics of three datasets
在CTR 預(yù)測實驗中,本文用正確率(accuracy,ACC)和ROC(receiver operating characteristic curve)曲線下的面積(area under curve,AUC)作為評價指標;在Top-推薦中,使用精確率(Precision@)和召回率(Recall@)作為評價指標來衡量推薦結(jié)果。
ACC 指標表示識別正確的樣本數(shù)量占總數(shù)量的比例。AUC 指標是對ROC 權(quán)限的量化,是一個概率值,AUC 值越大表示算法性能越好。Precision 指標表示實際的正樣本數(shù)量占神經(jīng)網(wǎng)絡(luò)認為是正樣本的數(shù)量的比例。Recall 指標表示神經(jīng)網(wǎng)路識別出來的真正的正樣本占實際的正樣本的比例。
(1)LibFM:一種用于CTR 場景基于特征的因式分解模型,將用戶ID 和項目ID 以及通過TransR 算法學(xué)習(xí)的相應(yīng)實體嵌入連接作為模型的輸入。
(2)DKN:Wang 等人提出的一種利用知識圖譜進行新聞推薦的框架,將實體嵌入和詞嵌入視為多個通道并將它們組合在卷積神經(jīng)網(wǎng)絡(luò)中進行點擊率預(yù)測。
(3)KGNN-LS(knowledge-aware graph neural networks with label smoothness regularization for recommender systems):Wang 等人提出的一種圖神經(jīng)網(wǎng)絡(luò)模型,使用標簽平滑性損失作為正則化項以防止模型的過擬合。
(4)RippleNet:知識圖譜與推薦系統(tǒng)聯(lián)合學(xué)習(xí)的代表,該模型通過在知識圖譜中進行偏好傳播,不斷自動地發(fā)現(xiàn)用戶潛在的層級興趣。
(5)KGCN:Wang 等人提出的一種用圖神經(jīng)網(wǎng)絡(luò)挖掘項目在知識圖譜中的重要性的模型。
(6)MKR:Wang 等人提出的一種采用交替學(xué)習(xí)的方式,使用知識圖譜嵌入任務(wù)來輔助推薦任務(wù)的深度端到端的框架。
(7)CKAN(collaborative knowledge-aware attentive network for recommender systems):Wang 等人提出的一種協(xié)作知識感知注意網(wǎng)絡(luò)模型,使用異質(zhì)傳播策略同時編碼知識屬性關(guān)聯(lián)和用戶-項目的協(xié)同信號。
(8)HKC:本文提出的融合知識圖譜與圖卷積網(wǎng)絡(luò)的混合推薦模型。
在HKC 模型中對于每個數(shù)據(jù)集,訓(xùn)練集、驗證集和測試集的比例為6∶2∶2。實驗通過在驗證集上優(yōu)化AUC 值得到超參數(shù)的值,超參數(shù)的設(shè)置如表2 所示,其中為特征維度,為隨機采樣的鄰居節(jié)點個數(shù),為鄰域聚合中接收域的層數(shù),為模型預(yù)測單元的訓(xùn)練次數(shù)。
表2 HKC 模型的超參數(shù)設(shè)置Table 2 Hyper-parameter settings of HKC
為了驗證HKC 模型的有效性,本文將HKC 模型與另外七個代表性模型進行對比。
各模型在三個數(shù)據(jù)集上的CTR 預(yù)測結(jié)果如表3所示。
(1)在MovieLens-1M 數(shù)據(jù)集中,HKC 模型相較KGNN-LS、RippleNet 和CKAN 模型在AUC 指標 上分別提高了0.94%、0.25%和0.77%,在ACC 指標上分別提高了0.99%、0.78%和0.98%。HKC 模型相較KGCN 和MKR 模型在AUC 指標上分別提高了1.72%、0.75%,在ACC 指標上分別提高了2.11%、0.81%,說明了HKC 模型結(jié)合項目鄰域特征的有效性。對比MKR 模型,本文模型有效利用了知識圖譜中實體間的鄰域關(guān)系,并且相比KGCN 模型可以有效提取用戶特征。
表3 CTR 預(yù)測中的AUC 和ACC 結(jié)果Table 3 Results of AUC and ACC in CTR prediction
(2)在MovieLens-1M 數(shù)據(jù)集中,HKC 模型相較LibFM、DKN 模型在AUC 指標上分別提高了3.36%、37.41%,在ACC 指標上分別提高了4.53%、49.44%。在三個數(shù)據(jù)集上,LibFM 和DKN 模型的推薦性能明顯低于其他模型,說明與傳統(tǒng)的使用TransR、TransD等基于嵌入的模型相比,其他基于圖的知識圖譜模型可以更加有效地利用知識圖譜中的信息。
(3)HKC 模型在MovieLens-1M 數(shù)據(jù)集上推薦性能有明顯提升,在另外兩個數(shù)據(jù)集上提升不明顯。由于Book-Crossing和Last.FM兩個數(shù)據(jù)集的稀疏性,HKC在聚合項目的鄰居節(jié)點特征時容易引入噪聲,而在用戶-項目交互相對稠密的MovieLens-1M 數(shù)據(jù)集上,知識圖譜信息更加豐富,起到的推薦效果作用更大。
為了驗證本文的知識圖譜嵌入單元和交互單元的改進對模型推薦性能提升的有效性,設(shè)計消融實驗進行對比,實驗結(jié)果如表4 所示。
表4 模型消融研究Table 4 Model ablation study
圖3 三種數(shù)據(jù)集上Top-K 推薦的精確率Fig.3 Precision@K in Top-K recommendation on three datasets
圖4 三種數(shù)據(jù)集上Top-K 推薦的召回率Fig.4 Recall@K in Top-K recommendation on three datasets
(1)模型HKC-n 表示本文算法僅使用鄰域聚合模塊對項目進行特征提取,未使用交互單元提取用戶特征。使用基于知識圖譜嵌入的交互單元的模型HKC 較未考慮用戶特征的模型HKC-n 在三個數(shù)據(jù)集上的算法性能均有提升。在MovieLens-1M 數(shù)據(jù)集上,AUC 和ACC 分別提升0.14%和0.39%;在Book-Crossing 數(shù)據(jù)集上,AUC 和ACC 分別提升6.56%和14.04%;在Last.FM 數(shù)據(jù)集上,AUC 和ACC 分別提升3.51%和4.89%。由此可知,本文利用交互單元可以有效提取用戶的偏好信息,建模用戶之間的相關(guān)性,提高模型的推薦性能。
(2)模型HKC-c 表示本文算法的交互單元未進行簡化,使用簡化的交互單元模型HKC較模型HKC-c在MovieLens-1M 和Last.FM 數(shù)據(jù)集上,AUC 和ACC值均有提升??傻贸瞿P虷KC 對交互單元進行簡化可以提升算法的有效性。
3.5.3 Top- 推薦
討論不同模型在取不同值時對于Precision 的表現(xiàn),在三個數(shù)據(jù)集上進行實驗,如圖3 所示。
從圖3 中可以看出,在三個數(shù)據(jù)集上,隨著值的增加,幾個模型的精確率值都呈下降的變化趨勢。其中LibFM 和DKN 兩個模型使用基于嵌入的知識圖譜算法,在實驗結(jié)果中低于其他使用基于圖的方法的知識圖譜模型,表明了基于圖的方法有助于提升推薦模型的性能。在MovieLens-1M 數(shù)據(jù)集上,當=5 時,HKC 模型的精確率有明顯提升,且HKC 模型的精確率明顯高于KGCN 模型,表明模型有效提取了用戶的特征向量。在Book-Crossing 數(shù)據(jù)集上,本文模型的推薦性能相對于MKR 模型表現(xiàn)較差。在Last.FM 數(shù)據(jù)集中,當值大于5 時,HKC 模型的推薦性能下降,其精確率值低于MKR 模型,在較為稀疏的Last.FM 數(shù)據(jù)集中,HKC 模型更有利于為用戶進行精準推薦。
討論不同模型在取不同值時對于評估標準Recall的表現(xiàn),在三個數(shù)據(jù)集上進行實驗,如圖4所示。
從圖4 中可以看出,在三個數(shù)據(jù)集上,隨著值的增加,幾個模型的Recall 值都呈上升的變化趨勢。其中在MovieLens-1M 中,=20 時,召回率提升明顯,較MKR 模型和KGCN 模型分別提升了4.88%和52.78%。HKC 模型在三個數(shù)據(jù)集上的召回率指標均高于KGNN-LS 和RippleNet 知識圖譜模型,這說明了結(jié)合項目的鄰域特征進行交替訓(xùn)練的有效性,證明了本文提出的HKC 模型在推薦中的優(yōu)越性。在Last.FM 數(shù)據(jù)集上,CKAN 模型的召回率最高,說明本文模型在稀疏性數(shù)據(jù)集上的推薦性能有待提升。
機器學(xué)習(xí)中,尋求模型的最優(yōu)解的時候可以選取不同的優(yōu)化器,本文在MovieLens-1M 數(shù)據(jù)集上進行實驗,分析使用不同優(yōu)化器對HKC 模型性能的影響。實驗結(jié)果如表5 所示,從表中可以發(fā)現(xiàn),當優(yōu)化器選擇使用Adam 時,HKC 模型的AUC 和ACC 的值最高,說明其有利于提升模型的推薦性能;其次是SGD,但其收斂速度較慢。說明了本文HKC 模型使用Adam 算法的有效性。
表5 不同優(yōu)化器對HKC 模型性能的研究Table 5 Research on performance of HKC model by different optimizers
在MovieLens-1M 數(shù)據(jù)集上分析HKC 模型對嵌入維度、模型預(yù)測單元訓(xùn)練次數(shù)和接收域的層數(shù)的敏感性。結(jié)果如圖5 所示。
嵌入維度對HKC 模型性能的影響如圖5(a)中所示。一開始隨著的增加,模型的性能也相繼增強,這是因為嵌入層的維度越多,可以編碼更多的有用信息。從圖中可以看出,當取值為8 的時候,HKC 模型在MovieLens-1M 數(shù)據(jù)集上的CTR 預(yù)測率達到最佳,但當值繼續(xù)增大時,模型的性能反而下降,這是因為過大的會產(chǎn)生過擬合的問題,不利于HKC 模型隨后的推薦預(yù)測。
在訓(xùn)練知識圖譜嵌入單元一次之前,重復(fù)訓(xùn)練模型預(yù)測單元的次數(shù)的變化對HKC 模型性能的影響如圖5(b)所示。從圖中可以看出,等于2 時HKC模型的性能最好,因為知識圖譜嵌入單元訓(xùn)練次數(shù)過多時會誤導(dǎo)HKC 模型的目標函數(shù),而訓(xùn)練次數(shù)過小則無法充分利用知識圖譜中的有效信息。
本文研究了接收域?qū)訑?shù)從1 增加到5 對模型性能的影響,結(jié)果如圖5(c)所示。從圖中可以看出,HKC 模型對的變化比較敏感,當為3 時,模型的性能達到最優(yōu)。當繼續(xù)增加時,模型的性能下降,這是因為隨著越來越大,會有更多的項目鄰居實體對中心實體的特征表示產(chǎn)生影響,而在鄰居實體中會存在大量的沒有用處的實體,這就引入了大量噪聲,從而導(dǎo)致模型性能下降。而過小的,則使得模型無法充分利用項目的鄰居實體信息,不利于構(gòu)建項目的特征向量。
圖5 HKC 模型在MovieLens-1M 上的參數(shù)靈敏度Fig.5 Parameter sensitivity of HKC on MovieLens-1M
圖6 MovieLens-1M 數(shù)據(jù)集上稀疏性場景下模型的性能Fig.6 Model performance in sparse scenarios on MovieLens-1M
在推薦系統(tǒng)中使用知識圖譜可以有效緩解數(shù)據(jù)稀疏性問題。本文在MovieLens-1M 數(shù)據(jù)集上進行實驗分析,固定驗證集和測試集的大小不變,將訓(xùn)練集的比率ratio 設(shè)置為100%至20%以研究模型性能的變化。圖6 為不同比率訓(xùn)練集下AUC 值的曲線以及AUC 的下降比率。當ratio=20%時,MKR、Ripple-Net、DKN、LibFM、KGCN、KGNN-LS 和CKAN 七個基線模型的AUC 值分別下降了6.01%、7.50%、13.26%、9.19%、9.52%、8.87%和4.92%;HKC 模型僅降低了4.15%,表明在數(shù)據(jù)稀疏場景下,對比其他基線模型,HKC 模型仍舊具有良好的推薦性能。同時可以看出,在稀疏場景中,基于知識圖譜的推薦模型的性能優(yōu)于傳統(tǒng)的推薦模型,說明知識圖譜可以有效緩解數(shù)據(jù)稀疏性問題。
針對多數(shù)基于知識圖譜的推薦模型沒有充分考慮到用戶與實體之間的信息交互,忽略了知識圖譜中實體間的鄰域關(guān)系,本文提出一種融合知識圖譜與圖卷積網(wǎng)絡(luò)的混合推薦模型HKC。HKC 模型使用KGCN 算法選擇性地聚合項目的鄰域信息得到項目的特征向量;使用交替學(xué)習(xí)的方式同時優(yōu)化模型預(yù)測單元和知識圖譜嵌入單元,通過交互單元計算得到用戶的特征向量;最后根據(jù)訓(xùn)練得到的用戶特征向量和項目特征向量計算內(nèi)積,為用戶進行推薦。在三個公開數(shù)據(jù)集上進行實驗,并將HKC 模型與七個基準模型進行對比,實驗表明HKC 模型在推薦效果上有提升,模型的推薦性能優(yōu)于其他基線模型。
HKC 模型中的知識圖譜是靜態(tài)的,現(xiàn)實生活中用戶的喜好會隨著時間產(chǎn)生變化,知識圖譜也會隨著時間的變化發(fā)生改變,因此未來也將重點研究如何利用時間信息動態(tài)地構(gòu)建用戶和項目的特征。