【自然语言处理】【知识图谱】利用属性、值、结构来实现实体对齐

《利用属性、值、结构来实现实体对齐》
Exploring and Evaluating Attributes, Values, and Structures for Entity Alignment

相关博客:
【自然语言处理】【知识图谱】利用属性、值、结构来实现实体对齐
【自然语言处理】【知识图谱】基于图匹配神经网络的跨语言知识图谱对齐
【自然语言处理】【知识图谱】使用属性嵌入实现知识图谱间的实体对齐
【自然语言处理】【知识图谱】用于实体对齐的多视角知识图谱嵌入
【自然语言处理】【知识图谱】MTransE:用于交叉知识对齐的多语言知识图谱嵌入
【自然语言处理】【知识图谱】SEU:无监督、非神经网络实体对齐超越有监督图神经网络?

一、简介

1. 目标

知识图谱(KG)可以看做是三元组的集合,每个三元组(triples)均是由subject、predicate和object组成。知识图谱中的三元组主要包含两种,一种是relation triples,另一种是attribute triples。其中,relation triples中的subject和object均是实体,而predicate通常被称为关系。attribute triples中的subject是实体,而object则是取值(value),该值通常是一个数值或者文本,其predicate通常称为属性

Entity Alignment(EA)的目标是从多个图谱中构建出一个统一的图谱。目前基于GNN的方法在EA任务上的不错,但是并没有利用到attribute triples。因此,本文的目标是利用attribute triples来进一步改善实体对齐。本文的核心假设是:相同的实体通常共享相似的属性。

2.挑战

属性合并挑战(Attribute Incorporation Challenge)

将relation triples和attribute triples进行统一建模比单独建模这两种三元组更加的有效,因此这样就能将attribute triples中获得的对齐信号通过relation triples传递到其他实体上。先前的工作是使用独立的网络来分别学习relation triples和attribute triples。

此外,学习实体不同属性(attribute)的重要性对于判断实体等价也非常重要。例如,对于城市实体,属性Time Zone的重要性显然低于属性Name,因此许多城市共享Time Zone

数据集偏差挑战(Dataset Bias Challenge)

许多EA数据集在属性Name上具有偏差,这导致了许多EA模型的表现被高估了。在数据集DBP15k中约有60%-80%的种子等价实体可以通过属性Name进行对齐。

3.贡献

  • 为了解决Attribute Incorporation Challenge问题,我们提出了Attributed Graph Neural Network(AttrGNN)来统一学习attribute triples和relation triples,其能够动态的学习属性和值的重要度。
  • 在AttrGNN中,我们提出了一种attributed value encoder来对属性和值进行选择和聚合,并使用一个mean aggregator将属性相似的信号传递给邻居实体。
  • 在AttrGNN中,由于不同类型的属性具有不同的相似度度量方式,论文将整个KG划分成4个子图,然后利用GNN分别学习它们的表示。
  • 最后,论文提出了2种方法来将4个子图的表示集成在一起。
  • 为了缓解Dataset Bias Challenge,我们设置了一个较难的实验。具体来说,我们从测试集中挑选属性name相似度最小的等价实体来构造一个更难的测试集。

二、方法

1.整体框架

1.1 知识图谱(KG)

知识图谱可以表示为6元组有向图 G = ( E , R , A , V , T r , T a ) G=(E,R,A,V,T^r,T^a) G=(E,R,A,V,Tr,Ta),其中 E E E R R R A A A V V V分别指实体(Entity)、关系(Relation)、属性(Attribute)和值(Value)的集合,而 T r = { ( h , r , t ) ∣ h , t ∈ E , r ∈ R } T^r=\{(h,r,t)|h,t\in E, r\in R\} Tr={(h,r,t)h,tE,rR} T a = { ( e , a , v ) ∣ e ∈ E , a ∈ A , v ∈ V } T^a=\{(e,a,v)|e\in E,a\in A,v\in V\} Ta={(e,a,v)eE,aA,vV}是关系三元组(relation triples)和属性三元组(attribute triples)的集合。

1.2 实体对齐(Entity Alignment,EA)

EA的目标是寻找两个知识图谱 G G G G ′ G' G的一个映射,例如 ψ = { ( e , e ′ ) ∣ e ∈ E , e ′ ∈ E ′ } \psi=\{(e,e')|e\in E,e'\in E'\} ψ={(e,e)eE,eE},其中 e e e e ′ e' e是等价实体。另外,种子等价实体集合 ψ s \psi^s ψs被用作训练数据。

