在知识库中,一些实体的类型信息(entity type)是缺失的。但是,可以通过如下图所示的 Description, Property 和 Category 信息对entity type进行预测。现有的方法提出可以通过Description, Property 和 Category生成每个entity的特征向量,通过预测函数对实体类型进行分类。然而这一方法的缺点是,忽略了实体间的内部关系, 是以一种独立/隔绝的方法对实体类型进行预测。
Jin等人在 ACL2018提出,实体间的关系可以看作是实体间的结构信息,可以构建起 Entity Graph 对实体及其间的关系进行建模。[Jin et al.2018: https://www.aclweb.org/anthology/C18-1024/]
基于以上考虑,本文提出了用GCN对Entity Graph建模,进行实体分类的方法。
另外,Entity Graph 中存在不同的语义信息,因此本文分别构建不同的子图对不同信息进行建模;另外,为了能够同时考虑到不同子图中编码的信息, 不同的子图都采用共享的卷积参数矩阵。
本文提出一种用GCN解决KB中 Entity Typing 问题的方法,它能够同时利用entity本身的信息以及entites之间关系带来的结构信息;
本文根据实体间不同类型的语义关系分别构建了不同的邻接矩阵(子图);同时,一种 递归正则(recursive regularization) 的方法被提出对subClassof关系建模。
本文方法超越了已有的四个 SOTA 试验效果。
首先介绍本文的构图方法, 本文根据实体间不同的语义关系,构建了三种无向图(邻接矩阵):
A c a t [ i , j ] = C a t ( e i ) ∩ C a t ( e j ) C a t ( e i ) ∪ C a t ( e j ) A_{cat}[i,j] = \frac {Cat(e_i) \cap Cat(e_j)} {Cat(e_i) \cup Cat(e_j)} Acat[i,j]=Cat(ei)∪Cat(ej)Cat(ei)∩Cat(ej)
A p r o p [ i , j ] = P r o p ( e i ) ∩ P r o p ( e j ) P r o p ( e i ) ∪ P r o p ( e j ) A_{prop}[i,j] = \frac {Prop(e_i) \cap Prop(e_j)} {Prop(e_i) \cup Prop(e_j)} Aprop[i,j]=Prop(ei)∪Prop(ej)Prop(ei)∩Prop(ej)
基于以上三个邻接矩阵,分别通过 G C N c o GCN_{co} GCNco, G C N c a t GCN_{cat} GCNcat, G C N p r o p GCN_{prop} GCNprop 对不同信息建模; 且这三个GCN共享参数且都使用本文设计的递归正则化方法来处理实体类型(type)间subClassOf的关系。
构图完成后,基于以下GCN公式分别对 G C N c o GCN_{co} GCNco, G C N c a t GCN_{cat} GCNcat, G C N p r o p GCN_{prop} GCNprop 进行计算:
Z i = σ ( D ~ − 1 2 A ~ D ~ 1 2 Z i − 1 W i ) Z^i = \sigma (\tilde{D}^{- \frac {1}{2}} \tilde{A} \tilde{D}^{ \frac {1}{2}} Z^{i-1} W^{i}) Zi=σ(D~−21A~D~21Zi−1Wi)
同时,基于模型对实体类型的预测结果 Z i , j ~ \tilde{Z_{i,j}} Zi,j~ 和 实体实体实际的类型 Y i , j Y_{i,j} Yi,j, 构建如下损失函数:
令 Z i c a t ~ \tilde{Z_i^{cat}} Zicat~, Z i c o ~ \tilde{Z_i^{co}} Zico~, Z i p r o p ~ \tilde{Z_i^{prop}} Ziprop~ 分别表示 G C N c a t GCN_{cat} GCNcat, G C N c o GCN_{co} GCNco, G C N p r o p GCN_{prop} GCNprop 的输出结果, 为了联合考虑 G C N c a t GCN_{cat} GCNcat 和 G C N c o GCN_{co} GCNco 编码的不同信息,则添加如下的正则项:
同理,对于 G C N p r o p GCN_{prop} GCNprop 和 G C N c o GCN_{co} GCNco 也添加类似的正则项 :
三个GCN以不同邻接矩阵作为输入编码实体间的不同语义关系,尽管三者参数共享但也可能出现三者输出的预测结果差异较大的情况。因此,对 L c 1 , L c 2 L_{c1},L_{c2} Lc1,Lc2 进行最小化操作,使得 W ( i ) W^(i) W(i) 可以兼容到三个子图的信息。
实体类型存在不同的层次,对于最底层的实体类型(叶子类型), 其样本数量往往较少,这类实体类型的判断往往需要借助父类型,因此本文引入实体类型间的依赖关系来提高分类结果。借鉴前人工作,本文在模型的最后一层上添加了递归的正则项,特别地,父子实体类型的embedding应该是相似的,例如Athlete是BasketballPlayer实体类型的父节点,则它们应该具有相似的类型表示。
对于有 n n n 层的模型架构,最后一层的参数 W n W^n Wn的每一行代表了一种类型的表示,假设 C ( t ) C(t) C(t)代表类型 t t t的子类型,则通过如下方式进行参数正则化:
基于以上讨论,定义如下的Loss Function:
L o s s = L s + λ ( t ) ( L c 1 + L c 2 ) + λ ′ L h i e Loss = L_s + \lambda(t)(L_c1 + L_c2) + \lambda' L_{hie} Loss=Ls+λ(t)(Lc1+Lc2)+λ′Lhie
其中, λ ( t ) \lambda(t) λ(t) 是一个动态的权重方程;在训练的开始阶段, λ ( t ) \lambda(t) λ(t) 较小,HMGCN 更倾向于根据 G C N c o GCN_{co} GCNco 做出的决策; λ ( t ) \lambda(t) λ(t) 随训练时间逐渐增大,HMGCN 会逐渐开始"考虑到" G C N c a GCN_{ca} GCNca G C N p r e p GCN_{prep} GCNprep 带来的信息。 λ ′ \lambda' λ′ 是根据 dev 上实验结果,在固定数值集合里选择的超参。
实验部分首先介绍了 数据集、评价指标、baseline模型、实验结果,然后进行了如下实验分析:
HMGCN的变体: 如上表下栏所示,分别证明了考虑实体间不同类型关系建立图模型以及recursive regularization的作用;
标注数据量对实验结果的影响: 作者分析了标注数据量对实验结果的影响,根据实验结果证明即便没有十分充足的标注数据,本文模型也能得到较好的实验结果, 作者将这归因于GCN信息交融的结果;
实体类型频率对实验结果的影响: 作者分析了模型在不同出现频率实体类型上的实验结果,虽然对于低频类型实体的实验结果低于高频类型实体的实验结果,但在低频类型实体上仍然取得了比其他方法更好的效果, 这证明了本文方法处理稀有类型数据的能力;
正则化权重 λ ( t ) \lambda(t) λ(t) 的影响: 如下图所示,作者采取不同的 weight function 并记录了对于的实验结果,随着 λ ( t ) \lambda(t) λ(t)增大实验结果逐步增高,说明了加入 G C N c a GCN_{ca} GCNca, G C N p r e p GCN_{prep} GCNprep 所编码信息对实体类型的判断是十分必要的。
了解更多深度学习相关知识与信息,请关注公众号深度学习的知识小屋