知识图谱(Knowledge Graph or KG),如: Free Base、DBpedia、YAGO、NELL等已经成功地应用到语义分析、信息抽取、问答系统等方面。知识图谱是由实体(entity)和关系(relations: 不同类型的边)构成的多关系图。每一条边都以三元组的形式呈现(head entity, relation, tail entity),这也叫做fact。
KG Embedding目的是将实体和关系映射到低维连续的向量空间,从而简化KG的相关计算。KG Embedding的一般步骤:
- 表示图中的实体和关系
- 定义一个打分函数(scoring function)
- 学习实体和关系的向量表示
在这里,主要总结基于距离的模型,Translational Distance Model.
TransE
——
给定一个fact(h,r,t),TrasE模型将关系表示为translation 向量 r⃗ r→就比较高。示意图如下:
在训练过程中,最小化的是一个hinge loss函数:
虽然TransE模型简单有效,但是它并不能处理1-N,N-1, N-N的问题。比如,一个导演指导了多部电影,根据头节点h(导演),关系r(指导),尾节点t(电影)进行模型训练,那么这些电影向量的距离是很近的,而事实上他们是完全不同的实体。
为了克服这个缺陷,有些工作提出了relation-specific实体embedding。
TransH
——
TransE的问题所在是,在任何relation下实体的向量表示都是相同的,这就造成了以下两点:
- 如果 (h,r,t)∈fact(h,r,t)∈fact
TransH 依然把实体 h,t 表示为向量,但是把关系r表示成两个向量:超平面的法向量 W⃗ rW→r。如下图所示:
头结点h和尾节点t映射到超平面的表示为:
TransR
——
在TransE和TransH这两个模型中,实体和关系向量被映射到同一个向量空间。TansR把关系向量映射到不同的空间。与TransH相比,TransR把关系r映射到与它相关的空间而不是超平面。框架图如下所示:
TransR对每个关系r都分配了一个空间Mr∈Rk×dMr∈Rk×d
- CTransR(Cluster-based TransR)
在TransR的基础上,作者提出了CTransR模型,借鉴与分段线性回归(piecewise linear regression)。首先,对每个特定的关系r,把训练数据中所有的实体对(h,t)聚类成多个组。每个实体的向量用TransE模型进行预训练,在聚类的时候每个实体对表示为(h⃗ −t⃗ )(h→−t→)。那么,映射后的实体是: h⃗ r,c=h⃗ Mrt⃗ r,c=