論文閱讀 KGAT: Knowledge Graph Attention Network for Recommendation

在這裏插入圖片描述
1. Motivation

如何將side information和用戶-物品二部圖考慮在一起給用戶提供準確、多樣和可解釋的推薦是非常有必要的。目前基於CF的方法並不能很好的對用戶和物品的side information進行建模,這樣就不可避免的面臨數據稀疏性的問題。工業界的解決辦法是使用監督學習模型,比如FM,NFM,wide&deep等方法去將用戶物品的所有side information看成是影響最終結果的特徵,然後學習特徵交互,並最終映射成一個預測值。這類方法固然性能強大,但是存在一個明顯的缺陷——它們將特徵交互看成是獨立的數據實例,而沒有考慮之間的關係。
在這裏插入圖片描述
舉個例子,CF只會把i1推薦給u4和u5,SL會學到i1和i2之間的關聯e1。儘管基於特徵交互的SL方法可以學到特徵之間的聯繫,但是像黃色圓圈和灰色圓圈的所代表的的高階交互式這類方法所無能爲力的。知識圖譜是一類能在異構圖中學習到實體關係的方法。本文在二部圖、知識圖譜結合起來的協同知識圖譜上學習每一個節點的表達,並基於這樣的表達去做推薦預測。
2. Task Formulation

用戶物品二部圖:用戶物品交互圖,有交互的用邊相連。
知識圖譜:包含物品屬性描述的圖。
協同知識圖譜:這裏將二部圖和物品實體知識圖譜結合成一張圖,因此本文可以看出是異構圖上的節點表達。G={(h,r,t)∣h,t∈E′,r∈R′}, where E′=E∪U and R′=R∪{ Interact }

G={(h,r,t)∣h,t∈E′,r∈R′}, where E′=E∪U and R′=R∪{ Interact }​其實就是把user和user-item交互考慮進來了。
3. Model Detail

在這裏插入圖片描述
整個模型如圖所示,可以看出三個關鍵部分:embedding,embedding propagation,prediction。
embedding:這裏使用了知識圖譜運用廣泛的TransR方法:erh+er≈ert
ehr​+er​≈etr​因此,可信值用如下的公式表達:
g(h,r,t)=∥Wreh+er−Wret∥22g(h,r,t)=∥Wr​eh​+er​−Wr​et​∥22​此處也是用BPR來學習關係可信度,公式就不列了。
embedding propagation: 此處的創新點在於使用attention來求每一個鄰居節點的重要性。圖神經網絡的關鍵在於聚合方式,表現在兩個方面,一個是鄰居節點的聚合(mean,norm,plain),一個是本身和聚合鄰居節點的聚合(加法,拼接,點乘)。GCN採用本身的表達加上鄰居節點的聚合表達,GraphSage則採用拼接的方式,本文和NGCF類似,採用element-wise包含本身節點和鄰居節點的協同過濾信號。同時,每個鄰居節點應該貢獻不同的權值,因此本文采用的了attention的方式來求得每一個鄰居節點的重要性:
eNh=∑(h,r,t)∈Nhπ(h,r,t)eteNh​​=(h,r,t)∈Nh​∑​π(h,r,t)et​
π(h,r,t)=(Wret)⊤tanh((Wreh+er))

π(h,r,t)=(Wr​et​)⊤tanh((Wr​eh​+er​))
prediction: 另外,本文不僅僅只考慮一階鄰居,爲了學到高階信號,本文還提出了高階傳播。高階傳播都差不多,這裏不贅述了。另外預測的話就是簡單的用戶和物品高階表達相乘即可,最終也是使用BPR來預測。
4. Experiment

這部分最無聊了,哪個模型不說自己好呢?本文的實驗包括,baseline比較、 消融學習。
這裏將能給人眼前一亮的實驗結果列出來。
Attention propagation:
在這裏插入圖片描述
本文列出來一張圖,圖上是實際數據集上的用戶、物品、實體之間的關係的一個可視化,或者說是attention score的一個可視化。貌似CV等領域都喜歡用attention熱力圖來表明自己的模型的attention機制是有用的。
————————————————
版權聲明:本文爲CSDN博主「做人要有比數」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章