MENU

RE baseline paper: CopyRE(2018)

August 9, 2023 • Read: 73 • Paper阅读设置

原文网址:Extracting Relational Facts by an End-to-End Neural Model with Copy Mechanism
原文没有提供代码。

这篇文章首次引入重叠关系问题,并对重叠问题进行了分类。

摘要

研究领域:从句子中抽取关系事实relational facts

研究问题:实现从包含重叠关系事实的句子中抽取重叠的多个关系事实。

  • 在一个句子中可能有重叠的不同的关系事实。
  • 本文根据三元组的重叠程度将句子进行了分类:NormalEntityPairOverlapSingleEntityOverlap

研究动机:现有方法主要集中于对Normal类型的三元组进行抽取,即无法精确的抽取关系三元组。

本文主要工作:

  • 解决方法:本文提出了一个基于带有复制机制的seq2seq学习的端到端模型,能够实现从各种类型的句子中联合抽取关系事实。
  • 具体实现(其他创新点):在解码阶段采用了两种不同的策略,分别为:只利用一个统一的解码器,应用多个单独的解码器。

实验结果:

  • 数据集:在两个公共数据集上测试模型。
  • 结果:本文模型显著优于基线方法。

引言

关系事实的抽取

  • 重要性:最近,在构建大型结构化知识库上,人们在从自然语言文本中抽取关系事实方面做出了很大的努力。
  • 是什么(介绍):一个关系事实通常表示为一个由两个实体(一个实体对)和它们之间的关系构成的三元组,例如<Chicago, country, UnitedStates>

关系事实的抽取的相关方法

  • 关系抽取或分类:大多数以前的方法主要集中在关系抽取或分类任务上。

    • 是什么:识别两个预先分配的实体之间的语义关系。
    • 缺点:它们都假设实体是预先识别的,忽略了实体的提取。
  • 流水线方法:为了既抽取实体又抽取关系,早期工作采用流水线方式

    • 是什么:首先执行实体识别,然后预测抽取的实体之间的关系。
    • 缺点:流水线框架忽略了实体识别和关系预测之间的相关性。
  • 基于特征的联合学习方法:最近的工作尝试联合抽取实体和关系。

    • 是什么:设计一些详尽的特征来构建两个子任务之间的联系。
    • 缺点:需要复杂的特征工程,并且严重依赖现有的抽取特征的NLP工具。
  • 基于深度学习的方法:最近,随着深度学习在很多NLP任务上的成功,它也被应用到关系事实抽取上。

现有方法的局限性

  • 背景:一个句子中可能有重叠的不同的关系三元组。
  • 局限性:不论是基于深度学习的模型还是基于传统特征工程的联合学习模型,都无法精确地抽取关系事实。
  • 局限性的原因:

    • 大多数现有方法集中于Normal类型,几乎没有考虑其他类型的事实三元组。
    • (本文的改进点)具体地,NovelTagging(比较基线)基于神经网络的联合模型也只是给一个词赋予单个标签,这意味着一个词最多参与一个三元组。

本文研究的动机:三元组重叠问题没有真正得到处理。

本文解决方法

  • 解决思路:为了能够处理重叠三元组问题,一个实体必须能够允许参与多个三元组。(对应于引言中提到的改进点)
  • 解决方法:提出了一个模型,同摘要。
  • 具体介绍:

    • 模型分类两部分:编码器和解码器。
    • 编码器将一个自然语言句子转换为一个固定长度的语义向量。
    • 然后解码器接收该向量并直接生成三元组。具体地:

      • 解码器首先生成一个关系。
      • 然后,应用复制机制,从源句子中复制第一个实体。
      • 最后,从源句子中复制第二个实体。
    • 具体地,在解码阶段采用了两种不同的策略:

      • OneDecoder:只利用一个统一的解码器来生成所有的三元组。
      • MultiDecoder:应用多个单独的解码器,每个生成一个三元组。
  • 优势:

    • 在本文提出的模型中,一个实体允许被复制多次,因此能够处理三元组重叠问题。
    • 由于实体和关系抽取是在单个端到端模型中实现,实现了实体和关系的联合抽取。

模型

模型概述

  • 本文提出了一个基于复制机制的Seq2Seq学习的神经模型,该模型能够以端到端的方式抽取多个关系事实。
  • 该神经模型首先将一个变长的句子编码为一个固定长度的向量表示,然后将该向量解码为相应的关系事实(三元组)。在解码时,可以用一个统一的解码器解码所有三元组,或者用单独的解码器解码每一个三元组,这两种方式对应的模型分别称为OneDecoderMultiDecoder

