【自然语言处理】【知识图谱】知识图谱表示学习(二):TranSparse、PTransE、TransA、KG2E、TransG

知识图谱表示学习(二)TransSparse,PTransE,TransA,KG2E,TransG

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

一、符号

  • 使用G = ( E , R , T ) G=(E,R,T)G =(E ,R ,T )来表示完整的知识图谱,其中E = { e 1 , e 2 , … , e ∣ E ∣ } E={e_1,e_2,\dots,e_{|E|}}E ={e 1 ​,e 2 ​,…,e ∣E ∣​}表示实体集合,R = { r 1 , r 2 , … , r ∣ R ∣ } R={r_1,r_2,\dots,r_{|R|}}R ={r 1 ​,r 2 ​,…,r ∣R ∣​}表示关系集合,T T T表示三元组集合,∣ E ∣ |E|∣E ∣和∣ R ∣ |R|∣R ∣表示实体和关系的数量。
  • 知识图谱以三元组⟨ h , r , t ⟩ \langle h,r,t\rangle ⟨h ,r ,t ⟩的形式表示,其中h ∈ E h\in E h ∈E表示头实体,t ∈ E t\in E t ∈E表示尾实体,r ∈ R r\in R r ∈R表示h h h和t t t间的关系。

二、TranSparse

  • 动机 TranSparse \text{TranSparse}TranSparse主要希望解决两个问题:
  • 异质性 知识图谱中的关系粒度是不同的。一些复杂的关系可能会连接许多的实体对,但是简单的关系并不会。
  • 不平衡 一些关系可能会连接很多的头实体,但连接的尾实体较少,反之亦然。 因此,如果考虑这些因素,而不仅仅是同等对待所有关系,那么就能得到进一步的改善。像TransR \text{TransR}TransR这样的方法会为每个关系构建一个投影矩阵,但是每个关系的投影矩阵都具有相同的参数量,而没有考虑关系本身的复杂度问题。TranSpare \text{TranSpare}TranSpare主要是解决这个问题,其主要假设是复杂关系应该比简单关键具有更多的参数量。一个关系的复杂度主要是依据关系连接的三元组或实体决定的。
  • 方法 TranSpare \text{TranSpare}TranSpare主要有两个版本,分别是TranSpare(share) \text{TranSpare(share)}TranSpare(share)和TranSpare(separate) \text{TranSpare(separate)}TranSpare(separate)。
  • TranSpare(share) \text{TranSpare(share)}TranSpare(share) 类似于TransR \text{TransR}TransR,该方法会为每个关系构建一个投影矩阵M r ( θ r ) \textbf{M}_r(\theta_r)M r ​(θr ​)。这个投影矩阵是稀疏的,其中稀疏度θ r \theta_r θr ​主要依赖于关系r r r连接的实体对数。设N r N_r N r ​是连接实体对的数量,N r ∗ N_r^N r ∗​表示所有N r N_r N r ​的最大数,θ m i n ( 0 ≤ θ m i n ≤ 1 ) \theta_{min}(0\leq\theta_{min}\leq 1)θm i n ​(0 ≤θm i n ​≤1 )表示投影矩阵M r \text{M}r M r ​最小稀疏度,那么关系r r r的稀疏度定义为
    θ r = 1 − ( 1 − θ m i n ) N r / N r ∗ \theta_r=1-(1-\theta
    {min})N_r/N_r^
    θr ​=1 −(1 −θm i n ​)N r ​/N r ∗​
    头尾实体会共享相同的稀疏矩阵M r ( θ r ) \textbf{M}_r(\theta_r)M r ​(θr ​)。评分函数为
    E ( h , r , t ) = ∥ M r ( θ r ) h + r − M r ( θ r ) t ∥ \mathcal{E}(h,r,t)=\parallel \textbf{M}_r(\theta_r)\textbf{h}+\textbf{r}-\textbf{M}_r(\theta_r)\textbf{t}\parallel E (h ,r ,t )=∥M r ​(θr ​)h +r −M r ​(θr ​)t ∥
  • TranSpare(separate) \text{TranSpare(separate)}TranSpare(separate) 不同于TranSpare(share) \text{TranSpare(share)}TranSpare(share),TranSpare(separate) \text{TranSpare(separate)}TranSpare(separate)会为头尾实体构建两个不同的稀疏矩阵M r h ( θ r h ) \textbf{M}{rh}(\theta{rh})M r h ​(θr h ​)和M r t ( θ r t ) \textbf{M}{rt}(\theta{rt})M r t ​(θr t ​)。稀疏度θ r h \theta_{rh}θr h ​和θ r t \theta_{rt}θr t ​分别依赖关系r r r连接头实体和尾实体的数量。令N r h N_{rh}N r h ​和N r t N_{rt}N r t ​表示头尾实体的数量,N r h ∗ N_{rh}^N r h ∗​和N r t ∗ N_{rt}^N r t ∗​表示N r h N_{rh}N r h ​和N r t N_{rt}N r t ​的最大值,θ m i n \theta_{min}θm i n ​仍然被设为投影矩阵的最小稀疏度,则有
    θ r h = 1 − ( 1 − θ m i n ) N r h / N r h ∗ , θ r t = 1 − ( 1 − θ m i n ) N r t / N r t ∗ \theta_{rh}=1-(1-\theta_{min})N_{rh}/N_{rh}^,\quad\theta_{rt}=1-(1-\theta_{min})N_{rt}/N_{rt}^θr h ​=1 −(1 −θm i n ​)N r h ​/N r h ∗​,θr t ​=1 −(1 −θm i n ​)N r t ​/N r t ∗​
    评分函数为
    E ( h , r , t ) = ∥ M r h ( θ r h ) h + r − M r t ( θ r t ) t ∥ \mathcal{E}(h,r,t)=\parallel \textbf{M}{rh}(\theta{rh})\textbf{h}+\textbf{r}-\textbf{M}{rt}(\theta{rt})\textbf{t}\parallel E (h ,r ,t )=∥M r h ​(θr h ​)h +r −M r t ​(θr t ​)t ∥

