【自然语言处理】【知识图谱】知识图谱表示学习(五):【PairRE】基于成对关系向量的知识图谱嵌入

知识图谱表示学习(五)
PairRE:基于成对关系向量的知识图谱嵌入

原始论文:https://arxiv.org/pdf/2011.03798.pdf

【自然语言处理】【知识图谱】知识图谱表示学习(一):TransE、TransH、TransR、CTransR、TransD
【自然语言处理】【知识图谱】知识图谱表示学习(二):TranSparse、PTransE、TransA、KG2E、TransG
【自然语言处理】【知识图谱】知识图谱表示学习(三):SE、SME、LFM、RESCAL、HOLE
【自然语言处理】【知识图谱】知识图谱表示学习(四):【RotatE】基于复数空间关系旋转的知识图谱嵌入
【自然语言处理】【知识图谱】知识图谱表示学习(五):【PairRE】基于成对关系向量的知识图谱嵌入

一、简介

​ 基于距离的知识图谱嵌入方法在链接预测任务上效果显著。在链接预测任务中,存在两个被广泛研究的主题:(1) 处理复杂关系的能力,例如: N-to-1 \text{N-to-1} N-to-1 1-to-N \text{1-to-N} 1-to-N N-to-No \text{N-to-No} N-to-No;(2) 编码各种关系模式,例如对称(symmetry)/反对称(antisymmetry)。然而,现存的方法并不能同时解决这两个问题。因此,本文提出了一种基于成对关系向量的嵌入模型 PairRE \text{PairRE} PairRE。这种成对的关系向量能够自动适应损失函数中的margin来拟合复杂关系,还能够编码三种重要的关系模式(symmetry/antisymmetry、inverse、composition)。此外,在关系表示向量上添加简单的约束后, PairRE \text{PairRE} PairRE能够进一步编码子关系(subrelation)。

二、符号与概念

​ 知识图谱是由一系列表示事实的三元组组成,而知识图谱嵌入方法通过定义评分函数来衡量这些三元组的合理性。

  • 本文使用 ( h , r , t ) (h,r,t) (h,r,t)表示三元组,其中 h h h表示头实体, r r r表示关系, t t t表示尾实体;
  • 使用小写黑体字母来表示集合 E \mathcal{E} E R \mathcal{R} R中的实体和关系;
  • 使用 T \mathcal{T} T表示真实世界中存在的三元组;
  • f r ( h , t ) f_r(h,t) fr(h,t)表示评分函数;

1. 复杂关系

​ 给定一个关系 r r r,计算每个头实体的平均尾实体数( t p h r tphr tphr)和每个尾实体的平均头实体数( h p t r hptr hptr)。

  • t p h r < 1.5 tphr<1.5 tphr<1.5 h p t r < 1.5 hptr<1.5 hptr<1.5,则关系 r r r 1-to-1 \text{1-to-1} 1-to-1
  • t p h r > 1.5 tphr>1.5 tphr>1.5 h p t r > 1.5 hptr>1.5 hptr>1.5,则关系 r r r N-to-N \text{N-to-N} N-to-N
  • t p h r > 1.5 tphr>1.5 tphr>1.5 h p t r < 1.5 hptr<1.5 hptr<1.5,则关系 r r r 1-to-N \text{1-to-N} 1-to-N

