论文笔记011-《COTSAE CO-Training of Structure and Attribute Embeddings for Entity Alignment》

1. 简介

题目:《COTSAE CO-Training of Structure and Attribute Embeddings for Entity Alignment》

来源:AAAI-2020

链接:论文链接

代码:Code和Dataset

关键字:Structure and Attribute Embeddings、Entity Alignment

2. Abstract

  实体对齐是知识图构建和融合中的一项基本而重要的任务。以往的工作主要是通过学习关系三元组上的实体嵌入(entity embeddings)和预先对齐的种子实体来获取实体的结构语义(structural semantic)。有些工作还试图合并属性信息来帮助细化实体嵌入。然而,在实体对齐中仍存在许多未考虑到的问题,极大地限制了属性信息的利用。

  不同的KGs可能有很多不同的属性类型,甚至相同的属性也可能有不同的数据结构和值粒度。最重要的是,属性对实体对齐可能有不同的贡献。为了解决这些问题,我们提出了COTSAE模型,分别通过联合训练(co-training)两个嵌入学习组件来结合实体结构信息和属性信息。并在模型中提出了一种联合注意(joint attention)方法,以协同学习属性类型和属性值的注意力。结构信息和属性信息可以相互补充,都有助于提高性能。

3. Related Work

  这部分原文主要介绍了KG EmbeddingEmbedding-based entity alignment的研究情况,里面讲解了各种方法的特点以及缺点。这里就不具体介绍了,想了解其研究方法的历史情况的,可以详细看看。

4. Proposed Approach

4.1 Problem Definition

   E 1 E_1 E1 E 2 E_2 E2 分别表示 K G 1 KG_1 KG1 K G 2 KG_2 KG2中的实体集,实体对齐的目的就是找出实体对 A = { ( e 1 , e 2 ) ∣ e 1 = e 2 , e 1 ∈ E 1 , e 2 ∈ E 2 } A=\{(e_1,e_2)|e_1=e_2,e_1\in E_1,e_2\in E_2\} A={(e1,e2)e1=e2,e1E1,e2E2},通常集合 P P P A A A的子集,作为种子实体对,剩下的就是要对齐的实体集合。

4.2 Approach Overview

  COTSAE整体的框架如下图所示,其流程如下:

  1. 构建两个模型组件(TransEPSN伪孪生网络)的基本训练数据集(BTD)。
  2. 在每一次迭代中,使用TransE组件来学习实体在结构上的嵌入,使用PSN在属性信息上学习实体嵌入。
  3. 通过计算实体对的嵌入相似性,并使用阈值 λ \lambda λ进行过滤,将所有候选对齐实体对以二分图的形式生成。
  4. 通过计算相似匹配度,使用二分图匹配算法确定新增的实体对,然后将其加入扩展训练数据集(ATD)

4.3 Iterative Co-training & Training Data Generation

  TransE组件和PSNN组件的训练将交替地进行。在每次迭代中,组件模型轮流执行“训练-预测”过程。在每次迭代的训练过程中,两个组件在BDT和ADT上训练多个epoch,并且设置了早停防止过拟合。第一次迭代时ADT为空,经过训练后,模型将预测新的对齐实体并添加至ADT。两个组件交替进行上述的训练-预测过程,因此逐渐地增强实体对齐,直到两个组件不再预测新的对齐实体。

  本文还采取了扩增对齐实体集的小技巧,就使用对齐的实体 P = { ( e 1 , e 2 ) ∣ e 1 ∈ E 1 , e 2 ∈ E 2 , e 1  equales to  e 2 } \mathcal{P}=\left\{\left(e_{1}, e_{2}\right) \mid e_{1} \in E_{1}, e_{2} \in E_{2}, e_{1} \text { equales to } e_{2}\right\} P={(e1,e2)e1E1,e2E2,e1 equales to e2}去替换三元组中某个实体,进而扩充三元组,扩充的种子实体集为: S P = ⋃ ( e 1 , e 2 ) ∈ P S ( e 1 , e 2 ) \mathbb{S}^{\mathcal{P}}=\bigcup_{\left(e_{1}, e_{2}\right) \in \mathcal{P}} \mathbb{S}_{\left(e_{1}, e_{2}\right)} SP=(e1,e2)PS(e1,e2)
