沈鑫科,李 勇,陳建偉,陳囿任
(1.新疆師范大學 計算機科學技術學院,新疆 烏魯木齊 830054;2.新疆電子研究所,新疆 烏魯木齊 830013)
隨著互聯網的高速發展,用戶難以在繁雜的信息中找出真正感興趣的內容,存在著嚴重的信息過載問題[1]。為了解決該問題,將推薦系統應用于互聯網領域,以滿足用戶的個性化興趣并減輕信息過載問題。在傳統的推薦算法中,通過分析用戶的歷史行為進行推薦的協同過濾算法得到了廣泛應用,但通常面臨冷啟動、稀疏性等問題[2]。為了解決上述問題,研究人員普遍將輔助信息加入推薦系統,例如社交網絡[3]、圖片[4]、屬性[5]和項目[6]等,以此提升推薦效果。知識圖譜(Knowledge Graph,KG)中實體與實體間蘊含著豐富的語義信息,有利于拓展實體之間的潛在聯系。實體與實體之間的多種關系也有利于關聯用戶的潛在興趣。將知識圖譜引入推薦系統已經取得了顯著的研究與應用成果[7]。
知識圖譜是由形如頭實體、關系和尾實體的三元組構成的異構有向圖[8]。知識圖譜通過項目與屬性的映射可以更好地理解項目之間的關系;通過不同類型的關系連接實體,進而捕獲實體之間的語義相關性[9]。與傳統的基于協同過濾的推薦系統相比,基于知識圖譜的推薦系統在推薦性能和可解釋性方面要表現得更優秀。
文獻[10]提出知識圖注意力網絡(KGAT),將用戶-項目交互矩陣與知識圖譜融合為協同知識圖譜(Collaborative Knowledge Group,CKG)以緩解數據的稀疏性。文獻[11]提出一種多任務推薦框架(MKR),通過多任務學習自動共享實體的高階特征,學習實體之間的潛在隱藏關系。文獻[12]提出知識圖卷積網絡模型(KGCN),利用圖卷積網絡,以知識圖譜為單位的鄰居之間的傳播來計算項目的嵌入。
以上方法雖然通過知識圖譜提高了推薦系統的性能,但未能充分利用知識圖譜捕捉用戶-項目之間的高階關系,只考慮了用戶與項目或者實體與實體之間的聯系。針對以上問題,該文提出了一種融合協同知識圖譜與圖卷積網絡的混合推薦模型(Collaborative Knowledge Graph and Graph Convolution Network Based Recommendation Algorithm,CKGCN)。主要貢獻如下:
(1)將用戶-項目交互圖與項目知識圖譜相融合,構成協同知識圖譜,使用知識感知注意力機制嵌入傳播得到用戶和項目的特征表示。
(2)利用KGCN中鄰域聚合的思想,對協同知識圖譜中的實體進行模型構建,將獲得的每一層實體特征表示與項目特征表示通過交互單元進行優化,提高用戶與項目的高階關系。
(3)在Book_Crossing和Last.FM兩個公開的數據集上進行點擊率預測(CTR)和Top-k推薦實驗,實驗效果與基線模型相比均有提升。
現有的基于知識圖譜的推薦系統可以分成三類:基于嵌入的方法、基于路徑的方法和混合方法。
(1)基于嵌入的方法使用知識圖嵌入進行預訓練得到的實體嵌入來擴充用戶和項目表征的語義信息。文獻[13]提出一種深度知識感知網絡(DKN),設計了包含上下文信息的實體嵌入,然后通過CNN框架進行新聞推薦。文獻[14]提出一種知識增強的序列化推薦系統(KSR),采用TransE方法將實體轉化為嵌入向量,加權求和后得到用戶的細粒度興趣表示。文獻[15]提出一種協同知識庫嵌入模型(CKE),從實體嵌入、文本嵌入和視覺嵌入提取語義信息,豐富知識庫,提高推薦效果。此類方法更側重于建模嚴格的語義相關性,這更適合于圖應用而不是推薦。
(2)基于路徑的方法中,知識圖譜中豐富的實體存在多條路徑。文獻[16]提出一種個性化實體推薦系統(PER),提取用戶之間不同元路徑潛在特征,構建異構信息網絡,加深用戶與項目的連接性。文獻[17]提出一種知識引導的成對重構網絡(KPRN),自動提取連接用戶-項目對的路徑,然后通過循環神經網絡對這些路徑進行建模以進行用戶偏好建模。此類方法高度依賴于元路徑的設計,這在實踐中很難進行優化。
(3)混合方法融合以上兩種方法。文獻[18]提出RippleNet模型,融合基于嵌入和基于路徑的方法,采用水滴波紋思想在知識圖譜中傳播用戶每層的潛在偏好,并將其組合得到用戶特征表示。文獻[19]提出一種自適應自注意力模型(AKUPM),對實體通過自注意力機制分配適當的權重,學習實體對用戶的相關性來捕獲實體特征。但是此類方法通常伴隨著較高的計算和存儲成本。
上述文獻在一定程度上緩解了數據稀疏性與冷啟動問題,但并沒有充分將知識圖譜的圖結構信息細化實體向量表示。隨著圖卷積網絡在各領域的深入研究,其對節點的特征與結構信息的處理為基于知識圖譜的推薦算法提供了新的思路。
基于圖卷積網絡的推薦算法使用神經網絡從節點的本地網絡鄰域聚合節點特征信息。KGCN模型開創性地采用GCN層來聚合知識圖譜中的實體以推斷項目嵌入。為提高KGCN的魯棒性,文獻[20]假設知識圖譜中的相鄰項目可能具有相似的用戶相關性標簽,提供了對相鄰項目邊權重的正則化。文獻[21]通過引入用戶偏好網絡,加深圖卷積網絡對節點的特征提取。
基于以上分析,該文提出了融合協同知識圖譜和圖卷積網絡的推薦算法,一方面引入圖卷積網絡細化實體向量表示,捕捉用戶-項目間的高階聯系。另一方面,使用注意力嵌入傳播減少實體噪聲污染。
該文將用戶-項目交互圖與項目知識圖譜結合為協同知識圖譜嵌入到注意力嵌入傳播模塊,獲得用戶向量u與項目向量v,再將實體和關系嵌入到優化的圖卷積網絡中,通過鄰域聚合的方法聚合實體周邊鄰居得到實體向量e(K),對于每次聚合的實體向量e(K)與項目向量v進行交互處理得到最終的項目向量。最后,將用戶向量u與項目向量v進行計算得到最終預測概率y,如圖1所示。

