Press "Enter" to skip to content

论文浅尝 – CIKM2020 | NASE: 基于神经网络搜索的知识图谱链接预测模型

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

论文作者:寇晓宇,北京大学。

 

 

链接: https://arxiv.org/pdf/2008.07723.pdf

 

研究背景

 

现有的知识图谱大多是不完整,且存在噪声,构建一个完备的知识图谱需要耗费大量的计算资源和存储空间,是不现实的。为了解决这一问题,提出了链接预测任务来预测知识图谱中任意两个实体之间是否存在关系,这一任务很快成为知识图谱领域的一项基础和关键性任务。

 

现有链接预测模型可以大致分为两类,第一类是基于重构的方法:利用关系和尾(头)嵌入重建一个三元组的头(或尾)嵌入,并通过测量原始嵌入与重构嵌入的差值来计算重构的三元组的真实程度,比如TransE, RotatE, ConvE等。另一类研究认为链接预测是一个语义匹配问题:以头、关系、尾的嵌入为输入,采用双线性变换(如DistMult、SimplE)或者卷积(如ConvKB)等方法,对每个三元组输出一个分数判断当前三元组是否是真实的。

 

但是目前的方法大部分是针对已知的几类关系模式人工设计的,而现实世界中的知识图谱是复杂多样的,存在多种隐含关系模型,针对不同数据集使用人工定义模型是不现实的。因此,为特定的知识图谱数据集选择合适的链接预测网络架构通常需要丰富的专家知识和大量的手工测试。AutoSF的作者提出使用AutoML的方法贪婪地搜索不同的最优评分函数去适应不同数据集。然而,他们的工作局限于双线性语义匹配模型,并没有将基于重构的模型纳入他们的搜索空间。

 

在本文中,我们提出了一个基于神经网络搜索的知识图谱链接预测模型NASE。设计针对于知识图谱的统一的搜索空间,该框架的搜索空间同时包含了语义匹配模型和重构模型,并且通过使用基于梯度下降的 NAS(神经网络搜索)方法自适应数据集进行表示学习,在多种真实世界知识图谱数据集上的链接预测任务上达到 SOTA。

 

模型设计

 

 

如图所示,我们的NASE框架包含两个搜索模块:representation search module和score function search module。其中,representation search module目的是来得到实体和关系的信息量比较充分的表示向量,也就是搜索通过什幺操作来用三元组中的其中两个元素来表示另外一个元素,所使用的原子操作主要包括一些重构模型。score function search module负责选择一个浅层架构来计算输入三元组的可信评分,判断当前三元组是正确还是错误的,所使用的原子操作既包括重构模型,也包括语义匹配模型。通过这两个搜索模块把目前主流的知识图谱链接预测方法都包括进了我们的搜索空间中。

 

Representation search module:

 

在该模块中,我们的目标是生成信息量丰富的实体和关系嵌入。对于任意一个真实的三元组,我们认为每个元素的表示不仅和本身相关,而且三元组中另外两个元素对它的影响也很大。我们可以用其中的两个元素来推断出另外一个元素,比如对于三元组(David Beckham,daughter,Harper seven)来说,如果已知其中两个元素,”David Beckham”和” Harper seven”,就可以推出他们之间的关系是” daughter”。因此,如图中所示,三元组中的任一个元素的表示不仅应该包括本身的嵌入表示,而且还应该包括由另外两个元素推断得到的嵌入表示,从而可以得到每个元素更完善的表示。具体来说,每个表示层是将头节点、关系和尾节点的嵌入作为输入,并生成一组新的嵌入。每个操作后面都有一个融合步骤,该步骤将头、关系或尾的新嵌入与原始嵌入进行线性组合。例如,我们将头节点嵌入的融合步骤定义如下:

 

 

公式中是在对h进行表示的结果,r, t与之类似。

 

具体来说,我们使用了三种候选原子操作:

 

Convolution Operators: 类似于ConvE,我们使用滤波尺寸为2,4的一维卷积和滤波尺寸为3,5的二维卷积作为候选操作。其中 表示转成为2D形式的实体嵌入表示。

 

Translation operators: 翻译模型遵循限制: ,g表示与模型相关的一种映射操作,因此可以其中的两个元素求出另外一个元素。具体包括两个翻译模型:TransE, TransR。

 

Identity operators: 直接将输入映射到输出,而不进行任何转换。引入这样一个操作的目的是为了防止生成的架构过于复杂。

 

Score function search module

 

得到三个元素最终分别的表示后,我们需要判断这个三元组是否是正确的,因此对打分函数也进行了搜索。在本模块中,我们在几个基于语义匹配的模型之中进行搜索,以产生一个最终的可信度评分,用于预测三元组是否有效。

 

虽然我们可以包含尽可能多的模型,但我们只在每类模型中包含1-2个具有代表性的模型来进行实验。实验结果表明,该搜索空间可以取得令人满意的结果。

 

Convolution-Based Score Function:我们的基于卷积的打分函数与ConvKB有类似的形式,其中卷积核为3*3的。

 

Translation-Based Score Function:我们使用了经典的TransE作为翻译模型为代表的打分函数。

 

 

Bilinear Score Function:我们使用了两个双线性模型DistMult和SimplE作为双线性模型的打分函数的代表。

 

 

MLP Score Function:三元组的嵌入表示被连接成一个单一的特征向量,然后将特征向量输入到单隐藏层MLP中,计算最终得分。

 

搜索过程

 

我们使用了基于梯度下降的搜索策略,利用具有代表性的DARTS的方法。具体来说,给每个搜索空间下的不同的操作分别初始化一个权重,该权重代表不同操作的对总体模型效果的贡献程度。在训练集上固定操作的权重,来训练不同操作内部的参数;测试集上固定操作内部参数,训练操作权重。最终选出softmax后权重最高的操作,作为当前层的操作。

 

损失函数使用的是soft-margin loss:

 

 

实验

 

数据集: 现有的知识图谱表示学习方法通常是基于常用的FB15k-237和WN18RR数据集设计的。因此,我们包括其他三个不太常见的领域数据集,以便更好地比较每个模型的数据集适应能力。

 

 

实验效果:

 

 

可以看到人工定义的模型没有绝对的最好的结果,在不同数据集上表现都不同。而NASE可以自适应不同数据集,无论是Open-domain还是close-domain,实验上都能达到较优的效果。

 

下面这两个是在不同数据集上搜索出来的架构展示,可以看到模型都不是很复杂,但是内部操作趋向于多样化,这是因为过于复杂的模型在知识图谱比较容易过拟合。

 

 

Be First to Comment

发表回复

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