Press "Enter" to skip to content

解决知识库完善问题的端到端结构感知卷积网络

作者丨王文博

学校丨哈尔滨工程大学硕士生

研究方向丨知识图谱、表示学习

 

 

动机

 

由于传统模型主要存在以下问题: 只对关系型三元组进行建模,而忽略了节点的属性; 没有将结点的结构化信息纳入考虑范围。 而随着图神经网络的提出与发展,使得 GCN 成为了获取图结构化信息的利器。

 

故本文中作者通过运用变种 GCN(WGCN)模型,使得节点的结构化信息得以充分利用。 并根据最新的用卷积解决知识图谱嵌入问题的研究 ,改进了 ConvE 模型,使其保留了平移特性,构建了 Cov-TransE 模型,将上 述两个模型一个作为编码器,一个作为解码器,构建了整个 SACN 模型,用于完善知识图谱。

 

模型

 

作者提出了端到端的 SACN,其中编码器 WGCN 重点在于聚合知识库中特定关系连接的实体信息,对实体进行标识。将节点嵌入向量作为输入,解码器 Cov-TransE 通过恢复知识库中原始三元组更精确地表示关系。编码器和解码器通过最小化嵌入向量    与  的交叉熵以保证嵌入向量之间具备平移属性  。 将无向图表示为 G=(V,E),其中 V 表示节点集合 |V|=N,并且 E   V×V 是边的集合 |E|=M。

 

带有权重的图卷积层

 

WGCN 是经典 GCN 的延申,WGCN 对不同类型的关系赋予不同的权重。通过这种方式 WGCN 可以控制从邻居节点中传入的信息量。粗略地讲,WGCN 将多关系知识图谱看作是多个单一关系的子图,每个子图中只包含一种特定的关系。在对 GCN 节点嵌入进行组合的过程中,通过 WGCN 决定给每一个子图的权重。

 

第 l 个 WGCN 层将从前一层获得的长度为   的每一个节点的输出向量作为输入,并得到一个全新的表示,由   个元素构成。令   表示结点    在第 l 层的输入向量,因此    作为这一层的输入矩阵。 初始的嵌入矩阵   由 Gaussian 函数随机获得。

 

如果在 WGCN 中一共有 L 层,则第 L 层的输出矩阵    是最终的嵌入向量矩阵。令在一个含有 E 条边的多关系知识图谱中,一共含有 T 种不同的边。相邻两个节点间的作用强度由关系类型决定,并且这个强度值可以通过神经网络进行自动学习,并可以根据每一个边的类型被表示为 

 

 

图 1 展示了 SACN 的整个过程。在这个例子中神经网络中的 WGCN 层用于计算处于图中间的红色节点的嵌入向量。这些层根据知识库中不同的关系类型聚合了邻居实体节点的嵌入向量。

 

三种颜色的边表示图中的三种不同关系类型。对应的三种不同类型的实体节点根据这一层不同的权重    进行求和以获得红色节点的嵌入向量。同种颜色的边运用相同的    的值,每一层由他们各自的关系权重集合  。 因 此,结点   的第 l 层的输出结果可以表示为:

 

 

其中    是节点   的输入向量。 并且结点    是结点   的邻居节点集合   中的一个节点。 函数 g 指定了融合邻居节点信息的方式。 激活函数 σ 运用于输入的每一个部分。 尽管适合于知识库嵌入的任何函数 g 都可以与本文提出的的框架结合使用,但我们使用了以下 g 函数:

 

 

其中    是关联系数矩阵,用于将   线性转化为  。 在等式(1)中,所有邻居节点的输入向量都被加和,但是没有加入节点   自身,因此在网络中要加入自循环。 对于节点  , 传播过程定义为:

 

 

l 层的输出结果是一个特征矩阵  , 并且   是   的第 i 行,该向量表示了节点   在第 l+1 层的特征。 上述过程可以被归纳为如图二所示的矩阵乘法,通过邻接矩阵同时计算所有实体节点的嵌入向量。 对于每一个边的类型都存在一个二进制邻接矩阵  ,在该邻接矩阵中,第 ij 个元素若为 1 则表示节点   与节点   之间存在该种类型的边,否则为 0。 最终的邻接矩阵可以被写为:

 

 