S ( e 1 , e 2 ) = { ( e 2 , r , t ) ∣ ( e 1 , r , t ) ∈ S 1 + } ∪ { ( h , r , e 2 ) ∣ ( h , r , e 1 ) ∈ S 1 + } ∪ { ( e 1 , r , t ) ∣ ( e 2 , r , t ) ∈ S 2 + } ∪ { ( h , r , e 1 ) ∣ ( h , r , e 2 ) ∈ S 2 + } (1) \mathbb{S}_{\left(e_{1}, e_{2}\right)}=\left\{\left(e_{2}, r, t\right) \mid\left(e_{1}, r, t\right) \in \mathbb{S}_{1}^{+}\right\} \cup\left\{\left(h, r, e_{2}\right) \mid\left(h, r, e_{1}\right) \in \mathbb{S}_{1}^{+}\right\} \cup \\ \left\{\left(e_{1}, r, t\right) \mid\left(e_{2}, r, t\right) \in \mathbb{S}_{2}^{+}\right\} \cup\left\{\left(h, r, e_{1}\right) \mid\left(h, r, e_{2}\right) \in \mathbb{S}_{2}^{+}\right\} \tag {1} S(e1,e2)={(e2,r,t)(e1,r,t)S1+}{(h,r,e2)(h,r,e1)S1+}{(e1,r,t)(e2,r,t)S2+}{(h,r,e1)(h,r,e2)S2+}(1)
  其中 S 1 + \mathbb{S}_{1}^{+} S1+ S 2 + \mathbb{S}_{2}^{+} S2+分别是 K G 1 KG_1 KG1 K G 2 KG_2 KG2的关系三元组,所以整体的关系三元组就是 S + = S 1 + ∪ S 2 + ∪ S P \mathrm{S}^{+}=\mathrm{S}_{1}^{+} \cup \mathrm{S}_{2}^{+} \cup \mathrm{S}^{\mathcal{P}} S+=S1+S2+SP,同时本文中采用了 ϵ \epsilon ϵ-Truncated Uniform Negative Sampling的方法对其最近的 n n n 个邻居结点进行负采样。

  对于属性三元组,作者使用是类似的方法进行扩增, A + = ⋃ ( e 1 , e 2 ) ∈ P A ( e 1 , e 2 ) \mathbb{A}^{+}=\bigcup_{\left(e_{1}, e_{2}\right) \in \mathcal{P}} \mathbb{A}_{\left(e_{1}, e_{2}\right)} A+=(e1,e2)PA(e1,e2),其中 A ( e 1 , e 2 ) = { ( e 1 , a , v ) ∣ ( e 1 , a , v ) ∈ A 1 + } ∪ { ( e 2 , a , v ) ∣ ( e 2 , a , v ) ∈ A 2 + } \quad \mathbb{A}_{\left(e_{1}, e_{2}\right)}=\left\{\left(e_{1}, a, v\right) \mid\left(e_{1}, a, v\right) \in \mathbb{A}_{1}^{+}\right\} \cup\left\{\left(e_{2}, a, v\right) \mid\left(e_{2}, a, v\right) \in \mathbb{A}_{2}^{+}\right\} A(e1,e2)={(e1,a,v)(e1,a,v)A1+}{(e2,a,v)(e2,a,v)A2+} ,但是PSNN网络输入的是属性的类型以及值,而不是属性三元组。为了缓解语义漂移,不对数据集ATD进行负样本构造

4.4 TransE Component

  对于关系三元组的建模,参考了TransE的结构,这里加了两个超参数 γ 1 , γ 2 > 0 \gamma_1,\gamma_2>0 γ1,γ2>0作为

边缘参数,同时计算三元组之间的距离误差 d ( h + r , t ) = ∥ h ⃗ + r ⃗ − t ⃗ ∥ 2 2 d(h+r, t)=\|\vec{h}+\vec{r}-\vec{t}\|_{2}^{2} d(h+r,t)=h +r t 22,则其损失函数为:
L S = ∑ ( h , r , t ) ∈ S + ( h ′ , r ′ , t ′ ) ∈ S − [ d ( h + r , t ) − γ 1 ] + + μ 1 [ γ 2 − d ( h ′ + r ′ , t ′ ) ] + (2) \begin{array}{r} \mathcal{L}_{S}=\sum_{(h, r, t) \in \mathbb{S}^{+}\left(h^{\prime}, r^{\prime}, t^{\prime}\right) \in \mathbb{S}^{-}}\left[d(h+r, t)-\gamma_{1}\right]_{+} +\mu_{1}\left[\gamma_{2}-d\left(h^{\prime}+r^{\prime}, t^{\prime}\right)\right]_{+} \end{array} \tag {2} LS=(h,r,t)S+(h,r,t)S[d(h+r,t)γ1]++μ1[γ2d(h+r,t)]+(2)
  其中 [ . ] = max ⁡ ( 0 , . ) [.]=\max (0, .) [.]=max(0,.) ,而 μ 1 \mu_{1} μ1是一超参数控制负样本的权重。

