最近清华的THUNLP整理了Pre-trained Languge Model (PLM)相关的工作:PLMpapers,非常全面,想要了解最新NLP发展的同学不要错过。本来这篇是打算写一写Knowledge Graph + BERT系列工作的,但是最近有在做知识图谱的一些东西所以就先整理一下**知识表示学习(knowledge representation learning)**的相关模型发展,这样我们看后面的paper也会得心应手一些。
1. A glance at Knowledge Representation Learning
What
首先什么是表示学习?其实我们早就在频繁使用了,比如词向量embedding,这种将研究对象的语义信息表示为稠密低维的实值向量的形式就叫表示学习。
有了表示学习的定义,那么知识表示学习(KRL) 就是面向知识库中实体和关系的表示学习,通过将实体或关系投影到低维向量空间,能够实现对实体和关系的语义信息的表示,可以高效地计算实体、关系及其之间的复杂语义关联。
Why
那么为什么会冒出知识表示学习呢?
- 显著提高计算效率。 简单地基于图算法计算实体间的语义和推理关系,其计算复杂度高、可扩展性差;而表示学习得到的分布式表示,则能够高效地实现语义相似度计算等操作。
- 有效缓解数据稀疏。 一方面将每个对象投影到低维的稠密向量空间;另一方面在投影过程中也可以借用高频对象的语义信息帮助低频对象的语义表示,捕获长尾分布。
- 实现异质信息融合。 将不同来源的对象投影到同一语义空间中,就能够建立统一的表示空间。
How
接下去会介绍知识表示学习的主要方法及前沿进展,这也是本系列博文的重要。首先给出整体定义:
知识库表示为 G=(E, R, S),其中 E = { e 1 , e 2 , ⋯ , e E } E={\{e_{1},e_{2}, \cdots, e_{E}\}} E={e1,e2,⋯,eE}是实体集合, R = { r 1 , r 2 , ⋯ , r R } R=\left\{r_{1}, r_{2}, \cdots, r_{R}\right\} R={r1,r2,⋯,rR}是关系集合,S是三元组集合,表示为(h, r, t)
- 基于距离的模型
- 基于翻译的模型
- 语义匹配模型
- 融合多源信息的模型
- 前沿进展
paper list ref
2. Distance-Based Models
UM
Joint Learning of Words and Meaning Representations for Open-Text Semantic Parsing(2012)
SE
Learning Structured Embeddings of Knowledge Bases(AAAI/2011)
在本文中,作者指出目前已有的知识库都是基于不同的框架,因此很难将它们整合应用到一个新的系统中。但是知识库中存在大量的结构化和组织化的数据,如果能够充分利用起来将会对AI领域非常有帮助。于是作者们提出一种模型将任何知识库中的实体和关系嵌入到一个更灵活的连续向量空间。嵌入可以认为是一个神经网络,该神经网络的特殊结构允许将原始数据结构集成到所学习的表示中。更准确地说,考虑到知识库是由一组实体和它们之间的关系定义的,该模型为每个实体(即一个低维向量)学习一个嵌入(embedding),为每个关系(即矩阵)学习一个运算符(operator)。另外,在低维embedding空间使用核密度估计可以估量空间的概率密度,这样可以量化实体之间的关系存在可能性。
结构表示(Structured Embeddings,SE)中每个实体用
d
d
d维的向量表示,所有实体被投影到同一个
d
d
d维向量空间中。同时,SE还为每个关系定义了两个矩阵
M
r
,
1
,
M
r
,
2
∈
R
d
×
d
\boldsymbol{M}_{r, 1}, \boldsymbol{M}_{r, 2} \in \mathbb{R}^{d \times d}
Mr,1,Mr,2∈Rd×d用于三元组中头实体和尾实体的投影操作。最后SE为每个三元组
(
h
,
r
,
t
)
(h, r, t)
(h,r,t)定义了损失函数:
f
r
(
h
,
t
)
=
∣
M
r
,
1
l
h
−
M
r
,
2
l
t
∣
L
1
f_{r}(h, t)=\left|\boldsymbol{M}_{r, 1} \boldsymbol{l}_{h}-\boldsymbol{M}_{r, 2} \boldsymbol{l}_{t}\right|_{L_{1}}
fr(h,t)=∣Mr,1lh−Mr,2lt∣L1对于上述损失函数,我们可以理解为通过两个关系矩阵将头尾两个实体投影到同一关系空间中,然后在该空间中计算两投影向量的距离。而这个距离则反映了头尾实体之间在特定关系下的语义相似度,他们的距离越小则表明越有可能存在这种关系。
SE模型要学习的参数是实体向量矩阵
E
E
E 和两个关系矩阵
R
l
h
s
R^{lhs}
Rlhs、
R
r
h
s
R^{rhs}
Rrhs,下面是模型的训练过程:
可以看出SE模型对头尾两个实体使用不同的矩阵进行投影,协同性较差,往往无法精确刻画两实体之间的语义联系。
3. Trans-Based Models
TransE
Translating Embeddings for Modeling Multi-relational Data(NIPS2013)
TransE是Trans系列模型的开山之作,也是知识图谱向量表示的baseline模型,后面会介绍它的很多变体。其实TransE的思想很简单,为了将实体与关系嵌入到低维的向量空间,对于知识库中的每个三元组
(
h
,
r
,
t
)
(h, r, t)
(h,r,t),认为头实体的embedding加上关系的embedding之后应该是与尾实体的embedding非常接近的。于是,可以将关系看做是两个实体之间的某种平移向量,如下图:
按照上面的思路,即有了TransE模型的损失函数:
L
=
∑
(
h
,
ℓ
,
t
)
∈
S
(
h
′
,
ℓ
,
t
′
)
∈
S
(
h
,
ℓ
,
t
)
′
[
γ
+
d
(
h
+
ℓ
,
t
)
−
d
(
h
′
+
ℓ
,
t
′
)
]
+
\mathcal{L}=\sum_{(h, \ell, t) \in S\left(h^{\prime}, \ell, t^{\prime}\right) \in S_{(h, \ell, t)}^{\prime}}\left[\gamma+d(\boldsymbol{h}+\ell, \boldsymbol{t})-d\left(\boldsymbol{h}^{\prime}+\ell, \boldsymbol{t}^{\prime}\right)\right]_{+}
L=(h,ℓ,t)∈S(h′,ℓ,t′)∈S(h,ℓ,t)′∑[γ+d(h+ℓ,t)−d(h′+ℓ,t′)]+这个损失函数是带有negative sampling和margin-based loss的
- negative sampling: S ( h , ℓ , t ) ′ = { ( h ′ , ℓ , t ) ∣ h ′ ∈ E } ∪ { ( h , ℓ , t ′ ) ∣ t ′ ∈ E } S_{(h, \ell, t)}^{\prime}=\left\{\left(h^{\prime}, \ell, t\right) | h^{\prime} \in E\right\} \cup\left\{\left(h, \ell, t^{\prime}\right) | t^{\prime} \in E\right\} S(h,ℓ,t)′={(h′,ℓ,t)∣h′∈E}∪{(h,ℓ,t′)∣t′∈E}表示负样本三元组,构造的方法是将S中每个三元组的头实体、关系和尾实体其中之一随机替换成其他的实体或关系,注意每个三元组只能同时替换一个元素。
- margin-based loss:为了增强知识表示的区分能力,采用了最大间隔的方法,可以类比SVR的损失函数。 d ( h + ℓ , t ) d(\boldsymbol{h}+\ell, \boldsymbol{t}) d(h+ℓ,t)表示正样本的不相似得分, d ( h ′ + ℓ , t ′ ) d\left(\boldsymbol{h}^{\prime}+\ell, \boldsymbol{t}^{\prime}\right) d(h′+ℓ,t′)表示负样本的不相识得分,最小化这个损失函数可以使得正样本的得分越来越高而负样本的得分越来越低,并且只有两个得分差距大于某一阈值的时候loss才为0。
最终模型整体的训练过程如下:
虽然TransE简单有效,但仍然存在一个非常严重的问题:不能很好处理复杂关系。举个栗子,有两个三元组(美国,总统,奥巴马)和(美国, 总统, 布什),使用TransE模型表示的话会得到奥巴马和布什的表示向量非常接近,甚至完全相同。
Code Here
TransH
Knowledge Graph Embedding by Translating on Hyperplanes(AAAI2014)
相对于之前的知识表示模型,TransE有了很大的改进,但是当面对自反关系、一对多、多对一以及多对多这类复杂的关系时,就很难处理好(会使得一些不同的实体具有相同或者相近的向量表示)。于是作者提出TransH模型,在保证模型complexity和efficiency的同时,解决上述复杂关系的表示。
模型
TransH模型的主要思想是对每一个关系定义两个向量:超平面
w
r
w_{r}
wr和关系向量
d
r
d_{r}
dr。对于任意一个三元组
(
h
,
r
,
t
)
(h, r, t)
(h,r,t),
h
h
h和
t
t
t在超平面上的投影分别为
h
⊥
h_{\perp}
h⊥和
t
⊥
t_{\perp}
t⊥,如果是golden triplet,则存在
h
⊥
+
d
r
≈
t
⊥
h_{\perp}+d_{r} \approx t_{\perp}
h⊥+dr≈t⊥。看下图可能会更清楚一些:
损失函数与TransE的一样:
L
=
∑
(
h
,
r
,
t
)
∈
Δ
(
h
′
,
r
′
,
t
′
)
∈
Δ
(
h
,
r
,
t
)
′
[
f
r
(
h
,
t
)
+
γ
−
f
r
′
(
h
′
,
t
′
)
]
+
\mathcal{L}=\sum_{(h, r, t) \in \Delta\left(h^{\prime}, r^{\prime}, t^{\prime}\right) \in \Delta_{(h, r, t)}^{\prime}}\left[f_{r}(\mathbf{h}, \mathbf{t})+\gamma-f_{r^{\prime}}\left(\mathbf{h}^{\prime}, \mathbf{t}^{\prime}\right)\right]_{+}
L=(h,r,t)∈Δ(h′,r′,t′)∈Δ(h,r,t)′∑[fr(h,t)+γ−fr′(h′,t′)]+
f
r
(
h
,
t
)
=
∥
(
h
−
w
r
⊤
h
w
r
)
+
d
r
−
(
t
−
w
r
⊤
t
w
r
)
∥
2
2
f_{r}(\mathbf{h}, \mathbf{t})=\left\|\left(\mathbf{h}-\mathbf{w}_{r}^{\top} \mathbf{h} \mathbf{w}_{r}\right)+\mathbf{d}_{r}-\left(\mathbf{t}-\mathbf{w}_{r}^{\top} \mathbf{t} \mathbf{w}_{r}\right)\right\|_{2}^{2}
fr(h,t)=∥∥(h−wr⊤hwr)+dr−(t−wr⊤twr)∥∥22
h
⊥
=
h
−
w
r
⊤
h
w
r
,
t
⊥
=
t
−
w
r
⊤
t
w
r
\mathbf{h}_{\perp}=\mathbf{h}-\mathbf{w}_{r}^{\top} \mathbf{h} \mathbf{w}_{r}, \quad \mathbf{t}_{\perp}=\mathbf{t}-\mathbf{w}_{r}^{\top} \mathbf{t} \mathbf{w}_{r}
h⊥=h−wr⊤hwr,t⊥=t−wr⊤twr
模型整体训练过程也同TransE一样,这里就不再赘述。
负采样策略
不同于TransE模型中的随机替换头实体和尾实体之一作为负样本的方法,在TransH中指出:
However, as a real knowledge graph is often far from completed, this way of randomly sampling may introduce many false negative labels into training.
于是,在替换头实体或者尾实体的时候考虑了一个采样概率, t p h t p h + h p t \frac{t p h}{t p h+h p t} tph+hpttph的概率替换头实体, h p t t p h + h p t \frac{h p t}{t p h+h p t} tph+hpthpt的概率替换尾实体,其中 t p h tph tph为每个头实体对应尾实体的平均数量, h p t hpt hpt为每个尾实体对应头实体的平均数量。也就是说,对于一对多的关系,更大的概率替换头实体;对于多对一的关系,更大概率替换尾实体。
Code Here
TransR
Learning Entity and Relation Embeddings for Knowledge Graph Completion(AAAI2015)
前面介绍的TransE和TransH都是假设三元组的实体和关系在同一语义空间中的,尽管在TransH中采用了关系超平面的策略,但由于实体和关系是完全不同的,每一个实体可能会有多个aspect,即是是同一个实体在不同的关系下关注的可能是完全不相关的aspect,因此之前的模型还是不足以准确地表示knowledge graph。
于是,在本文中作者提出一种新模型TransR,其思想就是将实体和关系的表示空间区分开来,实体有entity space,关系有relation space,在计算时通过一个投射矩阵
M
r
M_{r}
Mr将实体映射到关系空间进行计算。
投
影
过
程
:
h
r
=
h
M
r
,
t
r
=
t
M
r
投影过程:\mathbf{h}_{r}=\mathbf{h} \mathbf{M}_{r}, \quad \mathbf{t}_{r}=\mathbf{t} \mathbf{M}_{r}
投影过程:hr=hMr,tr=tMr
打
分
函
数
:
f
r
(
h
,
t
)
=
∥
h
r
+
r
−
t
r
∥
2
2
打分函数: f_{r}(h, t)=\left\|\mathbf{h}_{r}+\mathbf{r}-\mathbf{t}_{r}\right\|_{2}^{2}
打分函数:fr(h,t)=∥hr+r−tr∥22
损
失
函
数
:
L
=
∑
(
h
,
r
,
t
)
∈
S
(
h
′
,
r
,
t
′
)
∈
S
′
max
(
0
,
f
r
(
h
,
t
)
+
γ
−
f
r
(
h
′
,
t
′
)
)
损失函数:L=\sum_{(h, r, t) \in S\left(h^{\prime}, r, t^{\prime}\right) \in S^{\prime}} \max \left(0, f_{r}(h, t)+\gamma-f_{r}\left(h^{\prime}, t^{\prime}\right)\right)
损失函数:L=(h,r,t)∈S(h′,r,t′)∈S′∑max(0,fr(h,t)+γ−fr(h′,t′))
此外,不仅仅实体有多个aspect,对于关系,也可能存在多义性,比如关系(location location contains)其实包含country-city、country-university、continent-country等多种含义。为此,作者们提出CTransR,即Cluster-based TransR,对同一关系下的不同实体对进行聚类并学习到关系在不同聚类簇的表示。具体做法是
- 利用TransE训练 ( h , r , t ) (h, r, t) (h,r,t)三元组
- 利用vector offset ( h − t ) (h-t) (h−t)进行聚类
- 对每一类的子关系都学习到一个变换矩阵
M
r
M_{r}
Mr和表示向量
r
c
r_{c}
rc
f r ( h , t ) = ∥ h r , c + r c − t r , c ∥ 2 2 + α ∥ r c − r ∥ 2 2 f_{r}(h, t)=\left\|\mathbf{h}_{r, c}+\mathbf{r}_{c}-\mathbf{t}_{r, c}\right\|_{2}^{2}+\alpha\left\|\mathbf{r}_{c}-\mathbf{r}\right\|_{2}^{2} fr(h,t)=∥hr,c+rc−tr,c∥22+α∥rc−r∥22
Code Here
TransD
Knowledge graph embedding via dynamic mapping matrix(ACL2015)
文章首先指出了TransR的三个问题:
- 在TransR中,对于特定关系,所有实体共享同一映射矩阵。但是实际情况头尾实体可能属于不同范畴,例如(美国,总统,特朗普)这个三元组中,美国和特朗普就不是相同范畴的实体,因此应该采用不同的映射矩阵;
- 投影运算是实体与关系的交互过程,映射矩阵仅由关系确定是不合理的;
- 矩阵向量乘法运算量大,当关系数大时,矩阵向量乘法的参数也比TransE和TransH多。
基于此,作者们提出一种基于动态映射矩阵的TransD模型。对于每个三元组
(
h
,
r
,
t
)
(h, r, t)
(h,r,t),其中每个元素都有两种向量表示,一种是构建动态映射矩阵向量
(
h
p
,
r
p
,
t
p
)
(h_{p}, r_{p}, t_{p})
(hp,rp,tp);另外一种是用于自身实体/关系语义表示
(
h
,
r
,
t
)
(\bold h, \bold r, \bold t)
(h,r,t)。首先是利用头尾实体的映射向量构建映射矩阵:
M
r
h
=
r
p
h
p
⊤
+
I
m
×
n
M
r
t
=
r
p
t
p
⊤
+
I
m
×
n
\begin{aligned} \mathbf{M}_{r h} &=\mathbf{r}_{p} \mathbf{h}_{p}^{\top}+\mathbf{I}^{m \times n} \\ \mathbf{M}_{r t} &=\mathbf{r}_{p} \mathbf{t}_{p}^{\top}+\mathbf{I}^{m \times n} \end{aligned}
MrhMrt=rphp⊤+Im×n=rptp⊤+Im×n接着通过各自的映射矩阵将实体投影到关系空间:
h
⊥
=
M
r
h
h
,
t
⊥
=
M
r
t
t
\mathbf{h}_{\perp}=\mathbf{M}_{r h} \mathbf{h}, \quad \mathbf{t}_{\perp}=\mathbf{M}_{r t} \mathbf{t}
h⊥=Mrhh,t⊥=Mrtt整体的打分函数和损失函数以及训练过程都跟之前的模型一样。
Code Here
TranSparse
Knowledge Graph Completion with Adaptive Sparse Transfer Matrix(AAAI2016)
之前的Trans系列模型都忽略了知识表示面临的两个问题:
- 异构性(heterogeneous):不同关系连接的实体对数量差别巨大
- 不平衡性(imbalanced):同一关系链接的头实体和尾实体数量差别巨大,例如对于关系
性别
,头实体的数量很多(‘小明’‘小花’etc),而对于尾实体仅仅只有两个(‘男’‘女’)
如果使用同一模型来处理所有情况的话,则可能由于异构性导致对于复杂关系(链接数量多)欠拟合,对简单关系(链接数量少)过拟合。为了解决异构性,作者提出TranSparse模型用自适应的稀疏矩阵代替一般的映射矩阵。
TranSparse(share)
为了解决异构性问题,TranSparse将transfer matrix设置为自适应的稀疏矩阵,对于复杂关系,我们需要更多的参数去学习其中包含的信息,所以transfer matrix的稀疏度会比较低,即有更多的元素不为0;而对于简单的关系则恰好相反。而这里稀疏度由
θ
r
\theta_{r}
θr定义:
θ
r
=
1
−
(
1
−
θ
min
)
N
r
/
N
r
∗
\theta_{r}=1-\left(1-\theta_{\min }\right) N_{r} / N_{r^{*}}
θr=1−(1−θmin)Nr/Nr∗其中,
θ
m
i
n
\theta_{min}
θmin是一个0-1之间的最小稀疏度超参,
N
r
N_{r}
Nr表示关系
r
r
r链接的实体对数量,
N
r
∗
N_{r^{*}}
Nr∗表示其中链接的最大值。
TranSparse(share)这里没有考虑不平衡性,所以对于头尾实体的mapping过程是一样的: h p = M r ( θ r ) h , t p = M r ( θ r ) t \mathbf{h}_{p}=\mathbf{M}_{r}\left(\theta_{r}\right) \mathbf{h}, \quad \mathbf{t}_{p}=\mathbf{M}_{r}\left(\theta_{r}\right) \mathbf{t} hp=Mr(θr)h,tp=Mr(θr)t
TranSparse(separate)
为了解决不平衡性问题,这里更细致地对头实体和尾实体设置了不同的transfer matrix: θ r l = 1 − ( 1 − θ min ) N r l / N r ∗ l ∗ ( l = h , t ) \theta_{r}^{l}=1-\left(1-\theta_{\min }\right) N_{r}^{l} / N_{r^{*}}^{l^{*}} \quad(l=h, t) θrl=1−(1−θmin)Nrl/Nr∗l∗(l=h,t) h p = M r h ( θ r h ) h , t p = M r t ( θ r t ) t \mathbf{h}_{p}=\mathbf{M}_{r}^{h}\left(\theta_{r}^{h}\right) \mathbf{h}, \quad \mathbf{t}_{p}=\mathbf{M}_{r}^{t}\left(\theta_{r}^{t}\right) \mathbf{t} hp=Mrh(θrh)h,tp=Mrt(θrt)t
模型训练
两者(share和separate)的打分函数都是:
f
r
(
h
,
t
)
=
∥
h
p
+
r
−
t
p
∥
ℓ
1
/
2
2
f_{r}(\mathbf{h}, \mathbf{t})=\left\|\mathbf{h}_{p}+\mathbf{r}-\mathbf{t}_{p}\right\|_{\ell_{1 / 2}}^{2}
fr(h,t)=∥hp+r−tp∥ℓ1/22
L
=
∑
(
h
,
r
,
t
)
∈
Δ
(
h
′
,
r
,
t
)
∈
Δ
′
[
γ
+
f
r
(
h
,
t
)
−
f
r
(
h
′
,
t
′
)
]
+
L=\sum_{(h, r, t) \in \Delta\left(h^{\prime}, r, t\right) \in \Delta^{\prime}}\left[\gamma+f_{r}(\mathbf{h}, \mathbf{t})-f_{r}\left(\mathbf{h}^{\prime}, \mathbf{t}^{\prime}\right)\right]_{+}
L=(h,r,t)∈Δ(h′,r,t)∈Δ′∑[γ+fr(h,t)−fr(h′,t′)]+
Code Here
TransM
Transition-based knowledge graph embedding with relational mapping properties(2014)
TransM也是为了解决TransE只能处理一对一关系的问题,对于存在多种选择的一方给了更多的自由度,即
h
+
r
≈
t
h+r \approx t
h+r≈t,如下图
具体做法是在得分函数的前面加上了权重
w
r
w_{r}
wr
w
r
=
1
log
(
h
r
p
t
r
+
t
r
p
h
r
)
w_{r}=\frac{1}{\log \left(h_{r} p t_{r}+t_{r} p h_{r}\right)}
wr=log(hrptr+trphr)1其中
h
r
p
t
r
h_{r}pt_{r}
hrptr表示尾实体对应的头实体数量(heads per tail),
t
r
p
h
r
t_{r}ph_{r}
trphr同理。
打
分
函
数
:
f
r
(
h
,
t
)
=
w
r
∥
h
+
r
−
t
∥
L
1
/
L
2
打分函数: f_{r}(h, t)=w_{\mathbf{r}}\|\mathbf{h}+\mathbf{r}-\mathbf{t}\|_{L_{1} / L_{2}}
打分函数:fr(h,t)=wr∥h+r−t∥L1/L2
ManiFoldE
From One Point to A Manifold: Knowledge Graph Embedding For Precise Link Prediction(IJCAI2016)
作者指出目前已有的研究都无法很好地解决精准链接预测(Precise Link Prediction),主要是有两个问题:
- ill-posed algebraic problem:指一个方程组中的方程式个数远大于变量个数,这会导致求得的解经常是不精确且不稳定的。之前的翻译模型都是基于 h r + r = t r \mathbf{h}_{\mathbf{r}}+\mathbf{r}=\mathbf{t}_{\mathbf{r}} hr+r=tr,如果三元组的数量为 T T T,embedding的维度为 d d d, 则一共有 T ∗ d T*d T∗d个方程,而所需要学习的变量一共有 ( E + R ) ∗ D (E+R)*D (E+R)∗D个,由于 T > > ( E + R ) T>>(E+R) T>>(E+R),那么这类模型由于ill-posed algebraic problem无法给出精准链接预测;
- adopting an overstrict geometric form:TransE过于严格的限制使得链接预测得到的基本都为一个点,这对于多对多关系显然是不正确的。虽然在之前有TransH, TransR等模型对此进行优化,但是将关系映射到另外一个子空间后仍然会存在该问题。
为了解决上述两个问题,作者提出一种基于流形的模型,将约束
h
r
+
r
=
t
r
\mathbf{h}_{\mathbf{r}}+\mathbf{r}=\mathbf{t}_{\mathbf{r}}
hr+r=tr进行放宽
M
(
h
,
r
,
t
)
=
D
r
2
\mathcal{M}(\mathbf{h}, \mathbf{r}, \mathbf{t})=D_{r}^{2}
M(h,r,t)=Dr2其中
M
\mathcal{M}
M是流形函数
M
(
h
,
r
,
t
)
=
∥
h
+
r
−
t
∥
l
2
M(h, r, t)=\|h+r-t\|_{l 2}
M(h,r,t)=∥h+r−t∥l2
以
(
h
,
r
,
∗
)
(h, r, *)
(h,r,∗)为例,所有合适的尾实体都分布在高维流形上,举个栗子,
M
\mathcal{M}
M是一个高维球体,则所有的尾实体都在以
h
+
t
h+t
h+t为球心,以
D
r
D_{r}
Dr为半径的球面上。
打
分
函
数
:
f
(
h
,
r
,
t
)
=
∥
M
(
h
,
r
,
t
)
−
D
r
2
∥
l
1
/
2
打分函数:f(h, r, t)=\left\|M(h, r, t)-D_{r}^{2}\right\|_{l 1 / 2}
打分函数:f(h,r,t)=∥∥M(h,r,t)−Dr2∥∥l1/2
目
标
函
数
:
L
=
∑
(
h
,
r
,
t
)
∑
(
h
′
,
r
′
,
t
′
)
∈
Δ
′
[
f
r
′
(
h
′
,
t
′
)
−
f
r
(
h
,
t
)
+
γ
]
+
目标函数:\mathcal{L}=\sum_{(h, r, t)} \sum_{\left(h^{\prime}, r^{\prime}, t^{\prime}\right) \in \Delta^{\prime}}\left[f_{r}^{\prime}\left(h^{\prime}, t^{\prime}\right)-f_{r}(h, t)+\gamma\right]_{+}
目标函数:L=(h,r,t)∑(h′,r′,t′)∈Δ′∑[fr′(h′,t′)−fr(h,t)+γ]+
Code Here
TransF
Knowledge Graph Embedding by Flexible Translation(2016)
TransF提出主要是为了解决TransE的一对一关系问题,虽然在之前有TransH提出解决思路,但是引入了更多的参数以及更大的复杂度。于是TransF就是为了解决一对多多对一以及多对多关系,同时又不增加参数。具体就是将TransE的限制条件
h
+
r
≈
t
\mathbf{h}+\mathbf{r} \approx \mathbf{t}
h+r≈t放宽为
h
+
r
≈
α
t
\mathbf{h}+\mathbf{r} \approx \alpha \mathbf{t}
h+r≈αt,如下图
得分函数同时衡量了
h
+
t
h+t
h+t和
t
t
t,
t
−
h
t-h
t−h和
h
h
h的方向:
f
(
h
,
r
,
t
)
=
(
h
+
r
)
T
t
+
(
t
−
r
)
T
h
f(h, r, t)=(h+r)^{T} t+(t-r)^{T} h
f(h,r,t)=(h+r)Tt+(t−r)Th
TransA
TransA: An Adaptive Approach for Knowledge Graph Embedding(2015)
作者首先提出了两个TransE模型的不足:
- loss metric:TransE的loss metric为
∥
h
+
r
−
t
∥
2
2
\|\mathbf{h}+\mathbf{r}-\mathbf{t}\|_{2}^{2}
∥h+r−t∥22,是一种欧氏距离的计算,其对应的图形是一个圆。由于这种简单的loss metric导致不能很好处理复杂的关系(如一对多、多对一等)。论文中给出一个详细案例,从下图可知蓝色部分为正例,红色部分为负例,TransE 模型划分错了七个点。而本文提出了一种基于马氏距离的 TransA 模型,其 PCA 降维图形对应的是一个椭圆,该模型只分错了三个点。
- identical dimension:TransE等之前的模型等价地对待向量中的每一维度,但是实际上各个维度的重要度是不相同的,有些维度是有作用的,有些维度却是噪音。还是以论文中的栗子,对于关系
HasPart
来说,左边的TransE模型根据欧氏距离计算得出(room, haspart, goniff)这样错误的三元组。通过对x,y轴进行分解之后发现,关系HasPart
会更关注与x轴相近的实体。TransA模型为此引入了对每一维度的加权矩阵。
模型
TransA模型对之前的打分函数进行了改进,引入加权矩阵 W r W_{r} Wr: f r ( h , t ) = ( ∣ h + r − t ∣ ) ⊤ W r ( ∣ h + r − t ∣ ) f_{r}(h, t)=(|\mathbf{h}+\mathbf{r}-\mathbf{t}|)^{\top} \mathbf{W}_{\mathbf{r}}(|\mathbf{h}+\mathbf{r}-\mathbf{t}|) fr(h,t)=(∣h+r−t∣)⊤Wr(∣h+r−t∣)并通过LDL对 W r W_{r} Wr进行分解: W r = L r ⊤ D r L r \mathbf{W}_{\mathbf{r}}=\mathbf{L}_{\mathbf{r}}^{\top} \mathbf{D}_{\mathbf{r}} \mathbf{L}_{\mathbf{r}} Wr=Lr⊤DrLr整理后得到最终的打分函数: f r = ( L r ∣ h + r − t ∣ ) ⊤ D r ( L r ∣ h + r − t ∣ ) f_{r}=\left(\mathbf{L}_{\mathbf{r}}|\mathbf{h}+\mathbf{r}-\mathbf{t}|\right)^{\top} \mathbf{D}_{\mathbf{r}}\left(\mathbf{L}_{\mathbf{r}}|\mathbf{h}+\mathbf{r}-\mathbf{t}|\right) fr=(Lr∣h+r−t∣)⊤Dr(Lr∣h+r−t∣)训练过程损失函数 min ∑ ( h , r , t ) ∈ Δ ( h ′ , r ′ , t ′ ) ∈ Δ ′ [ f r ( h , t ) + γ − f r ′ ( h ′ , t ′ ) ] + + λ ( ∑ r ∈ R ∥ W r ∥ F 2 ) + C ( ∑ e ∈ E ∥ e ∥ 2 2 + ∑ r ∈ R ∥ r ∥ 2 2 ) s.t. [ W r ] i j ≥ 0 \begin{aligned} \min & \sum_{(h, r, t) \in \Delta\left(h^{\prime}, r^{\prime}, t^{\prime}\right) \in \Delta^{\prime}}\left[f_{r}(h, t)+\gamma-f_{r^{\prime}}\left(h^{\prime}, t^{\prime}\right)\right]_{+}+\\ & \lambda\left(\sum_{r \in R}\left\|\mathbf{W}_{\mathbf{r}}\right\|_{F}^{2}\right)+C\left(\sum_{e \in E}\|\mathbf{e}\|_{2}^{2}+\sum_{r \in R}\|\mathbf{r}\|_{2}^{2}\right) \\ \text { s.t. } &\left[\mathbf{W}_{\mathbf{r}}\right]_{i j} \geq 0 \end{aligned} min s.t. (h,r,t)∈Δ(h′,r′,t′)∈Δ′∑[fr(h,t)+γ−fr′(h′,t′)]++λ(r∈R∑∥Wr∥F2)+C(e∈E∑∥e∥22+r∈R∑∥r∥22)[Wr]ij≥0
KG2E
Learning to Represent Knowledge Graphs with Gaussian Embedding(2015)
作者指出TransE、TransR等之前的研究,在分离正三元组及其对应的负三元组时,不同的实体和关系往往共享相同的边界,而知识库中实体和关系的**(非)确定性**被完全忽略。但实际上,不同的实体和关系常常包含不同的确定性。在这里,一个实体/关系的(非)确定性表示在将一个三元组作为上下文评分时表示其语义的可信度。举个栗子,在推断一个人时,配偶关系的确定性明显大于国籍。在预测Hillary Clinton
时,当我们知道她丈夫(配偶)是Bill Clinton
时,我们可能更有信心知道她是谁,而不是知道她出生在(国籍)美国。
为此,本文使用Gaussian Distribution 来表示实体和关系,使用协方差来表示实体和关系的不确定度。相同颜色的圆圈代表同意三元组,圆圈大小则表示不同三元组的不确定度。
相对于之前的point-based model,本文的KG2E是一种density-based model。在建模过程中强调了(un)certainty的概念,融入关系和实体语义本身的不确定性并使用高斯分布协方差表示实体关系的不确定度,使用高斯分布的均值表示实体或关系在语义空间中的中心值。
但是KG2E在link prediction任务中的多对多关系上表现不是很好,主要原因是模型没有考虑实体和关系的类型和粒度。
TransG
TransG : A Generative Model for Knowledge Graph Embedding(2016)
本文主要是为了解决多关系语义(multiple relation semantics),即某一种关系可能会存在多个类别的语义,比如对于(Atlantics, HasPart, NewYorkBay)
和(Table, HasPart, Leg)
两个三元组都属于关系HasPart
,但是他们在语义上并不相同,一个是位置
的语义,一个是部件
的语义。其实这个问题在之前介绍的CTransR中也提出过解决方案,但是作者似乎认为CTransR预处理聚类的操作不是很elegant。
为此,作者们提出了一种基于贝叶斯非参的无限混和嵌入模型:认为关系向量由若干子成分向量合成,模型会根据实体对自动选择一个关系向量,而多少个这样的关系向量还可以由模型自动选择。 整体过程如下:
一张总结
以上
2019.10.08