《Effective Modeling of Encoder-Decoder Architecturefor Joint Entity and Relation Extraction》

会有一股神秘感。 提交于 2019-12-21 18:06:22

Abstract

关系元组由两个实体以及它们之间的关系组成,并且经常在非结构化文本中找到这样的元组。文本中可能存在多个关系元组,并且它们之间可能共享一个或两个实体。从句子中提取这样的关系元组是一项艰巨的任务,并且在元组之间共享实体重叠实体会使其更具挑战性。本文中提出了两种使用编码器-解码器体系结构共同提取实体和关系的方法。提出了一种用于关系元组的表示方案,该方案使解码器能够像机器翻译模型一样一次生成一个单词,并且仍然可以找到句子中存在的所有元组,它们具有不同长度的完整实体名称并且具有重叠的实体。提出一种基于指针网络的解码方法,其中在每个时间步生成一个完整的元组。

Introduction

传统使用流水线方法,使用命名实体识别来识别句子中的实体,然后使用分类器查找它们之间的关系(或没有关系)。但是由于实体检测和关系分类的完全分离,这些模型错过了句子中存在的多个关系元组之间的交互作用。

本文三个主要挑战:(i)该模型能够将实体和关系提取在一起。 (ii)能够提取具有重叠实体的多个元组。 (iii)能够准确地提取一个具有全名的元组实体。为了解决这些挑战,提出了两种使用编码器-解码器体系结构的新颖方法。首先提出一种用于关系元组的新表示方案(表1),以便它可以用简单的方式表示具有重叠实体和不同长度实体的多个元组。采用编码器-解码器模型,其中解码器像机器翻译模型一样一次提取一个单词。在序列生成的最后,由于元组的独特表示,可以从单词序列中提取元组。尽管此模型执行得很好,但是一次生成一个单词对于此任务来说有点不自然。每个元组恰好具有两个实体和一个关系,并且每个实体在句子中显示为连续的文本范围。识别它们的最有效方法是在句子中找到它们的开始和结束位置。然后,使用五个元素来表示每个关系元组:两个实体的开始和结束位置以及它们之间的关系(请参见表1)。考虑到这一点,提出了一个基于指针网络的解码框架。该解码器由两个指针网络和一个识别它们之间关系的分类网络组成,该指针网络可以找到句子中两个实体的开始和结束位置。在解码的每个时间步,此解码器都提取整个关系元组,而不仅仅是单词。

本文的贡献如下:(1)提出了一种新的关系元组表示方法,使得一个编码器-解码器模型在每一步提取一个单词时,仍然可以从句子中找到多个实体重叠的元组和多个标记实体的元组,还提出了一种基于掩蔽的复制机制,只从源语句中提取实体。(2)提出在解码框架中使用指针网络进行修改,以使编码器-解码器模型更适合此任务。在每个时间步,此解码器都会提取整个关系元组,而不仅仅是单词。这个新的解码框架有助于加快训练过程,并使用更少的资源(GPU内存)。当从句子级元组提取转向文档级提取时,这将是一个重要因素。(3)对NYT数据集进行的实验表明,该方法明显优于所有以前的最新模型。

Task Description

关系元组由两个实体和一个关系组成。 这样的元组可以在句子中找到,其中实体是句子中的文本范围,并且关系来自预定义的集合R。这些元组可以在其中共享一个或两个实体。

  1. 无实体重叠(NEO):此类中的一个句子包含一个或多个元组,但它们不共享任何实体。
  2. 实体对重叠(EPO):此类中的一个句子有多个元组,并且至少两个元组以相同或相反的顺序共享两个实体。
  3. 单实体重叠(SEO):此类中的一个句子包含一个以上的元组,并且至少两个元组正好共享一个实体。

一个句子可以同时属于EPO和SEO类,任务是提取句子中存在的所有关系元组。

Encoder-Decoder Architecture

此任务中输入是单词序列,输出是一组关系元组。第一种方法中,表示每个元组的ententity1;实体2;关系,使用“;”作为分隔符来分隔元组各部分,多行元组使用“ |”分隔。使用这些特殊标记,可以用一种简单的方式表示具有重叠实体和不同长度实体的多个关系元组。在推理过程中,序列生成结束后,可以使用这些特殊标记轻松提取关系元组。由于采用了这种统一的表示方案,对实体,关系和特殊标记的处理类似,因此编码器和解码器之间使用了包含所有这些标记的共享词汇。输入句子包含每个关系的线索词,可以帮助生成关系标记。其次使用两个特殊标记,以便模型可以区分关系元组的开头和元组组件的开头。为了使用编码器-解码器模型从句子中提取关系元组,该模型必须生成实体标记,找到关系线索词并将其映射到关系标记,并在适当的时间生成特殊标记

Embedding Layer & Encoder

创建一个单一词汇表V,该词表由源句标记、关系集R中的关系名称、特殊分隔符、目标序列开始标记(SOS)、目标序列结束标记(EOS)以及未知标记(UNK)。词级嵌入由两个部分组成:预训练词向量和基于字符嵌入的特征向量。使用单词嵌入层

和字符嵌入层

,其中dw是单词向量的维数,A是输入句子标记的字符字母,而dc是字符嵌入向量的维数。使用具有最大池化的卷积神经网络为每个单词提取维度为df的特征向量。串联词嵌入和基于字符嵌入的特征向量以获得输入标记的表示形式。源语句S由其标记x1; x2; ::::; xn的向量表示,其中

是第i个单词的向量表示形式,n是S的长度。这些向量xi被传递双向LSTM(Bi-LSTM)以获得隐藏的表示

。将Bi-LSTM的向前和向后LSTM的隐藏维设置为dh/2,以获得

