【论文解读】(2019-EMNLP)Tackling Long-Tailed Relations and Uncommon Entities in Knowledge Graph Completion
2019 EMNLP
Abstract
专注于处理不常见的实体,(之前的研究都是关于不常见的关系,但在处理不常见的关系的时候常常见到不常见的实体)因此,我们提出了一种元学习框架,该框架旨在通过使用文字描述来处理小样本学习和不常见实体的不常见关系。
我们设计了一个新颖的模型,以更好地从文本描述中提取关键信息。 此外,我们还在框架中开发了一种新颖的生成模型,以通过在训练阶段生成更多的三元组来增强性能。 对来自现实世界KG的两个数据集进行了实验,结果表明,当处理不频繁关系及其伴随的不常见实体时,我们的框架1优于以前的方法。
1 Introduction
叙述了之前的工作,并没有人提出关于不常见的实体之类的问题,其中在KG的所有三元组中出现少于或等于5次的实体都被视为不常见。从图1中可以明显看出,与频繁关系相比,较少频繁的关系包含更多不常见的实体。 因此,在处理不频繁关系的问题时,不常见实体的问题也应同时考虑,因为它们是硬币的两个方面。本文因此提出三个主要框架:描述编码器、三元组生成器、元学习器。
-
描述编码器:设计一个新颖的结构,通过自动定位和提取特定与关系的信息来处理涉及多个关系的实体。
-
三元组生成器:可以生成额外的三元组,来解决小样本学习中的数据稀少的问题
-
元学习器:学习初始表示,可以容易的适用于新的三元组预测。
本文三大贡献:
- 我们提出了在小样本学习任务中不常见的关系和不常见的实体问题,并提出了一种元学习框架来解决他。
- 我们提出了一种新颖的模型来从具有多个关系的实体的实体描述中提取关系特定的信息。
- 我们提出了一种生成模型可以通过生成额外的三元组来提高小样本学习的表现
2 Related Work
2.1 KGC Knowledge Graph Completion
知识图谱补全最成功的方法是基于嵌入的方法。仅仅依靠图结构信息,来进行嵌入。但对于不常见的关系和实体来说并没有那么好用。
Meta-Learning
介绍了元学习的概况和流程。时间卷积和注意力机制 也被考虑进来了。
3 Background and Overview
3.1 Problem Setting
与之前的论文相比区别就是考虑的不常见的实体。
3.2 Overview of Learning Method
每一个任务对应一个关系,该关系的三元组组成支持集和查询集,所有任务分成三个互不相交的训练集、验证集和测试集。
介绍了如何使用元测试(元验证)。
4 Model Description
整体流程(没看懂):
通过输入额外信息到Description Encoder中得到嵌入表达O,在通过输入O到Triplet Generator得到一组嵌入三元组G,然后得到E, E = O ⋃ G E=O \bigcup G E=O⋃G,最后将一组三元组E输入得分函数计算得分,得分函数基于TransE思想。然后对得分函数进行梯度下降,再收集正确三元组与其他候选者的分数,进行比较
4.1 Description Encoder
一个实体如果有多个关系,那么会有不同的描述,此时文本也不能很好的描述实体,要解决这个问题,我们提出了实体特征概念,代表某些实体的公共特征,基于文本描述生成嵌入。
在KG中,如果一个实体涉及多个关系,则很自然地,不同的关系与该实体描述中的不同部分更相关。 但是,现有的使用文字描述的作品未能有效地解决这个问题。为了解决这个问题,我们定义了一个新概念“实体特征”(entity trait)(简称“ trait”),它代表与特殊关系相关的某些实体的共同特征。 换句话说,一个实体对于它所涉及的不同关系具有不同的特征。 从某种意义上说,特征类似于实体类型(简称“类型”),但是在处理KGC时具有更多的优势。 首先,类型不是特定于关系的,而特征是特定与关系的。 此外,特征可以由几种不同类型的语义组成,因此更具表现力。 而且,在某些情况下我们不能轻易获得类型,但是特质始终是正确的,因为它们是潜伏的并且是数据驱动的。 形式上,我们假设关系r具有两个特征Trh和Trt,其中前一个对应于r的所有头部实体,而后一个对应于r的所有尾部实体。 在我们的描述编码器中,采用一种简单但有效的方法来学习和利用特征从描述中提取特定于关系的信息。
描述编码器的总体结构和学习过程如图2所示。给出三元组(h;r;t)的描述(dh;dr;dt),有三个步骤来获得三元组O的嵌入,如图所示。对于实体,为了简单起见,我们只描述了h的过程,而对于t,一切都是一样的。接下来,or用于学习步骤2中关系r的所有头部实体的trait Trh。最后,在步骤3中,dh和Trh都被馈送到实体描述的编码过程中,并且输出oh是头实体的嵌入。注意,步骤1中的字嵌入层、卷积块和池层与步骤3中的相应层共享相同的参数和架构。
4.2 Triplet Generator
通过嵌入生成更多的三元组。最早的研究:Deltaencoder: an effective sample synthesis method for few-shot object recognition.
现有方法:对抗生成网络, VAE
在此基础上我们选择TCVAE
TCVAE有三个重要分布:
-
认知网络
-
先验网络
-
生成网络
在识别网络中,存在两层卷积块。每个卷积块接受两个u维输入,并将它们串联起来形成一个形状为(2;u)的矩阵,这样就可以对其应用滤波器宽度为2的一维卷积。这种两层连续的树结构,不是直接将O=(oh;or;ot)串接成一个(3;u)形的矩阵,只采用一层卷积块,而是更好地捕捉O中任意两个嵌入之间的成对语义,同样地,两层以u维向量为输入的反卷积块输出一个形状为(2;u)的矩阵置于生成网络中。此外,TCVAE中的所有前馈块都由一个仿射变换和一个非线性映射组成。在元训练阶段,识别网络以O为输入,学习变分后验q(zjO)的变分参数 和 ,其中潜在语义z假设服从高斯分布。此外,先验网络条件作用于或计算先验分布p(zjor)的参数和。然后,生成网络从似然分布p(Gjz;or)中抽取三个u维嵌入G=(gh;gr;gt)。在生成网络中,先将潜变量z变换为一个u维隐状态,在z之后加上一个前馈块,然后第一个反褶积块接收隐状态并输出一个形状为(2;u)的矩阵。最后,第二反褶积块接收之前的矩阵并输出形状为(3;u)的矩阵,该矩阵表示为G。G由三元组中三个元素(h;r;t)对应的三个u维嵌入(gh;gr;gt)组成。
然后写出损失函数
4.3 Loss Function and Meta-Learner
在先前的工作之后,我们采用一种简单的策略来计算KGC LKGC在元训练阶段和元测试阶段的训练阶段的损失函数。 给定一个随机采样的关系r,首先从r的所有三元组中采样一个正三元组(h; r; t)。 接下来,可以通过用KG中的另一个实体t 0替换t来生成负三元组(h; r; t 0),其中替换基于统一的负采样。注意,如果KG中存在负三元组,则需要再次执行负采样。 使用正三元组和负三元组,可以获得正三元组E +的嵌入和负三元组E +的嵌入,然后可以分别计算两个分数C +和C