2. 关系模式

  • 对称/反对称(symmetry/antisymmetry)

    • 对于所有的 e 1 , e 2 ∈ E e_1,e_2\in\mathcal{E} e1,e2E满足 ( e 1 , r , e 2 ) ∈ T ⇔ ( e 2 , r , e 1 ) ∈ T (e_1,r,e_2)\in\mathcal{T}\Leftrightarrow(e_2,r,e_1)\in\mathcal{T} (e1,r,e2)T(e2,r,e1)T,则关系 r r r是对称关系(symmetry);
    • 对于所有的 e 1 , e 2 ∈ E e_1,e_2\in\mathcal{E} e1,e2E满足 ( e 1 , r , e 2 ) ∈ T ⇒ ( e 2 , r , e 1 ) ∉ T (e_1,r,e_2)\in\mathcal{T}\Rightarrow(e_2,r,e_1)\notin\mathcal{T} (e1,r,e2)T(e2,r,e1)/T,则称关系 r r r是反对称关系(antisymmetry);
  • 相反(Inverse)

    对所有 e 1 , e 2 ∈ E e_1,e_2\in\mathcal{E} e1,e2E满足 ( e 1 , r 1 , e 2 ) ∈ T ⇔ ( e 2 , r 2 , e 1 ) ∈ T (e_1,r_1,e_2)\in\mathcal{T}\Leftrightarrow(e_2,r_2,e_1)\in\mathcal{T} (e1,r1,e2)T(e2,r2,e1)T,则称 r 1 r_1 r1 r 2 r_2 r2是相反关系(inverse);

  • 组合(composition)

    对所有 e 1 , e 2 , e 3 ∈ E e_1,e_2,e_3\in\mathcal{E} e1,e2,e3E满足 ( e 1 , r 1 , e 2 ) ∈ T ∧ ( e 2 , r 2 , e 3 ) ∈ T ⇒ ( e 1 , r 3 , e 3 ) ∈ T (e_1,r_1,e_2)\in\mathcal{T}\land(e_2,r_2,e_3)\in\mathcal{T}\Rightarrow (e_1,r_3,e_3)\in\mathcal{T} (e1,r1,e2)T(e2,r2,e3)T(e1,r3,e3)T,则关系 r 3 r_3 r3可以看作是 r 1 r_1 r1 r 2 r_2 r2的组合。

  • 子关系(subrelation)

    对所有 e 1 , e 2 ∈ E e_1,e_2\in\mathcal{E} e1,e2E满足 ( e 1 , r 1 , e 2 ) ∈ T ⇒ ( e 1 , r 2 , e 2 ) ∈ T (e_1,r_1,e_2)\in\mathcal{T}\Rightarrow(e_1,r_2,e_2)\in\mathcal{T} (e1,r1,e2)T(e1,r2,e2)T,那么 r 2 r_2 r2可以看作是 r 1 r_1 r1的子关系。

三、 PairRE \text{PairRE} PairRE

​ 为了克服 1-to-N/N-to-1/N-to-N \text{1-to-N/N-to-1/N-to-N} 1-to-N/N-to-1/N-to-N这种复杂关系的问题,论文提出了一种成对关系向量模型 PairRE \text{PairRE} PairRE。给定一个三元组 ( h , r , t ) (h,r,t) (h,r,t) PairRE \text{PairRE} PairRE会在实数空间中学习实体和关系的嵌入向量。具体来说, PairRE \text{PairRE} PairRE会将关系嵌入成两个向量,分别为 [ r H , r T ] [\textbf{r}^H,\textbf{r}^T] [rH,rT] r H \textbf{r}^H rH r T \textbf{r}^T rT分别用于将头实体 h h h和尾实体 t t t投影至欧式空间,投影的操作则采用Hadamard积。 PairRE \text{PairRE} PairRE最终会计算投影后两个向量的距离,并作为该三元组是否合理的拼接。形式化的来说,对于真实存在的三元组 ( h , r , t ) (h,r,t) (h,r,t),期望 h ∘ r H ≈ t ∘ r T \textbf{h}\circ\textbf{r}^H\approx\textbf{t}\circ\textbf{r}^T hrHtrT;否则, h ∘ r H \textbf{h}\circ\textbf{r}^H hrH应远离 t ∘ r T \textbf{t}\circ\textbf{r}^T trT。此外,为了消除缩放自由度,向实体嵌入向量添加范数为1的约束。

​ 最终,评分函数定义为
f r ( h , t ) = − ∥ h ∘ r H − t ∘ r T ∥ f_r(\textbf{h},\textbf{t})=-\parallel \textbf{h}\circ\textbf{r}^H-\textbf{t}\circ\textbf{r}^T \parallel fr(h,t)=hrHtrT
其中, h , r H , r T , t ∈ R d \textbf{h},\textbf{r}^H,\textbf{r}^T,\textbf{t}\in\mathbb{R}^d h,rH,rT,tRd并且 ∥ h ∥ 2 = ∥ t ∥ 2 = 1 \parallel\textbf{h}\parallel^2=\parallel\textbf{t}\parallel^2=1 h2=t2=1

此外,将所有的实体嵌入向量表示为 { e j } j = 1 E \{\textbf{e}_j\}_{j=1}^\mathcal{E} {ej}j=1E,所有的关系嵌入向量表示为 { r j } j = 1 R \{\textbf{r}_j\}_{j=1}^\mathcal{R} {rj}j=1R

四、建模复杂关系

​ 相比于 TransE/RotatE \text{TransE/RotatE} TransE/RotatE PairRE \text{PairRE} PairRE能够对不同的关系获取不同的向量表示。此外,成对的关系向量能够自适应损失函数中的margin,从而减少建模复杂关系的问题。