三、PTransE

  • 动机 TransE \text{TransE}TransE模型仅考虑 一跳关系,忽略了整个知识图谱中丰富的全局信息。在模型中考虑 多跳关系是一种利用全局信息的可行方法。举例来说,考虑多跳关系
    ⟨ The forbidden city,locate_in,Beijing ⟩ → ⟨ Beijing,captial_of,China ⟩ \langle\text{The forbidden city,locate_in,Beijing}\rangle\rightarrow\langle\text{Beijing,captial_of,China}\rangle ⟨The forbidden city,locate_in,Beijing ⟩→⟨Beijing,captial_of,China ⟩
    那么可以推断出三元组⟨ The forbidden city,locate_in,China ⟩ \langle\text{The forbidden city,locate_in,China}\rangle ⟨The forbidden city,locate_in,China ⟩。 编码多跳关系主要面临两个挑战。
  • 如何从知识图谱海量的候选路径中挑选出可靠且具有真实意义的路径?
  • 在关系路径中存在着复合语义问题,那么如何建模这些有意义的关系路径?
  • 方法
  • PCRA \text{PCRA}PCRA PTransE \text{PTransE}PTransE的目标是解决多跳关系路径问题。为了能够挑选出有意义的关系路径,作者提出了一种称为PCRA(Path-Constraint Resource Allocation) \text{PCRA(Path-Constraint Resource Allocation)}PCRA(Path-Constraint Resource Allocation)的算法来判断一条路径的可靠性。 假设头实体h h h中存在着一些信息,这些信息沿着一些路径最终传递至尾实体t t t。那么算法PCRA \text{PCRA}PCRA的基础假设是:头实体中的信息经由路径l l l传递至尾实体越多,那么路径l l l就越可靠。 正式来说,令l = ( r 1 , … , r l ) l=(r_1,\dots,r_l)l =(r 1 ​,…,r l ​)为h h h和t t t之间的一条具体路径。那么信息从h h h传递至t t t的路径可以表示为
    S 0 / h → r 1 S 1 → r 2 … → r l S l / t S_0/h\mathop{\rightarrow}^{r_1}S_1\mathop{\rightarrow}^{r_2}\dots\mathop{\rightarrow}^{r_l}S_l/t S 0 ​/h →r 1 ​S 1 ​→r 2 ​…→r l ​S l ​/t
    对于给定的一个实体m ∈ S i m\in S_i m ∈S i ​,那么传递至m m m的信息量定义为
    R l ( m ) = ∑ n ∈ S i − 1 ( ⋅ , m ) 1 ∣ S i ( n , ⋅ ) ∣ R l ( n ) R_l(m)=\sum_{n\in S_{i-1}(\cdot,m)}\frac{1}{|S_i(n,\cdot)|}R_l(n)R l ​(m )=n ∈S i −1 ​(⋅,m )∑​∣S i ​(n ,⋅)∣1 ​R l ​(n )
    其中,S i − 1 ( ⋅ , m ) S_{i-1}(\cdot,m)S i −1 ​(⋅,m )是实体m m m沿着关系r i r_i r i ​的所有直接前继节点,这些前继节点位于S i − 1 S_{i-1}S i −1 ​;S i ( n , ⋅ ) S_i(n,\cdot)S i ​(n ,⋅)表示节点n ∈ S i − 1 n\in S_{i-1}n ∈S i −1 ​的所有后继节点。最终,传统至尾实体t t t的信息量为R l ( t ) R_l(t)R l ​(t ),该值用于衡量三元组⟨ h , r , t ⟩ \langle h,r,t\rangle ⟨h ,r ,t ⟩是否可靠。
  • PTransE \text{PTransE}PTransE 在挑选出可靠的路径后,就需要为多跳路径进行有意义的建模。PTransE \text{PTransE}PTransE提出了三种方式建模多跳路径,分别是:加、乘和递归神经网络,从而获得了路径l = ( r 1 , … , r l ) \mathcal{l}=(r_1,\dots,r_l)l =(r 1 ​,…,r l ​)的向量表示l \textbf{l}l。 最终路径三元组⟨ h , l , t ⟩ \langle h,l,t\rangle ⟨h ,l ,t ⟩定义为
    E ( h , l , t ) = ∥ l-(t-h) ∥ ≈ ∥ l-r ∥ = E ( l , r ) \mathcal{E}(h,l,t)=\parallel\textbf{l-(t-h)}\parallel\approx\parallel\textbf{l-r}\parallel=\mathcal{E}(l,r)E (h ,l ,t )=∥l-(t-h)∥≈∥l-r ∥=E (l ,r )
    其中,r r r表示实体h h h和t t t的真实关系。 PTransE \text{PTransE}PTransE在建模多跳路径的同时,也需要像TransE \text{TransE}TransE那么满足r ≈ t-h \textbf{r}\approx\textbf{t-h}r ≈t-h,因此PTransE \text{PTransE}PTransE也需要直接利用r \textbf{r}r进行训练。PTransE \text{PTransE}PTransE的优化目标为
    L = ∑ ( h , r , t ) ∈ S [ L ( h , r , t ) + 1 Z ∑ l ∈ P ( h , t ) R ( l ∣ h , t ) L ( l , r ) ] \mathcal{L}=\sum_{(h,r,t)\in S}[\mathcal{L}(h,r,t)+\frac{1}{Z}\sum_{l\in P(h,t)}R(l|h,t)\mathcal{L}(l,r)]L =(h ,r ,t )∈S ∑​[L (h ,r ,t )+Z 1 ​l ∈P (h ,t )∑​R (l ∣h ,t )L (l ,r )]
    其中,L ( h , r , t ) \mathcal{L}(h,r,t)L (h ,r ,t )就是基于评分函数E ( h , r , t ) \mathcal{E}(h,r,t)E (h ,r ,t )的损失函数,L ( l , r ) \mathcal{L}(l,r)L (l ,r )则是基于评分函数E ( l , r ) \mathcal{E}(l,r)E (l ,r )的损失函数,R ( l ∣ h , t ) R(l|h,t)R (l ∣h ,t )是路径三元组( h , l , t ) (h,l,t)(h ,l ,t )中路径l l l的可靠性。

