知识图谱论文阅读(十六)【WWW2019】Knowledge Graph Convolutional Networks for Recommender
題目: KGCN
論文鏈接:
代碼鏈接:https://github.com/hwwang55/KGCN
想法
- 高階的意思就是multi-hop的意思
- 注意是從外向里聚合的,第h-1跳是外側,第h跳是里側! 所以才有聚合鄰居和本身之說
創新
摘要
為了充分利用KG中的信息,我們會擴展某個實體的感受野到multi-hop來捕獲KG的高階結構信息和語義信息。
數據集: 電影、書籍和音樂推薦
Introduction
常用的KGE方法側重于建模嚴格的語義相關性(如TransE[1]和TransR[12]假設頭+關系=尾),更適合KG補全和鏈接預測等圖內應用,而不是推薦。 一種常見的方法是設計一種圖算法來利用圖結構! 也就是在圖上傳播信息,原始的基于圖的在于手工建立meta-path/meta-graph,之后是建立某種規則來建立meta-path/meta-graph; RippleNet雖然可以有效在KG中傳播user preference,探索它們的層次興趣,但是由于關系矩陣 RRR沒有得到很好的訓練,關系的重要性被弱化了! 同時,隨著KG的增大,ripple set的multi-hop的大小變得不可預測,這將導致大量的計算和存儲開銷。
KGCN的核心思想是在計算給定實體在KG中的表示時,對帶有偏差的鄰域信息進行聚合和合并,這樣的設計有兩個優點:(1)通過鄰域聚合,local proximity structure(局部鄰近結構)被成功捕獲并存在每個實體里。(2)鄰居的權重取決于連接關系和特定用戶的得分,體現了KG的語義信息和用戶的個性化興趣; 同時由于鄰居的大小是變化的,因此我們會選擇固定大小領域作為接收域!
2 RELATED WORK
GCN可分為光譜方法和非光譜方法。譜方法在譜空間中表示圖并進行卷積。相比之下,非譜方法直接對原始圖進行操作,并為節點組定義卷積。
我們的方法也連接到PinSage[21]和GAT[15]。但請注意,PinSage和GAT都是為齊次圖設計的。我們的主要貢獻就是在異構圖的推薦系統上提供新視角。
3 KNOWLEDGE GRAPH CONVOLUTIONAL NETWORKS
常規的定義:
用戶:
item:
交互矩陣:
三元組:
目標:
3.2 KGCN Layer
下面我們考慮單個KGCN層:
先用r和u來計算出該r對u的重要性; 同時r連接了v, 那么v對u的特征匯聚就好求了。 該關系也就表明了u對v的興趣!
我們考慮user u和item v的候選對,我們使用N(v)\mathcal{N}(v)N(v)表明了直接和vvv相連的實體的集合,rei,rejr_{e_i},r_{e_j}rei??,rej??表明了兩個實體之間的關系。
首先:我們也會使用一個函數Rd×Rd?>R\mathbb{R}^d \times \mathbb{R}^d -> \mathbb{R}Rd×Rd?>R(比如內積)來計算一個user和一個relation之間的分數:
關系的意思就是說一個人喜歡看該電影是因為明星,但是另一個人看該電影卻是為了導演。
同理, 為了描述item v的拓撲鄰近結構,我們計算v的鄰居的線性組合:
其中e\mathrm{e}e表示了實體eee的表示
User-relation scores充當了個性化的過濾器在計算v的鄰居的線性組合時。
因為在真實世界中,一個實體的鄰居在不同的實體之間是大不相同的!為了保證每批計算模式固定和更有效,我們只取固定大小的鄰居,而不是全部。 具體的,我們取實體vvv的鄰居表示為vS(v)uv_{S_{(v)}}^uvS(v)?u?,其中S(v)?{e∣e~N(v)}\mathcal{S}(v) \triangleq\{e \mid e \sim \mathcal{N}(v)\}S(v)?{e∣e~N(v)},并且∣S(v)∣=K\left | \mathcal{S}(v) \right | = K∣S(v)∣=K是固定的,因此呢S(v)S(v)S(v)也被稱為是實體vvv的接受野!!! 下圖左側就是一個layer-2的實例,其中K設置為2,中心實體是藍色的,被選中的鄰居是綠色的!注意是從外側向里的聚合的!
-
Sum aggregator 取兩個表示向量的和,然后進行非線性變換:
-
Concat aggregator在進行非線性變換之前,先將兩個表示向量連接起來:
-
Neighbor aggregator 直接取實體的鄰域表示作為輸出表示:
我們將在實驗中評估三種聚合器!
3.3 學習算法
high-order: 就是多層鄰居,或者說multi-layer; 而一個high-oder表示是它自身和它的鄰居的初始表示的混合!
HHH表明了感受野的最大的深度(或者說是迭代的次數),后綴[h]表示是hhh-order。對于一個user-item對(u,v)(u,v)(u,v),我們首先以逐層迭代的方式計算vvv的感受野MMM,這里M[i]M[i]M[i]就表示了vvv第i階的所有實體!!可以想象成字典,每個key值下有多個點 (line 3, 13-19),然后聚合重復HHH次 (line 5),在迭代h中,我們計算每個實體的鄰域表示e∈M[h],也就是求每個鄰居實體的嵌入e \in M[h],也就是求每個鄰居實體的嵌入e∈M[h],也就是求每個鄰居實體的嵌入(line 7),然后用它自己的表示eu[h?1]\mathrm{e}^u[h-1]eu[h?1]來聚合得到下一次迭代中使用的值,因為我們每個實體表示都是由本身和其鄰居的聚合表示的(line 8),最后的h階實體表示表示為vu\mathrm{v}^uvu(line 9),最終放到一個得分函數中:
為了提高計算效率,我們在訓練過程中使用了負采樣策略。完全損失函數為:
4 EXPERIMENTS
Experiment Setup
Results
會發現如下結論:
- KGCN更適應于稀疏矩陣
- KG-free基線SVD、LibFM比KG-aware基線PER和CKE效果更好,表明了PER和CKE沒有充分利用手工設計的metapath和TransR-
like regularization - LibFM + TransE是比LibFM更好,說明KGE的重要性
- PER最差,因為在現實中很難定義最優元路徑
- RippleNet表現更好,因為也用了鄰居!
而且發現KGCN-sum是綜合最好的
總結和未來的方向
我們指出了未來工作的三個途徑。
(1)在這項工作中,我們一致地從一個實體的鄰居中取樣,以構建其接受域。探索非均勻采樣器(如重要采樣)是今后工作的一個重要方向。
(2)本文(以及所有文獻)關注于item-end KGs的建模,未來工作的一個有趣方向是研究利用user-end KGs是否有助于提高推薦性能。
(3)設計一種能很好地組合兩端KGs的算法也是一個很有前途的方向。
總結
以上是生活随笔為你收集整理的知识图谱论文阅读(十六)【WWW2019】Knowledge Graph Convolutional Networks for Recommender的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql错误日志为aborting_M
- 下一篇: python现在时间 命令_Python