其中 I 是大小为 N×N 的单位阵, 是所有子 图的邻接矩阵与自连接矩阵的加和。 在实现过程中,考虑每个层的线性变换中的所有一 阶邻居,如图 2 所示:

 

 

节点属性 : 在一个知识库图中,节点通常以 (entity,relation,attribute) 的形式与多个属性相连。例如 (s=Tom,r=people.person.gender,a=male) 其中 gender 是 person 的属性,如果单独用一个向量表示节点的属性,则会存在两个潜在的问题。

 

第一点:每个结点的属性的数量较少,并且每个属性之间都不相同。因此属性向量会十分稀疏。第二点:属性向量中的 0 值的含义会有歧义,节点不具备这个属性或者节点缺失这个属性的值。这些 0 值会影响嵌入向量的准确性。

 

在本篇文章中,知识图谱中实体的属性值用网络中的另一组节点表示,被称为属性节点。属性节点充当连接具备关系的实体的桥梁。通过这些属性节点,实体嵌入向量可以转化,并将实体属性信息融合进实体的嵌入向量中。因为这些属性是三元组,本文将实体属性表示为与关系实体 o 一致的形式。每一种类型的属性对应一个实体节点。

 

具体的来说,在例子中,性别被表示为一个实体节点而不是 male 和 female 两个节点。以这种方式,WGCN 不仅仅运用了如图中的连接结构(关系和关系类型),还运用了节点属性(图结构的一种)。这是将本文中的 WGCN 命名为一种支持结构的卷积网络的原因。

 

Conv-TransE

 

本文中将模型 Conv-TransE 作为解码器。该模型基于 ConvE,但是也具备 TransE 的平移属性: 。模型 Conv-TransE 与模型 ConvE 的最大区别在于在堆叠   与    后并没有进行重构。 被用于卷积的过滤器(核)的尺寸为 2×k,k×{1,2,3,…}。 图 1 中运用 2×3 的核来计算 2D 卷积。

 

在我们的实证研究中,我们尝试了几种这样的设置。 在 SACN 的编码器中,将关系嵌入向量的维数设置为与实体嵌入向量的维数相同,为 。 因此,两个嵌入向量可以堆叠。

 

对于解码器而言,输入是两个嵌入向量矩阵: 其中一个是从 WGCN 中得出的所有实体节点的嵌入向量矩阵  ,和另一个通过训练得到的关系嵌入向量矩阵  。 因为本文使用了一个小批量随机训练算法,解码器的第一步对嵌入矩阵执行查找操作,以检索小批量三元组的   和   输入。

 

更精确地解释是,给定 C 个不同的核,第 c 个核以参数   表示,解码器中的卷积可以按照如下方式计算:

 

其中 K 表示核的宽度,n 是输出向量条目的索引  ,核参数  是可以被训练的。  分别由    和    经过填充后得到。

 

如果核的维数 s 是奇数,第一个 [K/2] 元素和最后一个 [K/2] 元素填充 0。[K/2] 表示向下取整。若为偶数,则第一个 [K/2]-1 元素和最后一个 [K/2] 元素填充为 0,其余部分直接复制   和    的值。

 

上述等式中的卷积操作等于一维卷积后  和    的和,因此它保留了嵌入向量    和    的平移属性,输出结果形成向量:

 

将所有核的输出向量组成一个矩阵 。 最终,在非线性卷积操作之后,Conv-TransE 方法的得分函数被定义为:

 

 

其中    是一个线性转化矩阵,f 表示一个非线性函数。特征映射矩阵会被重构为一个向量    并最终运用矩阵 W 投影到一个   维空间然后通过一个距离计算策略计算得出的向量与   嵌入向量的匹配程度。 在本实验的训练过程中,运用 sigmod 函数来计算得分:

 

 