1.3 框架

在这里插入图片描述

整体的框架如图1所示,其主要由4个部分组成:

(1) 图划分(Graph Partition)

负责将输入的图谱按照属性和值分为4个子图。

(2) 子图编码器(Subgraph Encoder)

利用多通道的GNN分别学习4个子图,其中每个通道是由 L L L层Attributed Value Encoder和Mean Aggregator堆叠而成。其中Attributed Value Encoder用来聚合属性和值,从而产生实体的embedding。而Mean Aggregator负责将属性对齐的特征传递到邻居实体上。

(3) 图对齐(Graph Alignment)

将两个知识图谱中不同通常的实体向量统一到同一个向量空间。

(4) 通道集成(Channel Ensemble)

将不同通道输出的相似度集成在一起,用于最终预测结果。

2.图划分(Graph Partition)

由于属性和取值具有各种各样的类型,例如字符串 S \mathbb{S} S和数字 R \mathbb{R} R。不同类型的属性具有不同的度量方式,例如数字的相似度是数字间的差值,而字符串的相似度则是基于字符串的语义。因此,论文将知识图谱按相似度度量的不同划分成了4个子图,定义为 G k = ( E , R , A k , V k , T r , T a k ) G^k=(E,R,A^k,V^k,T^r,T^{ak}) Gk=(E,R,Ak,Vk,Tr,Tak),其中 k ∈ { 1 , 2 , 3 , 4 } k\in\{1,2,3,4\} k{1,2,3,4}

  • G 1 G^1 G1包含了仅有Name的属性三元组,例如 A 1 = { a n a m e } A^1=\{a_{name}\} A1={aname}
  • G 2 G^2 G2包含了字符串属性三元组,例如 A 2 = { a ∣ ( e , a , v ) ∈ T a , v ∈ S , a ≠ a n a m e } A^2=\{a|(e,a,v)\in T^a,v\in\mathbb{S},a\neq a_{name}\} A2={a(e,a,v)Ta,vS,a=aname}
  • G 3 G^3 G3包含了数字属性三元组,例如 A 3 = { a ∣ ( e , a , v ) ∈ T a , v ∈ V } A^3=\{a|(e,a,v)\in T^a,v\in\mathbb{V}\} A3={a(e,a,v)Ta,vV}
  • G 4 G^4 G4没有属性三元组,例如 A 4 = ∅ A^4=\empty A4=

子图之间的属性三元组互斥,但关系三元组共享。

3.子图编码器(Subgraph Encoder)

论文设计了4种GNN通道(GCs)来编码上面的子图,分别是: G 1 G^1 G1的name通道, G 2 G^2 G2的字符串通道, G 3 G^3 G3的数字通道, G 4 G^4 G4的结构通道。这些通道均是由2中类型的GNN层构成的:Attributed Value Encoder和Mean Aggregator。其中,字符串通道和数字通道均会堆叠Attribute Value Encoder和Mean Aggregator。而name通道和结构通道由于没有属性值,则不堆叠Attribute Value Encoder。此外,name通道、数字通道、字符串通道添加了残差链接。所有的通道均使用2层的GNN。

3.1 Attributed Value Encoder

Attributed Value Encoder能够将属性和值上的特征有选择地聚合到中心实体上。这里展示如何获得实体 e e e的第一层隐藏状态 h e 1 h_e^1 he1,相同的方法会应用到所有的实体上。

