本文参考并引用了知识图谱嵌入(KGE):方法和应用的综述
知识图是由实体和实体间的关系构成的图,图中的节点代表实体,边代表实体间的关系。一个fact由(头实体、关系、尾实体)三元组构成,表示头实体和尾实体通过这一特定的关系连接在一起。虽然这种表示方式在结构化数据方面很有效,但是却使得知识图难以操作。
有很多知识图谱嵌入的方法解决了这一问题,知识图谱嵌入的思想是嵌入知识图的组件,既能将实体和实体之间的关系转化为连续的向量空间,从而简化操作,又可以保留知识图原有的结构。知识嵌入方法大致分为两类:平移距离模型(使用基于距离的评分函数)和语义匹配模型(使用基于相似度的评分函数)。
【平移距离模型】
平移距离模型利用了基于距离的评分函数,通过两个实体之间的距离对事实的合理性进行度量。
- TransE:TransE模型属于翻译模型,也就是将每个三元组(头实体head,关系relation,尾实体tail)中的关系看作是从头实体到尾实体的翻译,通过不断调整h、r、t的向量表示,使得h+r尽量与t相等。虽然TransE模型的参数较少,计算的复杂度显著降低,并且在大规模稀疏知识库上也同样具有较好的性能与可扩展性,但是TransE模型不能用在处理复杂关系上,原因如下:以一对多为例,对于给定的事实,以姜文拍的民国三部曲电影为例,即《让子弹飞》、《一步之遥》和《邪不压正》。可以得到三个事实三元组即(姜文,导演,让子弹飞)、(姜文,导演,一步之遥)和(姜文,导演,邪不压正)。按照上面对于TransE模型的介绍,可以得到,让子弹飞≈一步之遥≈邪不压正,但实际上这三部电影是不同的实体,应该用不同的向量来表示。多对一和多对多也类似。
- TransH:为了解决TransE模型在一对多、多对一、多对多复杂关系时的局限性,TransH提出让一个实体在不同的关系下拥有不同的表示。如图1(b)所示,对于关系r,TransH模型同时使用平移向量r和超平面的法向量w_r来表示它。对于一个三元组(h, r, t) , TransH首先将头实体向量h和尾实体向量r,沿法线wr,影到关系r对应的超平面上,用h⊥和t⊥表示。用超平面上的h⊥、r、t⊥作为向量表示。需要注意的是,由于关系r可能存在无限个超平面,TransH简单地令r与w_r近似正交来选取某一个超平面。TransH 使不同的实体在不同的关系下拥有了不同的表示形式,但由于实体向量被投影到了关系的语义空间中,故它们具有相同的维度。
- TransR:虽然TransH模型使每个实体在不同关系下拥有了不同的表示,它仍然假设实体和关系处于相同的语义空间中,这一定程度上限制了TransH的表示能力。TransR模型则认为,一个实体是多种属性的综合体,不同关系关注实体的不同属性。TransR认为不同的关系拥有不同的语义空间。对每个三元组,首先应将实体投影到对应的关系空间中,然后再建立从头实体到尾实体的翻译关系。如图1(c)所示是TransR模型的简单示例。对于每个三元组(h,r,t),我们首先将实体向量向关系r空间投影。具体而言,对于每一个关系r,TransR定义投影矩阵Mr,将实体向量从实体空间投影到关系r的子空间,用h⊥和t⊥表示,然后使h⊥+r≈t⊥。
- TransD:虽然TransR模型较TransE和TransH有显著改进,它仍然有很多缺点:1)在同一个关系下,头、尾实体共享相同的投影矩阵。然而,一个关系的头、尾实体的类型或属性可能差异巨大。例如,对于三元组(美国,总统,奥巴马),美国和奥巴马的类型完全不同,一个是国家,一个是人物。2)从实体空间到关系空间的投影是实体和关系之间的交互过程,因此TransR让投影矩阵仅与关系有关是不合理的。3)与TransE和TransH相比,TransR由于引入了空间投影,使得TransR模型参数急剧增加,计算复杂度大大提高。为了解决这些问题,提出了TransD模型。给定三元组(h, r, t) , TransD模型设置了2个分别将头实体和尾实体投影到关系空间的投影矩阵Mr1和Mr2。则头实体和尾实体用h⊥和t⊥表示,然后使h⊥+r≈t⊥。
- TranSparse:TranSparse是通过在投影矩阵上强化稀疏性来简化TransR的工作。它有两个版本:TranSparse (共享)和TranSparse (单独)。前者对每个关系r使用相同的稀疏投影矩阵M_r(theta_r) ,后者对于头实体和尾实体分别使用2个不同的投影矩阵M_r1(theta_r1)和M_r2(theta_r2)。这里的theta_r、theta_r1和theta_r2表示这些投影矩阵的稀疏度。通过引入稀疏投影矩阵,TransSparse模型减少了参数个数。
- TransM:除了允许实体在涉及不同关系时具有不同的嵌入之外,提高TransE模型性能可以从降低h+r≈t的要求研究开始。TransM模型将为每个事实(h,r,t)分配特定的关系权重theta_r,通过对一对多、多对一和多对多分配较小的权重,TransM模型使得t在上述的复杂关系中离h+r更远。
- TransA:TransE 从根本上讲是一种欧式距离的计算,其图形对应的是一个圆,而transA是一种基于马氏距离(马氏距离是规范化的主成分空间中的欧式距离。规范化的主成分空间就是利用主成分分析对数据进行主成分分解,再对所有主成分分解轴做归一化,形成新的坐标轴,由这些坐标轴组成的空间就是规范化的主成分空间)的模型,其 PCA 降维图形对应的是一个椭圆。也就是说,之前的方法等价对待向量中的每一维,但实际上各个维度的重要性是不同的,只有一些维度是有效的,而某些维度被认为是噪音,会降低效果。
- KG2E:He等人认为,知识库中的关系和实体的语义本身具有不确定性,而过去的模型中都忽略这个因素。因此,He等人提出KG2E,使用高斯分布来表示实体和关系。其中高斯分布的均值表示的是实体或关系在语义空间中的中心位置,而高斯分布的协方差则表示该实体或关系的不确定度。图3为KG2E模型示例,每个圆圈代表不同实体与关系的表示,它们分别与“比尔·克林顿”构成三元组,其中圆圈大小表示的是不同实体或关系的不确定度,可以看到“国籍”的不确定度远远大于其他关系。
- TransG:TransG也是对高斯分布的实体进行了建模,TransG提出使用高斯混合模型描述头、尾实体之间的关系.该模型认为,一个关系会对应多种语义,每种语义用一个高斯分布来刻画。TransG模型与传统模型的对比如图4所示。其中三角形表示正确的尾实体,圆形表示错误的尾实体。图4(a)中为传统模型示例,由于将关系r的所有语义混为一谈,导致错误的实体无法被区分开.而如图4(b)所示,TransG模型通过考虑关系r的不同语义,形成多个高斯分布,就能够区分出正确和错误实体。
【语义匹配模型】
语义匹配模型利用基于相似性的评分函数,通过匹配实体的潜在语义和向量空间表示中包含的关系来度量事实的可信性。
- 语义匹配能量模型(SME):SME采用神经网络结构进行语义匹配。给定一个事实三元组(h,r,t),它首先将实体和关系投影到输入层中的嵌入向量。然后,将关系r与头实体h组合得到g_u(h,r),并与尾实体t组合,得到隐藏层中的g_v(t,r)。则该事实的分数最终由它们的点积定义为匹配的g_u和g_v。
- 神经网络张量模型(NTN):NTN是另外一种神经网络结构,给定一个事实,它首先将实体投影到输入层中的嵌入向量。然后,将这两个实体h,t由关系特有的张量M_r(以及其他参数)组合,并映射到一个非线性隐藏层。最后,一个特定于关系的线性输出层给出了评分。
- 多层感知机(MLP):MLP是一种更简单的方法,在这种方法中,每个关系(以及实体)都是由一个向量组合而成的。给定一个事实(h,r,t)将嵌入向量h、r和t连接在输入层中,并映射到非线性的隐藏层。然后由线性输出层生成分数。
- 神经关联模型(NAM):NAM使用“深度”架构进行语义匹配,给定一个事实,它首先将头实体的嵌入向量和输入层中的关系连接起来,从而给出z_0=[h,r]。然后输入z_0输入到一个由L个线性隐层组成的深神经网络中。在前馈过程之后,通过匹配最后一个隐藏层的输出和尾实体的嵌入向量来给出分数。
【其它方法】
除上述模型外,还有其他学习头尾实体对的表示。具体地,给定一个三元组(h,r,t),关系r可以表示为一个向量r,实体对(h,t)可以用另外一个向量p表示。该事实的合理性可以通过r和p内积进行度量。然后,通过最小化成对排序损失来学习这些向量表示。然而,这种方法也有其缺点。比如,如果头-尾实体对(h_1,t)和(h_2,t)通过不同的向量表示进行建模,则它们共享的相同的尾实体信息将会丢失。而且,也无法有效地发现未配对实体(如h3和t)之间的关系。此外,它还导致了空间复杂度的增加,因为每个实体对都需要计算一次向量表示。
【融入附加信息】
以上介绍的方法仅使用知识图中观察到的事实来执行嵌入任务。事实上,可以合并许多附加信息来进一步改进任务,例如实体类型、关系路径、文本描述以及逻辑规则。
- 实体类型:即实体所属的语义类别。例如,AlfredHitchcock的类型是人,Psycho的类型是电影作品。这类信息在大多数KGs中都是可用的,通常是由特定关系编码的,并且以三元组的形式存储,例如“Psycho”、“Isa”、“CreativeWork”。建立这类信息的一种简单方法是将Isa作为一个普通关系,并将相应的三元组作为普通训练示例。
- 关系路径:即实体之间的多跳关系。关系路径通常被定义为一个关联序列r_1,r_2,…r_l,两个实体通过该序列可以在图上连接。例如,BornIn→LocatedIn是一条通过中间节点Leytonstone连接AlfredHitchcock到England的路径。关联路径包含丰富的语义线索,对于KG补全非常有用,例如BornIn→LocatedIn表明着AlfredHitchcock与England之间的国籍关系。一个简单的解决方案是将路径表示为关系表示的一部分,因为路径的语义取决于所有这些关系。图7提供了这个想法的简单的说明。实际上,几乎所有现有的处理关联路径的方法都是使用组合策略。典型的组合操作包括加法、乘法和递归神经网络(RNN)。
- 文本描述:实际上,在大多数KGs中,对于包含丰富语义信息的实体,有简明的描述。图8显示了在FreeBase中对AlfredHitchcock和 Psycho描述信息。此外,实体描述除了存储在KGs以外,它还可以扩展到结合更多的一般文本信息,如发布的新闻和维基百科文章。
- 【逻辑规则】:考虑逻辑规则的结合,特别是那些用一阶Hron条款来表示的规则,例如:指出由关系HasWife连接的任何两个实体也应该由关系HasSpouse连接。这种逻辑规则包含丰富的背景信息,在知识获取和推理中得到了广泛的研究,通常基于马尔可夫逻辑网络。还有一些系统,如WARMR、Aleph和Amie,可以从KGs中自动提取逻辑规则。
除了上述四种类型的附加信息外,还有一些研究试图将其他信息转化为KG嵌入。
- 实体属性:Nickel等认为KGs中的关系可以表示实体(例如,AlfredHitchcock、HasWfe、AlmaReville)和实体属性(例如,AlfredHitchcock、性别、男性)之间的关系,但大多数KG嵌入技术没有明确区分关系和属性。有人建议明确区分属性和关系。关系仍然是用张量编码的,而属性则是在单独的实体属性矩阵中编码的。然后,将该矩阵与张量一起分解,以便同时学习实体、关系和属性的表示。类似的想法后来在平移距离模型中进行了研究。
- 时序信息:Jiang等[115]观察到KGs事实通常对时间是敏感的,例如(Alfredhtchock,Bornin,Leytonstone)发生在1899年,而(Alfredhtchock,Diedin,Belair)在1980年。基于这种观察,他们提出了时间感知嵌入模型。该模型的思想是在时间敏感的关系对上加入时间顺序约束,例如:Bornin和Deedin。给定这样的一对(r_i,r_j),先前的关系应该接近于随后的关系时间转换后的关系,即,M_r_i=r_j,其中M为在关系之间的捕获时间顺序信息的转换矩阵。