1. 知识图谱的起源 知识图谱(Knowledge Graph),最早起源于Google Knowledge Graph。知识图谱本质上是一种语义网络。其结点代表实体(entity)或者概念(concept),边代表实体/概念之间的各种语义关系。2012 年,谷歌推出了 Knowledge Graph,当时的数据规模有 700 亿。后来,Facebook、阿里巴巴、以及亚马逊也相继于 2013 年、2015 年和 2016 年推出了各自的知识图谱和知识库。
??本质上, 知识图谱旨在描述真实世界中存在的各种实体或概念及其关系,其构成一张巨大的语义网络图,节点表示实体或概念,边则由属性或关系构成。现在的知识图谱已被用来泛指各种大规模的知识库。
??知识图谱通常表示为三元组,G=(E,R,S),其中 E = e 1 , e 2 , … , e ( ∣ E ∣ ) E={e_1,e_2,…,e_(|E|)} E=e1?,e2?,…,e(?∣E∣),是知识库中的实体集合,共包含|E|种不同实体;R = r 1 , r 2 , … , r ( ∣ R ∣ ) R={r_1,r_2,…,r_(|R|)} R=r1?,r2?,…,r(?∣R∣)是知识库中的关系集合,共包含|R|种不同关系;S?E×R×E代表知识库中的三元组集合。
三元组的基本形式主要包括(实体1-关系-实体2)和(实体-属性-属性值)等。每个实体(概念的外延)可用一个全局唯一确定的ID来标识,每个属性-属性值对(attribute-value pair,AVP)可用来刻画实体的内在特性,而关系可用来连接两个实体,刻画它们之间的关联。
文章图片
图1:知识图谱示例
2. 推荐系统的任务和难点 ??推荐问题的本质是代替用户评估其从未看过、接触过或者使用过的物品。
??推荐系统一般分为两类: (1)评分预测: 预测用户对物品的评价。比如在电影推荐中,系统需要预测用户对电影的评分,并以此为根据推送给用户可能喜欢的电影。这种场景下,我们经常使用的数据是用户对历史观看过的电影的评分数据,这些信息可以表达用户对电影的喜好程度,因此也叫做显式反馈(explicit feedback)。 (2)点击率预估: 预测用户对于物品是否点击。比如在新闻推荐中,系统需要预测用户点击某新闻的概率来优化推荐方案。这种场景下常常使用的信息是用户的历史点击信息。这种信息只能表达用户的行为特征(点击/未点击),而不能反映用户的喜好程度,因此这种信息也叫做隐式反馈(implicit feedback)。
文章图片
图2.1:显式反馈和隐式反馈
??传统的推荐系统使用显式/隐式信息作为输入来进行预测,存在两个主要的问题: ?? (1)稀疏性问题: 实际场景中,用户和物品的交互信息往往是非常稀疏的。如电影推荐中,电影往往成千上万部,但是用户打过分的电影往往只有几十部。使用如此少的观测数据来预测大量的未知信息,会极大增加过拟合的风险。
?? (2)冷启动问题: 对于新加入的用户或者物品,其没有对应的历史信息,因此难以进行准确的建模和推荐。解决稀疏性和冷启动问题的一个常见思路是在推荐算法中额外引入一些辅助信息(side information)作为输入。辅助信息可以丰富对用户和物品的描述、增强推荐算法的挖掘能力,从而有效地弥补交互信息的稀疏或缺失。常见的辅助信息包括: 社交网络:一个用户对某个物品感兴趣,他的朋友可能也会对该物品感兴趣 用户/物品属性:拥有同种属性的用户可能会对同一类物品感兴趣 图像/视频/音频/文本等多媒体信息:例如商品图片、电影预告片、音乐、新闻标题等 上下文信息:用户-物品交互的时间、地点、当前会话信息等。
?? 近年来,知识图谱(knowledge graph)作为一种新兴的辅助信息,逐渐引起了学者们的关注。
文章图片
图2.2:辅助信息类型 3. 知识图谱的优势 ?? 知识图谱包含了实体之间丰富的语义关联,为推荐系统提供了潜在的辅助信息来源。将知识图谱引入推荐系统中,可以给推荐系统带来以下的特性:
- 精确性:知识图谱为物品引入了更多的语义关系,可以深层次地发现用户兴趣。
- 多样性:通过知识图谱中不同的关系链接种类,有利于推荐结果的发散。
- 可解释性:知识图谱可以连接用户的历史记录和推荐结果,从而提高用户对推荐结果的满意度和接受度,增强用户对推荐系统的信任。
文章图片
文章图片
图3.2:多样性性示例
文章图片
图3.3:可解释性示例 4. 知识图谱与推荐系统相结合 4.1 基于特征的推荐方法 ??基于特征的推荐方法,主要是从知识图谱中抽取一些用户和物品的属性作为特征,放入到传统模型中,如FM模型、LR模型等等。这并非是专门针对知识图谱设计,同时也无法引入关系特征。
4.2 基于路径的推荐方法 ??基于路径的推荐方法,以港科大KDD 2017的录用论文《Meta-Graph Based Recommendation Fusion over Heterogeneous Information Networks》为代表。该类方法将知识图谱视为一个异构信息网络(heterogeneous information network),然后构造物品之间的基于meta-path或meta-graph的特征。简单地说,meta-path是连接两个实体的一条特定的路径,比如“演员->电影->导演->电影->演员”这条meta-path可以连接两个演员,因此可以视为一种挖掘演员之间的潜在关系的方式。这类方法的优点是充分且直观地利用了知识图谱的网络结构,缺点是需要手动设计meta-path或meta-graph,这在实践中难以到达最优;同时,该类方法无法在实体不属于同一个领域的场景(例如新闻推荐)中应用,因为我们无法为这样的场景预定义meta-path或meta-graph。
4.3 知识图谱特征学习 ??知识图谱特征学习(Knowledge Graph Embedding)为知识图谱中的每个实体和关系学习得到一个低维向量,同时保持图中原有的结构或语义信息。一般而言,知识图谱特征学习的模型分类两类:基于距离的翻译模型和基于语义的匹配模型。
4.3.1 基于距离的翻译模型:使用基于距离的评分函数 ??知识库中的实体关系类型可分为 一对一 、一对多 、 多对一 、多对多4 种类型,而复杂关系主要指的是 一对多 、 多对一 、多对多的 3 种关系类型。
TransE模型:
??Border等人提出了TransE模型,将知识库中的关系看作实体间的某种平移向量。对于每个事实三元组(h,r,t),TransE模型将实体和关系表示为同一空间中,把关系向量r看作为头实体向量h和尾实体向量t之间的平移即h+r≈t。比如:对于给定的2个事实(姜文, 导演, 邪不压正)和(冯小刚, 导演, 芳华) ,除了可以得到:姜文+ 导演≈邪不压正和冯小刚+导演≈芳华,还可以通过平移不变性得到:邪不压正 - 姜文 ≈芳华 –冯小刚,即得到两个事实相同的关系(DirectorOf)的向量表示。我们也可以将r,看作从h到t,的翻译,因此TransE也被称为翻译模型,如图4.1(a)所示,对于每一个三元组(h,r,t)TransE希望:h+r≈t,评分函数在表1中所示。
??虽然TransE模型的参数较少,计算的复杂度显著降低,并且在大规模稀疏知识库上也同样具有较好的性能与可扩展性。但是TransE 模型不能用在处理复杂关系上 ,原因如下:以一对多为例,对于给定的事实,以姜文拍的民国三部曲电影为例,即《让子弹飞》、《一步之遥》和《邪不压正》。可以得到三个事实三元组即(姜文,导演,让子弹飞)、(姜文,导演,一步之遥)和(姜文,导演,邪不压正)。按照上面对于TransE模型的介绍,可以得到,让子弹飞≈一步之遥≈邪不压正,但实际上这三部电影是不同的实体,应该用不同的向量来表示。多对一和多对多也类似。
TransH模型:
??为了解决TransE模型在处理一对多 、 多对一 、多对多复杂关系时的局限性,TransH模型提出让一个实体在不同的关系下拥有不同的表示。如图4.1(b)所示,对于关系r,TransH模型同时使用平移向量r和超平面的法向量 w r w_r wr?来表示它。对于一个三元组(h, r, t) , TransH首先将头实体向量h和尾实体向量r,沿法线 w r w_r wr?,影到关系r对应的超平面上,用 h ⊥ h_⊥ h⊥?和 t ⊥ t_⊥ t⊥?表示如下:
h ⊥ = h ? w r T h w r , t ⊥ = t ? w r T t w r . h_⊥=h-w_r^T hw_r, t_⊥=t-w_r^T tw_r. h⊥?=h?wrT?hwr?,t⊥?=t?wrT?twr?.??因此TransH定义了如下评分函数如表1中所示,需要注意的是,由于关系r:可能存在无限个超平面,TransH简单地令r与 w r w_r wr?,近似正交来选取某一个超平面。TransH 使不同的实体在不同的关系下拥有了不同的表示形式,但由于实体向量被投影到了关系的语义空间中,故它们具有相同的维度。
TransR模型:
??虽然TransH模型使每个实体在不同关系下拥有了不同的表示,它仍然假设实体和关系处于相同的语义空间中,这一定程度上限制了TransH的表示能力。TransR模型则认为,一个实体是多种属性的综合体,不同关系关注实体的不同属性。TransR认为不同的关系拥有不同的语义空间。对每个三元组,首先应将实体投影到对应的关系空间中,然后再建立从头实体到尾实体的翻译关系。如图4.1(c)所示是TransR模型的简单示例。
??对于每个三元组(h,r,t),我们首先将实体向量向关系r空间投影。具体而言,对于每一个关系r,TransR定义投影矩阵Mr,将实体向量从实体空间投影到关系r的子空间,用 h ⊥ h_⊥ h⊥?和 t ⊥ t_⊥ t⊥?表示如下: h ⊥ = M r h , t ⊥ = M r t . h_⊥=M_r h, t_⊥=M_r t. h⊥?=Mr?h,t⊥?=Mr?t. 然后使 h ⊥ + r ≈ t ⊥ h_⊥+r≈t_⊥ h⊥?+r≈t⊥?, 评分函数如表1所示。
文章图片
图4.1:TransE,TransH和TransR的简要说明 TransD模型:
??虽然TransR模型较TransE和TransH有显著改进,它仍然有很多缺点: (1) 在同一个关系:下,头、尾实体共享相同的投影矩阵。然而,一个关系的头、尾实体的类型或属性可能差异巨大.例如,对于三元组(美国,总统,奥巴马),美国和奥巴马的类型完全不同,一个是国家,一个是人物。(2)从实体空间到关系空间的投影是实体和关系之间的交互过程,因此TransR让投影矩阵仅与关系有关是不合理的。(3)与TransE和TransH相比,TransR由于引入了空间投影,使得TransR模型参数急剧增加,计算复杂度大大提高。
??为了解决这些问题,Ji等人提出了TransD模型。给定三元组(h, r, t), TransD模型设置了2个分别将头实体和尾实体投影到关系空间的投影矩阵M_r1和M_r2,具体定义如下:
M r 1 = w r w h T + I , M r 2 = w r w t T + I . M_r^1=w_r w_h^T+I, M_r^2=w_r w_t^T+I. Mr1?=wr?whT?+I,Mr2?=wr?wtT?+I. h ⊥ = M r 1 h , t ⊥ = M r 2 t . h_⊥=M_r^1 h, t_⊥=M_r^2 t. h⊥?=Mr1?h,t⊥?=Mr2?t.
TransSparse模型:
??TranSparse是通过在投影矩阵上强化稀疏性来简化TransR的工作。它有两个版本:TranSparse (共享)和TranSparse (单独)。前者对每个关系r使用相同的稀疏投影矩阵Mr,即: h ⊥ = M r ( θ r ) h , t ⊥ = M r ( θ r ) t . h_⊥=M_r (θ_r )h, t_⊥=M_r (θ_r)t. h⊥?=Mr?(θr?)h,t⊥?=Mr?(θr?)t.后者对于头实体和尾实体分别使用2个不同的投影矩阵 M r 1 M_{r1} Mr1?和 M r 2 M_{r2} Mr2?。 h ⊥ = M r 1 ( θ r 1 ) h , t ⊥ = M r 2 ( θ r 2 ) t . h_⊥=M_r^1 (θ_r^1 )h, t_⊥=M_r^2 (θ_r^2)t. h⊥?=Mr1?(θr1?)h,t⊥?=Mr2?(θr2?)t.TransSparse模型评分函数如表1所示。通过引入稀疏投影矩阵,TransSparse模型减少了参数个数。
TransM模型:
??除了允许实体在涉及不同关系时具有不同的嵌入之外,提高TransE模型性能可以从降低h+r≈t的要求研究开始。TransM模型将为每个事实(h,r,t)分配特定的关系权重theta_r,定义的评分函数如表1所示。通过对一对多、多对一和多对多分配较小的权重,TransM模型使得t在上述的复杂关系中离h+r更远。
ManifoldE模型:
??ManifoldE模型则是对于每个事实三元组(h,r,t)将h+r≈t 转换为为(h+r-t)的L2范式约等于theta_r的平方。同样地,ManifoldE把t近似地位于流形体上,即一个以h+r为中心半径为theta_r的超球体,而不是接近h+r的精确点。评分函数如表1所示。TransF使用了类似的思想。而不是执行严格的翻译h+r≈t,TransF只需要t与h+r位于同一个方向,同时h与t-r也位于同一个方向。则评分函数(即t和h+r匹配,h也要与t-r匹配)如表1所示。
TransA模型:
??TransA模型为每个关系r引入一个对称的非负矩阵 M r M_r Mr?,并使用自适应马氏距离定义评分函数,评分函数如表1所示。通过学习距离度量 M r M_r Mr?, TransA在处理复杂关系时更加灵活。Xiao等人认为TransE及其之后的扩展模型均存在2个重要问题:1)评分函数只采用L1或L2距离,灵活性不够;2)评分函数过于简单,实体和关系向量的每一维等同考虑。为了解决这2个问题,Xiao等人提出TransA模型,将评分函数中的距离度量改用马氏距离,并为每一维学习不同的权重。对于每个三元组(h,r,t),TransA模型定义的评分函数如表1所示。其中Mr为与关系r相关的非负权值矩阵。如图4.2所示, ( h 1 , r 1 , t 1 ) ( h_1, r_1, t_1) (h1?,r1?,t1?)和 ( h 2 , r 2 , t 2 ) (h_2,r_2,t_2) (h2?,r2?,t2?)两个合法的事实三元组,t3是错误的尾实体。如果使用欧氏距离,如图4.2(a)所示,错误的实体t3会被预测出来。而如图4.2(b)所示,TransA模型通过对向量不同维度进行加权,正确的实体由于在x轴或者y轴上距离较近,从而能够被正确预测。
文章图片
图4.2:传统模型和TransA模型比较 高斯嵌入模型(KG2E模型和TransG模型)
KG2E模型:
??He等人认为,知识库中的关系和实体的语义本身具有不确定性,而过去模型中都忽略这个因素。因此,He等人提出KG2E,使用高斯分布来表示实体和关系。其中高斯分布的均值表示的是实体或关系在语义空间中的中心位置,而高斯分布的协方差则表示该实体或关系的不确定度。图4.3为KG2E模型示例,每个圆圈代表不同实体与关系的表示,它们分别与“比尔·克林顿”构成三元组,其中圆圈大小表示的是不同实体或关系的不确定度,可以看到“国籍”的不确定度远远大于其他关系。
文章图片
图4.3:KG2E模型 KG2E模型将实体和关系表示为从多变量高斯分布中抽取的随机向量 h ~ N ( μ h , Σ h ) , h\sim N(μ_h,Σ_h), h~N(μh?,Σh?),t ~ N ( μ t , Σ t ) , t\sim N(μ_t,Σ_t), t~N(μt?,Σt?),r ~ N ( μ r , Σ r ) , r\sim N(μ_r,Σ_r), r~N(μr?,Σr?),
??KG2E模型通过测量t-h和r这两个随机向量之间的距离来为一个事实评分,即 N ( μ t ? μ h , Σ t + Σ h ) N(μ_t-μ_h,Σ_t+Σ_h) N(μt??μh?,Σt?+Σh?)和 N ( μ r , Σ r ) N(μ_r,Σ_r) N(μr?,Σr?)这两个分布。通过2种方法来进行测量。一种是通过KL散度(KL距离)来进行测量即: f r ( h , t ) = ? ∫ ( N x ( μ t ? μ h , Σ t + Σ h ) l n N x ( μ t ? μ h , Σ t + Σ h ) N x ( μ r , Σ r ) d x f_r (h,t)=-∫(N_x (μ_t-μ_h,Σ_t+Σ_h)ln \frac{N_x (μ_t-μ_h,Σ_t+Σ_h )}{N_x (μ_r,Σ_r )} dx fr?(h,t)=?∫(Nx?(μt??μh?,Σt?+Σh?)lnNx?(μr?,Σr?)Nx?(μt??μh?,Σt?+Σh?)?dx∝ ? t r ( Σ r ? 1 ( Σ t + Σ h ) ) ? μ T Σ r ? 1 μ ? l n d e t ? ( Σ r ) d e t ? ( Σ t + Σ h ) ∝-tr(Σ_r^{-1} (Σ_t+Σ_h ))-μ^T Σ_r^{-1} μ-ln \frac{det?(Σ_r)}{det?(Σ_t+Σ_h)} ∝?tr(Σr?1?(Σt?+Σh?))?μTΣr?1?μ?lndet?(Σt?+Σh?)det?(Σr?)?另一种方法是计算概率的内积,即: f r ( h , t ) = ∫ ( N x ( μ t ? μ h , Σ t + Σ h ) ? N x ( μ r , Σ r ) d x f_r (h,t)=∫(N_x (μ_t-μ_h,Σ_t+Σ_h )\cdot N_x (μ_r,Σ_r )dx fr?(h,t)=∫(Nx?(μt??μh?,Σt?+Σh?)?Nx?(μr?,Σr?)dx∝ ? μ T Σ r ? 1 μ ? l n ? ( d e t ? ( Σ ) ) ∝-μ^T Σ_r^{-1} μ-ln?(det?(Σ)) ∝?μTΣr?1?μ?ln?(det?(Σ))KG2E可以有效地对KGs中实体和关系的不确定性进行建模。
TransG模型:
??TransG提出使用高斯混合模型描述头、尾实体之间的关系.该模型认为,一个关系会对应多种语义,每种语义用一个高斯分布来刻画,即: r = ∑ i π r i μ r i , μ r i ~ N ( μ t ? μ h , ( σ h 2 + σ t 2 ) I ) r=∑_iπ_r^i μ_r^i , μ_r^i\sim N(μ_t-μ_h,(σ_h^2+σ_t^2)I) r=i∑?πri?μri?,μri?~N(μt??μh?,(σh2?+σt2?)I)评分函数如表1所示。从评分函数公式可以看出,哪一种平移距离的混合是由关系的不同语义引入的,由关系的不同语义引入。这些语义组合可以通过CRP从数据中自动学习。
表1:平移距离模型总结
文章图片
4.3.2 基于语义的匹配模型:使用基于相似度的评分函数。 ??它们通过匹配实体的潜在语义和向量空间表示中包含的关系来度量事实的可信性。
RESCAL模型:
??RESCAL(又称双线性模型)通过使用一个向量表示每个实体来获得它的潜在语义。每个关系都表示为一个矩阵,该矩阵对潜在因素之间的成对交互作用进行了建模。它把事实(h,r,t)评分函数定义为一个双线性函数如表2所示。其中h,t表示头尾实体, M r M_r Mr?表示关系矩阵。这个分数可以得到 h 和 t 的所有组成部分之间成对的相互作用(也见图5a),对于每个关系都有 O ( d 2 ) O(d^2) O(d2)个参数。进一步假设对所有的 M r M_r Mr?在一组普通的秩-1矩阵上进行分解,即 M r = ∑ i π r i u i v i T M_r=∑_iπ_r^i u_i v_i^T Mr?=i∑?πri?ui?viT???TATEC不仅对三向交互h^T M_r t进行建模,还对双向交互(如实体与关系之间的交互)进行建模。评分函数如表2所示,其中D是所有不同关系共享的对角矩阵。
DistMult模型:
??DistMult通过将Mr限制为对角矩阵来简化RESCAL。对于每一个关系r,它都引入一个向量嵌入r,并要求 M r = d i a g ( r ) M_r=diag(r) Mr?=diag(r),评分函数如表2所示。评分函数只捕获沿同一维度的h和t分量之间的成对交互作用(参阅图4.4(b)),并将每一个关系的参数数量减少至O(d)。然而,因为对于任意的h和t, h T d i a g ( r ) t = t T d i a g ( r ) h h^T diag(r)t=t^T diag(r)h hTdiag(r)t=tTdiag(r)h都是成立的,这种过度简化的模型只能处理对称的关系,这显然对于一般的KGs是不能完全适用的。
HolE模型:
??HolE将RESCAL的表达能力与DistMult的效率和简单性相结合。它把实体和关系都表示为Rd中的向量。给定一个事实(h,r,t),首先使用循环相关操作将实体表示形式组成 h ? t ∈ R h*t∈R h?t∈R.[ h ? t ] i = ∑ k = 0 d ? 1 [ h ] k ? [ t ] ( k + i ) m o d d . [h?t]_i=∑_{k=0}^{d-1}[h]_k\cdot [t]_{(k+i) mod d}. [h?t]i?=k=0∑d?1?[h]k??[t](k+i)modd?.??循环相关对成对的相互作用进行压缩(参见图4.4?)。因此,HolE对每个关系只需要O(d)参数,这比RESCAL更有效。与此同时,因为循环相关是不符合交换律的,即h?t不等于t?h。所以HolE能够像RESCAL那样对不对称关系进行建模。
文章图片
图4.4:RESCAL、DistMult、HolE的简单图解 ComplEx模型:
??ComplEx通过引入复值嵌入来扩展DistMult,以便更好地对非对称关系进行建模。在ComplEx中,实体和关系嵌入h,r, t不再存在于实空间中,而是存在于复空间中。定义事实的评分函数为: f r ( h , t ) = R e ( h T d i a g ( r ) t ˉ ) = R e ( ∑ i = 0 d ? 1 [ r ] i ? [ h ] i ? [ t ˉ ] i ) f_r (h,t)=Re(h^Tdiag(r)\bar{t})=Re(\sum_{i=0}^{d-1}[r]_i\cdot [h]i\cdot [\bar{t}]_i) fr?(h,t)=Re(hTdiag(r)tˉ)=Re(i=0∑d?1?[r]i??[h]i?[tˉ]i?)??这个评分函数不再是对称的,来自非对称关系的事实可以根据涉及实体的顺序得到不同的分数。最近的研究表明,每个ComplEx都有一个等价的HolE,反之,是在嵌入上施加共轭对称ComplEx包含HolE的特殊情况。
ANALOGY模型:
??ANALOGY 扩展了RESCAL,从而进一步对实体和关系的类比属性进行建模,例如,AlfredHitchcock之于Psycho,正如JamesCameron之于Avatar。它遵循RESCAL并使用双线性评分函数如表2所示。其中,h,t是对于实体的嵌入向量,Mr是一个与关系相关的线性映。为了对类比结构进行建模,它进一步要求关系线性映射是正规的和符合交换律,即: n o r m a l i t y : M r M r T = M r T M r , ? r ∈ I R ; normality: M_r M_r^T=M_r^T M_r,?_r∈IR; normality:Mr?MrT?=MrT?Mr?,?r?∈IR; c o m m u t a i v i t y : M r M r ′ = M r ′ M r , ? r , r ′ ∈ I R commutaivity:M_r M_{{r}'}=M_{{r}'}M_r,?_{r,{r}' }∈IR commutaivity:Mr?Mr′?=Mr′?Mr?,?r,r′?∈IR??尽管ANALOGY表示关系为矩阵,这些矩阵可以同时对角化成一组稀疏的准对角矩阵,由每个只有O(d)自由参数。结果表明,前面介绍的DistMult、HolE、ComplEx等方法都可以归为ANALOGY的特例。
基于神经网络匹配
语义匹配能量模型(SME):
??SME采用神经网络结构进行语义匹配。给定一个事实三元组(h,r,t),它首先将实体和关系投影到输入层中的嵌入向量。然后,将关系r与头实体h组合得到 g u ( h , r ) g_u(h,r) gu?(h,r),并与尾实体t组合,得到隐藏层中的 g v ( t , r ) g_v(t,r) gv?(t,r)。则该事实的分数最终由它们的点积定义为匹配的 g u g_u gu?和 g v g_v gv?。即: f r ( h , t ) = g u ( h , r ) T g v ( t , r ) f_r (h,t)=g_u (h,r)^T g_v (t,r) fr?(h,t)=gu?(h,r)Tgv?(t,r)
神经张量网络模型(NTN):
??NTN是另外一种神经网络结构,给定一个事实,它首先将实体投影到输入层中的嵌入向量。然后,将这两个实体h,t由关系特有的张量Mr(以及其他参数)组合,并映射到一个非线性隐藏层。最后,一个特定于关系的线性输出层给出了评分,即: f r ( h , t ) = r T t a n h ? ( h T M  ̄ r t + M r 1 h + M r 2 t + b r ) f_r (h,t)=r^T tanh?(h^T\underline{M}_r t+M_r^1 h+M_r^2 t+b_r) fr?(h,t)=rTtanh?(hTM?r?t+Mr1?h+Mr2?t+br?)??通过设置所有Mr=0和br= 0,NTN退化为单层模型(SLM)。尽管NTN是迄今为止最具表达能力的模型,但是,由于它的每个关系的需要O(d2k)个参数,并且不能简单有效地处理大型的KGs。
多层感知机(MLP):
??MLP是一种更简单的方法,在这种方法中,每个关系(以及实体)都是由一个向量组合而成的。如图6(c)所示,给定一个事实(h,r,t)将嵌入向量h、r和t连接在输入层中,并映射到非线性的隐藏层。然后由线性输出层生成分数,即: f r ( h , t ) = w T t a n h ( M 1 h + M 2 r + M 3 t ) f_r (h,t)=w^T tanh(M^1 h+M^2 r+M^3 t) fr?(h,t)=wTtanh(M1h+M2r+M3t)
神经关联模型(NAM):
??NAM使用“深度”架构进行语义匹配,给定一个事实,它首先将头实体的嵌入向量和输入层中的关系连接起来,从而给出z_0=[h,r]。然后输入z_0输入到一个由L个线性隐层组成的深神经网络中,即: a ( ( l ) ) = M ( l ) z ( l ? 1 ) + b ( l ) , l = 1 , … , L , a^((l))=M^{(l)} z^{(l-1)}+b^{(l)},l=1,…,L, a((l))=M(l)z(l?1)+b(l),l=1,…,L, z ( l ) = R e L U ( a ( l ) ) , l = 1 , … , L , z^{(l)}=ReLU(a^{(l)} ), l=1,…,L, z(l)=ReLU(a(l)),l=1,…,L,??在前馈过程之后,通过匹配最后一个隐藏层的输出和尾实体的嵌入向量来给出分数,即: f r ( h , t ) = t T z ( L ) f_r (h,t)=t^T z^{(L)} fr?(h,t)=tTz(L)
文章图片
图4.5:SME、NTN、MLP和NAM的简单图解
表2 语义匹配模型总结
文章图片
5. 结合知识图谱特征学习的推荐系统 【知识图谱与推荐系统综述】??知识图谱特征学习与推荐系统相结合,往往有以下几种方式:依次训练、联合训练、交替训练。
文章图片
图5.1:知识图谱特征学习 5.1 依次训练 论文名称:DKN: Deep Knowledge-Aware Network for News Recommendation
??在线新闻推荐系统旨在解决新闻信息爆炸(文章的数量对用户来说是压倒性的)和为用户制定个性化推荐。新闻推荐是高度浓缩的,充满了知识实体和常识,但是以往的模型却较少考虑新闻包含的外部知识,仅仅从语义层面(semantic level)进行表示学习,没有充分挖掘新闻文本在知识层面(knowledge level)的联系。此外,新闻具有很强的时效性,一个好的新闻推荐算法应该能随用户的兴趣的改变做出相应的变化。为解决上述问题,本文提出了DKN模型。首先使用一种融合了知识的卷积神经网络KCNN(knowledge-aware convolutional neural network),将新闻的语义表示与知识表示融合起来形成新的嵌入表示,再建立从用户的新闻点击历史到候选新闻的注意力机制,选出得分较高的新闻推荐给用户。并且在真实的线上新闻数据集上做了大量的实验,实验结果表示,DKN模型在F1-score,AUC等指标上超过了现有的基线模型。
??DKN解决了新闻推荐中的三大挑战:(1)与协同过滤等基于身份的方法不同,DKN是一种基于内容的点击率预测深度模型,适合于时间敏感度较高的新闻。(2) 为了充分利用新闻内容中的知识实体和常识,我们在DKN中设计了一个KCNN模块,共同学习新闻的语义层和知识层表示。单词和实体的多通道和对齐使得KCNN能够结合来自异构源的信息,并保持每个单词不同嵌入的对应关系。(3) 为了模拟用户不同的历史兴趣对当前候选新闻的不同影响,DKN使用注意模块动态计算用户的聚合历史表示。
文章图片
图5.2:DKN框架图 5.2 联合训练 论文名称:RippleNet: Propagating User Preferences on the Knowledge Graph for Recommender Systems
??为了解决协同过滤的稀疏性和冷启动问题,研究者通常利用社会网络或项目属性等辅助信息来提高推荐性能。本文将知识图作为边信息的来源。为了解决现有的基于嵌入和基于路径的知识图感知推荐方法的局限性,我们提出了一种端到端框架,它自然地将知识图结合到推荐系统中。与在水上传播的实际涟漪类似,RippleNet通过沿着知识图中的链接自动迭代地扩展用户的潜在兴趣,来刺激用户偏好在知识实体集上的传播。因此,由用户的历史点击项激活的多个“涟漪”被叠加以形成用户相对于候选项的偏好分布,该偏好分布可用于预测最终点击概率。通过在真实世界数据集上的大量实验,我们证明RippleNet在各种场景(包括电影、书籍和新闻推荐)中都能在多个最先进的基线上获得实质性的收益。
??本文的贡献:据我们所知,这是将基于嵌入和基于路径的方法结合到KG感知推荐中的第一项工作。我们建议使用的RippleNet,这是一个端到端的框架,利用KG来帮助推荐系统。RippleNet通过在KG中迭代传播用户的偏好,自动发现用户的分层潜在兴趣。我们在三个真实的推荐场景上进行了实验,结果证明了RippleNet在几个最新基线上的有效性。
文章图片
图5.3:RippleNet框架图 5.3 交替训练 ??在实际的推荐场景中,协同过滤往往存在稀疏性和冷启动问题,因此,研究者和工程人员通常利用辅助信息来解决这些问题,提高推荐系统的性能。本文将知识图作为辅助信息的来源。提出了一种多任务特征学习的知识图增强推荐方法MKR。MKR是一个利用知识图嵌入任务辅助推荐任务的深度端到端框架。这两个任务通过交叉和压缩单元相关联,自动共享潜在特征,学习推荐系统中项目与知识图中实体之间的高阶交互。我们证明了交叉压缩单元具有足够的多项式逼近能力,并表明MKR是推荐系统和多任务学习的几种典型方法的通用框架。通过对真实世界数据集的大量实验,我们证明MKR在电影、书籍、音乐和新闻推荐方面取得了显著的进步,超过了最新技术的基线。MKR也被证明能够保持良好的性能,即使用户项交互是稀疏的。
??本文的贡献:本文研究的问题也可以建模为跨域推荐或转移学习,因为我们更关心推荐任务的执行情况。然而,关键的观察是,虽然跨域推荐和转移学习对于目标域只有一个目标,但是它们的损失函数仍然包含测量源域中数据分布或两个域之间相似性的约束项。在我们提出的MKR中,KGE任务明确地作为约束项,为推荐系统提供正则化。我们要强调的是,本文的主要贡献是将问题精确地建模为多任务学习:我们比跨域推荐和转移学习更进一步,理论分析和实验结果表明,发现任务间的相似性不仅有助于推荐系统,而且有助于知识图嵌入。
文章图片
图5.4:MKR框架 6. 结合知识图谱推荐系统的机遇与挑战 6.1 基于知识图谱推荐的重点和难点 ??(1)对用户偏好的精准建模问题。知识图谱可以融合多源异构信息,包括丰富的用户信息及用户与项目的交互信息;如何全面考虑用户与用户、用户与项目之间的联系,进一步提高推荐的 准确度,是未来的研究重点。
??(2)对大数据的高效处理问题。由于数据生成速度快,而且多源数据融合过程中引入了更多的噪声和冗余,使得传统推荐算法中采用的精确计 算方式越来越难以应对,概率模型统计方法将可 能发挥更为重要的作用。
??(3)推荐系统的效用评价问题。对传统推荐系 统的评价指标主要是准确度和效率,通常采用的 方法有MAE、RMSE、关联度等。这些指标当然也可以用于基于知识图谱的推荐系统,例如文献采用了准确率和召回率来表征推荐系统的准确 度。然而,由于不同领域的推荐系统面临的实际 问题不同,相应地使用了不同的数据集,使得难以形成统一的效用评价标准。
??(4)如何通过深度挖掘和相关性知识发现提高推荐效果。由于知识图谱本身的特点,相对于因果关系挖掘,其更适合于相关关系挖掘。通过从知识图谱中深度挖掘项目之间、用户之间、以及 项目与用户间的深层次关系,获得更多的相关性 结果,有助于为用户进行个性化推荐,在提高推 荐结果多样性的同时保持较高的推荐准确性。
??(5)推荐系统的可扩展性。可扩展性一直是推荐系统应用中面临的难点问题。在传统推荐系统中,随着用户与项目数量的增加,会使得计算量显著增大。目前主要的解决方法有聚类、数据集缩减、降维等。在知识图谱中,用户之间、用户 与项目之间随时随地的信息互动会产生大规模的 数据集;将这些数据集融入知识图谱后会急剧增加计算复杂度。如何将用户之间产生的数据动态、快速地融入知识图谱并提高推荐系统的可扩 展性,是未来需要解决的难点问题。
??(6)社交网络信息的充分利用问题。传统的推荐系统假设用户之间是独立同分布的,忽略了 用户之间的社会交互及联系。知识图谱中用户与户、用户与项目、项目与项目之间都存在一定的 联系,用户不再是单一的用户需要进一步挖掘彼 此之间的联系以发现更多的隐含信息。因此结合社交网络关系也是今后的一个研究重点。
6.2 知识图谱现有研究的局限性 ??将推荐算法与知识图谱的图计算方法相结合已逐渐成为学术热点,前景广阔。然而现有方法仍有一定局限,有充分的研究空间。
??(1)现有模型都属于统计学习模型,即挖掘网络中的统计学信息并以此进行推断。一个困难但更有研究前景的方向是在网络中进行推理,将图推理与推荐系统相结合。
??(2)如何设计出性能优秀且运行效率高的算法,也是潜在的研究方向。现有模型并不涉及计算引擎层面、系统层面甚至硬件层面的考量,如何将上层算法和底层架构进行联合设计和优化,是实际应用中一个亟待研究的问题。
??(3)现有的模型网络结构都是静态的,而在真实场景中,知识图谱具有一定的时效。如何刻画这种时间演变的网络,并在推荐时充分考虑时序信息,也值得我们未来研究。
参考文献:
- Quan Wang, Zhendong Mao, Bin Wang, and Li Guo, 2017. Knowledge Graph Embedding: A Survey of Approaches and Applications. IEEE
- Hongwei Wang, Fuzheng Zhang, Xing Xie, andMinyiGuo. 2018. DKN: Deep Knowledge-Aware Network for News Recommendation. In Proceedings of the 2018 World Wide Web Conference on World Wide Web. International World Wide Web Conferences Steering Committee, 1835–1844.
- Hongwei Wang, Fuzheng Zhang, Jialin Wang, Miao Zhao, Wenjie Li, Xing Xie, and MinyiGuo. 2018. RippleNet: Propagating User Preferences on the Knowledge Graph for Recommender Systems. In Proceedings of the 27th ACM International Conference on Information and Knowledge Management. ACM.
- Hongwei Wang, Fuzheng Zhang, MiaoZ hao, Wenjie Li, XingXie, and MinyiGuo. 2019. Multi-Task Feature Learning for Knowledge Graph Enhanced Recommendation. WWW 2019, May 13–17.
- CHANG Liang, ZHANG Weitao, GU Tianlong, et al. Review of recommendation systems based on knowledge graph[J]. CAAI transactions on intelligent systems, 2019, 14(2): 207–216.
- https://cloud.tencent.com/developer/article/1370084.
推荐阅读
- 论文笔记|【论文笔记】DIEN: Deep Interest Evolution Network for Click-Through Rate Prediction
- 深度学习|论文阅读(《Deep Interest Evolution Network for Click-Through Rate Prediction》)
- 人工智能|端到端声源分离研究(现状、进展和未来)
- 基于物品的协同过滤算法
- 推荐系统-node2vec 技术在设计网络推荐中的应用
- ALS算法讲解
- 隐式/显式反馈
- 矩阵分解模型(1)(ALS学习算法)
- 推荐系统|矩阵分解MF用于评分预测