,其中dh是后面描述的解码器的序列生成器LSTM的隐藏维度。

Word-level Decoder & Copy Mechanism

目标序列T仅由标记y0; y1; ::::; ym的词嵌入向量表示,其中

是第i个标记的嵌入向量,m是目标序列的长度。 y0和ym分别代表SOS和EOS标记的嵌入向量。解码器一次生成一个标记,并在生成EOS时停止。使用LSTM作为解码器,在时间步t,解码器将源语句编码(

)和先前的目标词嵌入(

)作为输入,并生成当前标记的隐藏表示(

)。使用注意力机制获得句子编码向量

,使用具有权重矩阵

和偏差矢量

的线性层将

投影到词汇表V。

 表示嵌入词汇表中所有单词在时间步t上的标准化分数,

 是LSTM的前隐藏状态。

解码器的投影层将解码器输出映射到整个词汇表。然而在推断期间,解码器可以从词汇表中预测在当前句子或关系集或特殊标记中不存在的标记。为了防止这种情况,在投影层上应用softmax时进行mask,屏蔽词汇表的所有单词,但不包括当前源句标记、关系标记、分隔符UNK和EOS标记。要从softmax中屏蔽(排除)某些单词,将

设置相应的值(负无穷),并且相应的softmax分数将为零,确保仅从源句子复制实体。在softmax操作中包含UNK标记,以确保模型在推理期间生成新实体。如果解码器预测到UNK标记,将其替换为具有最高关注分数的相应源单词。在推论过程中,解码完成后将基于特殊标记提取所有元组,从关系集中删除重复的元组和两个实体相同的元组或不包含关系标记的元组。此模型后称为WordDecoding(WDec)。

Pointer Network-Based Decoder

第二种方法使用开始和结束位置来识别句子中的实体。从单词词汇表中删除特殊标记和关系名称,并且单词嵌入仅在编码器侧与字符嵌入一起使用。在模型的解码器端使用附加的关系嵌入矩阵

,其中R是关系集,dr是关系向量的维数。关系集R包括指示序列结束的。关系元组表示为序列T = y0; y1; ::: ;; ym,其中yt是一个元组,由源语句中的四个索引组成,指示两个实体的开始和结束位置以及它们之间的关系(请参见表1)。 y0是一个虚拟元组,表示序列的起始元组,而ym充当序列的结束元组,该序列具有EOS作为关系(该元组将忽略实体)。解码器由一个LSTM(具有隐藏维dh来生成元组序列)、两个指针网络(用于查找两个实体)以及分类网络(用于查找元组的关系)组成。在时间步骤t,解码器将源语句编码和所有先前生成的元组的表示 

 作为输入,并生成当前元组的隐藏表示。句子编码向量集使用注意力机制获得。关系元组是一个集合,为了防止解码器再次生成相同的元组,在解码的每个时间步传递有关所有先前生成的元组的信息。yj是在时间步长j <t预测的元组的向量表示,使用零向量(

)表示伪元组y0,

是时间t-1处LSTM的隐藏状态。

Relation Tuple Extraction

在获得当前元组 

的隐藏表示之后,首先在源语句中找到两个实体的开始和结束指针。将向量

与编码器的隐藏向量

连接起来,然后将它们传递给具有dp隐藏维度的Bi-LSTM层,以实现向前和向后LSTM。 该Bi-LSTM层的隐藏向量

被传递到具有softmax的两个前馈网络(FFN),以将每个隐藏向量转换为介于0和1之间的两个标量值,Softmax操作应用于输入句子中的所有单词。这两个标量值表示相应的源句子标记成为第一个实体的开始和结束位置的概率。带有两个前向层的Bi LSTM层是标识当前关系元组的第一个实体的第一个指针网络。

 表示第i个源字词是预测元组第一个实体的开始和结束标记的标准化概率。然后使用另一个的指针网络提取元组的第二个实体,将隐向量

结合起来送第二个指针网络来获得

。标准化概率用来找寻两实体的向量表示。

然后将

结合送入带有sofamax的FFN来预测关系。

 表示时间步 t 时的预测关系的标准化概率,关系嵌入向量 

 通过对

使用argmax函数 和

 获得,

 是时间步 t 预测元组的的向量表示。当预测关系为EOS时解码器停止序列生成过程。在推理过程中,选择两个实体的开始和结束位置以使四个指针概率的乘积最大化,同时保持两个实体不相互重叠且1 <b <e <n的约束条件,其中b和e是相应实体的开始和结束位置。首先根据相应的起点和终点指针概率的最大积选择实体1的起点和终点,然后以类似的方式找到实体2,排除实体1的跨度以避免重叠。重复相同的过程,但是这次首先找到实体2然后是实体1。选择该对实体,这对实体在这两个选择之间给出了四个指针概率的较高乘积。此模型此后称为PtrNetDecoding(PNDec)。

Attention Modeling

针对词级解码模型使用三种不同的注意力机制,以获得源上下文向量

 :
  1. Avg:上下文向量是通过平均编码的隐藏向量来获得的。
  2. 对于基于指针网络的解码模型使用single注意模型的三个变体。一使用

    在注意力机制中计算

    ,二使用

    计算

     ,三使用

    获得的两个注意向量进行级联来获得注意上下文向量。通过基于指针网络的解码模型,可以提供最佳性能。 

Loss Funtion

 是单词级解码中时间步t处目标单词的softmax得分,r/s/e 是实体相应的真实关系标签、真实start和end指针位置的softmax得分,b/t/r 是第b个训练实例、解码时间步t和一个元组的两个实体,B/T分别是batch size和解码器的最大时间步。

 

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!