四、TransA

  • 动机 TransA \text{TransA}TransA解决了TransE \text{TransE}TransE及其相关扩展模型的几个问题:
  • TransE \text{TransE}TransE及其扩展模型中仅考虑了欧式距离,这意味着缺少灵活性;
  • 当前的这些方法会同等对待语义向量空间中的每个维度,这可能会在计算相似度的时候带来误差;
  • 方法

【自然语言处理】【知识图谱】知识图谱表示学习(二):TranSparse、PTransE、TransA、KG2E、TransG

TransA \text{TransA}TransA将欧式距离换成了马氏距离,其具有更好的适应性和灵活性。评分函数定义为
E ( h , r , t ) = ( ∣ h+r-t ∣ ) ⊤ W r ( ∣ h+r-t ∣ ) \mathcal{E}(h,r,t)=(|\textbf{h+r-t}|)^\top\textbf{W}_r(|\textbf{h+r-t}|)E (h ,r ,t )=(∣h+r-t ∣)⊤W r ​(∣h+r-t ∣)
其中,W r \textbf{W}_r W r ​是针对具体关系的非负、对称的自适应矩阵。其中,∣ h+r-t ∣ |\textbf{h+r-t}|∣h+r-t ∣是非负向量,每个维度都是翻译操作的决定值。
( ∣ h+r-t ∣ ) = △ ( ∣ h 1 + r 1 − t 1 ∣ , ∣ h 2 + r 2 − t 2 ∣ , … , ∣ h n + r n − t n ∣ ) (|\textbf{h+r-t}|)\mathop{=}^\triangle(|h_1+r_1-t_1|,|h_2+r_2-t_2|,\dots,|h_n+r_n-t_n|)(∣h+r-t ∣)=△(∣h 1 ​+r 1 ​−t 1 ​∣,∣h 2 ​+r 2 ​−t 2 ​∣,…,∣h n ​+r n ​−t n ​∣)

