原始论文: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)。
知识图谱是由一系列表示事实的三元组组成,而知识图谱嵌入方法通过定义评分函数来衡量这些三元组的合理性。
给定一个关系 r r r,计算每个头实体的平均尾实体数( t p h r tphr tphr)和每个尾实体的平均头实体数( h p t r hptr hptr)。
对称/反对称(symmetry/antisymmetry)
相反(Inverse)
对所有 e 1 , e 2 ∈ E e_1,e_2\in\mathcal{E} e1,e2∈E满足 ( 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,e3∈E满足 ( 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,e2∈E满足 ( 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的子关系。
为了克服 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 h∘rH≈t∘rT;否则, h ∘ r H \textbf{h}\circ\textbf{r}^H h∘rH应远离 t ∘ r T \textbf{t}\circ\textbf{r}^T t∘rT。此外,为了消除缩放自由度,向实体嵌入向量添加范数为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)=−∥h∘rH−t∘rT∥
其中, 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,t∈Rd并且 ∥ h ∥ 2 = ∥ t ∥ 2 = 1 \parallel\textbf{h}\parallel^2=\parallel\textbf{t}\parallel^2=1 ∥h∥2=∥t∥2=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 ∥h∘rH−ti∘rT∥<γ
其中, γ \gamma γ是嵌入模型的margin并且 t i ∈ S t_i\in S ti∈S。可以基于上式推断出 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 −γ<h∘rH−ti∘rT<γ−h∘rH−γ<−ti∘rT<γ−h∘rHh∘rH−γ<ti∘rT<h∘rH+γ
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∈⎩⎪⎨⎪⎧((h∘rH−γ)/rT,(h∘rT+γ)/rT),ifrT>0((h∘rH+γ)/rT,(h∘rT−γ)/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来进行调整。
若满足 ( 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 e1∘r1H=e2∘r1T∧e2∘r1H=e1∘r1T⇒(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 e1∘r1H=e2∘r1T∧e2∘r1H=e1∘r1T⇒(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 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 e1∘r1H=e2∘r1T∧e2∘r2H=e1∘r2T⇒r1H∘r2H=r1T∘r2T
若满足 ( 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 e1∘r1H=e2∘r1T∧e2∘r2H=e3∘r2T∧e1∘r3H=e3∘r3T⇒r1T∘r2T∘r3H=r1H∘r2H∘r3T
对于子关系(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,t∈E:(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,t∈E:(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,t∈E:(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,∣αi∣≤1
其中, α ∈ 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)=∥h∘r1H−t∘r1T∥−∥h∘r2H−t∘r2T∥=∥h∘r1H−t∘r1T∥−∥α∘(h∘r1H−t∘r1T)∥≥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=1∑np(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′)