Learning Entity and Relation Embeddings for Knowledge Graph Completion
0. 问题
- TransE和TransH都假设Entity和Relation位于同一个语义空间中
- 传统Trans模型都只是为每个Relation只建立一个特定的向量表示, 但关系通常是多样性的
1. 主要思想
- 提出TransR构建Entity Space和Relation Space两种不同的语义空间, 并在Relation Space上实现翻译
- 提出CTransR, 通过聚类的方法, 为每个关系建立多个不同的向量表示
2. TransR
实体嵌入: h , t ∈ R k \mathbf{h}, \mathbf{t} \in \mathbb{R}^{k} h,t∈Rk
关系嵌入: r ∈ R d \mathbf{r} \in \mathbb{R}^{d} r∈Rd
投影矩阵: M r ∈ R k × d \mathbf{M}_{r} \in \mathbb{R}^{k \times d} Mr∈Rk×d
投影向量:
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
Score Fuction:
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
正则化:
∥
h
∥
2
≤
1
,
∥
r
∥
2
≤
1
,
∥
t
∥
2
≤
1
,
∥
h
M
r
∥
2
≤
1
,
∥
t
M
r
∥
2
≤
1
\|\mathbf{h}\|_{2} \leq 1,\|\mathbf{r}\|_{2} \leq 1,\|\mathbf{t}\|_{2} \leq 1,\left\|\mathbf{h M}_{\mathbf{r}}\right\|_{2} \leq 1,\left\|\mathbf{t M}_{\mathbf{r}}\right\|_{2} \leq 1
∥h∥2≤1,∥r∥2≤1,∥t∥2≤1,∥hMr∥2≤1,∥tMr∥2≤1
3. CTransR
对于每个关系 r \mathbf{r} r所对应的三元组 ( h , t ) (\mathbf{h},\mathbf{t}) (h,t), 先通过TransE学习 h \mathbf{h} h和 t \mathbf{t} t, 然后依据 h − t \mathbf{h-t} h−t 来进行聚类, 为每个聚类学习一个关系向量 r c \mathbf{r_{c}} rc.
投影向量:
h
r
,
c
=
h
M
r
,
t
r
,
c
=
t
M
r
\mathbf{h}_{r,c}=\mathbf{h} \mathbf{M}_{r}, \quad \mathbf{t}_{r,c}=\mathbf{t} \mathbf{M}_{r}
hr,c=hMr,tr,c=tMr
Score Fuction:
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
其中正则项
∥
r
c
−
r
∥
2
2
\left\|\mathbf{r}_{c}-\mathbf{r}\right\|_{2}^{2}
∥rc−r∥22 保证
r
c
\mathbf{r}_{c}
rc 和
r
\mathbf{r}
r 不会偏离太远.
4. Question
- 每个关系
r
\mathbf{r}
r有多种表示,那么执行任务时应该如何选择?
文中的Link Prediction任务直接给出具体的 r c \mathbf{r}_{c} rc 和 h \mathbf{h} h(或 t \mathbf{t} t )来预测 t \mathbf{t} t (或 h \mathbf{h} h ), 但实际面对字符串表示的关系关系 r \mathbf{r} r, 应该用哪个 r c \mathbf{r_{c}} rc来表示?
例如从文本中进行关系抽取时就会面临这个问题, 但本文似乎故意略过这一点, 只使用了TransR来执行这项任务, 而没有使用CTransR - 实体对之间不仅要满足 ∥ h + r − t ∥ 2 2 = 0 \left\|\mathbf{h}+\mathbf{r}-\mathbf{t}\right\|_{2}^{2}=0 ∥h+r−t∥22=0的关系, 还应该满足推理的关系. 例如 (goldfish, kind_of, fish) 和 (fish, kind_of, animal) 之间可以推断出 (goldfish, kind_of, animal). 如何使关系表示具备推理能力, 是一个值得思考的点.
3171

被折叠的 条评论
为什么被折叠?