​ 以 1-to-N \text{1-to-N} 1-to-N关系为例。为了更加的解释 PairRE \text{PairRE} PairRE,不失一般性地,设嵌入向量的维度为1且没有对向量范数的约束。给定一个三元组 ( h , r , ? ) (h,r,?) (h,r,?),该三元组的正确尾实体位于集合 S = { t 1 , t 2 , … , t N } S=\{t_1,t_2,\dots,t_N\} S={t1,t2,,tN},那么 PairRE \text{PairRE} PairRE通过下面的公式来预测真正的尾实体
∥ h ∘ r H − t i ∘ r T ∥ < γ \parallel \textbf{h}\circ\textbf{r}^H-\textbf{t}_i\circ\textbf{r}^T \parallel < \gamma hrHtirT<γ
其中, γ \gamma γ是嵌入模型的margin并且 t i ∈ S t_i\in S tiS。可以基于上式推断出 t i t_i ti值位于下面的区间:

推导:
− γ < h ∘ r H − t i ∘ r T < γ − h ∘ r H − γ < − t i ∘ r T < γ − h ∘ r H h ∘ r H − γ < t i ∘ r T < h ∘ r H + γ -\gamma<\textbf{h}\circ\textbf{r}^H-\textbf{t}_i\circ\textbf{r}^T<\gamma \\ -\textbf{h}\circ\textbf{r}^H-\gamma<-\textbf{t}_i\circ\textbf{r}^T<\gamma-\textbf{h}\circ\textbf{r}^H \\ \textbf{h}\circ\textbf{r}^H-\gamma<\textbf{t}_i\circ\textbf{r}^T<\textbf{h}\circ\textbf{r}^H+\gamma γ<hrHtirT<γhrHγ<tirT<γhrHhrHγ<tirT<hrH+γ

