论文翻译解读:Translating Embeddings for Modeling Multi-relational Data【TransE】

文章目录

  • 为建模多关系数据转换嵌入
    • 简要信息
    • 重要内容概括
    • 摘要
    • 1 介绍
    • 2 基于翻译的模型
    • 3 相关工作
    • 4 实验
      • 4.1 数据集
      • 4.2 实验设置
      • 4.3 链接预测
      • 4.4 学会用很少的例子来预测新的关系
    • 5 总结和未来工作

为建模多关系数据转换嵌入

简要信息

序号 属性
1 模型名称 TransE
2 所属领域 知识图谱
3 研究内容 基于嵌入的知识表示
4 核心内容 嵌入模型
5 GitHub源码 TransE
6 论文PDF Translating Embeddings for Modeling Multi-relational Data
7 发表年份 2013

重要内容概括

摘要:

​ 在低维向量空间中嵌入多关系数据的实体和关系。

1 介绍:

​ 对KBs中的多关系数据进行建模,提供高效的工具,不需要额外的知识,通过自动添加新的事实来完成。

​ 在复杂和异构的多关系领域,简单适当的建模假设可以在准确性和可伸缩性之间实现更好的权衡。

​ 不同类型的实体之间的一对一关系可以通过平移来表示,TransE加强嵌入空间的这种结构。

3 相关工作:

​ 当两个实体属于同一个三元组时,它们的嵌入应该在某个依赖与关系的子空间中彼此靠近。

摘要

我们考虑在低维向量空间中嵌入多关系数据的实体和关系的问题。我们的目标是提出一个权威模型,该模型易于训练,包含较少的参数,并且可以扩展到非常大的数据库。因此,我们提出了TransE,一种通过将关系解释为对实体的低维嵌入操作的平移来建模关系的方法。尽管简单,但这个假设被证明是强大的,因为大量的实验表明,TransE在两个知识库上的链接预测方面明显优于最先进的方法。此外,它可以成功地在拥有1M实体、25k关系和17M以上训练样本的大规模数据集上训练。

1 介绍

