【自然语言处理】【知识图谱】MTransE:用于交叉知识对齐的多语言知识图谱嵌入

论文地址:https://arxiv.org/pdf/1611.03954.pdf

一、简介

  • Wikipeida \text{Wikipeida}Wikipeida、WordNet \text{WordNet}WordNet和Concept-Net \text{Concept-Net}Concept-Net等多语言知识库正在成为AI应用的重要知识来源;
  • 单语言知识图谱存在覆盖率的问题,将多语言知识图谱进行对齐可以改善覆盖率;
  • 知识图谱嵌入技术已经证明了有效性,论文提出了一种基于图谱嵌入的实体对齐技术MTransE \text{MTransE}MTransE,从而实现自动化实体对齐。
  • MTransE \text{MTransE}MTransE会将不同语言的实体和关系嵌入至不同的向量空间,然后再将不同向量空间转换至同一向量空间;
  • MTransE \text{MTransE}MTransE提出了三种不同的转换技术,分别为:axis calibration、translation vector和linear transformation;

二、多语言知识图谱嵌入

  • 在知识图谱KB \text{KB}KB中,使用L \mathcal{L}L表示语言的集合,L 2 \mathcal{L}^2 L 2表示L \mathcal{L}L中语言的两两组合;
  • 对于任一语言L ∈ L L\in\mathcal{L}L ∈L,G L G_L G L ​表示语言L L L的知识图谱,E L E_L E L ​和R L R_L R L ​表示图谱中的实体和关系集合。T = ( h , r , t ) T=(h,r,t)T =(h ,r ,t )表示G L G_L G L ​中的一个三元组,h , t ∈ E L h,t\in E_L h ,t ∈E L ​且r ∈ R L r\in R_L r ∈R L ​;
  • 黑体h,r,t \textbf{h,r,t}h,r,t分别表示头实体h h h、关系r r r和尾实体t t t的嵌入向量;
  • 对于一对语言( L 1 , L 2 ) ∈ L 2 (L_1,L_2)\in\mathcal{L}^2 (L 1 ​,L 2 ​)∈L 2,δ ( L 1 , L 2 ) \delta(L_1,L_2)δ(L 1 ​,L 2 ​)表示包含对齐三元组数据的集合,这个集合通常不大;
  • 下面使用语言对( L i , L j ) ∈ L 2 (L_i,L_j)\in\mathcal{L}^2 (L i ​,L j ​)∈L 2为例子,介绍各个组件;

三、知识模型

​ 对于每个语言L ∈ L L\in\mathcal{L}L ∈L,其中的实体E L E_L E L ​和关系R L R_L R L ​都会被嵌入至k k k维向量空间R L k \mathbb{R}L^k R L k ​。具体来说,这里使用图谱嵌入模型TransE \text{TransE}TransE,损失函数如下:
S K = ∑ L ∈ { L i , L j } ∑ ( h , r , t ) ∈ G L ∥ h+r-t ∥ S_K=\sum
{L\in{L_i,L_j}}\sum_{(h,r,t)\in G_L} \parallel \textbf{h+r-t} \parallel S K ​=L ∈{L i ​,L j ​}∑​(h ,r ,t )∈G L ​∑​∥h+r-t ∥
该损失函数能够衡量所有给定三元组的合理性。通过最小化损失函数,知识模型保留了实体间的单语言关系,并且能够作为对齐模型的正则化项。此外,知识模型将知识库划分为不相交的子集,用于并行训练。

四、对齐模型

​ 对齐模型的目标:构建一个向量空间L i L_i L i ​至L j L_j L j ​的映射变换。损失函数如下:
S A = ∑ ( T , T ′ ) ∈ δ ( L i , L j ) S a ( T , T ′ ) S_A=\sum_{(T,T’)\in\delta(L_i,L_j)}S_a(T,T’)S A ​=(T ,T ′)∈δ(L i ​,L j ​)∑​S a ​(T ,T ′)
其中,对齐评分函数S a ( T , T ′ ) S_a(T,T’)S a ​(T ,T ′)会对所有对齐的三元组进行迭代。论文提出了三种不同的对齐评分函数,分别是distance-based axis calibration、translation vectors、linear transformations。

​ 该方法对不同语言中的相同实体(关系)进行约束。第一种形式
S a 1 = ∥ h − h ′ ∥ + ∥ t − t ′ ∥ S_{a_1}=\parallel \textbf{h}-\textbf{h}’\parallel + \parallel \textbf{t}-\textbf{t}’\parallel S a 1 ​​=∥h −h ′∥+∥t −t ′∥
S a 1 S_{a_1}S a 1 ​​的目标是拉近多语言中相同实体间的距离。
S a 2 = ∥ h − h ′ ∥ + ∥ r − r ′ ∥ + ∥ t − t ′ ∥ S_{a_2}=\parallel \textbf{h}-\textbf{h}’\parallel + \parallel \textbf{r}-\textbf{r}’\parallel +\parallel \textbf{t}-\textbf{t}’\parallel S a 2 ​​=∥h −h ′∥+∥r −r ′∥+∥t −t ′∥
S a 2 S_{a_2}S a 2 ​​在S a 1 S_{a_1}S a 1 ​​的基础上新增了对关系的约束。