t i ∈ { ( ( h ∘ r H − γ ) / r T , ( h ∘ r T + γ ) / r T ) , if    r T > 0 ( ( h ∘ r H + γ ) / r T , ( h ∘ r T − γ ) / r T ) , if    r T < 0 ( − ∞ , + ∞ ) , otherwise \textbf{t}_i\in \begin{cases} ((\textbf{h}\circ\textbf{r}^H-\gamma)/\textbf{r}^T,(\textbf{h}\circ\textbf{r}^T+\gamma)/\textbf{r}^T),\text{if}\;\textbf{r}^T>0 \\ ((\textbf{h}\circ\textbf{r}^H+\gamma)/\textbf{r}^T,(\textbf{h}\circ\textbf{r}^T-\gamma)/\textbf{r}^T),\text{if}\;\textbf{r}^T<0 \\ (-\infty,+\infty),\text{otherwise} \\ \end{cases} ti((hrHγ)/rT,(hrT+γ)/rT),ifrT>0((hrH+γ)/rT,(hrTγ)/rT),ifrT<0(,+),otherwise

​ 从上面的分析可以看到 PairRE \text{PairRE} PairRE可以通过调整 r T \text{r}^T rT来调整 t i \textbf{t}_i ti所处的区间,从而适应候选集 S S S的大小。 TransE \text{TransE} TransE RotatE \text{RotatE} RotatE对于所有的复杂关系类型都只有固定的margin。当候选集 S S S太大的话,这些模型很难拟合数据。

​ 同理,对于 N-to-1 \text{N-to-1} N-to-1关系,可以通过 r H \textbf{r}^H rH来进行调整。

五、建模关系模式

1. PairRE \text{PairRE} PairRE能够编码symmetry/antisymmetry关系模式

​ 若满足 ( e 1 , r 1 , e 2 ) ∈ T (e_1,r_1,e_2)\in\mathcal{T} (e1,r1,e2)T ( e 2 , r 1 , e 1 ) ∈ T (e_2,r_1,e_1)\in\mathcal{T} (e2,r1,e1)T,有
e 1 ∘ r 1 H = e 2 ∘ r 1 T ∧ e 2 ∘ r 1 H = e 1 ∘ r 1 T ⇒ ( r 1 H ) 2 = ( r 1 T ) 2 \textbf{e}_1\circ\textbf{r}_1^H=\textbf{e}_2\circ\textbf{r}_1^T\land\textbf{e}_2\circ\textbf{r}_1^H=\textbf{e}_1\circ\textbf{r}_1^T \Rightarrow (\textbf{r}_1^H)^2=(\textbf{r}_1^T)^2 e1r1H=e2r1Te2r1H=e1r1T(r1H)2=(r1T)2
​ 类似地,若满足 ( e 1 , r 1 , e 2 ) ∈ T (e_1,r_1,e_2)\in\mathcal{T} (e1,r1,e2)T ( e 2 , r 1 , e 1 ) ∉ T (e_2,r_1,e_1)\notin\mathcal{T} (e2,r1,e1)/T,有
e 1 ∘ r 1 H = e 2 ∘ r 1 T ∧ e 2 ∘ r 1 H ≠ e 1 ∘ r 1 T ⇒ ( r 1 H ) 2 ≠ ( r 1 T ) 2 \textbf{e}_1\circ\textbf{r}_1^H=\textbf{e}_2\circ\textbf{r}_1^T\land\textbf{e}_2\circ\textbf{r}_1^H\neq\textbf{e}_1\circ\textbf{r}_1^T \Rightarrow (\textbf{r}_1^H)^2\neq(\textbf{r}_1^T)^2 e1r1H=e2r1Te2r1H=e1r1T(r1H)2=(r1T)2

2. PairRE \text{PairRE} PairRE能够编码inverse关系模式

​ 若满足 ( e 1 , r 1 , e 2 ) ∈ T (e_1,r_1,e_2)\in\mathcal{T} (e1,r1,e2)T ( e 2 , r 2 , e 1 ) ∈ T (e_2,r_2,e_1)\in\mathcal{T} (e2,r2,e1)T,有
e 1 ∘ r 1 H = e 2 ∘ r 1 T ∧ e 2 ∘ r 2 H = e 1 ∘ r 2 T ⇒ r 1 H ∘ r 2 H = r 1 T ∘ r 2 T \textbf{e}_1\circ\textbf{r}_1^H=\textbf{e}_2\circ\textbf{r}_1^T\land\textbf{e}_2\circ\textbf{r}_2^H=\textbf{e}_1\circ\textbf{r}_2^T\Rightarrow \textbf{r}_1^H\circ\textbf{r}_2^H=\textbf{r}_1^T\circ\textbf{r}_2^T e1r1H=e2r1Te2r2H=e1r2Tr1Hr2H=r1Tr2T

3. PairRE \text{PairRE} PairRE能够编码composition关系模式

​ 若满足 ( e 1 , r 1 , e 2 ) ∈ T , ( e 2 , r 2 , e 3 ) ∈ T (e_1,r_1,e_2)\in\mathcal{T},(e_2,r_2,e_3)\in\mathcal{T} (e1,r1,e2)T,(e2,r2,e3)T ( e 1 , r 3 , e 3 ) ∈ T (e_1,r_3,e_3)\in\mathcal{T} (e1,r3,e3)T,有
e 1 ∘ r 1 H = e 2 ∘ r 1 T ∧ e 2 ∘ r 2 H = e 3 ∘ r 2 T ∧ e 1 ∘ r 3 H = e 3 ∘ r 3 T ⇒ r 1 T ∘ r 2 T ∘ r 3 H = r 1 H ∘ r 2 H ∘ r 3 T \textbf{e}_1\circ\textbf{r}_1^H=\textbf{e}_2\circ\textbf{r}_1^T\land\textbf{e}_2\circ\textbf{r}_2^H=\textbf{e}_3\circ\textbf{r}_2^T\land\textbf{e}_1\circ\textbf{r}_3^H=\textbf{e}_3\circ\textbf{r}_3^T\Rightarrow\textbf{r}_1^T\circ\textbf{r}_2^T\circ\textbf{r}_3^H=\textbf{r}_1^H\circ\textbf{r}_2^H\circ\textbf{r}_3^T e1r1H=e2r1Te2r2H=e3r2Te1r3H=e3r3Tr1Tr2Tr3H=r1Hr2Hr3T

4. PairRE \text{PairRE} PairRE能在某些约束下编码子关系模型

​ 对于子关系(subrelation),存在 h , t ∈ E : ( h , r 1 , t ) → ( h , r 2 , t ) h,t\in\mathcal{E}:(h,r_1,t)\rightarrow(h,r_2,t) h,tE:(h,r1,t)(h,r2,t)。该公式表示 ( h , r 2 , t ) (h,r_2,t) (h,r2,t)总是比三元组 ( h , r 1 , t ) (h,r_1,t) (h,r1,t)更可信。要编码这种类型的关系, PairRE \text{PairRE} PairRE需要能学习到 f r 2 ( h , r 2 , t ) ≥ f r 1 ( h , r 1 , t ) f_{r_2}(h,r_2,t)\geq f_{r_1}(h,r_1,t) fr2(h,r2,t)fr1(h,r1,t)的能力。

​ 假设存在一个子关系对 r 1 , r 2 r_1,r_2 r1,r2 ∀ h , t ∈ E : ( h , r 1 , t ) → ( h , r 2 , t ) \forall h,t\in\mathcal{E}:(h,r_1,t)\rightarrow(h,r_2,t) h,tE:(h,r1,t)(h,r2,t),那么对成对关系向量施加下面的约束

假设一个子关系对 r 1 r_1 r1 r 2 r_2 r2 ∀ h , t ∈ E : ( h , r 1 , t ) → ( h , r 2 , t ) \forall h,t\in\mathcal{E}:(h,r_1,t)\rightarrow(h,r_2,t) h,tE:(h,r1,t)(h,r2,t),我们施加下面的约束
r 2 , i H r 1 , i H = r 2 , i T r 1 , i T = α i , ∣ α i ∣ ≤ 1 \frac{\textbf{r}_{2,i}^H}{\textbf{r}_{1,i}^H}=\frac{\textbf{r}_{2,i}^T}{\textbf{r}_{1,i}^T}=\alpha_i,|\alpha_i|\leq1 r1,iHr2,iH=r1,iTr2,iT=αi,αi1
其中, α ∈ R d \alpha\in\mathbb{R}^d αRd

那么有
f r 2 ( h , t ) − f r 1 ( h , t ) = ∥ h ∘ r 1 H − t ∘ r 1 T ∥ − ∥ h ∘ r 2 H − t ∘ r 2 T ∥ = ∥ h ∘ r 1 H − t ∘ r 1 T ∥ − ∥ α ∘ ( h ∘ r 1 H − t ∘ r 1 T ) ∥ ≥ 0 \begin{aligned} f_{r_2}(h,t)-f_{r_1}(h,t) &=\parallel\textbf{h}\circ\textbf{r}_1^H-\textbf{t}\circ\textbf{r}_1^T\parallel-\parallel\textbf{h}\circ\textbf{r}_2^H-\textbf{t}\circ\textbf{r}_2^T\parallel \\ &=\parallel\textbf{h}\circ\textbf{r}_1^H-\textbf{t}\circ\textbf{r}_1^T\parallel-\parallel\alpha\circ(\textbf{h}\circ\textbf{r}_1^H-\textbf{t}\circ\textbf{r}_1^T)\parallel \geq 0 \end{aligned} fr2(h,t)fr1(h,t)=hr1Htr1Thr2Htr2T=hr1Htr1Tα(hr1Htr1T)0

f r 2 ( h , t ) ≥ f r 1 ( h , t ) f_{r_2}(h,t)\geq f_{r_1}(h,t) fr2(h,t)fr1(h,t)
因此, PairRE \text{PairRE} PairRE能够强制 ( h , r 2 , t ) (h,r_2,t) (h,r2,t) ( h , r 1 , t ) (h,r_1,t) (h,r1,t)更加合理。

六、模型优化

​ 为了优化模型,论文采用自对抗负采样损失函数来训练。
L = − l o g    σ ( γ − f r ( h,t ) ) − ∑ i = 1 n p ( h i ′ , r , t i ′ ) l o g    σ ( f r ( h i ′ , t i ′ ) − γ ) L=-log\;\sigma(\gamma-f_r(\textbf{h,t}))-\sum_{i=1}^np(h_i',r,t_i')log\;\sigma(f_r(\textbf{h}_i',\textbf{t}_i')-\gamma) L=logσ(γfr(h,t))i=1np(hi,r,ti)logσ(fr(hi,ti)γ)
其中, γ \gamma γ是固定的margin且 σ \sigma σ是sigmoid函数。 ( h i ′ , r , t i ′ ) (h_i',r,t_i') (hi,r,ti)是第 i i i个负三元组, p ( h i ′ , r , t i ′ ) p(h_i',r,t_i') p(hi,r,ti)表示这个负三元组的权重。

p ( h i ′ , r , t i ′ ) p(h_i',r,t_i') p(hi,r,ti)的定义如下
p ( ( h i ′ , r , t i ′ ) ∣ ( h , r , t ) ) = exp    f r ( h i ′ , t i ′ ) ∑ j exp    f r ( h j ′ , t j ′ ) p((h_i',r,t_i')|(h,r,t))=\frac{\text{exp}\;f_r(h_i',t_i')}{\sum_j\text{exp}\;f_r(h_j',t_j')} p((hi,r,ti)(h,r,t))=jexpfr(hj,tj)expfr(hi,ti)

你可能感兴趣的:(自然语言处理,知识图谱,自然语言处理,人工智能,图谱嵌入,PairRE)