题目: KGCN
论文链接:
代码链接:https://github.com/hwwang55/KGCN
为了充分利用KG中的信息,我们会扩展某个实体的感受野到multi-hop来捕获KG的高阶结构信息和语义信息。
数据集: 电影、书籍和音乐推荐
常用的KGE方法侧重于建模严格的语义相关性(如TransE[1]和TransR[12]假设头+关系=尾),更适合KG补全和链接预测等图内应用,而不是推荐。 一种常见的方法是设计一种图算法来利用图结构! 也就是在图上传播信息,原始的基于图的在于手工建立meta-path/meta-graph,之后是建立某种规则来建立meta-path/meta-graph; RippleNet虽然可以有效在KG中传播user preference,探索它们的层次兴趣,但是由于关系矩阵 R R R没有得到很好的训练,关系的重要性被弱化了! 同时,随着KG的增大,ripple set的multi-hop的大小变得不可预测,这将导致大量的计算和存储开销。
KGCN的核心思想是在计算给定实体在KG中的表示时,对带有偏差的邻域信息进行聚合和合并,这样的设计有两个优点:(1)通过邻域聚合,local proximity structure(局部邻近结构)被成功捕获并存在每个实体里。(2)邻居的权重取决于连接关系和特定用户的得分,体现了KG的语义信息和用户的个性化兴趣; 同时由于邻居的大小是变化的,因此我们会选择固定大小领域作为接收域!
GCN可分为光谱方法和非光谱方法。谱方法在谱空间中表示图并进行卷积。相比之下,非谱方法直接对原始图进行操作,并为节点组定义卷积。
我们的方法也连接到PinSage[21]和GAT[15]。但请注意,PinSage和GAT都是为齐次图设计的。我们的主要贡献就是在异构图的推荐系统上提供新视角。
常规的定义:
用户:
item:
交互矩阵:
三元组:
目标:
下面我们考虑单个KGCN层:
先用r和u来计算出该r对u的重要性; 同时r连接了v, 那么v对u的特征汇聚就好求了。 该关系也就表明了u对v的兴趣!
我们考虑user u和item v的候选对,我们使用 N ( v ) \mathcal{N}(v) N(v)表明了直接和 v v v相连的实体的集合, r e i , r e j r_{e_i},r_{e_j} rei,rej表明了两个实体之间的关系。
首先:我们也会使用一个函数 R d × R d − > R \mathbb{R}^d \times \mathbb{R}^d -> \mathbb{R} Rd×Rd−>R(比如内积)来计算一个user和一个relation之间的分数:
关系的意思就是说一个人喜欢看该电影是因为明星,但是另一个人看该电影却是为了导演。
同理, 为了描述item v的拓扑邻近结构,我们计算v的邻居的线性组合:
其中 e \mathrm{e} e表示了实体 e e e的表示
User-relation scores充当了个性化的过滤器在计算v的邻居的线性组合时。
high-order: 就是多层邻居,或者说multi-layer; 而一个high-oder表示是它自身和它的邻居的初始表示的混合!
H H H表明了感受野的最大的深度(或者说是迭代的次数),后缀[h]表示是 h h h-order。对于一个user-item对 ( u , v ) (u,v) (u,v),我们首先以逐层迭代的方式计算 v v v的感受野 M M M,这里 M [ i ] M[i] M[i]就表示了 v v v第i阶的所有实体!!可以想象成字典,每个key值下有多个点 (line 3, 13-19),然后聚合重复 H H H次 (line 5),在迭代h中,我们计算每个实体的邻域表示 e ∈ M [ h ] , 也 就 是 求 每 个 邻 居 实 体 的 嵌 入 e \in M[h],也就是求每个邻居实体的嵌入 e∈M[h],也就是求每个邻居实体的嵌入(line 7),然后用它自己的表示 e u [ h − 1 ] \mathrm{e}^u[h-1] eu[h−1]来聚合得到下一次迭代中使用的值,因为我们每个实体表示都是由本身和其邻居的聚合表示的(line 8),最后的h阶实体表示表示为 v u \mathrm{v}^u vu(line 9),最终放到一个得分函数中:
为了提高计算效率,我们在训练过程中使用了负采样策略。完全损失函数为:
会发现如下结论:
而且发现KGCN-sum是综合最好的
我们指出了未来工作的三个途径。
(1)在这项工作中,我们一致地从一个实体的邻居中取样,以构建其接受域。探索非均匀采样器(如重要采样)是今后工作的一个重要方向。
(2)本文(以及所有文献)关注于item-end KGs的建模,未来工作的一个有趣方向是研究利用user-end KGs是否有助于提高推荐性能。
(3)设计一种能很好地组合两端KGs的算法也是一个很有前途的方向。