知识图谱的多模态数据增强表示学习
知识图谱的多模态数据增强表示学习
摘要
知识图谱或知识库在人工智能领域的各种应用中发挥着重要作用。在知识图谱的研究和应用中,知识表示学习是基本任务之一。现有的表示学习方法主要基于实体和关系之间的结构性知识,而在很大程度上忽略了实体之间的知识。虽然一些方法在学习表示的同时集成了实体知识,但这些方法缺乏适用于多模态的灵活性。为了解决这个问题,文中提出了一种新的知识图谱表示学习方法TransAE,将多模态自编码器与TransE模型相结合,其中TransE是一种简单有效的知识图谱表示学习方法。在TransAE中,使用自编码器的隐藏层作为实体在模型中的表示,从而不仅将结构知识编码到最终表示中,还将视觉和纹理知识等多模态知识编码到最终表示中。与传统的仅基于结构知识的方法相比,TransAE在链接预测和三元组分类上的性能都有显著提升。此外,TransAE具有在零样本情况下学习知识库之外实体的表示的能力。在各种任务上的实验证明了所提出的TransAE方法的有效性。
关键字: 表示学习、知识图谱、多模态
1. 介绍
知识是机器理解和完成复杂任务的基础,在人工智能中起着重要的作用。知识图谱或知识库用于结构化地存储知识。常用的知识图谱有WordNet [1]、Freebase [2]、NELL [3]等。这些知识图谱为问答系统、信息检索、机器理解等应用提供了坚实的数据支持。
在知识图谱中,知识通常表示为三元组。三元组\((h, r, t)\)表示头实体\(h\)和尾实体\(t\)有关系\(r\)。知识表示学习是知识图谱中最重要的任务之一。人们探索了各种方法来学习知识表示。基于翻译的方法[4]-[7]是目前最流行的方法之一,它将实体和关系映射到一个低维连续的向量空间中,其中实体\(h\)、关系\(t\)和关系\(r\)的嵌入满足公式\(h + r≈t\)。基于翻译的方法在知识表示领域取得了巨大的成功。
然而,目前的方法大多只考虑实体之间的关系知识,文中也称其为"结构化"知识[8],[9]。在这种情况下,嵌入仅被训练以满足彼此之间的关系。文中仅考虑了实体本身的信息,而这些信息如视觉或文本描述等易于获取且包含大量有价值的知识,既包括知识图谱中显式包含的知识,也包括难以描述为三元组的知识。图1(a)是表示显式存储在知识图谱中的知识的图像示例(h,r,t),在本例中为(椅子,有部分,腿);在图1(b)中,蝴蝶和花同时出现,说明实体“蝴蝶”和“花”高度相关。这样的信息对人类来说是显而易见的,但在知识图谱中很难捕获和表示。显式地将不同模态的知识编码为实体表示,可以在一定程度上克服这一缺点,也可以显著提高学习到的表示的质量。
![]()
图1: (a)说明图像可以编码知识图谱中的显式知识,如(椅子,有部分,腿)。(b)显示图像也可以包含隐性知识,如“蝴蝶”和花有很大的关系
实体可以拥有存储在知识图谱中的多种模态的知识,如图片、文本描述、音频、视频等。然而,现有的融合额外知识的尝试都集中在单一模态[8]、[9]上。本文尝试联合学习结构知识和不同模态的知识,保证了融合多种模态的灵活性。
为了联合学习结构知识和多模态知识,本文提出了一种新的知识表示学习模型TransAE,该模型结合了多模态自编码器(multimodal autoencoder, AE)和TransE。基于该模型,给定三元组及其对应的不同模态描述,学习实体的联合表示。本文考虑两种模态:视觉和文本。在实验过程中,我们从WN9-IMG[9]知识库中获取文本信息,为每个实体构建一个不仅包含三元组,而且包含视觉知识和文本知识的知识图谱。我们使用文本和图像的特征向量来表示多模态知识,并将它们输入我们的模型以学习所需的表示。
在传统的知识图谱表示任务、链接预测和三元组分类上评估了该模型。在这两个任务上,所提模型的性能明显优于所有仅关注结构知识的方法,这表明了多模态知识的有用性以及所提方法在学习实体间关系知识方面的有效性。此外,还在知识库外(OOKB)实体上执行这些任务,该方法可以在零样本中为它们学习有效的表示,这是大多数现有表示学习方法无法做到的。此外,通过在损失函数中为自编码器损失分配不同的权重,表明文本和图像等额外的知识可以在效率和精度方面提高表示性能。最后,进行了多模态查询检索案例研究,表明该模型可以在嵌入空间中将相似的实体分组在一起。
我们的贡献有三方面:
- 本文提出TransAE,一种知识表示学习模型,既可以学习三元组的结构知识,也可以学习三元组的多模态知识。与传统方法相比,多模态知识的引入极大地提高了模型性能。
- 该模型学习基于各种知识的联合表示,因此可以很容易地适应不同种类和数量的模态,这是以往模型难以做到的。
- 除了在知识图谱表示任务上取得了良好的结果外,该方法还可以零样本地学习到知识库之外实体的有效表示,这是传统方法无法做到的。
2. 相关工作
近年来,表示学习得到了广泛的研究,人们提出了多种基于知识图谱的表示学习方法。
基于翻译的方法是目前最流行的表示学习方法之一。在[4]中首次提出的TransE模型以简单、直观的假设取得了良好的效果,并由此产生了TransH[5]、TransR[6]、TransD[7]等一系列工作。TransE将实体和关系映射到一个低维连续空间中,假设头实体h,尾实体t,关系r满足\(h + r≈t\)。针对TransE不能很好地处理1- n、n- 1、N-to-N等复杂关系的问题,在[5]中提出了TransH,将实体映射到一个特定于关系的超平面中,同一实体在不同关系下具有不同的表示方式。对于TransE和TransH,实体和关系都被投影到相同的嵌入空间中,而TransR[6]则创建了一个单独的关系空间,并将三元组映射到其中以满足\(h_r + r≈t_r\)。其他基于翻译的方法还有TransD[7]、TransG[11]等。
除了基于翻译的方法,许多其他有效的方法也被探索出来。RESCAL[12]是一种通过矩阵分解获得低维表示的方法,HolE[13]利用相关性作为组合算子学习组合向量空间表示。这些方法都可以得到具有代表性的实体和关系的嵌入。
然而,这些方法主要基于实体和关系之间的结构信息来学习表示,较少关注实体本身。从实体的图像和文本描述中可以获取丰富的知识。有一些工作试图通过从各种来源向知识图谱引入额外的知识来改进表示。IKRL[9]是第一个将视觉知识集成到现有模型以帮助学习表示的工作。IKRL为每个实体学习两种不同的表示,一种基于结构知识,另一种基于视觉知识。两种表示方法在实验中都比以前的模型产生了更好的结果。对将文本知识融入知识图谱进行了探索。DKRL在[8]中提出,将Freebase[2]中的实体描述引入到知识图谱中,利用CBOW[14]模型提取文本的特征向量,同时从文本和结构中学习知识。与IKRL类似,DKRL也分别基于结构知识和文本知识学习表示,然后将两种表示融合为一种。这两种模型都受到模态数量的限制,由于其模型复杂度在很大程度上依赖于模态数量,因此很难融合多个模态的知识。
3. 方法
为了联合学习多模态知识和结构化知识,首先通过分别学习每个单模态的特征向量来获取知识;然后将这些特征向量输入多模态自编码器。对于实体,我们让自编码器的中间隐藏层与对应关系满足TransE假设\(h + r≈t\)。本文考虑两种模态:视觉和文本。注意,我们的模型也可以很容易地适应任何其他模态。TransAE模型的整体架构如图2所示。
![]()
图2:TransAE的整体架构。将图像和文本输入多模态自编码器以学习实体嵌入。我们希望实体和关系的表示满足\(h + r≈t\),如在TransE中提出的。基于自编码器损失和TransE损失同时训练表示。
A. 知识提取
我们使用图像和文本的特征向量分别作为视觉知识和文本知识。对于视觉知识,我们使用在ImageNet[10]上预训练的VGG16网络[15]。VGG16网络由几个卷积层组成,每个层后面是一个ReLU层和一个最大池化层,在最后的softmax层将图像分类为1000个类别之前,有两个全连接层。我们使用最后一个全连接层的向量作为我们想要的图像特征向量。
为了提取文本特征,使用Doc2Vec[16]模型中的PV-DM[16]模型以无监督的方式学习段落向量。PV-DM可以从变长句子中学习固定长度的表示,在我们的例子中,这就是实体的定义。PV-DM模型类似于Word2Vec[14]模型,它将段落映射为向量,然后通过平均或拼接段落向量与词向量计算出联合向量,并根据联合向量预测下一个单词。与Word2Vec模型不同,Doc2Vec模型考虑了词序,将语义知识和上下文信息同时编码为嵌入。
B. 知识表示学习
多模态自编码器
我们在本文中使用的多模态自编码器是一个前馈神经网络,包括一个输入层,三个隐藏层和一个输出层。输入层从两种不同的模态中获取输入,它们是图像特征向量\(v^{(1)}_i\)和文本特征向量\(v^{(1)}_t\)我们在前面的初始化步骤中得到。输入层后面是一个单元少得多的全连接隐藏层对于每个模态,我们映射输入表示为\(v^{(2)}_i\)和\(v^{(2)}_t\)美元。然后将\(v^{(2)}_i\)和\(v^{(2)}_t\)连接起来,联合映射到第二个隐藏层,即自编码器网络的中间层,以及期望的联合多模态实体嵌入\(v^{(3)}\).
解码器阶段与编码器具有完全对称的结构,将嵌入的\(v^{(3)}\)作为输入,首先将其映射到两个独立的隐藏层\(v_i^{(4)}\)和\(v_t^{(4)}\),每个与编码器部分中相应的隐藏层\(v_i^{(2)}\)和\(v_t^{(2)}\)共享相同的维度。然后解码器将这两层映射到输出层\(v_i^{(5)}, v_t^{(5)}\)。每个模态的输出层和输入层具有相同的维度。输出层也称为重构层,其目的是重构输入的特征向量。
所提出的多模态自编码器的整个架构定义为:
其中\(f\)为激活函数,本文将其设置为sigmoid。\(W_i^{(j)}\)和\(W_t^{(j)}\)分别表示模态图像和文本从层\(j\)到层\((j+1)\)的映射权重矩阵,\(b_i^{(j)}\)和\(b_t^{(j)}\)是第\(j\)-隐层中图像和文本的偏置项。符号\(\oplus\)表示连接操作。
整个多模态自编码器以最小化重构误差为目标进行训练,重构误差为两模态输入层和输出层之间的相异度之和:
TransE
TransE模型在低维连续向量空间中映射实体和关系,其中头实体\(h\)、尾实体\(t\)和关系\(r\)的嵌入满足:
对于知识图谱中的三元组,TransE试图最小化\(h+r\)和\(t\)之间的距离,而对于知识图谱外的三元组,则试图最大化它们之间的距离。在训练TransE时,我们最小化损失\(L_e\):
其中\(\gamma\)是间隔超参数,\(\max (0, x)\)旨在获得\(x的正部分,d\)是相异度函数,可以是L1范数或L2范数。\(S\)表示由知识图谱中存在的三元组组成的原始数据集,而\(S^{\prime}\)表示由知识图谱中未存在的三元组组成的损坏数据集。\(S^{\prime}\)在训练时被认为是负样本,通过替换每个三元组的头或尾实体来构造它,如下所示:
TransAE
在TransAE模型中,我们将上述两个模型结合起来,同时学习多模态知识和结构知识。知识图谱中每个实体对应多张图片和一个句子描述,首先提取其视觉和文本特征向量,然后将这些特征向量输入多模态自编码器得到联合嵌入作为实体表示。关系嵌入在训练开始时随机初始化。这些实体和关系表示用于训练我们的模型。结构损失\(L_e^{\prime}\) for \((h, r, t)\)可以表示为:
其中\(v^{(3)}_h\)和\(v^{(3)}_t\)分别表示\(h\)和\(t\)嵌入的表示形式。为了更好地泛化,我们还添加了正则化器\(\Omega(\theta)\),用于参数集\(\theta\),其权重为\(\alpha\)。因此,我们可以通过最小化总损失\(L\)来训练我们的模型:
自编码器和关系嵌入中的参数\(W_i^{(j)}, W_t^{(j)}, b_i^{(j)}, b_t^{(j)}\)在训练开始时随机初始化。选择权重参数\(\beta\)和\(\alpha\)来平衡损失\(L_a、L_e^{\prime}\)和正则项\(\Omega(\theta)\)的大小和重要性
在每一轮训练中,随机选择一组三元组,与构建的损坏三元组相结合,作为批量数据。我们在训练集上训练模型,并根据验证集选择最佳参数。我们的模型的性能将在下一节中详细说明。
4.结果
在两个任务上对该模型进行了实证评估:链接预测[4]和三元组分类[17]。这两个任务评估了学习到的表示是否能体现结构知识。在知识库(OOKB)实体上执行这两个任务,以表明TransAE可以在零样本中为OOKB实体学习基于多模态知识的有效表示。分析了多模态知识在训练中的作用,表明它带来了效率和精度的提高。在案例研究部分,实例表明该模型可以将相似实体的嵌入组合在一起,表明该模型也可以捕获实体知识。
A. 数据集
从已有的知识图谱WN9-IMG[9]中提取文本信息,创建一个新的知识库WN9-IMG- txt。WN9-IMG- txt由实体-关系三元组、实体图像和实体文本描述三部分组成,其中三元组和图像与WN9-IMG数据集相同。具体来说,triplets是基于知识图谱WordNet[1]构建的WN18[18]的子集。视觉知识方面,图像均从ImageNet[10]中提取,ImageNet[10]是一个根据WordNet层次结构构建的大型图像数据库,包含WordNet中实体的图像。我们数据集中的所有实体都有映射到它们的图像,数量高达10,如WN9-IMG[9]。文本描述也从WordNet中提取,其中为每个实体提供了定义。这个新数据集包含9个关系类型和6555个实体。具体统计数据见表1。
![]()
表1:数据集统计
除了表一所示的统计数据,其中还有6555个句子,63225张图片。在WN9-IMG-TXT上训练和评估模型,在评估所有基线方法时忽略视觉和文本描述。
B. 实验设置
基线
由于数据集中的三元组和图像部分与[9]中使用的WN9-IMG相同,因此我们直接采用模型TransE[4]、TransR[6]和IKRL[9]的实验结果作为论文[9]的基线结果。
对于未在[9]中评估的模型,如TransH[5]、TransD[7]、RESCAL[12]和HolE[13],我们使用OpenKE2在我们的数据集的三胞胎上训练它们,遵循其原始论文中声称的最佳实验设置。
实现
在训练过程中,我们在\(\{0.0001,0.001,0.01\}\)中选择学习率\(\lambda\),间隔\(\gamma\)在\(\{0.1,0.5,1.0,2.0\}\)中选择学习率\(\gamma\),权重\(\beta\)在\(0.1 \sim 0.9\)中选择学习率\(\beta\)。在SGD、RMSProp和Adam中选择优化器。我们在L1和L2测度中选择相异度测度\(d\)。我们选择在"统一"和"伯努利"之间创建损坏三元组的同时替换实体的方式。"Bernoulli"是[5]中提出的一种减少假阴性标签的方法,我们严格遵循了[5]中的说明。视觉模态和文本模态的输入层的维度都是固定的,\(v_i^{(1)}\)和\(v_t^{(1)}\)分别设置为4096和100。我们为视觉模态选择第一个隐藏层维度\(v_i^{(2)}\),其中\(\{512,1024,2048\}\)和\(\{50,100\}\)为文本模态\(v_t^{(2)}\)。我们在\(\{20,50,100\}\)中选择隐藏维度\(d\),这也是关系表示的维度。注意:在自动编码器中,解码器和编码器对应层的结构和尺寸完全相同。
我们使用的最佳配置是:\(\lambda=0.001\), \(\gamma=\) 0.5, \(\beta=0.4\)。我们选择优化器为RMSProp,使用L1作为不相似性度量,并以"伯努利"的方式构建损坏的实体。维度,我们设定\(v_i ^{(2)} = 512\),\(v_t ^ {(2)} = 50\),$ d = 50$。我们将训练次数限制在1000轮之内。
C. 链接预测
评价方案
链路预测是[19]中首次提出的预测三元组中缺失实体的任务,被广泛用于评估学习到的表示。我们遵循[19]中描述的相同协议。首先通过删除每个三元组中的头实体并将其替换为数据集中的所有其他实体来构造损坏的三元组;然后根据它们的相异度分数升序排列这些三元组。我们可以通过删除尾部实体而不是头部来获得尾部实体的排名,步骤相同。
有两个指标用于评估:mean rank(正确实体的预测排名的平均值)和hits@10(排名前10的原始黄金实体的比例)。这些指标也被称为“原始”平均排名和“原始”hits@10。以这种方式构建的损坏的三元组可能会出现在知识图谱中,因为三元组在数据集中是1对n、n对1或n对n,而不是1对1。为了消除这个错误,我们在评估之前删除了知识图谱中存在的所有候选人,这导致了" filtered " mean rank和" filtered " hits@10。对于原始和过滤设置,较小的平均秩和较高的hits@10表示具有更强的能力。
实验结果
实验结果如表2所示。该模型明显优于所有仅使用结构知识的基线模型,并获得了与IKRL和DKRL有竞争力的结果。
![]()
表2:链接预测结果
从表2可以看出,视觉和文本知识带来了很大的结果提升,IKRL、DKRL和我们的模型都取得了远远超过其他模型的结果,这证明了外部多模态知识的有效性。IKRL[9]学习基于结构知识和图像的两种独立表示,分别称为“SBR”和“IBR”。被称为“联合”的基线是通过结合“SBR”和“IBR”表示来计算的。该方法在联合学习一种统一表示的同时,可以获得与IKRL相当的结果。此外,我们的模型非常简单和灵活,可以与其他比TransE更复杂的模型相结合,从而获得更好的性能。
D. 三元组分类
评价方案
三元组分类旨在基于三元组\((h, r, t)\)当且仅当存在于已知知识图谱中是正确的假设,对三元组\((h, r, t)\)是否正确进行分类。遵循NTN[17]中相同的过程,为每个三元组构造一个不在知识图谱中的损坏三元组,然后根据所有三元组的相异度得分计算一个关系特定的分类阈值\(σ_r\)。如果一个三元组的相异度得分低于给定关系\(r\)的阈值\(σ_r\),则该三元组为正,否则为负。
实验结果
我们将结果列在表3中。实验结果表明,该方法取得了比以往所有方法更好的结果,并且在大多数情况下具有足够高的准确率来区分知识图谱中的正三元组和损坏三元组。
![]()
表3:三元组分类结果。TransAE优于所有基线。
E. 面向OOKB实体的零样本学习
大多数现有模型只能对给定知识图谱中的实体执行链接预测任务和三元组分类任务,学习知识库外实体的表示一直是一个具有挑战性的问题。该方法同时利用文本和视觉知识,可以轻松地学习所有实体的表示,无论它们是否在知识图谱中。
在OOKB实体上执行链接预测任务和三元组分类任务。我们将WN9-IMG-TXT数据集划分为4个数据集:新的训练集作为新的知识库,它是原始WN9-IMG-TXT数据集的子集;第一个测试集只有头实体出知识库,第二个测试集只有尾实体出知识库,第三个测试集头实体和尾实体都出知识库。新的训练集有6000个三元组,每个测试集有1000个三元组。在所有这三个数据集上执行链接预测和三元组分类任务。
零样本链接预测
在这项任务中,我们遵循与普通链路预测任务相同的协议,只是并非所有的实体表示都是在训练期间学习的。基于多模态表示模型学习OOKB实体的表示,其参数根据知识库中的已知实体进行学习。我们在表IV中报告了过滤后的6555个实体的平均排名,从表IV中可以看出,我们的方法对于未知实体也可以得到很好的结果,对于表II中已知实体的结果甚至可以与一些传统方法相媲美。
零样本三元组分类
对于这项任务,我们使用与零样本链接预测相同的数据集,步骤与上一节相同。实验结果如表5所示,分类精度仅略低于已知所有实体的情况。
![]()
表5:OOKB实体分类结果
实验结果表明,TransAE能够在零样本的情况下学习到未知实体的有效表示,并获得了令人满意的结果,这是大多数现有模型无法实现的。
F. 多模态知识的进一步分析
为了进一步分析外部知识的影响,调整自编码器损失\(L_a\)和TransE损失\(L_e\)之间的相对权重,分别在不同的权重设置下训练模型。表示w为相对权重的自编码器损失与TransE损失相比,我们在图3中绘制了\(w\) = 0.05,0.15和0.30下的学习曲线。可以观察到,随着自编码器权重的增加,模型更快地收敛到较好的结果,表明实体的外部多模态知识可以提高表示质量和学习效率。
![]()
图3:多模态知识的进一步分析。这表明外部多模态知识可以提高表示质量和学习效率。
G. Case Study
在本节中,我们通过进行多模态检索实验来提供一个案例研究,它表明我们的模型可以在嵌入空间中将相似的实体分组在一起。
我们首先分别对图像和文本进行预处理以获得视觉和文本表示,然后将这些表示输入到我们的模型以获得实体表示。我们使用kNN[21]来为一个实体获取最近的5个实体。为了进行比较,我们还使用kNN来获得TransE表示空间中最近邻的5个实体,其参数设置在其原始论文中声称。我们的结果示例如图4所示。
![]()
图4:多模态查询检索结果示例。TransAE可以在嵌入空间中将相似的实体聚合在一起。
从图4中,我们发现TransAE发现的最近实体在语义空间上也很近,在视觉表示上也很相似,这表明在将实体和关系映射到嵌入空间时,TransAE不仅遵循关系约束,而且将相似的实体分组在一起。由于TransE模型对实体本身的价值不大,因此非常不同的实体可以在嵌入空间中彼此靠近。例如,对于通过TransE得到的嵌入,实体“花式骑术训练”的最近邻居要么是水果,要么是盔甲,这在现实世界中不是理想的说明。
5. 结论和未来工作
提出了一种新的知识表示学习模型TransAE。通过结合自编码器和TransE, TransAE模型不仅可以学习实体和关系之间的结构信息,还可以学习实体的视觉信息和文本信息。它学习基于各种知识的联合表示,因此可以很容易地适应多模态。在链接预测、三元组分类等任务上的实验验证了所提方法的有效性。此外,TransAE可以零样本地学习知识库之外实体的表示。
提出的TransAE模型可以在以下几个方面进行进一步的探索:
-
本文整合了来自不同来源的视觉和文本知识,这可能会导致文本和图像的不匹配,从而导致表示的损害。在学习表示之前对文本和图像进行匹配可以进一步提高表示的质量。
-
视觉描述和文本描述均来自现有的数据库,而从开放域提取多模态知识可以给模型带来更多的灵活性。
-
只关注每个图像中的一个实体,忽略了当图像中包含多个实体时实体之间的关系。
如何抽取这些实体之间的关系并加以表示,仍有待进一步探索。