圖1 CKGCN模型
在一個推薦任務中,設U={u1,u2,…,um}為m個用戶的集合,V={v1,v2,…,vn}為n個項目的集合,Y={yuv|u∈U,v∈V}為用戶-項目交互矩陣。yuv表示用戶u與項目v是否交互記錄(比如評分、收藏、購買等行為),如式1所示。
(1)
知識圖譜G由若干個實體和關系組成的三元組(h,r,t)構成,h∈E,r∈R和t∈E分別表示為頭實體、關系和尾實體,E和R代表G中實體和關系的集合。用戶項目交互矩陣中與知識圖譜結合可以生成協同知識圖譜。用戶和項目可以視為新的實體,是否有過交互記錄可以視為新的關系。


(2)
其中,Wr∈Rd×d是關系r的變換矩陣,它將實體從d維實體空間投影到k維關系空間上。g(h,r,t)的分數越低,表明三元組更加嵌入效果更加真實。
對于實體h,使用Nh={(h,r,t)|(h,r,t)∈CKG}來表示三元組,計算h的周邊實體網絡的線性組合eNh,如式3所示。
(3)
通過關系注意力機制實現π(h,r,t),如式4所示。
π(h,r,t)=(Wret)Tsigmoid(Wreh+er)
(4)
其中,T為轉置操作。接下來,對所有與h相連的三元組的注意力得分進行歸一化操作,如式5所示。

(5)
最終的注意力得分能判斷應該對哪些鄰居節點給予更多的關注以捕獲關聯信息。
最后將實體eh以及周邊實體網絡eNh聚合成新的實體h,eh=f(eh,eNh),f如式6所示。
f=LeakyReLU(W(eh+eNh))
(6)
其中,W∈Rd×d是可訓練的權重矩陣。
為了探究深層次的語義信息,可以進一步地遞歸更多傳播層并調整傳播距離。在第l層中,將實體遞歸表示,如式7和式8所示。
(7)
(8)

