1. 引言
知识图谱是由实体作为节点和关系作为边而组成的有向图。它们以三元组(head, relation, tail)的形式存储事实信息,其中head和tail分别是头实体和尾实体,relation表示从头到尾的关系。虽然目前的知识图谱由大量的三元组组成,但还远远不够完整,而完整性是决定知识图谱可用性的关键参数。为了补全知识库中大量的缺失信息,对多关系知识数据进行链接预测变得至关重要。本文旨在提供一种高效、可扩展的方法来对知识图进行建模以补全它们。
最近,现有知识图谱的规模在快速扩大,这导致传统的基于逻辑的方法难以处理。在这种背景下,学者们试图建立实体和关系的低维向量或矩阵表示嵌入模型。近年来,各种知识图谱嵌入方法被提出,其中基于翻译的模型简单有效,性能良好。受word2vec [1] [2] 的启发,给定一个三元组
,TransE [3] 学习满足
的向量嵌入h、r和t。之后提出的TransH [4]、TransR/CTransR [5] 和TransD [6] 等来解决TransE建模时无法解决1-N、N-1和N-N关系的问题。作为双线性模型RESCAL [7] 的扩展,HolE [8]、DistMult [9] 和ComplEx [10] 实现了出色的多关系建模能力。同时,也有一些不同的方法利用实体类型 [11]、文本描述 [12] 多种外部信息,以及加强知识图谱表示的逻辑规则 [13] [14]。
这些基于嵌入的方法将知识图中的每个对象编码到一个连续的向量空间中,显示出很强的可行性和健壮性。因此,这种方法受到了广泛的关注。尤其,最早出的翻译模型TransE [3],已经被证明具有优秀的嵌入能力。该模型将每个关系视为对嵌入实体进行操作的翻译向量。因此,对于三元组(head, relation, tail),模型通过学习头实体和尾实体的向量嵌入以便它们通过关系向量进行翻译连接。目前,学者们已经提出了许多TransE的扩展模型来提高其表示能力,同时仍然保持其简单性,例如在翻译过程中增加一些投影操作 [5] [6]。
在本文中,我们提出了TransE的扩展模型,该扩展模型尝试通过学习关系组合在向量空间中表现出的翻译序列来改进翻译模型对多关系知识图的表示。这个想法是通过学习简单的推理来训练实体的嵌入,例如,给定关系people/nationality,应该给出people/city_of_birth加上city/country,这样类似的关系组合结果。我们这个称为TransECR的模型会通过在知识图中执行受约束的游走来增加此类组合在训练集中的相关示例,并训练这些组合以使翻译序列产生所需的结果。之前Neelakantan等人 [15] 提出了用非线性的递归神经网络(RNN)对多关系数据的组合性进行建模的想法。然而,我们展示了一种通过简单地添加翻译向量而不需要额外参数来表示组合关系的便捷方法,这使得它具有良好的可扩展性。
本文的实验结果表明TransECR在链接预测方面优于TransE。实验评估根据测试实例和训练数据的相似性,把测试实例分为了hard和easy两个类别,并突出TransECR在这两个类别上的改进。我们的实验还包含了一个回答有关组合关系问题的评估,例如回答这个关系组合(head, relation1, relation2, ?)的tail是一个什么实体。TransECR在这个评估任务上的表现也明显优于TransE。
2. 相关工作
近年来,多关系数据建模在社交网络和知识库上取得了巨大进展。许多工作将关系学习作为一个多关系表示学习问题来处理,其中有基于不同基线方法的模型在低维潜在空间中编码实体和关系,有基于贝叶斯聚类的模型 [16] [17] [18] [19],有基于矩阵分解的模型 [7] [20] [21]。在现有的表示模型中,TransE [3] 将关系视为头尾实体之间的翻译进行优化,在预测精度和计算效率之间取得了很好的效果。现有的知识库表示学习方法都只使用实体之间的直接关系,而忽略了组合关系路径中的丰富信息。
关系路径已经在社交网络和推荐系统中得到广泛关注。这些工作中的大多数将每个关系和路径视为离散符号,并使用图算法来处理它们。关系路径也被用于大规模知识图谱的推理,例如路径排名算法 (PRA) [22]。PRA也被用于基于知识图结构的关系提取。Neelakantan等人 [15] 通过进一步研究,提出用循环神经网络(RNN)来学习知识图所涉及的关系,从而表示潜在关系路径。我们注意到,这些方法专注于为关系提取建模关系路径,而不考虑实体的任何信息。相比之下,TransECR把整合了建模实体和关系路径这两方面优点。我们的实验展示了TransECR可以学习实体和关系的更丰富的表示,以补全知识图谱和进行组合关系推理。
3. TransECR知识表示方法
我们提出的模型受到TransE的启发。在TransE中,知识库的实体和关系被映射到低维空间中,这些被映射到低维空间的实体和关系向量称为嵌入。对于知识库中的每个事实
,这些嵌入经过学习后,在向量空间中表示为
。因此,对关系进行翻译操作自然会导致将两个关系的组合嵌入为它们的嵌入之和:在知识图谱的某条路径上,由
和
这两个事实三元组,我们可以在嵌入空间中得出
。原先的TransE并没有严格约束实体嵌入能准确再现这样的组合。我们提出的TransECR,修改了训练阶段的约束条件,使得嵌入能准确再现这样的组合。这样可以允许TransECR模型在知识图谱中建模简单的推理。
3.1. 组合关系建模
我们在本节中将全面描述了我们的模型,它允许处理任意数量的关系的组合。首先,作为组合结果的三元组会被表示为
,其中p是从h到t路径上的组合关系数。这条路径意味着存在实体
,其中
且
使得对于所有k,
是知识图谱中的一个事实。我们的模型TransECR用组合关系表示知识图中路径的每一步
:
(1)
(2)
其中
是头实体h嵌入到低维空间中的向量。然后,我们遵循TransE [3] 的三元组得分计算方法,因此三元组的计算公式如下:
(3)
3.2. 路径的构造和过滤
本文的实验希望通过关系的组合在知识库中学习简单的推理。因此,我们只分析路径长度为2的关系组合,下面会详细介绍。
首先,对于每个事实
,检索所有路径
是否有使
和
都在知识图中的e,然后我们过滤后,将得到这些使得
或者
,以及
和
的路径。我们关注明确的路径,以便使得推理真正有意义。特别是,我们只考虑由
是一对一或一对多关系,而
是一对一或多对一关系。在我们的实验中,为训练模型所创建的路径只是用于训练一部分事实三元组。另外,在本文的其余部分,这种含有路径长度为2的事实称为四元组。
3.3. 模型训练
我们的训练目标分为两部分:第一部分是用基于间隔的损失函数训练模型,训练数据忽略了四元组。第二部分通过增加正则项的方式,将路径加入到训练中。用S表示知识图中的一组事实,训练目标的第一部分是用以下基于间隔的损失函数训练三元组的嵌入
(4)
其中
是取x为正数的时候,
是间隔大小,
是通过替换事实三元组
中的h或者t而创建的负例三元组集合。
这个损失函数能有效地训练了尾实体,以使得它的嵌入是最接近翻译后的头实体嵌入,但是它并不能保证尾实体嵌入和翻译后的头实体嵌入之间的达到极小的距离。根据最近邻准则足够对简单的三元组进行推断,但要确保组合关系规则准确,必须确保它们距离很小。考虑到关系的组合性,我们添加了两个额外的正则项:
(5)
(6)
公式(4)是基于间隔的损失函数,适用于训练原始数据集中的事实三元组。而公式(5)(6)考虑通过添加的约束条件,使得模型能用于训练四元组。公式(6)中
意思是组合关系r蕴含
这两个关系。
是一个涉及到
和由它们组合而成的关系r的参数。它是一个包含
这两个关系的路径数,然后由关系r的事实创建的四元组总数进行归一化而来的参数。这个约束条件能赋予可替代关系r的可靠路径
更高权重。最后,为每个实体的嵌入添加正则项
。
4. 实验结果与分析
本节阐述了在基准数据集FB15K [3] 和Family [23] 的实验。
4.1. 数据集分析
FB15K是Freebase 的一个子集,它是一个非常大的通用事实数据库,收集了超过12亿个三元组和8000万个实体。Family是另外一个数据集,其中包含表示6代的5个家庭的7种关系(cousin of, has ancestor, married to, parent of, related to, sibling of, uncle of)的三元组。这个是人工数据集,每个家庭都组织在一个分层的树结构中,其中每一层都代表一代。家庭之间通过两个成员之间的婚姻联系连接起来,这些成员是从不同家庭的同一层中随机抽取的。有趣的是,在这个数据集上,有明显的组合关系,比如
或者
等组合关系。表1给出了数据集的相关信息。
Table 1. Statistics of the datasets used
表1. 数据集的统计情况
4.2. 实验参数设置
我们的实验参数主要参考的是TransE,因此我们遵循与TransE中相同的实验设置,使用排名指标进行评估。对于每个测试三元组,我们依次用每个实体替换头部,然后计算每个候选者的分数并对它们进行排序。由于其他正候选实体(即形成事实三元组的实体)的排名可能高于目标,因此我们从排名中过滤掉训练集、验证集和测试集中存在的所有正候选实体,然后保留目标实体的排名。重复相同的过程,但去除尾部实体而不是头部。1) Mean rank是这些实体排名的平均值,该指标的值越小,说明模型的性能越好。2) Hits@10是前10个预测中有目标实体的命中率,该指标的值越大,说明模型的表示学习的能力越强,实体嵌入越准确。
模型调试过程中,如何获取最优的参数是非常重要的。对于Family数据集,嵌入维度设置为20,FB15K 的嵌入维度设置为100。训练采用随机梯度下降进行,在500个epoch之后停止。在FB15K上,我们使用TransE的学习好的嵌入来初始化TransECR,我们将学习率
设置为0.001来微调TransECR。在Family上,两种算法都是随机初始化实体嵌入的,并使用0.01的学习率。平均排名Meanrank被用作检验模型的标准。
和
分别在如下参数集合中选取,
,
,
和
。
4.3. 实验结果分析
为了验证本文所提出的模型综合性能,将选择TransE和我们提出的模型TransECR在链接预测任务上进行参与评估。实验结果展示在表2。其中w. COMP.表示在训练集中存在与其关系匹配的组合关系。其中w/o COMP.表示在训练集中不存在与其关系匹配的组合关系。
在FB15K数据集上,表2 (最后一行)显示,在较长的路径(此处长度为2)上进行训练始终可以提高性能,同时仅预测三元组的头或尾:TransECR的整体Hits@10从TransE的71.5%提高近5%到76.2%。
为了更好地理解TransECR的优势,我们对FB15K进行了详细的评估,通过沿两个维度对测试三元组进行分类:Easy与Hard以及有组合关系与无组合关系。一个测试三元组
,如果它的头实体和尾实体通过训练集中的三元组连接起来,那么这个三元组被标记为Easy。否则,这个三元组被标记尾Hard。此外,如果对于r至少存在一条路径
,则测试三元组
被标记为组合关系。如果不存在这样的路径,则
没有这样的组合关系。
详细结果如表2所示。我们可以看到,与TransE相比,TransECR在Hits@10方面特别提高了模型对组合关系三元组的性能,在Easy三元组上提高了4.2% (从78.8%到83.0%)和Hard三元组上提高了2.5% (从46.8%到9.3%)。性能提高最多的仍然是对Easy三元组,实际上没有组合关系的Easy三元组的Hits@10增加了4%,从71.3%增加到75.3%。平均排名在Easy的三元组上也有显着提高,而在Hard三元组上则保持不变。总而言之,结果表明,在训练期间考虑路径可以显着提高性能,并且组合关系三元组的结果表明TransECR确实能够推理出存在于较长路径中的事实。
Table 2. Detailed performances on FB15k of TransE and TransECR (%)
表2. TransE和TransECR在FB15k上的详细性能
4.4. 四元组预测任务结果分析
在知识图中进行链接预测侧重于预测测试三元组中的缺失元素。为了更全面地对模型进行评估,我们在此将扩展到更复杂的任务,例如预测四元组
或
中的尾实体或者头实体。
表3给出了TransE和我们的TransECR模型对此类四元组的预测示例。TransECR能够从这些信息中正确推断出国家或者地区,因为TransECR具有组合关系的推断能力,我们在建模的时候就考虑对组合关系的学习。另一方面,TransE受到级联误差的影响,因为排名损失函数并不能保证
和实体“Malaysia”之间的距离很小,所以当对关系
求和时,它最终会更接近实体“Taiwan”而不是实体“asia”。
Table 3. Examples of quadruples predictions of TransECR and TransE
表3. TransECR和TransE的四元组预测示例
为了进行更定量的分析,我们在FB15K上生成了一个新的四元组预测测试数据集。这个测试集是通过从三元组测试集中生成路径并删除那些用于训练的四元组来创建的。我们获得了1852个四元组。整体实验方案和前面一样,依次尝试预测这些四元组的头部或尾部。
在该评估协议中,TransECR的MR为113.0,Hits@10为69.4%,而TransE的MR为158.9,Hits@10为65.4%。我们可以看到,递推关系的学习提高了两个指标的性能,在Hits@10方面获得了3%的提升,在平均排名MR上提高大约46,相对提升了接近30%。
5. 结论
本文提出了TransECR,一种新的知识图谱表示学习方法,它对组合关系的路径进行编码,以将实体和关系都嵌入到低维空间中。为了利用组合关系路径,我们提出在训练中加入了关于路径的正则项来衡量关系路径的可靠性,并使用关系组合来表示路径以进行优化。我们评估TransECR在三元组和四元组链接预测这两个任务上的性能。实验结果表明,与TransE相比,TransECR实现了显着的改进。
未来,我们将探索以下研究方向:1) 本文的模型仅通过组合关系之间的路径关联推理模式进行学习。关系之间有很多复杂的模式。例如,由“公主”可以推理出“女性”,但是目前的模型无法作出这样的推理。我们可以利用一阶逻辑对这些推理模式进行编码以进行表示学习。2) TransE有一些扩展,例如TransH和TransR。他们采用TransECR的思想并非易事,我们将探索将TransECR扩展到这些模型,以更好地处理知识图谱表示学习中的复杂场景。