TransR有以下缺点:
每个实体和关系都用2个向量来表示, 一个向量表示其含义, 另一个向量决定其投影方向.
对于 ( 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,tp∈Rn 而 r \mathbf{r} r, r p ∈ R m \mathbf{r}_{p} \in \mathbb{R}^{m} rp∈Rm
对每个 ( 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 表示单位矩阵.
当 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的一个特例
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} h⊥t⊥=h−wrhwr=t−wrtwr
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} h⊥t⊥=Mrhh=h+hp⊤hrp=Mrtt=t+tp⊤trp
由此可看到, TransH中投影的方向只取决于 r r r, 而在TransD中, 由 e e e 和 r r r 共同决定.
TransR为每个 r r r 都分配了一个矩阵, 而TransD为每个实体和关系分配一个向量, 以向量的乘积代替矩阵, 有效减少了模型的参数量.