Knowledge Graph Embedding: A Survey of Approaches and Applications
作者:Quan Wang , Zhendong Mao , Bin Wang, and Li Guo
论文地址:paper
前言
17年TKDE的论文,回顾下主要的图嵌入方法
基本符号
都是些常规的符号表示,稍微过一下很容易记住。
图嵌入(只利用事实发现)
传统方式嵌入三步走,1)实体和关系表示。2)得分函数。3)学习实体和关系之间的表示。粗略的分为两大类,其一,基于翻译的距离模型,其二,语义匹配模型
翻译距离模型
基于测量两个实体之间的距离
transE家族
- transE
得分函数
适用于1-1关系,1-N,N-N关系不适用。
2.transH
将头尾实体映射到一个超平面
得分函数
3. transR
将头尾实体映射到关系的空间中
得分函数
4. transD
将R中的映射矩阵分解为两个向量,所以映射的矩阵变为如下。
之后让头尾实体映射
5. TransSpace
和TransR相似,分为两种TranSparse(share)和TranSparse(separete).
前者的映射矩阵是
后者的映射矩阵是。头尾实体的映射矩阵不同
得分函数和transR相同。
接下来的变体是放宽约束条件
6. transM
得分函数
- MainifoldE
将标准放宽到 ∣ ∣ h + r − t ∣ ∣ 2 2 ≈ θ r 2 ||h+r-t||_2^2 \approx \theta_r^2 ∣∣h+r−t∣∣22≈θr2,其得分函数相应修改
- transF
采用了相似的方法,t和h+r方向一致且h和t-r方向一致,得分函数
- transA
引入关系的对称非负矩阵,使用自适应Mahalanobis距离,得分函数
高斯嵌入
实体和关系作为随机向量服从多元高斯分布。
- KG2E
两种距离函数,其中一种是Kull-back-Leibler divergence .得分函数
另外一种是inner product,得分函数
- TransG
高斯分布。
关系可以有多个语义,因此,应该表示为高斯分布的混合
得分函数
其他的距离模型
- Unstructured model(UM)
TransE的朴素版本,所有的r=0,得分函数
- Structrured embedding(SE)
采用两个不同矩阵来映射头尾实体,得分函数
语义匹配模型
通过匹配向量空间表示中体现的实体和关系的潜在语义来衡量事实的合理性。
RESCAL及其扩展
- RESCAL
实体和向量关联,捕捉潜在语义信息。关系表示为矩阵,它模拟潜在因素之间的成对相互作用
得分函数
- DisMult
简化了RESCAL,限制 M r M_r Mr为对角矩阵。每个 r ∈ R d , M r = d i a g ( r ) r \in R^d,M_r=diag(r) r∈Rd,Mr=diag(r)
- Holographic Embeddings(HoLE)
结合了前两者的优先,表达能力和有效性。使用circular correlation operation
得分函数
Circular correlation操作是成对的,所以参数量只要O(d)。不支持交换律,所以可以支持不对称的关系。 - Complex Embeddings(ComplEx)
拓展了DistMult,将实体和关系嵌入放到复数空间。
得分函数
- ANALOGY
拓展了RESCAL,进一步模拟实体和关系的类比性质。相同的得分函数
为了更好的建模类比结构,需要关系的线性映射是归一(normal),和可交换的
使用神经网络匹配
- Semantic Matching Energy (SME)
实体和关系嵌入到输入层,r和h得到 g u ( h , r ) ) g_u(h,r)) gu(h,r)),r和t在隐藏层得到 g v ( t , r ) g_v(t,r) gv(t,r),得分函数定义如下
此方法有两个版本。
- 线性
- 双线性
- Neural Tensor Network (NTN)
将实体映射到向量嵌入到输入层,头尾实体和一个关系张量映射到一个非线性隐藏层,最后,一个特定的线性输出层给出得分。
- Multi-Layer Perceptron (MLP)
每个关系和一个向量相关,h,t,r向量concatenated到输入层。映射到一个非线性的隐藏层,得分函数
- Neural Association Model (NAM)
concatenated 头实体和关系到输入层
得分函数
典型的训练程序
open world assumption(开放世界假设)
上面两个式子都可以用随机梯度下降优化。
- 实体和关系嵌入初始化为均匀分布或者高斯分布
-生成负例,随机替换头实体或者尾实体,有部分还会随机生成关系。
生成负例有很多不同的小技巧。
1-N的时候,头实体负例多,N-1,尾实体负例多
根据每个事实的头尾实体比例
有学者提出一个正例,50个负例实在准确度和训练时间一个很好的平衡。
closed world assumption(封闭世界假设)
所有不包含在
I
D
+
ID^+
ID+中的事实都是错误的.
例如平方损失函数
最小化平方损失等于分解由KG表示的三阶张量。如优化RESCAL
总体上闭环世界的训练不如开放世界好。
n和m是实体和关系的数量,d和k是实体和关系嵌入的维数(通常d=k)。
图嵌入(结合其他信息)
实体类型
很多实体附带类别,诸如AlfredHitchcock是人等,很多方法直接把他们当作IsA的普通三元组关系来处理。
- SSE
它要求同一类型的实体在嵌入空间中相互靠近,提出两种流形学习算法,拉普拉斯特征映射和局部线性嵌入对这一平滑假设进行建模。 前者要求一个实体靠近同一类别中的每一个其他实体,给出一个平滑的度量
如果两个实体是同一类型, w i j 1 = 1 w_{ij}^1=1 wij1=1,否则为0。
后者将实体表示为其最近邻居的线性组合,即同一类别内的实体。 平滑的度量定义为
- type-embodied knowledge representation learning (TKRL)
解决实体的等级和多类别问题。这是一个基于翻译距离的模型。
得分函数
M c i M_{ci} Mci有两种组合方法
可以利用实体的特定类型约束负例的产生。 其思想是用错误的实体类型丢弃无效的事实,并且只分解由剩余事实组成的子张量。
关系路径
实体之间存在多跳关系。关系路径蕴含丰富的语义信息。
将路径表示为其组成关系的表示的组成,因为路径的语义取决于所有这些关系。
组合方法主要有如下三种方法
损失函数
其中
R
(
p
∣
h
,
t
)
R(p|h,t)
R(p∣h,t)可以通过一个基于网络的资源分配机制和损失计算。loss定义为
2. Guu等提出联合拓展TransE和RESCAL以及联合路径信息
前者的得分函数
后者的得分函数
在问答路径查询任务中表现优异
但是在和路径改善性能模型的时候,巨大的路径是一个极大的挑战,需要进行采样和剪枝,又学者就提出 一种动态规划算法,它可以包含有界长度的所有关系路径。
文本描述
如上图所示,实体通常有简单的一个描述,其中蕴含了丰富的语义信息。
在NTN模型中首先从辅助新闻语料库学习单词向量,然后通过平均其名称中包含的单词向量来初始化每个实体的表示
- 有学者首次提出联合模型可以在embedding时有效利用文本信息,关键思想是将给定的KG与辅助文本语料库对齐,然后共同进行KG嵌入和单词嵌入。
联合模型就有三部分,分别是知识模型,文本模型和对齐模型。
知识模型是将图谱中的实体和关系embed(TransE变体),文本模型是在文本库中embed 单词(Skip-gram变体),对齐库保证了实体/关系嵌入和词嵌入在同一向量空间。
联合模型的总损失函数如下
联合模型利用了图谱的结构化信息和文本的非结构化信心,互相促进,对齐模型保障两种信息的一致。在实体预测中表现很好。 - DKRL
拓展TransE更好的处理实体描述。本方法让实体联合两个向量表示,一个是基于结构化的,另一个是基于描述的。
得分函数
- TEKE
TEKE首先对语料库中的实体进行注释,由实体和单词组成的共现网络。
TEKE将其文本上下文 n ( e ) n(e) n(e)定义为共现网络中的邻居,
TEKE将其文本上下文定义为文本嵌入h和t的公共邻居, n ( h , t ) = n ( h ) ∩ n ( t ) n(h,t)={n(h)} \cap {n(t)} n(h,t)=n(h)∩n(t).
A,B都是权重矩阵。和h,t是偏置向量。
逻辑规则
在一阶Horn clauses中特别注意可以采用逻辑规则。
一个例子
这种情况就有着丰富的信息在知识发现和推理中可以广泛使用。通常基于马尔可夫逻辑网络
下游应用
知识图谱中应用分为两大类,
其一是在图谱中,主要用于实体预测,实体分类,实体消歧(确认两个实体是否为一个),三原则分类
其二是图谱外(out of KG),关系提取,问答系统,推荐系统