​ 该方法将不同语言间的转换建模至向量中,即将语言间的转换看作是翻译操作(类似TransE \text{TransE}TransE)
S a 3 = ∥ h + v i j e − h ′ ∥ + ∥ r + v i j r − r ′ ∥ + ∥ t + v i j e − t ′ ∥ S_{a_3}=\parallel \textbf{h}+\textbf{v}{ij}^e-\textbf{h}’\parallel + \parallel \textbf{r}+\textbf{v}{ij}^r-\textbf{r}’\parallel + \parallel \textbf{t}+\textbf{v}{ij}^e-\textbf{t}’\parallel S a 3 ​​=∥h +v i j e ​−h ′∥+∥r +v i j r ​−r ′∥+∥t +v i j e ​−t ′∥
其中,v i j e \textbf{v}
{ij}^e v i j e ​和v i j r \textbf{v}_{ij}^r v i j r ​分别是实体和关系在语言L i L_i L i ​至L j L_j L j ​上的翻译向量。

​ 此外,可以发现v i j e = − v j i e \textbf{v}{ij}^e=-\textbf{v}{ji}^e v i j e ​=−v j i e ​和v i j r = − v j i r \textbf{v}{ij}^r=-\textbf{v}{ji}^r v i j r ​=−v j i r ​。因此,在获得L i L_i L i ​至L j L_j L j ​的翻译向量时,也同时获得了反方向的翻译向量。

​ 该方法使用线性变换来实现向量空间的转换。具体来说,S a 4 S_{a_4}S a 4 ​​会学习一个k × k k\times k k ×k的矩阵M i j e \textbf{M}{ij}^e M i j e ​来完成L i L_i L i ​至L j L_j L j ​的向量线性变换
S a 4 = ∥ M i j e h − h ′ ∥ + ∥ M i j e t − t ′ ∥ S
{a_4}=\parallel\textbf{M}{ij}^e\textbf{h}-\textbf{h}’\parallel + \parallel\textbf{M}{ij}^e\textbf{t}-\textbf{t}’\parallel S a 4 ​​=∥M i j e ​h −h ′∥+∥M i j e ​t −t ′∥
S a 5 S_{a_5}S a 5 ​​通过第二个线性变换矩阵M i j r \textbf{M}{ij}^r M i j r ​实现了对关系的约束,
S a 5 = ∥ M i j e h − h ′ ∥ + ∥ M i j r r − r ′ ∥ + ∥ M i j e t − t ′ ∥ S
{a_5}=\parallel\textbf{M}{ij}^e\textbf{h}-\textbf{h}’\parallel + \parallel\textbf{M}{ij}^r\textbf{r}-\textbf{r}’\parallel +\parallel\textbf{M}_{ij}^e\textbf{t}-\textbf{t}’\parallel S a 5 ​​=∥M i j e ​h −h ′∥+∥M i j r ​r −r ′∥+∥M i j e ​t −t ′∥
不同于axis calibration,linear transformation方法将语言间的变换看作是嵌入空间上的拓扑变换。

五、训练

  • MTransE \text{MTransE}MTransE的损失函数是两个模型损失函数的组合,即J = S k + α S A J=S_k+\alpha S_A J =S k ​+αS A ​,其中α \alpha α是权重超参数。
  • 使用随机梯度下降进行优化,θ ← θ − λ ∇ θ J \theta\leftarrow\theta-\lambda\nabla_\theta J θ←θ−λ∇θ​J来更新参数θ \theta θ,其中λ \lambda λ是学习率。
  • 实现时,不直接更新J J J,而是交替优化S K S_K S K ​和α S A \alpha S_A αS A ​,即在每个epoch中,交替θ ← θ − λ ∇ θ S K \theta\leftarrow\theta-\lambda\nabla_\theta S_K θ←θ−λ∇θ​S K ​和θ ← θ − λ ∇ θ α S A \theta\leftarrow\theta-\lambda\nabla_\theta\alpha S_A θ←θ−λ∇θ​αS A ​;
  • 强制约束实体嵌入向量的l 2 l_2 l 2 ​范数为1。该约束有两个优势:(1) 避免训练过程中,出现通过缩小范数来减低loss的情况;(2) 对于linear transformation方法,能够实现可逆性;

Original: https://blog.csdn.net/bqw18744018044/article/details/123750829
Author: BQW_
Title: 【自然语言处理】【知识图谱】MTransE:用于交叉知识对齐的多语言知识图谱嵌入

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

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

(0)

大家都在看

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