本文作者:窦洪健,2016级研究生,目前研究方向为推荐系统、文本生成,来自中国人民大学大数据管理与分析方法研究北京市重点实验室。
本文收录于RUC AI Box专栏,为该专栏特供稿件(https://zhuanlan.zhihu.com/RucAIBox)。
前言:知识图谱主要的目标是用来描述真实世界中间存在的各种实体和概念,以及它们之间的关联关系。知识图谱常被应用于以下几个方面:(1)搜索(2)聊天机器人和问答系统。近年来一部分学者尝试将知识图谱引入到推荐系统中,并且取得了不错的结果。本文选择了八篇知识图谱向量表示的论文进行介绍。
《Translating embeddings for modeling multi-relational data》
Bordes A, Usunier N, Weston J, et al. NIPS. 2013.
一、写作动机
之前像single layer model以及NTN等传统方法,存在着训练复杂和不易拓展等问题。本文提出了一种将实体与关系嵌入到低维向量空间中的简单模型TransE。该模型已经成为了知识图谱向量化表示的baseline,并衍生出不同的变体。
二、模型
正如目标函数所述,算法核心是令正例的h+r-l趋近于0,而负例的h+r-l趋近于无穷大,这里的d表示L1或L2范式, \gamma 表示边际距离。整个TransE模型的训练过程比较简单,首先对头尾节点以及关系进行初始化,然后每对一个正例取一个负例样本(本文负例选取方式为固定中间的relation,头尾节点任意替换一个),然后利用hinge loss function尽可能使正例和负例分开,最后采用SGD方法更新参数。
《Knowledge Graph Embedding by Translating on Hyperplanes》
Wang Z, Zhang J, Feng J, et al. AAAI. 2014.
一、写作动机
虽然TransE模型具有训练速度快、易于实现等优点,但是它不能够解决多对一和一对多关系的问题。以多对一关系为例,固定r和t,TransE模型为了满足三角闭包关系,训练出来的头节点的向量会很相似。而本文提出一种将头尾节点映射到关系平面的TransH模型,能够很好地解决这一问题。以下图为例,对于多对一关系,TransH不在严格要求h+r-l=0,而是只需要保证头结点和尾节点在关系平面上的投影在一条直线上即可,因此能够得到图中头结点向量(红线)正确的表示。
二、模型
本文的模型其实比较简单,首先通过上述公式1分别将head和tail节点映射到关系r所对应的平面,之后整个训练方式同TransE一致。虽然TransH比TransE增加了一步向量转换,但其实整体参数只增加了 \omega_r 一项,整体的算法效率还是很高的。
此外,不同于TransE模型随机替换head和tail节点作为负例的方法,本文分别赋给头结点和尾节点一个采样概率,具体计算公式计算如下:
即对于多对一的关系,替换尾节点,对于一对多的关系,替换头节点。
《Learning Entity and Relation Embeddings for Knowledge Graph Completion》
Lin Y, Liu Z, Zhu X, et al. AAAI. 2015.
一、写作动机
TransE和TransH都假设实体和关系嵌入在相同的空间中。然而,一个实体是多种属性的综合体,不同关系对应实体的不同属性,即头尾节点和关系可能不在一个向量空间中。为了解决这个问题,本文提出了一种新的方法TransR。
二、模型
TransR的基本思想如上图所示。对于每个元组(h,r,t),首先将实体空间内的实体通过 M_r 矩阵投影到关系r所在的空间内,得到 h_r 和 t_r, 然后使得 h_r+t \approx t_r。特定的关系投影(彩色的圆圈表示)能够使得头/尾实体在这个关系下靠近彼此,使得不具有此关系(彩色的三角形表示)的实体彼此远离。
此外,仅仅通过单个的关系向量还不足以建立从头实体到尾实体的所有转移,即对于同一条关系r来讲,r具有多种语义上的表示。本文提出对不同的头尾实体进行聚类和并且学习到关系在不同聚类簇的表示。作者这里首先利用TransE预训练(h,r,t)三元组,并且对t-h(也就是关系r)进行聚类,这样对于关系r来讲,头尾节点会被分到相应的簇中,并且利用下面的公式进行训练,该方法也被称为CTransR。
《Knowledge graph embedding via dynamic mapping matrix》
Ji G, He S, Xu L, et al. ACL.
一、写作动机
之前的TransE、TransH和TransR都认为每种关系只对应一种语义表示,而在实际情况中,关系r可能代表不同的含义。如下图所示,对于关系location来讲,它既可以表示山脉-国家之间的关系,又可以表示为地区-国家之间的关系,因此本文提出一种基于动态矩阵的TransD模型来解决这一问题。
二、模型
TransD模型同CTransR模型一样,都是为了解决关系的多种语义表示。相比较CTransR采用聚类的方式,TransD提出一种动态变化矩阵的方法。具体公式如下图所示:
对于(h',r',t')两个实体和一种关系来讲,它们分别有两种表示,一种是构建映射矩阵的表示(h_p,r_p,t_p),另外一种是自身的语义表示(h,r,t)。h和t的动态转移矩阵分别由其自身的映射矩阵和关系r的映射矩阵所决定,而不是像TransR一样映射矩阵只和关系r相关。
此外,该模型的一个亮点在于它将TransR的矩阵运算转换成了向量间的运算,运算速度会大幅提升,具体公式如下:
《TransA:An Adaptive Approach for Knowledge Graph Embedding》
Xiao H, Huang M, Hao Y, et al. Computer Science. 2015.
一、写作动机
TransE从根本上讲是一种欧式距离的计算,其图形对应的是一个圆,从下图可知蓝色部分为正例,红色部分为负例,TransE模型划分错了七个点。而本文提出了一种基于马氏距离的TransA模型,其PCA降维图形对应的是一个椭圆,该模型只分错了三个点。此外,之前的方法将等价对待向量中的每一维,但实际上各个维度的重要性是不同的,只有一些维度是有效的,而某些维度被认为是噪音,会降低效果。如下图2所示,对于关系haspart而言,TransE模型根据欧氏距离计算方法生成了像Room-has-Goniff这样的三元组,而正确的结果却是Room-has-Wall。我们对x,y轴进行分解,发现Room在x轴上距离Wall更为相近,因此我们可以认为该图在x轴维度上更加重要。TransA模型通过引入加权矩阵,赋给每一维度权重。
二、模型
其实TransA模型总体来看比较简单,相比较TransE模型,本文引入了 W_r 矩阵为不同维度的向量进行加权,并利用LDL方法对 W_r 进行分解,D_r 是一个对角阵,对角线上的元素表示不同维度上的权重。本篇文章的一个亮点在于通过图像来描述不同的损失度量函数,给人直观的感觉。
《TransG : A Generative Mixture Model for Knowledge Graph Embedding》
Xiao H, Huang M, Zhu X. TransG. ACL. 2016.
一、写作动机
本文提出的TransG模型同CTransR、TransD一致,都是为了解决关系的多种语义表达问题。作者首先做了一个比较有意思的实验,首先对预训练好的t-h进行聚类(也就是关系r),发现对于每种关系r来讲,会得到不同的簇。从现实意义来看也不难理解,对于关系Country,我们可以聚类得到美国、欧洲和其他国家这三个簇,表示电影所属的不同国家。
二、模型
TransG利用贝叶斯非参数混合模型对一个关系生成多个表示,其实TransG的本质同CTransR一致,都是利用聚类方法生成r的不同种表示。不同点在于CTransR利用预训练的TransE向量进行聚类,而TransG采用边训练边聚类的方法。具体公式如下:
M表示聚类的数目, \pi_{r,m} 表示关系r的第m中表示的权重。
《Knowledge Graph Completion with Adaptive Sparse Transfer Matrix》
Ji G, Liu K, He S, et al. AAAI. 2016.
一、写作动机
knowledge graph中面临的两个主要问题,分别是heterogeneous(异构性)和unbalanced(不平衡性)。异构性表示知识图谱中关系所连接的节点数目差异较大,不平衡性表示关系所连接的头尾节点数目不同。如果只用一个模型处理所有关系的话可能会导致对简单关系过拟合,对复杂关系欠拟合。本文提出两种模型Transparse(share)和Transparse(separate)分别解决这两个问题。
二、模型
Transparse模型本质是TransR模型的扩展,区别在于对于那些复杂的关系令其转移矩阵稠密,而对于简单的关系令其转移矩阵稀疏。这个稀疏程度由 \theta_r 控制,具体计算公式如下:
\theta_{min} 表示0-1之间的一个控制变量,N_r 表示关系r连接实体对的数量,N_{r^*} 表示其中连接的最大值,同理 N_r^l 表示关系r连接的头\尾实体数,N_{r^*}^{l^*} 表示其中的最大值。share和separate的区别在于separate模型为head和tail提供了两种不同的转移矩阵,而share模型head和tail的转移矩阵相同,具体公式如下所述:
该篇文章的亮点在于针对知识图谱存在的异构性和不平衡性问题,作者分别提出两种不同的模型来解决,但缺陷是作者并没有将这两种模型进行融合,最后在triplet classification和link prediction上的结果并没有比TransD提升很多。
《Locally Adaptive Translation for Knowledge Graph Embedding》
Jia Y, Wang Y, Lin H, et al. AAAI, 2016.
一、写作动机
之前所有模型的margin都是固定不变的,但局部不同的margin是否能够提升模型的效果呢?作者为了证明,首先做了一组实验,将FB15K分成两个子集,在不同数据集上分别得到达到最优效果的margin,发现局部最优的margin不尽相同。从理论来讲,Margin变大,更多的数据被训练,容易导致过拟合。相反,margin越小,容易欠拟合。所以也证明了margin对最终结果的影响。
二、模型
本文将margin分为entity和relation两部分,并利用线性插值进行组合。实体部分的margin应保证内层圆包含更多的正例,外层圆的外部应尽可能是负例。对于relation部分,本文利用relation的长度,即L2范式来衡量相似度关系。具体公式如下图所示:
R_{h,r} 是除了关系r之外的所有关系的集合,它使得所有与关系r不相近的关系远离r。本篇文章比较巧妙地利用局部margin的方式,在link prediction和triple classification结果上有了明显提升。
最后用一张图表总结下这8篇论文的9种模型。
参考:
TransE算法(Translating Embedding): http://blog.csdn.net/u011274209/article/details/50991385
一周论文 | 基于翻译模型(Trans系列)的知识表示学习:http://www.sohu.com/a/116866488_465975
OpenKG.CN
中文开放知识图谱(简称OpenKG.CN)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。
点击阅读原文,进入 OpenKG 博客。