多关系数据是指一个有向图,它的节点对应实体且边的其形式为(头、标签、尾)(表示为(h, ', t)),每一个节点表示实体头尾之间存在命名标签关系。多关系数据模型在许多领域发挥着关键作用。例如,社交网络分析,实体是成员,边缘(关系)是友谊/社会关系链接,推荐系统,实体是用户和产品,关系是购买,评级,评论或搜索产品,或知识库(KBs),如Freebase1,谷歌knowledge Graph2或GeneOntology3,其中,知识库的每个实体表示世界的一个抽象概念或具体实体,而关系是表示涉及其中两个实体的事实的谓词。我们的工作重点是对KBs(本文中的Wordnet[9]和Freebase[1])中的多关系数据进行建模,目的是提供一个高效的工具,通过自动添加新的事实来完成它们,而不需要额外的知识。

**建模多关系数据。**建模过程归结为提取实体之间的局部或全局连接模式,并通过使用这些模式来执行预测,以一般化观察到的特定实体与所有其他实体之间的关系。对于单一关系来说,局部的概念可能是纯粹的结构性的,比如我朋友的朋友就是我在社交网络中的朋友,但也可以依赖于实体,比如那些喜欢《星球大战4》的人也喜欢《星球大战5》,但他们可能喜欢也可能不喜欢《泰坦尼克号》。单关系数据在对数据进行一些描述性分析后可以做出专门但简单的建模假设,而关系数据的困难在于局部性的概念可能同时涉及不同类型的关系和实体,因此对多关系数据建模需要更通用的方法,可以同时考虑所有异构关系选择适当的模式。

随着协同过滤中“用户/项目”聚类或矩阵分解技术的成功,为了表示单个关系数据中实体的连接模式之间的至关重要的相似性,大多数现有的多关系数据方法都是在从潜在属性进行关系学习的框架内设计的,正如[6]所说,通过学习和操作成分(实体和关系)的潜在表征(或嵌入)。从这些方法对多关系领域的自然扩展开始,例如随机块模型的非参数贝叶斯扩展[7,10,17]和基于张量分解[5]或集体矩阵分解的模型[13,11,12],许多最新的方法都专注于增加模型的表现力和普用性,无论是贝叶斯聚类框架[15]还是基于能量的框架,用于学习在低维空间中嵌入实体[3,15,2,14]。这些模型更强的表达能力是以模型复杂性的大幅增加为代价的,这导致建模假设难以解释,并导致更高的计算成本。此外,这种方法可能会受到过拟合(因为此类高容量模型的适当正则化很难设计)或欠拟合(因为需要解决许多局部最小值的非凸优化问题来训练它们)的影响。事实上,[2]中显示,在具有相对大量不同关系的多个多关系数据集上,一个更简单的模型(线性而不是双线性)几乎可以获得与最具表现力的模型一样好的性能。这表明,即使在复杂和异构的多关系领域,简单而适当的建模假设也可以在准确性和可伸缩性之间实现更好的权衡。

**关系作为嵌入空间中的翻译。**在本文中,我们引入了一个基于能量的学习实体低维嵌入的模型TransE。在TransE中,关系被表示为嵌入空间中的平移:如果(h, l’, T)成立,那么尾实体T的嵌入应该接近头实体h加上某个依赖于关系的向量l’。我们的方法依赖于一个简化的参数集,因为它只学习每个实体和每个关系的一个低维向量。

我们基于翻译的参数化背后的主要动机是,层次关系在KBs中非常常见,翻译是表示它们的自然转换。实际上,考虑到树的自然表示(即在2维中嵌入节点),兄弟节点彼此靠近,给定高度的节点在x轴上组织,父子关系对应于y轴上的平移。由于null平移向量对应于实体之间的等价关系,因此模型也可以表示兄弟关系。因此,我们选择使用每个关系(一个低维向量)的参数预算来表示我们认为在KBs中的关键关系。另一个次要的动机来自[8]最近的工作,作者从自由文本中学习单词嵌入,不同类型实体之间的一些一对一的关系,例如国家和城市之间的“首都”(capital of),(巧合而非自愿)被模型作为嵌入空间中的平移表示。这表明可能存在嵌入空间,不同类型的实体之间的一对一关系也可以通过平移来表示。我们的模型的目的是加强嵌入空间的这种结构。

我们在第4节中的实验表明,尽管这个新模型很简单,而且它的架构主要是为建模层次结构而设计的,但它最终在大多数类型的关系上都很强大,并且在真实世界的KBs上的链接预测方面可以大大超过最先进的方法。此外,它的轻参数化使得它可以在Freebase中包含1M实体、25k关系和超过17M训练样本的大规模分割上成功训练。

在本文的其余部分,我们将在第2节描述我们的模型,并在第3节讨论它与相关方法的联系。我们在第4节详细介绍了在Wordnet和Freebase上进行的广泛的实验研究,并与文献中的许多方法进行了比较。最后,我们在第五部分总结了未来的工作方向。

2 基于翻译的模型

给定一个由两个实体h, t∈E(实体集)和一个关系l’∈L(关系集)组成的三元组训练集S,我们的模型学习实体和关系的向量嵌入。这些嵌入在Rk (k是一个模型超参数)中取值,用相同的黑体字母表示。我们的模型背后的基本思想是,由l’标记边诱导的函数关系对应于嵌入的平移,即我们希望当(h, l’, t)存在时,h + l’≈t (t应该是h + l’的最近邻),否则h + l’应该远离t。根据基于能量的框架,对于不同的度量d,三元组的能量等于d(h + l’, t),我们取它为L1或l2范数。

为了学习这样的嵌入,我们最小化训练集上基于边际的排序标准:(1)

式中[x]+表示x的正部分,γ > 0是边缘超参数,且(2)

损坏的三元组集合,根据公式2构造,由训练三元组的头或尾被一个随机实体替换(但不是同时两个)组成。损失函数(1)倾向于训练三元组的能量值比损坏的三元组的能量值更低,因此是预期标准的自然实现。注意,对于给定的实体,当该实体作为三元组的头或尾出现时,它的嵌入向量是相同的。

优化是通过随机梯度下降(minibatch),对可能的h, l’和t进行优化,附加的约束是实体嵌入的l2范数为1(没有正则化或范数约束给标签嵌入l’)。这个约束对于我们的模型很重要,就像之前基于嵌入的方法一样[3,6,2],因为它阻止了通过人为增加实体嵌入范数来琐碎的最小化L的训练过程。

具体的优化过程见算法1。所有实体和关系的嵌入都按照[4]中提出的随机过程首先初始化。在算法的每次主迭代中,首先对实体的嵌入向量进行归一化处理。然后,从训练集中采样一小组三元组,作为小批的训练三元组。对于每一个这样的三元组,我们然后抽样一个损坏的三元组。然后,参数更新采取梯度步恒定学习率。根据算法在验证集上的性能停止算法。
论文翻译解读:Translating Embeddings for Modeling Multi-relational Data【TransE】_第1张图片

3 相关工作

第1节描述了嵌入KBs的大量工作。我们在这里详细介绍了我们的模型与[3]和[14]模型之间的链接。

表1:FB15k的参数数量及其值(以百万为单位)。Ne和nr是nb。实体和关系;K是嵌入维数。

表2:本文从Wordnet和Freebase两个知识库中提取的数据集统计。

SE[3]将实体嵌入到Rk中,并将关系嵌入到两个矩阵L1∈Rk×k和L2∈Rk×k中,这样d(L1h, L2t)对于损坏的三元组(h, l’, t)大(否则小)。其基本思想是,当两个实体属于同一个三元组时,它们的嵌入应该在某个依赖于关系的子空间中彼此靠近。使用两个不同的投影矩阵为头部和尾部是为了解释可能的不对称关系l’。对于某一g,当差异函数为d(x, y) = g(x−y)时:Rk→R(例如g是一个范数),然后用一个嵌入SE的大小为k + 1是严格表达多于我们的模型的嵌入k大小,因为维k + 1中线性算子可以繁殖仿射变换的子空间维k (k + 1维限制所有嵌入等于1)。SE, L1与L2为单位矩阵,是为了产生一个等价于TransE的翻译。尽管我们的模型表达能力较低,但我们在实验中仍然达到了比SE更好的性能。我们认为这是因为(1)我们的模型是一种更直接的方式来表示关系的真实属性,(2)优化嵌入模型是困难的。对于SE来说,更强的表达能力似乎更等同于欠拟合,而不是更好的性能。训练误差(在第4.3节)倾向于证实这一点。

另一种相关的方法是神经张量模型[14]。该模型的一个特殊情况对应的学习分数s(h, l’, t)(损坏的三元组分数较低)的形式:(3)

其中L∈Rk×k, L1∈Rk, L2∈Rk,它们都依赖于l’。

如果我们考虑TransE与欧氏距离的平方作为差异函数,我们有:(公式)

考虑到我们的范数约束(k h k22=k t k22= 1)和排序准则(1),其中k ’ k22在损坏的三元组比较中不发挥任何作用,因此我们的模型涉及到用hT t + ’ t (t−h)给三元组打分,因此对应于[14]模型(式(3)),其中L为单位矩阵,l’ = l’ 1 =−l’ 2。我们不能用这个模型进行实验(因为它和我们的模型同时发表),但同样TransE的参数更少:这可以简化训练和防止欠拟合,并可能弥补较低的表达能力。

然而,TransE的简单公式,可以被视为编码了一系列有缺陷的双向交互(例如,通过开发L2版本)。对于h l’和t之间的三方依赖至关重要的数据建模,我们的模型可能会失败。例如,在小规模Kinships数据集[7]上,TransE在交叉验证(用精确-召回曲线下的面积衡量)上的表现与最先进的[11,6]并不能竞争,因为这种三元交互在这种情况下必不可少(见[2]中的讨论)。尽管如此,我们第4节的实验表明,为了处理像Freebase这样的通用大规模KBs,应该首先正确地建模最频繁的连接模式,就像TransE所做的那样。

4 实验

我们的方法,TransE,是根据从Wordnet和Freebase中提取的数据进行评估的(它们的统计数据在表2中给出),对比文献中最近的几种方法,这些方法在各种基准测试中取得了最佳的当前性能,并可扩展到相对较大的数据集。

4.1 数据集

**Wordnet。**该知识库用于生成直观可用的词典和同义词典,并支持自动文本分析。它的实体(称为同义词集)对应于词义,关系定义了它们之间的词汇关系。我们考虑了[2]中使用的数据版本,我们在下面表示WN。三元组的例子是(得分NN 1,上位词,评价NN 1)或(得分NN 2,有部分,乐谱NN 1)

**Freebase。**Freebase是一个庞大的、不断增长的常识知识库;目前世界上大约有12亿三元组,超过8000万个实体。我们用Freebase创建了两个数据集。首先,为了建立一个小的数据集来进行实验,我们选择了一些实体的子集,这些实体也出现在维基链接数据库中,并且在Freebase中至少有100次提及(实体和关系)。我们还删除了“!”“/people/person/nationality”与“/people/person/nationality”的关系相比,“/people/person/nationality”正好颠倒了头尾。这导致了592213个三元组的14951个实体和1345个关系,被随机分割,如表2所示。该数据集在本节的其余部分中表示为FB15k。我们还希望有大规模的数据,以便在规模上测试TransE。因此,我们从Freebase创建了另一个数据集,选择最频繁出现的100万个实体。这导致了大约2.5万关系和1700多万训练三元组被分割,我们称之为FB1M。

4.2 实验设置

**评估协议。**对于评估,我们使用与[3]相同的排序过程。对于每个测试三元组,去掉头部,然后由字典的每个实体依次替换。该模型首先计算损坏的三元组的异同(或能量),然后按升序排序;最终存储正确实体的排名。整个过程是重复的,同时去掉尾巴而不是头。我们报告这些预测排名的平均值和hits@10,即排名前10的正确实体的比例。

这些指标是有象征的,但当一些损坏的三元组最终成为有效的时(例如来自训练集),这些指标可能是有缺陷的。在这种情况下,损坏三元组可能排在测试三元组之上,但这不应该算作错误,因为两个三元组都为真。为了避免这种误导行为,我们建议从已损坏的三元组列表中删除所有出现在训练、验证或测试集中的三元组(interest的测试三元组除外)。这可以确保所有损坏的三元组不属于数据集。在下面,我们根据这两种设置报告mean rank和hits@10:原始的(可能有缺陷的)称为raw,而我们将更新的称为filttered(或filt.)。我们只提供FB1M实验的原始结果。

**基准线。**第一种方法是Unstructured,是TransE的一个版本,它认为数据是单关系的,并将所有转换设置为0(它已经在[2]中用作基线)。我们还比较了[11,12]提出的集合矩阵分解模型RESCAL,以及基于能量的模型SE [3], SME(线性)/SME(双线性)[2]和LFM[6]。RESCAL通过交替最小二乘法进行训练,而其他的则通过随机梯度下降法进行训练,如TransE。表1比较了我们模型的基线理论参数,并给出了FB15k上的数量级。SME(linear)、SME(bilinear)、LFM和TransE在低维嵌入中具有与Unstructured相同数量的参数,而其他算法SE和RESCAL需要快速学习每个关系至少一个k × k矩阵,需要学习许多参数。RESCAL在FB15k上需要大约87倍的参数,因为它需要比其他模型更大的嵌入空间来获得良好的性能。由于参数数量或训练持续时间方面的可扩展性原因,我们没有在FB1M上使用RESCAL、SME(双线性)和LFM进行实验。

我们使用作者提供的代码训练了所有的基线方法。对于RESCAL,由于可伸缩性的原因,我们必须将正则化参数设置为0,如[11]中所示,并在{50,250,500,1000,2000}中选择导致验证集上最低平均预测排名的潜在维度k(使用原始设置)。对于Unstructured, SE, SME(linear)和SME(bilinear),我们选择学习率在{0.001,0.01,0.1}之间,k在{20,50}之间,并使用验证集上的平均秩(在训练数据上总共最多1000个epoch)及早停止选择最佳模型。对于LFM,我们还使用平均验证秩来选择模型,并选择{25、50、75}之间的潜在维数,{50、100、200、500}之间的因子数和{0.01、0.1、0.5}之间的学习率。

**实现。**对于TransE实验,我们选择每个数据集验证集上{0.001,0.01,0.1}之间的随机梯度下降的学习率λ,{1, 2, 10}之间的边缘γ和{20,50}之间的潜在维k。根据验证效果,将差异度测量d设置为L1或L2距离。在Wordnet上的最优配置为:k = 20, λ = 0.01, γ = 2, d = L1;FB15k上k = 50, λ = 0.01, γ = 1, d = L1;在FB1M上,k = 50, λ = 0.01, γ = 1, d = L2。对于所有数据集,训练时间被限制在训练集上最多1000个epoch。通过尽早停止使用验证集(原始设置)上的平均预测排名来选择最佳模型。TransE的开源实现可以从webpage6项目中获得。

4.3 链接预测

**总体结果。**表3显示了所有比较方法的所有数据集上的结果。正如预期的那样,过滤后的设置提供了较低的平均排名和较高的hits@10,我们认为在链接预测方面,这是一个更清晰的评估方法。然而,一般来说,原始和过滤之间的趋势是相同的。

我们的方法,TransE,在所有指标上都优于所有同行,通常有很大的优势,并达到一些很好的绝对性能得分,如在WN上89%的hits@10(超过40k实体)和34%的FB1M(超过1M实体)。TransE和第二名方法之间的所有差异都很重要。

我们认为,TransE的良好性能是由于根据数据进行了适当的模型设计,但也由于它的相对简单。这意味着它可以有效地用随机梯度优化。我们在第3节中展示了SE比我们的方案更具有表现力。然而,它的复杂性可能使它很难学习,导致性能更差。在FB15k上,SE在训练集的50k三元组子集上的平均秩为165,hits@10为35.5%,而TransE为127和42.7%,这表明TransE确实较少受弱拟合的影响,这可以解释其较好的性能。SME(双线性)和LFM遭受同样的训练问题:我们从未设法对他们进行足够好的训练,以便他们能够充分利用自己的能力。LFM的糟糕结果也可以解释为我们基于排名实体的评估设置,而LFM最初是用来预测关系的。RESCAL可以在FB15k上实现相当好的hits@10,但产生较差的平均排名,特别是在WN上,即使我们使用了较大的潜在维度(Wordnet上为2000)。

翻译Term的影响是巨大的。当一个人比较TransE和Unstructured(即TransE没有翻译)的表现时,Unstructured的平均排名似乎相当好(第二名),但hits@10非常差。Unstructured只是将所有实体聚集在一起,独立于所涉及的关系,因此只能猜测哪些实体是相关的。在FB1M上,TransE和Unstructured的平均排名几乎相似,但TransE在前10名中的预测数是前者的10倍。

表4:按关系类别划分的详细结果。在我们的模型、TransE和基线的过滤评估设置中,我们比较了FB15k上的Hits@10 (in %)。(m代表许多)。

表5:使用TransE对FB15k测试集的示例预测。粗体表示测试三元组的真实尾部,斜体表示训练集中存在的其他真实尾部。

**详细结果。**表4对FB15k的结果进行了分类(在hits@10中),这取决于几种关系的类别以及对几种方法进行预测的参数。我们根据头部和尾部参数的基数将关系分类为四类:1-TO-1、1-TO-MANY、多对1、多对多。如果一个头最多可以出现一个尾,则关系为1对1;如果一个头最多可以出现多个尾,则关系为1对多;如果多个头最多可以出现一个尾,则关系为多对1;如果多个头最多可以出现多个尾,则关系为多对多。我们通过计算每种关系的头的平均次数h(respect.尾巴t)出现在FB15k数据集中,给定一对(l’,t)(尊重。一对(h, l’))。如果这个平均值低于1.5,则参数标记为1,否则标记为MANY。例如,平均每尾有1.2个头,每头有3.2个尾的关系被归类为一对多。我们得到FB15k有26.2%的1对1关系,22.7%的1对多关系,28.3%的多对1关系,22.8%的多对多关系。

表4中的这些详细结果允许对方法的行为进行精确的评估和理解。首先,正如人们所预料的那样,似乎更容易预测三元组的“1side”上的实体(即,预测头1对多,尾1对多),即当多个实体指向它时。这些都是合适的例子。SME(双线性)在这种情况下被证明是非常准确的,因为它们是那些训练最多的例子。Unstructured在1对1关系上表现良好:这表明此类关系的参数必须共享公共的隐藏类型,Unstructured能够通过在嵌入空间中链接在一起的集群实体在某种程度上揭示这些类型。但这一策略不适用于其他类型的关系。添加翻译术语(即将Unstructured升级为TransE)可以通过遵循关系从一个实体集群移动到另一个实体集群。这对于适合的例子来说尤其惊人。

**说明。**表5给出了TransE在FB15k测试集(预测尾)上的链路预测结果示例。这说明了我们的模型的功能。给定一个头和一个标签,上面预测的尾巴(和真正的)被描绘。示例来自FB15k测试集。即使好的答案并不总是排在最前面,这些预测也反映了常识。

4.4 学会用很少的例子来预测新的关系

使用FB15k,我们想通过检查这些方法学习新关系的速度来测试它们归纳到新事实的效果。为此,我们随机选择40个关系,并将数据分成两个集合:一个集合(名为FB15k-40rel)包含这40个关系的所有三元组,另一个集合(FB15k-rest)包含其余的三元组。我们确保两个集合都包含所有实体。然后,FB15k-rest被分成353788个训练集和53,266个验证集,FB15k-40rel被分成40000个训练集(每个关系1000个)和45159个测试集。利用这些数据集,我们进行了以下实验:(1)使用FB15k-rest训练集和验证集训练和选择模型,(2)随后在训练集FB15k-40rel上训练模型,但只学习与新的40个关系相关的参数,(3)在FB15k-40rel测试集(只包含阶段(1)未看到的关系)上进行链路预测评估。我们在阶段(2)中使用每个关系的0、10、100和1000个示例时重复这个过程。

图1给出了非结构化,SE, SME(线性),SME(双线性)和TransE的结果。当不提供未知关系的示例时,Unstructured的性能是最好的,因为它不使用此信息进行预测。但是,当然,在提供标记的示例时,这种性能并没有提高。ransE是最快的学习方法:只有10个新关系的例子,hits@10已经是18%,它单调地提高提供的样本的数量。我们相信TransE模型的简单性使它能够很好地推广,而不需要修改任何已经训练好的嵌入。

5 总结和未来工作

我们提出了一种新的方法来学习KBs的嵌入,专注于模型的最小参数化,以主要表示层次关系。我们展示了它在两个不同的知识库上与竞争的方法相比工作得非常好,而且它也是一个高度可伸缩的模型,我们将它应用于Freebase的一个非常大规模的数据块。虽然我们还不清楚是否所有的关系类型都可以被我们的方法充分建模,通过将评估分为类别(1对1,1对多,…)在所有设置中,与其他方法相比,它似乎表现得很好。

未来的工作可以进一步分析这个模型,并集中于在更多的任务中利用它,特别是受[8]启发,在学习单词表征等应用中。将KBs与[2]中的文本相结合是我们的方法可能被证明有用的另一个重要方向。因此,我们最近卓有成效地将TransE插入到一个框架中,用于从文本[16]中提取关系。

你可能感兴趣的:(论文翻译解读,知识图谱,人工智能,机器学习)