(9)
特別注意的是,對于項目表示要多進行鄰域聚合操作來增強它的表達能力。
該文采用KGCN[12]算法中的鄰域聚合方法,利用圖卷積技術將知識圖譜中實體的鄰域信息聚合,從而豐富實體的語義表示。
首先,用M(v)表示直接連接到v的實體,用特定的關系評分函數代表用戶對不同關系的重視程度,如式10所示。
(10)
為了獲取實體v的臨近拓撲結構,計算與實體直接相連的節點的線性組合,如式11所示。
(11)

(12)


(13)
其中,W∈Rd×d和b∈Rd分別表示可訓練的權重和偏置。


圖2 交叉壓縮單元


(14)


(15)

最后把用戶特征表示與經過交叉壓縮得到的項目特征表示計算預測概率,如式16所示。

(16)
其中,σ函數為sigmoid函數。
為了盡可能提高CKGCN的推薦性能,完整的損失函數包含交叉熵損失函數、協同知識圖譜嵌入損失函數和正則化項,如式17所示。
(17)

CKGCN模型的算法流程如算法1所示。
算法1:CKGCN算法
輸入:用戶-項目交互矩陣Y,協同知識圖譜(CKG)

1.初始化參數
2.FOR訓練迭代次數 DO
3.在batchsize空間內對Y和CKG進行負采樣
4.FOR層數l 從1~LDO
5. 按照公式2~4獲得每一個三元組的注意力分數
7. 將各層的嵌入表示按照公式9進行拼接獲得新的用戶嵌入表示u和項目嵌入表示v
8.END FOR
9. FOR跳數k從1~KDO
10. 獲取項目v在協同知識圖譜CKG中的k跳實體集合M(v)
11. 按照公式10獲取用戶u對不同關系的重視程度


15. END FOR
17.使用Adam算法更新參數
18.END FOR

該文使用兩個公開的數據集來測試模型的性能。Book_Crossing是由德國自由堡大學制作的在書籍推薦中使用的數據集,其中包含了一百多萬條用戶對書籍的評分(0到10)。Last.FM則記錄了兩千多名用戶對不同音樂的聆聽記錄。該文在進行實驗之前對數據進行預處理。兩個數據集中,用戶如果跟書籍或者音樂有交互記錄,則將其視為正反饋記錄,并隨機抽取等量的沒有交互記錄的數據視為負反饋記錄。兩個數據集的基本數據信息如表1所示。

表1 數據集的統計信息
該文設置兩個數據集的訓練、評估和測試集的比例為6∶2∶2,超參數利用優化曲線下面積(Area Under Curve,AUC)獲得。在以下兩個場景中測試模型性能:
(1)CTR預測。將測試數據應用在訓練好的模型下進行點擊預測,使用AUC,ACC(準確率)和F1指標評估CTR預測性能。
(2)Top-k推薦。通過訓練好的模型為用戶提供k個可能感興趣的項目,使用Precision@k和Recall@k指標進行評估。
每個數據集的超參數設置如表2所示,其中d,L,K和N分別為嵌入維度、注意力嵌入傳播層數、圖卷積網絡層數和圖卷積鄰居數,λ為平衡參數,η為學習率。

表2 兩個數據集的超參數設置
將提出的CKGCN模型與以下五種基線方法進行性能比較。
(1)CKE[15]:通過引入知識圖譜結構,文本,圖像來提升推薦系統性能,分別采用TransR,棧式降噪自編碼和棧式卷積自編碼方法拼接提取語義表示。
(2)RippleNet[19]:利用水滴波紋傳播的思想,以用戶感興趣的物品為起點,在知識圖譜中不斷尋找用戶的潛在興趣,豐富用戶的語義表示。
(3)MKR[11]:提出一種多任務特征學習的端到端推薦框架,通過深度學習得到的實體向量與項目向量以交替學習的方式豐富項目的語義表示。
(4)KGCN[12]:通過挖掘知識圖譜上的相關屬性,有效地獲取實體間的相關性。在實體的鄰居集合體中采用GCN思想計算實體的鄰域信息,從而獲取用戶的潛在興趣。
(5)KGAT[10]:提出一種基于傳播的推薦模型,將知識圖譜和用戶項目交互矩陣構建為協同知識圖譜,采用注意力機制對用戶嵌入和項目嵌入訓練傳播期間的鄰居權重。
3.4.1 CTR預測實驗
CKGCN與不同基線模型的CTR預測實驗結果如表3所示,所選評價指標為AUC,ACC,F1。

