译文:
Abstract
句子中的关系事实往往是复杂的。不同的关系三元组在一个句子中可能有重叠。根据三元组重叠程度,我们将句子分为三种类型:普通、实体对重叠和单实体重叠。现有的方法主要集中在普通类上,不能准确提取关系三元组。在本文中,我们提出了一种基于复制机制的序列到序列学习的端到端模型,该模型可以从任意类的句子中联合提取关系事实。在解码过程中,我们采用了两种不同的解码策略:使用一个统一的解码器或使用多个独立的解码器。我们在两个公共数据集中测试我们的模型,我们的模型明显优于基线方法
1 Introduction
近年来,为了构建大型结构知识库,人们对从自然语言文本中提取关系事实进行了大量的研究。关系事实通常表示为由两个实体(一个实体对)和它们之间的语义关系组成的三元组,例如< Chicago, country, UnitedStates >。
到目前为止,大多数的方法主要集中在关系提取或分类的任务,识别两个预先分配的实体之间的语义关系。虽然已经取得了很大的进展,他们都假设实体是预先识别的,忽略了实体的提取。早期的著作采用流水线方式,首先进行实体识别,然后预测提取实体之间的关系。然而,管道框架忽略了实体识别和关系预测的相关性。最近的工作试图联合提取实体和关系。Yu and Lam (2010);Li and Ji (2014);Miwa和Sasaki(2014)设计了几个复杂的特性来构建这两个子任务之间的桥梁。与其他自然语言处理(NLP)任务类似,它们需要复杂的特征工程,并且严重依赖于已有的NLP工具进行特征提取。
近年来,随着深度学习在许多NLP任务上的成功,它也被应用于关系事实的提取。曾等(2014);Xu等(2015a,b)采用CNN或RNN进行关系分类。Miwa和Bansal (2016);Gupta等(2016);Zhang等(2017)将关系提取任务视为端到端(end2end)表格填充问题。郑等人(2017)提出了一种新的标注模式,采用基于递归神经网络(RNN)的序列标注模型,共同提取实体和关系。
然而,句子中的关系事实往往是复杂的。不同的关系三元组在一个句子中可能有重叠。这种现象使得上述方法,无论是基于深度学习的模型还是基于传统特征工程的联合模型,都无法准确提取出关系三元组。一般情况下,根据我们的观察,我们将句子按照三元组重叠程度分为三种类型,分别是Normal, entityairoverlap (EPO)和SingleEntityOverlap (SEO)。如图1所示,如果一个句子的三元组中没有重叠的实体,则该句子属于普通类。如果一个句子的三元组有重叠的实体对,这个句子属于EntityPairOverlap类。如通过一个句子有重叠的实体但是没有重叠的实体对,那么这个句子属于SingleEntityOverlap 。在我们的知识中,以往的研究方法多集中于普通类型,很少考虑其他类型。即使是基于神经网络的联合模型,它也只给一个单词分配一个标签,这意味着一个单词最多只能参与一个三元组。因此,三元组重叠的问题实际上没有得到解决。
为了解决上述挑战,我们的目标是设计一个模型,该模型可以从Normal、entityairoverlap和SingleEntityOverlap类的句子中提取三元组,包括实体和关系。为了解决三元组重叠的问题,必须允许一个实体自由地参与多个三元组。与以往的神经方法不同,我们提出了一种基于复制机制的序列到序列(Seq2Seq)学习的end2end模型,该模型可以从任意类的句子中联合提取相关事实。该模型的主要组成部分包括编码器和解码器两部分。编码器将自然语言语句(源语句)转换为固定长度的语义向量。然后,解码器读取这个向量并直接生成三个一组。要生成三元组,首先解码器生成关系。其次,采用复制机制,解码器从源语句中复制第一个实体(head实体)。最后,解码器从源语句复制第二个实体(尾部实体)。这样就可以提取多个三元组(具体来说,我们在解码过程中采用了两种不同的策略:使用一个统一的解码器(一个解码器)生成所有的三元组,或者使用多个分离的解码器(多解码器),每个解码器生成一个三元组)。在我们的模型中,当一个实体需要参与不同的三元组时,它可以被复制多次。因此,我们的模型可以处理三元组重叠问题,并同时处理entityairoverlap和SingleEntityOverlap。此外,由于在单个end2end神经网络中提取实体和关系,我们的模型可以联合提取实体和关系。
我们工作的主要贡献如下:
提出了一种基于序列到序列学习的神经模型,利用复制机制从句子中提取关系事实,实现了实体和关系的联合提取。
我们的模型可以通过复制机制来考虑关系三元组重叠问题。在我们的知识中,关系三元组重叠问题从来没有被解决过。
我们对两个公共数据集进行了实验。实验结果表明,改进后的系统性能优于现有系统,分别提高了39.8%和31.1%。
2 Related Work
Hendrickx等人(2010)通过给出带有注释实体的句子;曾等(2014);Xu等(2015a,b)将句子中的关系识别问题视为一个多类分类问题。曾等(2014)最早将CNN引入关系分类。Xu等人(2015a)和Xu等人(2015b)通过CNN或RNN从最短依赖路径学习关系表示。尽管这些模型取得了成功,但是它们忽略了从句子中提取实体,不能真正提取关系事实。
通过给出一个没有任何标注实体的句子,研究人员提出了几种提取实体和关系的方法。基于管道的方法,如Zelenko et al.(2003)和Chan and Roth(2011),忽略了实体提取和关系预测的相关性。为了解决这一问题,提出了几种联合模型。早期工作(Yu and Lam, 2010;Li and Ji, 2014;Miwa和Sasaki(2014)需要复杂的特征工程过程,特征提取严重依赖于NLP工具。近期的模型,如Miwa和Bansal (2016);Gupta等(2016);张等(2017);郑等(2017),基于神经网络联合提取实体和关系。这些模型基于标签框架,该框架将关系标签分配给一个或一对单词。尽管这些模型取得了成功,但是没有一个模型能够完全处理第一部分中提到的三元组重叠问题。原因在于他们的假设,即一个单词(或一对单词)只能被分配一个关系标签。
该工作基于具有复制机制的序列到序列学习,已被用于一些NLP任务。Dong和Lapata(2016)提出了一种基于注意力增强的编解码器模型的方法,该模型对输入话语进行编码并生成其逻辑形式。顾等(2016);He等(2017)将复制机制应用于句子生成。它们将一个段从源序列复制到目标序列。
3 Our Model
在本节中,我们介绍了一个基于复制机制的Seq2Seq学习的可微神经模型,该模型能够以end2end方式提取多个关系事实。
我们的神经模型首先将一个变长句子编码成一个固定长度的向量表示,然后将这个向量解码成相应的关系事实(三元组)。在解码时,我们可以用一个统一的解码器来解码所有的三元组,也可以用一个独立的解码器来解码所有的三元组。我们将它们分别表示为一个解码器模型和多个解码器模型。
3.1 OneDecoder Model
一个解码器模型的总体结构如图2所示
3.1.1 Encoder
编码一个句子,其中
表示第t个单词,n为源句长度,首先将其转化为矩阵
,其中
为第t个单词的嵌入。
正则RNN编码器按顺序读取矩阵X,在时间步上产生输出
和隐藏状态
:
&n