; 五、KG2E

  • 动机 目前这些基于翻译的模型通常会将实体和关系看作是低维语义空间中的向量。但是,知识图谱中的实体和关系粒度是不同的。因此,被用来区分正三元组和负三元组的基于边界的损失函数应该更加灵活,从而适应知识图谱的灵活性。
  • 方法

【自然语言处理】【知识图谱】知识图谱表示学习(二):TranSparse、PTransE、TransA、KG2E、TransG

为了解决上面的问题,KG2E \text{KG2E}KG2E在知识图谱表示中引入了多维高斯分布。KG2E \text{KG2E}KG2E将每个实体和关系表示成一个高斯分布。具体来说,高斯分布中的均值向量是实体(关系)的中心位置,协方差矩阵则是表示不确定性。为了能够学习到实体和关系的高斯分布,KG2E \text{KG2E}KG2E仍然使用TransE \text{TransE}TransE中的评分函数。对于三元组⟨ h , r , t ⟩ \langle h,r,t\rangle ⟨h ,r ,t ⟩,实体和关系的高斯分布定义为
h ∼ N ( u h , Σ h ) , t ∼ N ( u t , Σ t ) , r ∼ N ( u r , Σ r ) \textbf{h}\sim\mathcal{N}(u_h,\Sigma_h),\quad\textbf{t}\sim\mathcal{N}(u_t,\Sigma_t),\quad\textbf{r}\sim\mathcal{N}(u_r,\Sigma_r)h ∼N (u h ​,Σh ​),t ∼N (u t ​,Σt ​),r ∼N (u r ​,Σr ​)
考虑到效率问题,协方差矩阵是对角阵。KG2E \text{KG2E}KG2E假设头结点和尾结点是独立的,那么翻译操作就定义为h-t就定义为
h-t = e ∼ N ( u h − u t , Σ h + Σ t ) \textbf{h-t}=\textbf{e}\sim\mathcal{N}(u_h-u_t,\Sigma_h+\Sigma_t)h-t =e ∼N (u h ​−u t ​,Σh ​+Σt ​)
为了衡量e \textbf{e}e和r \textbf{r}r的不相似性,KG2E \text{KG2E}KG2E提出了2种方法来同时考虑非对称相似度和对称相似度。

  • 非对称关系是e \textbf{e}e和r \textbf{r}r的KL散度,那么评分函数定义为

