Knowledge Graph Embedding via Dynamic Mapping Matrix

Knowledge Graph Embedding via Dynamic Mapping Matrix

0. 问题

TransR有以下缺点:

  1. 对于某个 r r r , 所有的实体共用一个投影矩阵 M r \mathbf{M_{r}} Mr , 但头实体和尾实体通常不是一个类型的实体.
  2. 投影矩阵 M r \mathbf{M_{r}} Mr 只取决于 r r r , 但应该由实体和关系共同决定.
  3. 每个 r r r 对应一个投影矩阵, 关系多时参数过于庞大.

1. 主要思想

每个实体和关系都用2个向量来表示, 一个向量表示其含义, 另一个向量决定其投影方向.

2. TransR

对于 ( h , r , t ) (h,r,t) (h,r,t), 有向量 h \mathbf{h} h, h p \mathbf{h}_{p} hp, r \mathbf{r} r, r p \mathbf{r}_{p} rp, t \mathbf{t} t, t p \mathbf{t}_{p} tp

其中 h , h p , t , t p ∈ R n \mathbf{h}, \mathbf{h}_{p}, \mathbf{t}, \mathbf{t}_{p} \in \mathbb{R}^{n} h,hp,t,tpRn r \mathbf{r} r, r p ∈ R m \mathbf{r}_{p} \in \mathbb{R}^{m} rpRm

对每个 ( h , r , t ) (h,r,t) (h,r,t), 有2个投影矩阵:
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
其中 I m × n \mathbf{I}^{m \times n} Im×n 表示单位矩阵.

3. TransD和其他Trans模型的联系

1. TransE

m = n m=n m=n h p \mathbf{h}_{p} hp, r p \mathbf{r}_{p} rp, t p \mathbf{t}_{p} tp 设置为零向量时, 可知TransE是TransD的一个特例

2. TransH

TransH模型中
h ⊥ = h − w r h w r t ⊥ = t − w r t w r \begin{aligned} \mathbf{h}_{\perp} &=\mathbf{h}-\mathbf{w}_{r} \mathbf{h} \mathbf{w}_{r} \\ \mathbf{t}_{\perp} &=\mathbf{t}-\mathbf{w}_{r} \mathbf{t}\mathbf{w}_{r} \end{aligned} ht=hwrhwr=twrtwr
TransD模型中
h ⊥ = M r h h = h + h p ⊤ h r p t ⊥ = M r t t = t + t p ⊤ t r p \begin{aligned} \mathbf{h}_{\perp} &=\mathbf{M}_{r h} \mathbf{h}=\mathbf{h}+\mathbf{h}_{p}^{\top} \mathbf{h r}_{p} \\ \mathbf{t}_{\perp} &=\mathbf{M}_{r t} \mathbf{t}=\mathbf{t}+\mathbf{t}_{p}^{\top} \mathbf{t r}_{p} \end{aligned} ht=Mrhh=h+hphrp=Mrtt=t+tptrp
由此可看到, TransH中投影的方向只取决于 r r r, 而在TransD中, 由 e e e r r r 共同决定.

3. TransR

TransR为每个 r r r 都分配了一个矩阵, 而TransD为每个实体和关系分配一个向量, 以向量的乘积代替矩阵, 有效减少了模型的参数量.

你可能感兴趣的:(知识表示)