4.5 Pseudo-Siamese Neural Network

  Siamese Network中文名为孪生网络,也叫作连体神经网络,该网络的特点是具有对称的网络结构,或者说由两个相同的网络组成,这两个网络共享权重。相对而言,伪孪生网络中的两个单独的网络可以拥有不一样的网络结构,一般不共享参数。(伪)孪生网络一般用于具有相同或者相似的输入,对两个输入进行特征提取映射到新的特征空间,形成新的向量表示,然后对两个新的向量表示进行相似度衡量、回归或者分类等。本文的网络中,只有Character Embedding部分采用共享的权重,或者说采用相同的字符向量表示。

  总体结构如下图所示,本文的伪孪生网络在两个知识图谱的属性信息上学习实体嵌入表示,然后利用一些训练过的度量指标来评价实体之间的相似性。使用双向GRU单元来提取属性值字符层面的特征。使用共享的注意力矩阵作用于属性类型和属性值,称之为joint attention。采用欧式距离计算实体向量的相似度。网络的损失公式为:
L a = 1 2 K ∑ i = 0 K y ( i ) ( e 1 ( i ) , e 2 ( i ) ) 2 + ( 1 − y ( i ) ) max ⁡ ( γ 3 − d ( e 1 ( i ) , e 2 ( i ) ) ) 2 (3) \begin{array}{c} \mathcal{L}_{a}=\frac{1}{2 K} \sum_{i=0}^{K} y^{(i)}\left(e_{1}^{(i)}, e_{2}^{(i)}\right)^{2}+\left(1-y^{(i)}\right) \max \left(\gamma_{3}-d\left(e_{1}^{(i)}, e_{2}^{(i)}\right)\right)^{2} \end{array} \tag {3} La=2K1i=0Ky(i)(e1(i),e2(i))2+(1y(i))max(γ3d(e1(i),e2(i)))2(3)
  其中 d ( e ⃗ 1 , e ⃗ 2 ) = ∥ e ⃗ 1 − e ⃗ 2 ∥ 2 d\left(\vec{e}_{1}, \vec{e}_{2}\right)=\left\|\vec{e}_{1}-\vec{e}_{2}\right\|_{2} d(e 1,e 2)=e 1e 22 K K K是训练样本数目, γ 3 \gamma_3 γ3是超参数, ( e 1 ( i ) , e 2 ( i ) ; y ( i ) ) \left(e_{1}^{(i)}, e_{2}^{(i)} ; y^{(i)}\right) (e1(i),e2(i);y(i))是第 i i i次的训练样本。

4.5.1 Character-Level Attribute Value Embedding

  相同的属性值在不同的KG中可能展示不同的形式,如50.9989 vs 509988,因此作者在本文中采用双向GRU对属性值进行特征提取,其GRU单元的内部函数如下:
z i = σ ( W z [ c i , h i − 1 ] ) (4) z_{i}=\sigma\left(\mathbf{W}_{z}\left[c_{i}, h_{i-1}\right]\right) \tag {4} zi=σ(Wz[ci,hi1])(4)

r i = σ ( W r [ c i , h i − 1 ] ) (5) r_{i}=\sigma\left(\mathbf{W}_{r}\left[c_{i}, h_{i-1}\right]\right) \tag {5} ri=σ(Wr[ci,hi1])(5)

h ~ i = tanh ⁡ ( W h [ c i , r i ⊙ h i − 1 ] ) (6) \widetilde{h}_{i}=\tanh \left(\mathbf{W}_{h}\left[c_{i}, r_{i} \odot h_{i-1}\right]\right) \tag {6} h i=tanh(Wh[ci,rihi1])(6)

h i = ( 1 − z i ) ⊙ h i − 1 + z i ⊙ h ~ i (7) h_{i}=\left(1-z_{i}\right) \odot h_{i-1}+z_{i} \odot \tilde{h}_{i} \tag{7} hi=(1zi)hi1+zih~i(7)