OneDecoder Model

  • Encoder

    • 编码之前,将句子中每个词转换为对应的embedding,生成由embedding构成的输入序列(矩阵)。
    • 采用标准的RNN解码器来顺序接收输入序列,并通过以下公式生成时间步t对应的输出${o^E}_t$和隐藏状态${h^E}_t$:
      2023-08-09T09:28:48.png
    • 本文的解码器使用了一个双向RNN来编码输入句子。每个词的前向和后向输出进行拼接得到该词对应的表示。RNN前向和后向的隐藏状态的拼接作为整个句子的表示。
  • Decoder

    • 解码器的解码思路:

      • 首先解码器为一个三元组生成一个关系。
      • 其次,解码器从源句子中复制一个实体作为三元组的第一个实体。
      • 最后,解码器从源句子中复制三元组的第二个实体。
      • 重复这样的过程,解码器就能生成多个三元组。
      • 当生成了所有有效三元组后,解码器就生成一个NA三元组,表示结束生成。NA三元组由一个NA关系和一个NA实体对组成。
    • 具体实现,解码器如图所示
      2023-08-09T09:41:53.png

      • 时间步t时解码器的输出${o^D}_t$和隐藏状态${h^D}_t$通过以下公式计算,其中${h^D}_t$表示上一时间步的隐藏状态,且${h^D}_0$初始化为从编码器得到的整个句子的表示;$u_t$表示时间步t的解码器输入。
        2023-08-09T09:44:56.png
      • 时间步t的解码器输入$u_t$计算公式如下所示,其中$c_t$表示注意力向量,$v_t$表示时间步t-1的复制的实体表示或预测的关系表示,即上一步解码器的输出${o^D}_{t-1}$。
        2023-08-09T09:48:05.png
      • 注意力向量$c_t$的计算公式如下所示,其中${o^E}_i$表示第i个词经过编码后得到的表示。
        2023-08-09T09:51:38.png
      • 获得第t时间步的解码器输出${o^D}_t$后,如果$t%3 = 1$,则利用该输出${o^D}_t$来预测一个关系;如果$t%3 = 2$,则利用该输出${o^D}_t$来从源句子中复制第一个实体;如果$t%3 = 0$,则利用该输出${o^D}_t$来从源句子中复制第二个实体。
        相当于利用每三个连续的输出表示来生成一个三元组。
      • 关系预测:用一个全连接层按照以下公式计算有效关系的置信向量,再用另一个全连接层按照以下公式计算NA关系的置信值,将有效关系置信向量与NA关系置信值拼接起来,套上一个softmax以得到预测的关系概率分布。最后选择最高概率的关系作为预测的关系,并将其表示作为下一个时间步的$v_{t+1}$。
        2023-08-09T10:08:51.png
        2023-08-09T10:09:04.png
        2023-08-09T10:09:17.png
      • 第一个实体的复制:类似于关系预测,首先按照以下公式计算每个词对应的置信值,从而得到所有词置信值组成的置信向量,再将该置信向量与NA置信值(同NA关系置信值)进行拼接,套上softmax以得到预测的实体的概率分布。最后选择最高概率的词作为预测的实体,并将其表示作为下一个时间步的$v_{t+1}$。
        2023-08-09T10:14:46.png
        2023-08-09T10:14:58.png
      • 第二个实体的复制:与复制第一个实体相同,区别在于复制第二个实体时要避免复制到与第一个实体相同的实体,因此这里引入了一个mask向量M,具体如下,计算概率分布时利用该mask向量避免复制到第一个实体。同样地,最后选择最高概率的词作为预测的实体,并将其表示作为下一个时间步的$v_{t+1}$。
        2023-08-09T10:17:05.png
        2023-08-09T10:17:16.png

MultiDecoder Model

  • 多解码器模型与单解码器模型没有什么不同,主要区别在于解码每个三元组时都单独用一个解码器。对于每个解码器的时间步t的输出和隐藏状态计算的具体公式如下,每个解码器的初始隐藏状态计算公式如下:
    2023-08-09T10:20:37.png
    2023-08-09T10:20:50.png

目标函数

  • 假设给定B个句子,每个句子解码的最大步数为T。优化模型的目标函数时加负号的极大似然估计值,具体公式如下:
    2023-08-09T10:24:05.png

实验

数据集
公共数据集:

  • NYT
  • WebNLG

实验设置

  • 两个数据集都采用LSTM作为模型单元。其他见原文。

基线和评价指标

  • 基线:NovelTagging
  • 评价指标:微精度PrecisionRecallF1分数
  • 评价准则:实体和关系都正确,则三元组正确。
    本模型在复制时只复制了尸体的最后一个词,因此,实体只看最后一个词。并且评估不包括预测的用于停止生成三元组的NA三元组。

结果

  • 总体结果:不管是单解码器模型还是多解码器模型,实验结果都优于基线。证明了本文的模型的有效性。
    2023-08-09T12:22:31.png
  • 具体细节:

    • (结果)NovelTagging在两个数据集上都是精确度最高而召回率最低,本文的模型就相对平衡。
    • (原因分析)NovelTagging处理不了重叠的三元组,因此很多三元组无法预测到,导致召回率低。本文的模型能够处理重叠三元组。

其他实验

  • 验证处理重叠能力的实验

    • 实验设置:在NYT数据集上进一步实验本模型和基线在不同重叠类型的句子上的关系事实抽取表现。
    • 结果:
      2023-08-09T12:32:05.png

      • (模型间的比较)本文模型在两种重叠类型EPO和SEO上表现更好。NovelTagging在Normal类型上表现更好。
      • (句子类型上的表现比较)根据实验结果,EPO和SEO的表现普遍比Normal差。
    • 原因分析:

      • NovelTagging本身设计的更适合Normal类型,本文模型本身设计的处理重叠问题。
        另外,本模型难以预测一个句子到底有多少个三元组,因此可能导致在Normal类型预测上的损失。
      • 说明重叠问题比Normal问题更具挑战性。
  • 验证在抽取包含不同数量的三元组的句子的关系事实表现的实验

    • 结果:
      2023-08-09T12:36:07.png

      • 在抽取只包含1个三元组的句子的关系三元组时,NovelTagging表现最好。
        随着三元组数量增多,NovelTagging性能明显下降。
    • 结论:本文模型处理多个关系的能力更好。
  • OneDecoder vs MultiDecoder

    • 实验设置:从前面的实验结果可以看出来多解码器模型优于单解码器模型,为了找出原因,分析了它们生成关系和实体的能力。
    • 结果:在两个数据集上,两个模型在关系生成上的表现差不多,在实体生成的表现,多解码器模型表现更好。
      2023-08-09T12:37:34.png
    • 原因分析:本文认为利用不同解码器生成的三元组能够使得实体生成的结果更多样。