在表 1 中,做这种接了几个表现较好的模型中运用到的得分函数。向量 和 分别是嵌入向量的主体和对象,是关系的嵌入向量,concat 表示将输入进行连接,* 表示卷积操作。

 

总之,本文提出的 SACN 模型,充分利用了知识图谱的结构信息,节点属性信息,关系的种类信息。在 WGCN 中可学习的权重有助于模型从图谱中邻居节点处收集有用的定量信息。实体的属性作为额外节点被加入到网络中,并且十分容易的整合到了 WGCN 中,Conv-TransE 保留了实体和关系间的平移属性以更好地完成链路预测任务,并获得高质量的节点嵌入向量。同时,无论是否使用属性节点,模型 SACN 的效果都要优于 ConvE。

 

 

实验

 

基准数据集

 

FB15k-237 与 WN18RR

 

 

数据构造

 

大部分之前的方法仅仅对于实体和关系进行建模,而忽略了丰富的实体属性。本方法可以对大量的实体属性三元组进行建模。为了证明模型效率,本文从 FB24k 数据集中抽取了属性三元组用来构建评价数据集,被命名为 FB15k-237-Attr。

 

FB24K: FB24k 在数据集 Freebase 的基础上构建,其中只选择了至少有 30 个三元组均包含的实体和关系构成。 其中有 23634 个实体,673 种关系。另外,从原始数据集中移除了可颠倒的关系。在 FB24k 数据集中可以找到属性三元组。FB24k 种包含 207151个属性三元组和 314 个属性。

 

FB15k-237-Attr : 从 FB24k 种抽取 FB15k-237 中的实体的属性三元组。在映射过程中在最初的 14541 个节点中有 7589 个节点具有节点属性。最终从 FB24k 中抽取了 78334 个属性三元组。这些三元组包括 203 个属性,247 个关系,基于这些三元组,制作了数据 FB15k-237-Attr,使得其包括了 14541 个实体节点,203 个属性节点,484 种关系类型。

 

实验设置

 

模型 Conv-TransE 和模型 SACN 的超参数设置都是通过训练过程中的梯度搜索算法进行设置的。在此过程中人为地设定了超参数范围: 学习率 {0.01,0.005,0.003,0.001},dropout 比例 {0.0,0.1,0.2,0.3,0.4,0.5},嵌入尺寸 {100,200,300},核的数量 {50,100,200,300},核的尺寸 {2×1,2×3,2×5} 。

 

这些模型中均使用两层的 WGCN。对于不同的数据集可以按照如下设置,使其达到更好的实验效果:对于 FB15k-237,dropout 设置为 0.2,核的数量设置为 100,学习率设置为 0.003,对于 SACN 的尺寸设置为 200;对于 WN18RR,dropout 设置为 0.2,核的数量设置为 300,学习率设置为 0.003,对于 SACN 的尺寸设置为 200;当只运用 Conv-TransE 模型时,也可以按照上述方法对朝参数进行设置。模型均采用 Adam 优化器进行训练。

 

结果

 

评价标准

 

将所有重组后的有效三元组移除,然后对模型进行评估。评估过程中采用 Hits@1,Hits@3,Hits@10,MRR 作为评价指标。

 

连接预测

 

 

FB15k-237-Attr 被用于验证属性节点对模型的影响。将其与 FB15k-237 数据集上运行的 SACN 进行对比。首先得出模型 ConvE 在四个基准模型中具备最好的实验结果。

 

但是本文中的模型 Conv-TransE 相对于模型 ConvE 得到的结果在数据集 FB15k-237 上,Hits@10 提高了 4.1,Hits@3 提高了 5.7,在数据集 WN18RR 上,Hits@10 则提高了 8.3%,Hits@3 提高了 9.7。从以上结果得出模型 Conv-TransE 使用神经网络保留了实体和关系之间的平移特性得到了更好的实验结果。

 