h ⃗ f = GRU ⁡ ( c n , h ⃗ f − 1 ) ; h ⃗ b = GRU ⁡ ( c 0 , h ⃗ b + 1 ) (8) \vec{h}_{f}=\operatorname{GRU}\left(c_{n}, \vec{h}_{f-1}\right) ; \vec{h}_{b}=\operatorname{GRU}\left(c_{0}, \vec{h}_{b+1}\right) \tag {8} h f=GRU(cn,h f1);h b=GRU(c0,h b+1)(8)

  其属性嵌入表示为 v ⃗ = ( c ⃗ 0 , c 2 → , … , c n → ) \vec{v}=\left(\vec{c}_{0}, \overrightarrow{c_{2}}, \ldots, \overrightarrow{c_{n}}\right) v =(c 0,c2 ,,cn ),然后通过前向和反向计算公式8得到两个向量,将其联合起来组成字符值的表示: v ⃗ = ⌊ h ⃗ f ; h ⃗ b ] \vec{v}=\left\lfloor\vec{h}_{f} ; \vec{h}_{b}\right] v =h f;h b],然后实体 e 1 e_1 e1和实体 e 2 e_2 e2就可以得到对应的属性值表示: V → 1 = ( v ⃗ 0 1 , v ⃗ 1 1 , … , v ⃗ M 1 1 ) \overrightarrow{\mathcal{V}}^{1}=\left(\vec{v}_{0}^{1}, \vec{v}_{1}^{1}, \ldots, \vec{v}_{M_{1}}^{1}\right) V 1=(v 01,v 11,,v M11) V → 2 = ( v ⃗ 0 2 , v ⃗ 1 2 , … , v ⃗ M 2 2 ) \overrightarrow{\mathcal{V}}^{2}=\left(\vec{v}_{0}^{2}, \vec{v}_{1}^{2}, \ldots, \vec{v}_{M_{2}}^{2}\right) V 2=(v 02,v 12,,v M22)

4.5.2 Joint Attention for Attribute types and Values

  并非所有的属性对实体对齐的贡献都一样,可能存在许多无用的噪声属性。为了学习到不同属性的重要程度,以共享的注意力权重的形式作用于属性类型嵌入与属性值嵌入。实体的 M M M个属性类型嵌入表示为 A = ( a ⃗ 0 , a ⃗ 1 , … , a ⃗ M ) \mathcal{A}=\left(\vec{a}_{0}, \vec{a}_{1}, \ldots, \vec{a}_{M}\right) A=(a 0,a 1,,a M),可以计算其不同属性类型的重要性:
α i = softmax ⁡ ( A T W a a ⃗ i ) (9) \alpha_{i}=\operatorname{softmax}\left(\mathcal{A}^{T} \mathbf{W}_{a} \vec{a}_{i}\right) \tag {9} αi=softmax(ATWaa i)(9)
  同时这里作者使用属性类别的权重共享去计算属性值最终的表示:
e t y p e = ∑ i = 0 M α i a ⃗ i ; e v a l u e = ∑ i = 0 M α i v ⃗ i (10) e_{t y p e}=\sum_{i=0}^{M} \alpha_{i} \vec{a}_{i} ; e_{v a l u e}=\sum_{i=0}^{M} \alpha_{i} \vec{v}_{i} \tag {10} etype=i=0Mαia i;evalue=i=0Mαiv i(10)
  最终的实体表示为: e ⃗ 1 = [ e t y p e 1 ∥ e v a l u e 1 ] \vec{e}_{1}=\left[e_{t y p e}^{1} \| e_{v a l u e}^{1}\right] e 1=[etype1evalue1] e ⃗ 2 = [ e t y p e 2 ∥ e v a l u e 2 ] \vec{e}_{2}=\left[e_{t y p e}^{2} \| e_{v a l u e}^{2}\right] e 2=[etype2evalue2]

4.6 Entity Alignment

  文中通过前面讲述的两个模块去学习实体的嵌入表示,计算实体对之间的相似度,采用一个超参数 γ 4 \gamma_4 γ4去过滤实体对,然后通过在潜在的实体对之间添加边形成二分图,接下来使用全局的最佳图匹配算法进行优化结果,并将其结果作为下一轮的迭代数据,由于对齐过程中可能产生错误的实体对,而且这个可能会传播错误信息,所以本文中产生的实体对可以在后轮次的迭代中被纠正修改,数据集的情况如下所示:

5. Experiments

  • Datasets

  DWY15K包含DBP-WD-Norm、DBP-WD-Dense、DBP-YG-Norm、 DBP-YG-Dense四类数据集,DWY100K包含则是两个数据集。以30%作为种子实体对。

  • Entity Alignment Results

  • Discussion

  作者在结果的实验基础上,进行分离部分模块的实验以及种子对比例的对比实验,其结果均表明其完整的COTSAE表现较优,而且比已有的方法提升较大。其考虑的属性类型和属性值分析部分的比较细节,将实体表示的获取比较全面,总体来说其方法具有高的优越性。

[参考] https://blog.csdn.net/qq_26623993/article/details/106736989

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值