论文地址: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/
转载文章受原作者版权保护。转载请注明原作者出处!