表3 CTR結果
根據表3可以得出以下結論:
(1)在Book_Crossing數據集中,CKGCN模型在AUC指標上與MKR相比提升了1.23%,在ACC指標上與MKR相比提升了0.43%,在F1指標上與KGCN相比提升了1.94%。CKGCN在Book_Crossing數據集中的推薦效果優于其他五種基線模型,證明了模型在捕獲項目鄰域信息和用戶項目高階關系后提升了推薦效果。
(2)在Last.FM數據集中,CKGCN模型在ACC指標上與MKR相比提升了0.14%,在F1指標上與KGAT相比提升了0.14%。CKGCN在Last.FM數據集中的推薦效果整體優于其他五種基線模型。但是在AUC指標上不如KGAT,Last.FM數據集比Book_Crossing數據集更為稀疏,說明注意力機制在處理稀疏場景下優勢較為明顯。在其他指標上,CKGCN均優于KGAT,說明聚合鄰域信息的實體在經過交叉壓縮單元后更能挖掘用戶的潛在興趣。
(3)KGCN在Last.FM數據集上的表現要優于MKR,充分證明了圖卷積網絡可以提高稀疏場景下的推薦效果。MKR在Book_Crossing數據集上的表現要優于KGCN,說明交叉壓縮單元能改善稠密場景下的推薦效果。
3.4.2 Top-k預測實驗
CKGCN與五種不同的基線模型進行了Top-k推薦實驗,所選指標為Recall@k和Precision@k,k從5遞增到100。其中,Book_Crossing數據集的實驗結果如圖3(a)及圖3(b)所示;Last.FM數據集的實驗結果如圖3(c)及圖3(d)所示。通過觀察得知,CKGCN模型在整體性能上均優于其他基線模型。在k值大于20后,圖卷積網絡對實體特征進行了過度的聚合,融入了較多噪聲,導致CKGCN模型的Recall@k與Precision@k下降。文中模型在k小于20的情況下均優于其他基線模型,說明CKGCN更側重于為用戶進行精確推薦。

圖3 Top-k推薦效果
采用消融實驗,通過移除或更改模塊,進一步驗證交叉壓縮單元在改良后的鄰域聚合中的有效性。本節實驗設計了另外兩種消融模型與CKGCN進行比較,以下為消融模型的介紹,實驗結果如表4所示。

(2)CKGCN-s:去除圖卷積網絡中聚合器的操作,將用戶高階表示u和項目高階表示v經過交叉壓縮操作后計算預測概率。

表4 消融實驗
根據表4可得,CKGCN在各項指標上均優于其他消融模型,說明協同知識圖譜的加入讓用戶u與知識圖譜中的實體相連,建立用戶的高階建模。此外圖卷積網絡的聚合效果讓物品的語義表示更加具有代表性。
為了探究模型中參數對推薦性能的影響,本節實驗測試鄰域聚合中不同跳數K與注意力嵌入傳播中不同鄰居數N對CKGCN模型的影響,評價指標為AUC,如表5和表6所示。

表5 不同K的AUC值

表6 不同N的AUC值
根據以上實驗可得出以下結論:
(1)據表5可得,在稀疏場景下,K為1層時模型的性能最好,而相對稠密的Book_Crossing數據集中,K為3層時模型的效果最好。說明稀疏場景下模型從遠距離聚合鄰域信息時帶來了更大的噪聲。
(2)據表6可得,取鄰居數N=8的情況下,CKGCN模型在兩種數據集下都達到了最佳的推薦性能。隨著聚合鄰域信息的鄰居數增加,模型的推薦效果均呈現出先升后降的趨勢,說明較小的鄰居數沒有足夠能力來聚合鄰域信息,而較大的鄰居數也將導致鄰域信息被噪聲污染。
針對用戶-項目的高階項目難以捕捉及數據稀疏性的問題,該文提出一種融合協同知識圖譜和圖卷積網絡的混合推薦算法(CKGCN)。CKGCN通過構建協同知識圖譜緩解數據的稀疏性,通過注意力嵌入傳播和鄰域聚合獲取項目表示,在交叉壓縮單元中進行優化獲取高階項目表示,從而提高推薦性能。在兩個數據集中與五種基線模型進行對比,在整體上均處于領先位置。該文并未考慮用戶興趣隨時間的變化對模型的影響,這將是未來工作的研究重點。