由于 SACN 模型加入了结构化信息,SACN 在测试集上相较于基准模型取得了更好的效果,模型相对于模型得到的结果在数据集 FB15k-237 上,Hits@10 提高了 10.2,Hits@3 提高了 11.4,Hits@1 提高了 8.3,MRR 提高了 9.4,在数据集 WN18RR 上,Hits@10 则提高了 12.5,Hits@3 提高了 11.6,Hits@1 提高了10.3,MRR 提高了 2.2。所以模型 SACN 证明了属性的重要性。

 

在 SCAN 模型中加入节点属性,运用 FB15K-237-Attr 来训练 SACN。在加入属性节点之前,SACN 已经得到更好的结果,但是在加入属性信息之后,SACN 模型再次被加强。使得相较于 ConvE 模型在数据集 FB15k-237 上,Hits@10 提高了 12.2,Hits@3 提高了 14.3,Hits@1 提高了 12.5,MRR 提高了 12.5;在数据集 WN18RR 上,Hits@10 提高了 1.9,Hits@3 提高了 2.6,Hits@1 提高了 3.8,MRR 提高了 2.9。

 

为了通过模型 ConvE 进行更好的比较,也在该模型中加入了属性信息。并证明得出在该模型中加入属性信息并不能提高模型效果。

 

 

收敛分析

 

图三展示了三个模型的收敛过程,在经历几轮迭代之后 SACN 模型的收敛曲线(红线)一直优于模型 Conv-TransE (黄线)。模型 SACN 的表现过程在 120 轮迭代之后仍然持续增长。两个模型曲线的巨大差距证明了结构信息的有效性。当运用 FB15k-237-Attr 数据集时,ASCN+Attr 比单独的 SACN 模型效果更好。

 

 

核尺寸分析

 

在表四中对不同的核尺寸进行分析,尺寸为 2×1 的核表示实体向量的一个属性与关系向量的对应属性之间的知识或信息转换。如果将核尺寸扩张为 2×k,其中 k={3,5},信息在实体向量中的 s 属性组合和关系向量中的 k 属性组合之间进行转换。用更大的尺寸来收集属性信息有助于提高模型的性能。

 

如表四所示,在数据集 FB15k-237 和 FB15k-237-Attr 上,Hits@1,Hits@10 和 MRR 均随着核尺寸的增加而得到了提高。但是,如何选择核的最优尺寸可能要依据所要解决的任务来决定。

 

 

节点入度分析

 

节点有更大的度表示有更多的邻居节点与该节点相连,这种节点可以从邻居节点获得更多的信息。表五种根据度的阈值将节点划分成了不同的集合。计算 Hist@10 和 Hits@3 的均值。随着度的阈值的变大,Hits@10 和 Hits@3 的均值也在增大。

 

首先,对于一个入度小的节点,它受益于来自 SACN 的 WGCN 层的邻居信息的聚合,它的嵌入向量可以被稳定的计算。其次,对于具有较大入度的节点,意味着通过 GCN 可以聚合更多的信息,并且其嵌入的嵌入向量在邻居之间得到了极大的平滑。因此从 SACN 中学到的嵌入向量不如从模型 Conv-TransE 中学到的向量。对于这个问题的一种解决办法是进行邻居选择。

 

总结

 

本文的贡献主要有以下两点:

 

运用 WGCN,将每一种关系类型作为一幅子图进行单独处理,并在将其进行加和,对完整的知识图谱进行处理。 该过程中使用了节点的结构化信息,节点的属性信息,边的类型关系。 使得嵌入向量中具备的信息更加丰富。

 

对 ConvE 进行修改,使其可以保留实体与关系的平移属性,得到 Conv- TransE 模型,并且该模型在加入属性信息后具备更好的表现效果,而原有的 ConvE 模型则不会随加入属性信息得到更高的表现效果,甚至一直不如模型 Conv-TransE 最原始的效果。

 

本文的不足之处: 虽然很好的解释了如何运用 WGCN 解决实体结点的编码问题,但是对关系嵌入向量的编码过程解释过于笼统。

 

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注