E ( h , r , t ) = D K L ( e||r ) = ∫ x ∈ R k e N ( x ; u r , Σ r ) l o g N ( x ; u e , Σ e ) N ( x ; u r , Σ r ) d x = 1 2 { t r ( Σ r − 1 Σ r ) + ( u r − u e ) ⊤ Σ r − 1 ( u r − u e ) − l o g d e t ( Σ e ) d e t ( Σ r ) − k e } \begin{aligned} \mathcal{E}(h,r,t)&=D_{KL}(\textbf{e||r}) \ &=\int_{x\in R^{k_e}}\mathcal{N}(x;u_r,\Sigma_r)log\frac{\mathcal{N}(x;u_e,\Sigma_e)}{\mathcal{N}(x;u_r,\Sigma_r)}dx \ &=\frac{1}{2}\Big{tr(\Sigma_r^{-1}\Sigma_r)+(u_r-u_e)^\top\Sigma_r^{-1}(u_r-u_e)-log\frac{det(\Sigma_e)}{det(\Sigma_r)}-k_e\Big} \end{aligned}E (h ,r ,t )​=D K L ​(e||r )=∫x ∈R k e ​​N (x ;u r ​,Σr ​)l o g N (x ;u r ​,Σr ​)N (x ;u e ​,Σe ​)​d x =2 1 ​{t r (Σr −1 ​Σr ​)+(u r ​−u e ​)⊤Σr −1 ​(u r ​−u e ​)−l o g d e t (Σr ​)d e t (Σe ​)​−k e ​}​

​ 其中,t r ( Σ ) tr(\Sigma)t r (Σ)是矩阵Σ \Sigma Σ的迹,Σ − 1 \Sigma^{-1}Σ−1是逆矩阵。

  • 对称关系是基于期望似然或者概率乘积核。KG2E \text{KG2E}KG2E使用P e P_e P e ​和P r P_r P r ​的内积来衡量相似性,评分函数为
    E ( h , r , t ) = ∫ x ∈ R k e N ( x ; u e , Σ e ) N ( x ; u r , Σ r ) d x = l o g N ( 0 ; u e − u r , Σ e + Σ r ) = 1 2 { ( u e − u r ) ⊤ ( Σ e + Σ r ) − 1 ( u e − u r ) + l o g d e t ( Σ e + Σ r ) + k e l o g ( 2 π ) } \begin{aligned} \mathcal{E}(h,r,t)&=\int_{x\in R^{k_e}}\mathcal{N}(x;u_e,\Sigma_e)\mathcal{N}(x;u_r,\Sigma_r)dx \ &=log\mathcal{N}(0;u_e-u_r,\Sigma_e+\Sigma_r) \ &=\frac{1}{2}\Big{(u_e-u_r)^\top(\Sigma_e+\Sigma_r)^{-1}(u_e-u_r)+log\;det(\Sigma_e+\Sigma_r)+k_elog(2\pi)\Big} \end{aligned}E (h ,r ,t )​=∫x ∈R k e ​​N (x ;u e ​,Σe ​)N (x ;u r ​,Σr ​)d x =l o g N (0 ;u e ​−u r ​,Σe ​+Σr ​)=2 1 ​{(u e ​−u r ​)⊤(Σe ​+Σr ​)−1 (u e ​−u r ​)+l o g d e t (Σe ​+Σr ​)+k e ​l o g (2 π)}​
    KG2E \text{KG2E}KG2E的优化目标与TransE \text{TransE}TransE相似。

