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