给定实体 e e e的属性三元组 { ( e , a 1 , v 1 ) , … , ( e , a n , v n ) } \{(e,a_1,v_1),\dots,(e,a_n,v_n)\} {(e,a1,v1),,(e,an,vn)},然后使用BERT来获取文本和数值的向量表示,最终得到属性特征序列 { a 1 , … , a n } \{\textbf{a}_1,\dots,\textbf{a}_n\} {a1,,an}和值特征序列 { v 1 , … , v n } \{\text{v}_1,\dots,\text{v}_n\} {v1,,vn}。将取值 v v v看作是节点,属性 a a a看作是边,然后使用类似GAT的注意力机制来将属性和取值的信息聚合至单一向量中
h e 1 = σ ( ∑ j = 1 n α j W 1 [ a j ; v j ] ) α j = softmax ( o j ) = e x p ( o j ) ∑ k = 1 n e x p ( o k ) o j = LeakyReLU ( u T [ h e 0 ; a j ] ) \textbf{h}_e^1=\sigma(\sum_{j=1}^{n}\alpha_j\textbf{W}_1[\textbf{a}_j;\textbf{v}_j])\\ \alpha_j=\text{softmax}(o_j)=\frac{exp(o_j)}{\sum_{k=1}^{n}exp(o_k)}\\ o_j=\text{LeakyReLU}(\textbf{u}^T[\textbf{h}_e^0;\textbf{a}_j]) he1=σ(j=1nαjW1[aj;vj])αj=softmax(oj)=k=1nexp(ok)exp(oj)oj=LeakyReLU(uT[he0;aj])
其中, j ∈ { 1 , … , n } j\in\{1,\dots,n\} j{1,,n} W 1 ∈ R D h 1 × ( D a + D v ) W_1\in\mathbb{R}^{D_{h_1}\times(D_a+D_v)} W1RDh1×(Da+Dv) u ∈ R ( D e + D a ) × 1 u\in\mathbb{R}^{(D_e+D_a)\times 1} uR(De+Da)×1是可学习的参数, σ \sigma σ ELU ( ⋅ ) \text{ELU}(\cdot) ELU()函数, h e 0 h_e^0 he0是初始的实体特征。直观上来看,权重标量 α j \alpha_j αj表示实体 e e e的初始向量表示 h e 0 \textbf{h}_e^0 he0与属性 a j \textbf{a}_j aj的相似度,而 h e 1 \textbf{h}_e^1 he1是基于 α \alpha α对所有 a \textbf{a} a v \textbf{v} v的加权求和。

3.2 Mean Aggregator

Attributed Value Encoder是用来聚合实体 e e e的属性三元组,而Mean Aggregator则是用于聚合关系三元组中相邻实体的信息。基于关系三元组,实体 e e e的相邻实体定义为 N ( e ) = { j ∣ ∀ ( j , r , e ) ∈ T r o r ∀ ( e , r , j ) ∈ T r , ∀ r ∈ R } \mathcal{N}(e)=\{j|\forall(j,r,e)\in T^r or \forall(e,r,j)\in T^r,\forall r\in R\} N(e)={j(j,r,e)Tror(e,r,j)Tr,rR}。那么,在给定 l − 1 l-1 l1层的隐藏状态 h e l − 1 \textbf{h}_e^{l-1} hel1的情况下,Mean Aggregator定义为
h e l = σ ( W l MEAN ( { h e l − 1 } ∪ { h j l − 1 , ∀ j ∈ N ( e ) } ) ) \textbf{h}_e^l=\sigma(\textbf{W}_l\text{MEAN}(\{\textbf{h}_e^{l-1}\}\cup\{\textbf{h}_j^{l-1},\forall j\in\mathcal{N}(e)\})) hel=σ(WlMEAN({hel1}{hjl1,jN(e)}))
其中, W l ∈ R D h l × D h l − 1 \textbf{W}_l\in\mathbb{R}^{D_{h_l}\times D_{h_{l-1}}} WlRDhl×Dhl1是可学习矩阵, MEAN ( ⋅ ) \text{MEAN}(\cdot) MEAN()向量的均值函数, σ \sigma σ是非线性函数 ReLU ( ⋅ ) \text{ReLU}(\cdot) ReLU()

4. 图对齐(Graph Alignment)