六、TransG

  • 动机 知识图谱中存在着一些像location_contains \text{location_contains}location_contains或者has_part \text{has_part}has_part这样复杂的、包括子含义的关系。这种复杂的关系可以是一些其他关系的组合,因此也可以被分割成几个更精确的关系。为了解决这种问题,CTransR \text{CTransR}CTransR通过为每个关系r r r的实体对( h , t ) (h,t)(h ,t )进行聚类。TransG \text{TransG}TransG通过引入生成模型来更优雅的解决这个问题。
    【自然语言处理】【知识图谱】知识图谱表示学习(二):TranSparse、PTransE、TransA、KG2E、TransG
  • 对于每个实体e ∈ E e\in E e ∈E,TransG \text{TransG}TransG设定了一个标准正态分布u e ∼ N ( 0,I ) \textbf{u}_e\sim\mathcal{N}(\textbf{0,I})u e ​∼N (0,I );
  • 对于任一三元组⟨ h , r , t ⟩ \langle h,r,t \rangle ⟨h ,r ,t ⟩,TransG \text{TransG}TransG使用CRP(Chinese Restaurant Process) \text{CRP(Chinese Restaurant Process)}CRP(Chinese Restaurant Process)来自动检测语义组件(例如关系中的子含义):π r , n ∼ C P R ( β ) \pi_{r,n}\sim CPR(\beta)πr ,n ​∼C P R (β);
  • 利用正态分布h ∼ N ( u h , σ h 2 I ) \textbf{h}\sim\mathcal{N}(\textbf{u}_h,\sigma_h^2\textbf{I})h ∼N (u h ​,σh 2 ​I )获取头实体嵌入;
  • 利用正态分布t ∼ N ( u t , σ t 2 I ) \textbf{t}\sim\mathcal{N}(\textbf{u}_t,\sigma_t^2\textbf{I})t ∼N (u t ​,σt 2 ​I )获取尾实体嵌入;
  • 构造关系嵌入向量u r , n = t-h ∼ N ( u t − u h , ( σ h 2 + σ t 2 ) I ) \textbf{u}{r,n}=\textbf{t-h}\sim\mathcal{N}(\textbf{u}_t-\textbf{u}_h,(\sigma_h^2+\sigma_t^2)\textbf{I})u r ,n ​=t-h ∼N (u t ​−u h ​,(σh 2 ​+σt 2 ​)I ); 其中,u \textbf{u}u是嵌入向量的均值,σ \sigma σ是方差。最终的评分函数是
    E ( h , r , t ) ∝ ∑ n = 1 N r π r , n N ( u t − u h , ( σ h 2 + σ t 2 ) I ) \mathcal{E}(h,r,t)\propto \sum
    {n=1}^{N_r}\pi_{r,n}\mathcal{N}(\textbf{u}t-\textbf{u}_h,(\sigma_h^2+\sigma_t^2)\textbf{I})E (h ,r ,t )∝n =1 ∑N r ​​πr ,n ​N (u t ​−u h ​,(σh 2 ​+σt 2 ​)I )
    其中,N r N_r N r ​是r r r语义组件的数量,π r , n \pi
    {r,n}πr ,n ​是由CRP \text{CRP}CRP生成的第i i i个组件的权重。

; 引用文献

[1]. Zhiyuan Liu, Yankai Lin and Maosong SUn. Representation Learning for Natural Language Processing.

Original: https://blog.csdn.net/bqw18744018044/article/details/122382204
Author: BQW_
Title: 【自然语言处理】【知识图谱】知识图谱表示学习(二):TranSparse、PTransE、TransA、KG2E、TransG

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/531620/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球