while(1) { cout<<”Never Give Up”<<endl; }
RKGE
Abstract
首先,知识图谱已经被证明,可以有效的提高推荐系统的推荐能力。但是也有不足,主要是知识图谱的手动设计的特征(Existing methods mainly rely on hand-engineered features from KGs (e.g., meta paths),)。据此,提出了本篇文章的知识图谱嵌入方法,来自动的学习实体路径的语义表示和实体之间的路径,以描述用户对项目的偏好,解决上述问题。
Introduction
首先介绍了目前最先进的方法是基于元路径的方法,但是,摘要中提到的,基于元路径的方法严重依赖于手工构造特征来表示路径语义,而路径语义有进一步依赖于领域知识,并且手工设计的特征可能不是很充分,无法覆盖所有可能的实体关系,这也是主要缺点。
下文又介绍了知识图谱嵌入的方法来推荐,尽管相比于元路径提高了性能,但局限性是忽略了实体之间的语义关系。为此,解决上述方法提出了,RKGE
就拿上图举例子,我们可以找到这样的路径
P(people)——> M(moive)——> C(categories)——>M(Moive)
P——>M——>D(director)——>M
P——>M——>A(actor)——>M
………..
等等这些不同长度,不同语义路径关系,可以有很多条,可以有效的找出用户的喜好品味,同时,可以作出不同的电影推荐。这里就有一个问题,这个人会喜欢这些推荐的所有电影吗?答案当然是不是,每个人都有一个偏好。
为此,用递归神经网络来学习实体语义关系,通过循环网路找出不同的语义路径。建立路径模型。提出递归知识图谱嵌入的框架RKGE,捕获路径。为区别不同路径的权重,采用池化操作来区分
Related work
基于图的方法
主要通过随机游走模型,但容易被流行的实体和中间的实体所偏离。
他们只考虑了KG的拓扑结构,而没有考虑对知识图谱中实体的语义和实体关系进行建模,从而没有充分利用知识图谱进行推荐
基于元路径的方法
元路径限制于手工设计特征,限制了推荐系统推荐能力的提高。
基于知识图谱嵌入的方法
不能完全捕获实体之间的关系,忽略了实体对之间的关系。
最后总结,RKGE可以解决目前state-of-the-art推荐方法的一些缺点。
RKGE
通过给定的数据,利用知识图谱编码的异构信息信息来帮助学习用户和项目之间的更贴切关系,然后用它们来进行更好的推荐。所提取的特征可以完全捕获知识图谱中所编码的实体和实体关系的语义。
操作过程
具体来说,RKGE采用了一种新的递归网络架构,该架构包含一批递归网络,用于对链接相同实体对的路径的语义建模,这些路径无缝地融合到推荐中。它还使用了一个池操作符来区分不同路径在描述用户对项目的偏好时的重要性。
为了更好的挖掘数据中用户与项目之间的关系,提出了两种语义路径挖掘的方法:
- 只考虑用户到项目之间的路径和这个用户评过分的项目。同时,还会得到用户-用户,项目-项目,这些用户到项目的子序列。
- 设定阈值。避免引入大量的噪声,失去语义意义。
2.递归网络
主要优点:它们对不同长度的序列进行建模的,以及捕获实体和实体对之间的整个路径的语义的能力
设计了一个网络体系结构来搜索所有可能的关系,它包含了一批递归网络,每个递归网络学习单个路径的语义表示。
递归网络通过学习每个实体的语义表示和整个路径的单一表示对路径进行编码。在RKGE中,这些目标是通过两个网络层来实现的,即嵌入层和注意门控隐藏层。
嵌入层
对于p中的每个实体e,嵌入层学习一个分布式表示p,将e映射为一个低维向量,该向量的每个元素表示该实体与潜在语义的密切关系,从而捕获实体的语义意义。
注意门控隐藏层
为了学习路径表示,隐含层考虑了路径中实体的嵌入和这些实体的顺序。采用基于流的方法,从路径开始到结束的序列编码。采用注意门机制来控制信息流
3.决策方案
研究表明较短的路径可能比较长的路径具有更大的影响,因为较短的路径通常表示具有更强的连接性和更清晰的语义。
注意力机制也能解决这个问题。但是,它的目标通常是识别单个序列中每个元素的重要性,与目标相背。
所以通过池化操作来实现这个操作。
池化有两个操作,实验证明,最大池化相比于平均池化有更好的效果。
Algorithm
核心算法