上篇文章提到,该系列文章将主要围绕世界知识图谱和语言知识图谱这两大类知识图谱进行展开,并且提到知识图谱的主要研究包括了知识表示学习、知识自动获取和知识的推理与应用三大部分。今天主要介绍世界知识图谱的知识表示学习,其中包括经典的知识表示学习模型、平移模型和平移模型的一个变种——基于复杂关系建模的知识表示学习。
知识图谱的知识表示主要解决的问题就是:如何把知识图谱中结构化的知识更好的表示成计算机可以高效率处理应用的形式。因为知识图谱中的结构化知识虽然对于人类来讲看上去很好理解,但是其本身的图结构,对于计算机来说是很难利用的。因此,把知识图谱中的知识表示成计算机易于处理的低维稠密向量,不仅可以方便计算机高效处理,还可以解决原本知识图谱中表示存在的结构稀疏的问题。而知识图谱中的主要内容包括实体和关系两者,因此知识图谱的知识表示的核心就是:对知识图谱中的实体和关系,以及实体和关系之间的联系这三者进行表示,并且是表示成低维稠密向量。
知识表示存在以下几个问题:1. 实体和关系的种类众多 2. 实体和关系的形式众多 3. 以上两者导致的知识图谱中的实体和关系不准确针对知识表示存在的问题。
研究人员的研究方案也就包括:1. 如何充分表示不同的实体和关系,以及解决其中的不准确信息 2. 如何把同一个实体和关系的不同形式表现出来,即融入世界知识在不同形式的信息载体中的信息。
知识表示学习旨在将实体与关系表示为低维连续空间之中的向量,在此使用粗体的符号 h, t,r 表示头尾实体与关系对应的表示向量。
知识表示的经典模型主要包括:结构向量模型(Structure Embedding,SE)、语义匹配能量模型(Semantic Meaching Energy,SME)、隐变量模型(Latent Factor Model,LFM)、矩阵分解模型(RESCAL及其改进HolE)。
1. 结构向量模型。结构向量模型为头实体与尾实体分别设计了一个关系特化的映射矩阵 r, Mr, ,这些映射矩阵将会在训练过程中进行自动更新。模型对每个三元组(h,r,t)的评分函数定义为:
E(h,r,t)=∥M r,1 h−M r,2t∥
|| || 是欧式距离,其公式是:d(x,y) = sqrt( (x1-y1)^2 + (x2-y2)^2 + ... + (xn-yn)^2 )。M r,1·h是实体h在关系r下的嵌入向量,M r,2·t是实体t在关系r下的嵌入向量。这里的意思是,两个实体之间在关系r下的距离,等于两个实体的嵌入向量在关系r的映射矩阵下的欧式距离。欧式距离越小,两个实体的距离越小。即这两个实体和关系r之间联系非常大。
2. 语义匹配能量模型。语义匹配能量模型与结构向量模型不同,使用低维向量表示实体及关系。在此之上,模型使用矩阵映射、点乘等操作,对实体与关系的联系进行评估。具体地,语义匹配能量模型设计了线性形式与双线性形式两种对元组的评分函数。
E(h,r,t)=(M1h+M2r+b1)⊤(M3t+M4r+b2)
E(h,r,t)=((M1h⊙M2r)+b1)⊤((M3t⊙M4r)+b2)
其中,⊙是element-wise(Hadamard)积;M1, M2, M3, M4是投影函数的权重矩阵,b1, b2是偏置。
3. 隐变量模型。隐变量模型将实体表示成低维向量。将关系表示为双线性变换矩阵Mr ,在知识表示学习效果与计算复杂度方面都有显著改善。模型的评分函数为:
E(h,r,t) = hMrt
4. 矩阵分解模型。矩阵分解模型基于矩阵分解的方式进行知识表示学习,其中以 RESCAL模型和HolE模型为代表。
平移的思想在Bordes 等研究者在2013年提出知识表示学习算法平移模型TransE之前就被广泛应用,以Word2Vec为例。它是Google AI 2013年提出的一种词向量模型,它通过训练一个神经网络来学习词之间的联系,并将词映射到一个低维空间中。平移模型将实体和关系映射至同1个低维向量空间,将实体与实体之间的关系表示为实体之间的平移操作。
平移模型的思想就是两个头尾实体可以表示成一个实体向量等与另一个实体向量与关系向量的和。其评分函数为:
E(h, r, t) = || h + r - t || L1/L2
由于只考虑了向量之间的平移操作,平移模型的计算复杂度大大降低并且学到的知识表示在知识图谱补全等任务方面的效果也得到了显著提升。但是其也存在:
等问题,因此研究人员陆续提出了多个基于平移模型TransE的改进模型,下面先介绍一种基于复杂关系建模的知识表示学习。
TransE模型(经典的平移模型)无法解决复杂关系建模的问题,因为它只能对1对1的关系进行建模,对于1对多和多对多的关系则无法建模。而其改进模型TransR则可以很好的解决该问题。
TransR可以让每个实体针对每个关系有不同的映射结果,可以很好的解决1对多和多对多的关系。