图对齐(Graph Alignment)通过减少种子等价实体间距离的方法,实现了将两个知识图谱(KG)对应通道的向量表示统一的同一个向量空间的效果。具体来说,通过在实体嵌入空间中搜索实体 e e e或者 e ′ e' e的最近邻来为正样本 ( e , e ′ ) ∈ ψ s (e,e')\in\psi^s (e,e)ψs生成对应的负样本,然后使用通道 G C k GC^k GCk的最终输出向量 h e L h_e^L heL作为实体 e k e^k ek的embedding向量。最后,每个通道按下面的目标函数进行优化:
L k = ∑ ( e , e ′ ) ∈ ψ s ( ∑ e ∗ ∈ NS ( e ) [ d ( e k , e ′ k ) − d ( e ∗ k , e ′ k ) + γ ] + + ∑ e ∗ ′ ∈ NS ( e ′ ) [ d ( e k , e ′ k ) − d ( e k , e ∗ ′ k ) + γ ] + ) \mathcal{L}_k=\sum_{(e,e')\in\psi^s}(\sum_{e_*\in \text{NS}(e)}[d(e^k,e'^k)-d(e_*^k,e'^k)+\gamma]_{+}+\sum_{e'_*\in \text{NS}(e')}[d(e^k,e'^k)-d(e^k,e'^k_*)+\gamma]_+) Lk=(e,e)ψs(eNS(e)[d(ek,ek)d(ek,ek)+γ]++eNS(e)[d(ek,ek)d(ek,ek)+γ]+)
其中, ψ k \psi^k ψk是种子等价实体, NS ( e ) \text{NS}(e) NS(e)是实体 e e e的负样本, [ ⋅ ] + = max { ⋅ , 0 } [\cdot]_+=\text{max}\{\cdot,0\} []+=max{,0} d ( ⋅ , ⋅ ) = 1 − c o s ( ⋅ , ⋅ ) d(\cdot,\cdot)=1-cos(\cdot,\cdot) d(,)=1cos(,)表示consine相似度, γ \gamma γ是间隔超参数。

直觉上,上面的loss分布为实体 e e e e ′ e' e生成一些负样本,然后减小正样本间距离的同时加大负样本间距离。

5. 通道集成(Channel Ensemble)

基于前面得到的实体embedding,可以为每个通道推断出相似度矩阵 S k ∈ R ∣ E ∣ × ∣ E ′ ∣ , k = { 1 , 2 , 3 , 4 } S^k\in\mathbb{R}^{|E|\times|E'|},k=\{1,2,3,4\} SkRE×E,k={1,2,3,4},其中 S e , e ′ k = c o s ( e k , e ′ k ) S_{e,e'}^{k}=cos(e^k,e'^k) Se,ek=cos(ek,ek) e ∈ E e\in E eE e ′ ∈ E ′ e'\in E' eE的cos相似度。论文基于 S k S^k Sk提出了2种方法将4个通道的相似度矩阵集成为单个相似度矩阵 S ∗ S^* S的方法。

Average Pooling

这里假设每个通道均有相同的重要性,令 S ∗ = 1 4 ∑ k = 1 4 S ~ k S^*=\frac{1}{4}\sum_{k=1}^4\tilde{S}^k S=41k=14S~k,其中 S ~ k \tilde{S}^k S~k是标准化的 S k S^k Sk,即
S ~ k = S k − m e a n ( S k ) s t d ( S k ) \tilde{S}^k=\frac{S^k-mean(S^k)}{std(S^k)} S~k=std(Sk)Skmean(Sk)
SVM

利用SVM来学习通道的重要度,然后加权求和
S ∗ = ∑ k = 1 4 w k S k \textbf{S}^*=\sum_{k=1}^4w_k\textbf{S}^k S=k=14wkSk
其中,权重 w = [ w 1 , w 2 , w 3 , w 4 ] \textbf{w}=[w_1,w_2,w_3,w_4] w=[w1,w2,w3,w4]通过下面的方式训练获得,
L s v m = C ∑ l = 1 m [ y l ⋅ m a x ( 0 , 1 − w T x l ) + ( 1 − y l ) ⋅ ( 0 , 1 + w T x l ) ] + 1 2 w T w \mathcal{L}_{svm}=C\sum_{l=1}^m[y_l\cdot max(0,1-\textbf{w}^T\textbf{x}_l)+(1-y_l)\cdot(0,1+\textbf{w}^T\textbf{x}_l)]+\frac{1}{2}\textbf{w}^T\textbf{w} Lsvm=Cl=1m[ylmax(0,1wTxl)+(1yl)(0,1+wTxl)]+21wTw
其中, x l = [ S e , e ′ 1 , S e , e ′ 2 , S e , e ′ 3 , S e , e ′ 4 ] \textbf{x}_l=[S^1_{e,e'},S^2_{e,e'},S^3_{e,e'},S^4_{e,e'}] xl=[Se,e1,Se,e2,Se,e3,Se,e4]是相似度分数组成的向量。若 ( e , e ′ ) ∈ ψ s (e,e')\in\psi^s (e,e)ψs,标签 y l = 1 y_l=1 yl=1,否则 y l = 0 y_l=0 yl=0

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BQW_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值