《Extracting Relational Facts by an End-to-End Neural Model with Copy Mechanism》记录

Abstract

句子中的关系事实通常很复杂,不同的关系三元组在句子中存有实体重叠。根据三元组重叠度将句子分为三种类型,包括NormalEntityPairOverlapSingleEntiyOverlap。 现有方法主要集中在Normal类上,无法准确地提取关系三元组。 本文提出了一种基于具有复制机制的序列到序列学习的端到端模型,该模型可以从任何这些类的句子中联合提取相关事实。 在解码过程中,采用两种不同的策略:仅使用一个联合解码器或应用多个分离解码器

Introduction

句子中的关系事实常常很复杂,不同的关系三元组在句子中可能有重叠。如果一个句子的三元组都没有重叠的实体,则该句子属于Normal类;如果一个句子的某些三元组中的某些实体对重叠,则该句子属于EntityPairOverlap(EPO)类;如果一个句子的某些三元组中有一个重叠的实体,而这些三元组中没有重叠的实体对,则该句子属于SingleEntityOverlap(SEO)类。

为了处理三元组重叠的问题,必须允许一个实体自由地参与多个三元组,对此论文提出一种基于复制机制的序列到序列学习的端到端模型,该模型可以从包含这些类别的句子中联合提取相关事实。此模型的主要组件包括两部分:编码器和解码器。编码器将自然语言句子(源句子)转换为固定长度的语义向量,然后解码器读入此向量并直接生成三元组。为了生成一个三元组,首先解码器生成关系;其次通过采用复制机制,解码器从源句子复制第一个实体(头实体);最后解码器从源句子中复制第二个实体(尾实体),以此来提取多个三元组。解码过程中采用两种不同的策略:仅使用一个统一解码器(OneDecoder)生成所有三元组,应用多个分离解码器(MultiDecoder)其每个解码器生成一个三元组。

Model

OneDecoder Model

Figure 2: The overall structure of OneDecoder model. A bi-directional RNN is used to encode the source sentence and then a decoder is used to generate triples directly. The relation is predicted and the entity is copied from source sentence.

Encoder    首先将源句子转换为矩阵,矩阵向量表示各个词嵌入,依序将矩阵传入Bi-RNN生成时间步 t 时刻的结果和隐藏状态。输出结果为 O^{E}= \left [ o_{1}^{E},\cdots ,o_{n}^{E} \right ],o_{t}^{E}=\left [ \overrightarrow{o_{t}^{E}},\overleftarrow{o_{n-t+1}^{E}} \right ],隐藏状态的表示类似。

Decoder    首先解码器生成三元组的关系,其次解码器从源句子中复制一个实体作为三元组的第一个实体,最后解码器从源句子中复制第二个实体。重复此过程,解码器可以生成多个三元组。当生成所有有效的三元组,解码器将生成NA三元组,即意味着“停止”。NA三元组由NA关系和NA实体对组成。

Figure 3: The inputs and outputs of the decoder(s) of OneDecoder model and MultiDecoder model. (a) is the decoder of OneDecoder model. As we can see, only one decoder (the green rectangle with shadows) is used and this encoder is initialized with the sentence representation s. (b) is the decoders of MultiDecoder model. There are two decoders (the green rectangle and blue rectangle with shadows). The first decoder is initialized with s;Other decoder(s) are initialized with s and previous decoder’s state.

解码计算:o_{t}^{D},h_{t}^{D} = g\left ( u_{t}, h_{t-1}^{D} \right ),其中 h_{0}^{D} 为源句子的初始化表示,u_{t}=\left [ v_{t};c_{t} \right ]\cdot W^{u}c_{t} 是注意力向量,v_{t} 是复制实体或者前一时刻预测关系的嵌入。

在获得时间步 t 时得解码结果 o_{t}^{D} 后,如果 t 能除以3余1则进行一次关系预测,如果余2则从源句子中复制第一个实体,整除则复制第二个实体。

Predict Relation    假设有m个有效关系,使用一个全连接层来计算所有有效关系的置信向量,q^{r}=selu\left ( o_{t}^{D}\cdot W^{t}+b^{r} \right )。在生成NA三元组时,NA关系的置信值计算为:q^{NA}=selu\left ( o_{t}^{D}\cdot W^{NA}+b^{NA} \right )。然后获得概率分布表示:p^{r}=softmax\left ( \left [ q^{r};q^{NA} \right ] \right ),选择最高概率的关系并将其嵌入作为下一步的输入。

Copy the First Entity    实体的选择跟关系预测的计算相似,选择概率分布中的最高概率作为预测实体,同样使用其嵌入作为下一步的输入。概率分布表示为:p^{e}=softmax\left ( \left [ q^{e};q^{NA} \right ] \right );置信向量为:q_{i}^{e}=selu\left ( \left [ o_{t}^{D};o_{i}^{E} \right ] \cdot W^{e} \right )

Copy the Second Entity    第二个实体的复制必须避开已复制的第一个实体,对此,假设第一个实体为k-th,引入一个长度为源句子长度n的掩码向量M,M_{i}=1,i\neq k,M_{i}=0,i=k。然后计算概率分布,p^{e}=softmax\left ( \left [ M\otimes q^{e};q^{NA} \right ] \right ),⊗是逐个元素相乘。

MultiDecoder Model

MultiDecoder模型是所提出的OneDecoder模型的扩展。主要区别在于解码三元组时,MultiDecoder模型使用几个分离的解码器进行解码。图3(b)显示了MultiDecoder模型的解码器的输入和输出,有两个解码器(带阴影的绿色和蓝色矩形),解码器按顺序工作:第一个解码器生成第一个三元组,然后第二个解码器生成第二个三元组。

D_{i} 表示第 i 个解码器,ut 计算跟之前一样,初始化隐藏状态计算如下:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值