笔记整理 | 李爽,天津大学
链接:https://arxiv.org/pdf/1905.07854v1.pdf
动机
为了提供更准确、多样化和可解释的推荐,必须超越对用户-项目交互的建模,并考虑辅助信息。传统的方法,如因子分解机(FM),将其视为一个有监督的学习问题,它假定每个交互都是一个独立的实例,并带有编码的辅助信息。由于忽略了实例或项目之间的关系(例如,一部电影的导演也是另一部电影的演员),这些方法不足以从用户的集体行为中提取出协同信号。在文章中,作者探讨了知识图谱(KG)的效用,它通过将项目与其属性联系起来,打破了独立的交互假设。作者提出了一种新的方法,称为知识图注意力网络(KGAT),它以端到端的方式明确地对KGAT中的高阶连接进行建模。它递归地传播来自节点邻居(可以是用户、项目或属性)的嵌入,以细化节点的嵌入,并使用注意力机制来区分邻居的重要性。对三个公共基准的实证结果表明,KGAT明显优于最先进的方法,如Neural FM和RippleNet。进一步的研究验证了嵌入传播对高阶关系建模的有效性以及注意力机制带来的可解释性优势。
亮点
KGAT在概念上优于现有的方法,因为:
(1)与基于路径的方法相比,它避免了将路径具体化的劳动密集型过程,因此使用起来更加高效和方便;
(2)与基于正则化的方法相比,它将高阶关系直接因子化到预测模型中,因此所有相关参数都被定制以优化推荐目标。
概念及模型
首先引入CKG的概念,它将用户行为和项目知识编码为一个统一的关系图。首先将每个用户行为表示为一个三元组,(u,Interact,i),其中= 1表示为用户u和项目i之间的附加关系Interact,然后基于项目-实体对齐集,用户-项目图可以与KG无缝集成为一个统一的图={(h, r, t)|h, t∈’,r∈’},其中’=∪,’=∪{Interact}。
KGAT模型以端到端的方式利用高阶关系,模型框架如下图所示,它由三个主要组件组成:
1)嵌入层,它通过保留CKG结构将每个节点参数化为一个向量;
2)注意力嵌入传播层,其递归地传播来自节点的邻居的嵌入以更新其表示,并采用知识感知注意力机制来学习传播期间每个邻居的权重
3)预测层,其聚集来自所有传播层的用户和项目的表示,并输出预测的匹配分数。
嵌入层
知识图嵌入是一种将实体和关系参数化为向量表示的有效方法,同时保留了图的结构。这里在CKG采用了一种广泛使用的方法——TransR,如果图中存在三元组(h,r, t),它通过优化转换原则+≈来学习嵌入每个实体和关系。这里,, ∈和∈分别是h,t,r的嵌入;, 是和在关系r空间中的投影表示。因此,对于给定的三元组(h,r, t),其似然性得分(或能量得分)公式如下:
TransR的训练考虑了有效三元组和断裂三元组之间的相对顺序,并通过成对的排序损失来促进它们的区分:
注意力嵌入传播层
接下来,在图形卷积网络的架构上,沿着高阶连通性递归传播嵌入信息;此外,利用图注意力网络的思想生成级联传播的注意力权重来揭示这种连通性的重要性。首先描述一个单层,它由三个部分组成:信息传播、知识感知注意力和信息聚合,然后讨论如何将其推广到多个层。
信息传播:
考虑实体h,用 = {(h, r, t)|(h, r, t)∈}表示三个一组,其中h是头实体,称为ego-network。为了刻画实体h的一阶连通性结构,计算h的ego-network的线性组合:
知识感知注意力:
通过关系注意力机制实现π(h, r, t),其公式如下:
此后,通过采用softmax函数来归一化与h连接的所有三元组的系数:
信息聚合:
最后一个阶段是将实体表示及其ego-network表示聚合为实体h的新表示,即= f (,)。使用三种类型的聚合器实现f(·):
GCN聚合器总结了两种表示,并应用了非线性变换,如下所示:
图形聚合器(GraphSage)将两个表示连接起来,然后进行非线性转换:
双向交互聚合器(Bi-Interaction)是作者精心设计的,它考虑了和之间的两种功能交互,如下所示:
预测层
在执行L层之后,得到用户节点u的多个表示,即{, … , };类似于项目节点i,得到{, … , }。由于第l层的输出是以u(或i)为根的l的树结构深度的消息聚合,不同层的输出强调不同顺序的连通性信息。因此,采用层聚合机制将每一步的表示连接成一个向量,如下所示:
最后,进行用户和项目表示的内积,以预测它们的匹配分数:
模型优化
为了优化推荐模型,作者选择了BPR损失。具体来说,它假设观察到的交互(指示更多的用户偏好)应该被分配比未观察到的更高的预测值:
最后的目标函数联合学习等式(2)和上式,如下所示:
理论分析
实验
为了评估KGAT的有效性,作者使用了三个基准数据集:Amazon-book、Last-FM和Yelp2018,下表总结了三个数据集的统计数据。作者使用了ecall@K和ndcg@K两个指标。
为证明有效性,作者将提出的KGAT与SL (FM和NFM)、基于正则化(CFKG和CKE)、基于路径(MCRec和RippleNet)和基于图形神经网络(GC-MC)的方法进行了比较,比较结果如下表所示。
从表中可以看出,KGAT在所有数据集上都取得了最佳的效果。且在大多数情况下,基于规则的方法(FM和NFM)比基于内容的方法(CFKG和CKE) 性能更好,这表明基于规则的方法可能没有充分利用项目知识。
作者改变了KGAT的深度来研究多个嵌入传播层的使用效率,实验结果如下表所示。显然,增加KGAT的深度能够显著提高模型性能。
为了探索聚合器的影响,作者考虑了使用不同设置的KGAT-1变体,即之前提到的GCN、GraphSage和Bi-Interaction,实验结果如下表所示。可以看出,Bi-Interaction的性能最好。
最后,作者基于注意力分数提取连接用户-项目对的基于行为和基于属性的高阶连通,下图显示了高阶连通性的可视化。
KGAT捕捉基于行为和基于属性的高阶连通,这在推断用户偏好方面起着关键作用。检索到的路径可以被视为项目符合用户偏好的依据。
总结
在这项工作中,作者探索了CKG高阶连接与语义关系的知识感知推荐。作者设计了一个新的框架KGAT,它以端到端的方式明确地模拟了CKG的高阶连接。其核心是注意力的嵌入传播层,该层自适应地传播来自节点邻居的嵌入,以更新节点的表示。在三个真实数据集上的大量实验证明了KGAT的合理性和有效性。这项工作探索了图神经网络在推荐中的潜力,并代表了利用信息传播机制开发结构知识的初步尝试。
OpenKG
开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。
点击阅读原文,进入 OpenKG 网站。