20200427 Knowledge Graph Attention Network for Recommendation
摘要:
为了提供更准确、多样和可解释的推荐,必须超越对用户项交互的建模,并考虑边的信息。传统的方法如因子分解机制(FM)将其转化为一个有监督的学习问题,该问题假设每个交互都是一个独立的实例,并对边的信息进行编码。由于忽略了实例和项之间的关系(例如:电影的导演也是另一部电影的演员),这些方法不足以从用户的集体行为中提取协作的信号。
在这项工作中,我们研究了知识图谱的效用,它通过将项目与其属性了解来打破独立交互假设,我们认为,在KG和用户项图的这种混合结构中,高阶关系(将两个项与一个或者多个链接属性链接起来)是成功推荐的因素,我们提出一种新的知识图注意网络(KGAT)方法,它以端到端的方式显示地对KG中的高阶连接进行建模,它递归地从节点的邻居(可以是users、items或者attrs)传播嵌入,以细化节点的嵌入,并使用注意机制来区分邻居的重要性,我们的KGAT在概念上有利于现有的基于KG的推荐方法,这些方法要么通过提取路径来利用高阶关系,要么通过正则化隐式地对它们建模。三个公共基准的实证结果表明,KGAT显著与Neural FM和PippleNet等最新方法。进一步的研究验证了嵌入在高阶关系建模中的而有效性以及注意机制带来的可解释下好处。
1, 介绍
协同过滤(CF),尽管CF 方法具有有效性和通用性,但是他无法对诸如项属性 ,用户配置文件和上下文之类的边信息进行建模,比如在用户和项很少几乎的稀疏情况下性能很差,一个常见的范例是将他们与用户id和项的id一起转换为一个通用的特征向量,并将他们输入到一个监督学习(SL)模型中以预测得分,这种推荐的SL范型已经在工业界广泛应用,一些有代表性的模型包括因子分解机(FM)、神经FM(NFM)、广度和深度等
尽管这些方法提供了很强的性能,但其缺点是他们将每个交互建模为一个独立的而数据实例,而不考虑他们之间的关系,这使得他们不足以从用户的集体行为中提取属于属性的协作信号。
如图一所示,用户u1和电影i1之间有一个交互,有person e1导演,CF方法关注同样观看i1,i1的相似用户历史,即u4和u5;而SL方法强调与i1具有相同属相的项e1,i2也具有此属性,显然,这两类信息不仅是推荐信的补充,同时也是目标用户和项之间形成一种高阶关系,然而,现有的SL方法不能统一起来,不能考虑高阶联通性,如黄圈内观看同一个人e1导演的其他电影的用户,或者灰圈内观看一个人e1导演的其他电影的用户,或者 灰圈内与e1有其他共同关系的项。
为了解决基于特征的SL模型的局限性,提出一种基于item边信息图的解决方案,知识图谱考虑了预测模型的构造,我们将知识图谱与用户项图的混合结构成为协同知识图谱(CKG)。如图一所示,成功推荐的关键是充分利用CKG中的高阶关系,例如,长范围链接
分别表示黄色和灰色圆圈的方式,
然而,要利用这样的高阶信息,挑战是不可忽视的:
1)与目标用户具有高阶关系的节点随着阶数的增加而急剧增加,这给模型带来了计算过载。
2)高阶关系对预测的贡献是不平等的,这就要求模型关心完全称量(或者选择)他们。
基于路径的方法提取携带高阶信息的路径,并将其输入预测模型,为了处理两个节点之间的大量路径,他们要么应用路径选择算法来选择突出的路径,要么定义原路径模型来约束路径,这种两阶段方法的一个问题是,路径选择的第一阶段对最终性能有很大的影响,但并没有针对推荐目标进行优化。此外,定义有效的原路径需要领域知识,对于具有不同类型关系和试题的复杂KG来说,这可能是相当劳动密集的,因为必须定义许多元路径才能保持模型的保真度。
基于正则化的方法设计额外的损失项,捕捉KG结构,以正则化推荐者模型学习,例如,KTUP和CFKG通过共享项嵌入共同训练推荐和KG完成这两个任务,这些方法没有直接将高阶关系插入到位推荐而优化的模型中,而是以隐式方式对它们进行编码,由于缺乏显示的建模,既不能保证捕捉到长程关联,也不能解释高阶建模的结果。
考虑到现有的解决方案的局限性,我们认为开发一个能够以高效、明确和端到端的方式利用KG中高阶信息的模型至关重要。为此我们从图神经网咯的最新发展中得到了启发,这些网络具有实现目标的潜力,但是对于基于KG的推荐还没有进行太多的探索,具体来说,我们提出一种新的Knowledge Graph Attention Network(KGAT)方法,它具有两种设计来相应地解决高阶关系建模中的挑战:
1)递归嵌入传播,它基于邻域的嵌入更新节点的嵌入,并递归地执行这种嵌入,在线时间复杂度下捕获高阶链接的运算;
2)基于注意的聚集,它利用神经注意机制来学习传播过程中每个邻居的权重,这样级联传播的注意权重可以揭示高阶连接的重要性,与基于路径的方法相比,KGAT避免了路径物化的繁琐过程,使用起来更加方便快捷;与基于正则化的方法相比,KGAT直接将高阶关系分解到预测模型中,从而得到了所有相关的预测模型。所有相关参数是为了优化推荐目标而定制的,
工作的贡献总结如下:
- 我们强调在协作知识图谱中显示建模高阶关系的重要性,以提供更好的项的边信息推荐。
- 我们开发了一种新的方法KGAT,它在图神经网络框架下,以一种明确的、端到端的方式实现高阶关系建模。
- 我们再三个公共基准上进行了广泛的实验,证明了KGAT的高效性及其在理解高阶关系重要性方面的可解释性。
2 任务的制定
首先介绍了CKG的概念,重点介绍了节点间的高阶连通性以及节点间的组成关系。
- 用户项二分图:在推荐场景中,我们通常有历史用户项交互(例如:购买和点击)。这里我们将交互数据表示为用户项二分图G1,它被定义为{(u,yui,i)|u
U,i
I},其中u和i分别表示用户和项集,并且链接yui=1表示用户u和项i之间存在观察到的交互;否则yui=0;
- 知识图:除了交互,我们还有项目的边信息(例如,项目属性和外部知识)。通常,这些辅助数据由现实世界中的实体和他们之间的关系组成 ,以描述一个项它们之间的关系来分析一个item。例如,电影可以由 导演、演员和类型描述。我们以知识图G2的形式组织边信息,G2是由主客体三重事实组成的有向图。形式上,它表示为{(h,r,t)|h,t
,r
R}其中每个三元组描述从头部实体h到尾部实体t之间存在关系r,
- 协作知识图,这里我们定义了CKG的概念,它将用户行为和项目知识编码为一个统一的关系图。我们首先将每个用户行为表示为三元组(u,interact,i),其中yui=1表示为用户u和项目i之间的附加关系interact,然后基于项目实体对齐集,用户项目图可以与KG无缝集成为统一图
任务描述:我们现在制定了本文要解决的推荐任务
- 输入:协作知识图:包括在用户项二部图G1和知识图G2;
- 输出:预测用户u采用项目i的概率yui的预测函数。
3 方法论
KGAT模型,她是以端到端的方式利用高阶关系,
模型主要由三部分组成(1)嵌入层:通过保留CKG的结构将每个节点参数化为向量;(2)注意嵌入传播层,递归地从节点的邻居传播嵌入以更新其表示,并使用知识感知注意在传播过程中学习每个邻居的权重的机制,(3)预测层,它从所有传播层聚合用户和项目的表示,并输入预测的匹配的得分。
接下来,我们再图卷积网络的基础上,沿着高阶连通性递归地传播嵌入,此外通过利用图注意网络的思想,我们生成练级传播的注意权重,以揭示这种连通性的重要性,在这里,我们首先描述一个由三个部分组成的单层:信息传播、知识感知注意和信息聚合,然后讨论如何将其推广到多层。
结果,最后的注意得分能够提示哪些邻居节点应该给予更多的注意来捕获协作信号,当执行向前传播时,注意流建议关注部分数据,这可以视为推荐背后的解释。