精华内容
下载资源
问答
  • 【文献阅读】03-用于实体关系联合抽取的关系图模型-GraphRel: Modeling Text as Relational Graphs for Joint Entity and Relation Extraction1 Introduction1.1 实体关系联合抽取1.2 文章工作2 GraphRel2.1模型框架...

    【文献阅读】03-用于实体关系联合抽取的关系图模型-GraphRel: Modeling Text as Relational Graphs for Joint Entity and Relation Extraction

    1 Introduction

    1.1 实体关系联合抽取

      实体关系抽取任务:提取具有语义关系的实体对,即三元组; 是信息提取的中心任务,需要从非结构化文本自动构建知识 。
    在这里插入图片描述
    实体关系抽取目前两种常见解决方案

    Pipeline:早期的信息抽取将实体抽取和关系抽取看作两个独立的任务,这样的串联模型在建模上相对更简单。但这将实体识别和关系抽取当作两个独立的任务会导致一些问题:比如误差积累、实体冗余、关系重叠问题等等 。

    联合抽取:对实体抽取和关系分类联合建模,能够利用实体和关系之间的交互信息,同时抽取实体并分类实体对的关系,可以很好地解决流水线方法所存在的问题。

    三个关键方面仍需要在统一框架中进行全面处理:
    实体识别和关系提取的端到端联合建模
    对实体重叠关系的预测
    考虑关系之间的相互作用

    1.2 文章工作

    这篇文章提出了一个端到端的联合模型 GraphRel:
    对实体和关系进行端到端的联合建模,自动提取特征
    仔细考虑实体与关系之间的相互作用,提出了带权重的GCN模型
    对关系重叠问题进行了分析

    在两个公共关系提取数据集上评估该方法:NYT和WebNLG。
    实验结果表明,GraphRel与以前的工作相比大大改善了实体重叠问题,并且在两个数据集上都达到了SOTA。

    方法优势
    是第一个对前文提到的三个关键问题兼顾的模型:
    它对实体和关系进行端到端的联合建模,通过 Bi-LSTM 和 GCN 来自动学习文本特征,同时模型提出了 带有关系权重的 GCN,有效地考虑关系之间的相互作用 和 关系重叠问题。
    模型 在 NYT数据集 和 WebNLG数据集 均上取得了很高的性能,与以前的工作相比大大改善了实体重叠问题。

    2 GraphRel

    2.1模型框架

    在这里插入图片描述

    1st-phase Prediction:
    Bi-LSTM提取顺序特征,Bi-GCN提取位置依赖性特征
    基于提取的单词特征,预测实体与每个单词对之间的关系

    2nd-phase Prediction:
    考虑命名实体和关系之间的影响、文本所有词对之间的隐含特征,
    用一种新的关系加权GCN进行进一步提取

    2.2 1st-phase Prediction

    在这里插入图片描述
    在第一阶段,模型通过Bi-LSTM提取文本的顺序特征,它的输由每个词的单词嵌入和词性嵌入组成,由于原始的输入是一个序列,没有内在的图结构,于是使用依赖解析器为输入句创建一个依赖树,使用这个依赖树作为输入句子的邻接矩阵,再使用双向GCN提取位置依赖特征。

    利用从bi-LSTM和bi-GCN中提取的词特征,来预测词的实体,并提取每对 单词之间的关系,文章根据提取出的单词特征 对所有单词进行预测。

    对于关系提取,文章删除了依赖边并对所有的词对进行预测。对于每个关系rr,模型学习了 三个权重矩阵​,并计算了关系倾向分数SS,通过softmax将分数转化为关系的概率。

    2.3 2nd-phase Prediction:

    在这里插入图片描述
    在第一阶段提取的实体和关系并不考虑彼此的相互作用,为了考虑命名实体和关系之间的相互作用,同时还要考虑 文本中所有单词对之间的隐含特征,模型提出了第二阶段的预测:

    首先为每个关系rr依据第一阶段计算出的单词间的关系概率作为边权构建一个完整的关系图,然后对其中每一个图用都利用双向-GCN,利用不同关系的不同影响程度的聚合 作为词的综合特征 。它考虑了关系权重的传递,从每个词中提取出更充足的隐藏信息,最后对得到的新特征再进行一次实体识别和关系分类。

    2.4 Training Detail & Inference

    实体识别:(交叉熵分类损失:eloss)
    标签:(Begin, Inside, End, Single, Out)

    关系抽取:(交叉熵分类损失:rloss)
    关系是word-pair-base的:

    <Barack Obama, has president, United States >
    United与Barack和Obama都有“Has President”的关系
    States与Barack和Obama都有“Has President”的关系

    Inference: Threshold prediction
    entity1 有n个单词,entity2有m个单词,存在关系R
    标准结果:nm 个单词对存在关系R
    预测结果:r个单词对间存在关系R,因此匹配程度为r/(n
    m)
    若r/(n*m) > θ,则认为匹配成功

    3 实验

    在这里插入图片描述
    在这里插入图片描述

    4 结论

    本文中提出了GraphRel,一种基于图卷积网络(GCN)共同学习命名实体和关系的端到端关系提取模型。

    将LSTM和GCN结合起来提取每个单词的顺序特征和位置依赖特征,也考虑了文本中所有单词对之间的隐含特征;通过预测每个单词对的关系,解决实体重叠的问题。

    提出一种新颖的关系加权GCN,考虑了命名实体与关系之间的相互作用。

    在NYT和WebNLG数据集上评估提出的方法。 结果表明,此方法比以前的工作分别提高了3.2%和5.8%,并实现了关系提取的SOTA。

    文章链接
    GraphRel: Modeling Text as Relational Graphs for Joint Entity and Relation Extraction

    展开全文
  • 信息抽取——实体关系联合抽取 目录 简介 实体关系联合抽取 Model 1: End-to-End Relation Extraction using LSTMs on Sequences and Tree Structures Model 2: Joint Extraction of Entities and Relations ...

    信息抽取——实体关系联合抽取

    目录

    简介#

    通常,早期的信息抽取将实体抽取和关系抽取看作串联的任务,这样的串联模型在建模上相对更简单,但这样将实体识别和关系抽取当作两个独立的任务明显会存在一系列的问题:

    • 两个任务的解决过程中没有考虑到两个子任务之间的相关性,从而导致关系抽取任务的结果严重依赖于实体抽取的结果,导致误差累积的问题
    • 对于一对多的问题,也就是关系重叠问题,串联模型无法提供较好的解决方案

    因此,近年来有许多工作都考虑将实体识别与关系抽取任务进行联合建模,这种 end-to-end 的模型直觉上会有更优的效果。

    实体关系联合抽取#

    Model 1: End-to-End Relation Extraction using LSTMs on Sequences and Tree Structures#

    原文链接:https://www.aclweb.org/anthology/P16-1105/

    该论文是经典的 end-to-end 实体关系联合抽取模型,在此之前,联合抽取模型通常都是基于人工构造特征的结构化学习方法,而该论文采用了端到端的神经网络结构来进行建模,该模型基于词序信息以及依存树结构信息来抽取实体以及实体关系,其主要模型结构如下图所示:
    yDOUfsNtukCoKEl.pnguploading.4e448015.gif正在上传…重新上传取消yDOUfsNtukCoKEl.pnguploading.4e448015.gif正在上传…重新上传取消

    该模型主要分为如下三个部分:

    • Embeddings layer:Embedding 层主要用于学习对应表征,整个模型中主要有四个 Embedding 层,分别用来表示词嵌入v(w)

    、词性(POS)嵌入v(p)、依存关系嵌入 v(d) 以及实体标签嵌入 v(e)

    • 。注意每个嵌入层是用在模型的不同位置的。
    • Sequence Layer:嵌入层的词嵌入以及POS嵌入作为该层的输入,即时刻 t
    • 的输入为 xt=[v(w)t,v(p)t],Sequence Layer 主要完成的是实体识别任务,有如下几个小块
      • 利用 BiLSTM 作为序列编码器,得到的输出则是 BiLSTM 在同一个时刻两个方向上的输出 st=[h→t;h←t]
    •  
    • 将实体识别任务看作是一个序列标注任务,实体标签采用 BILOU(Begin, Inside, Last, Outside, Unit) 的标注方式,而实体类别接续在实体标签之后 (标准方法可以参考我关于序列标注的第一篇文章)。利用两个全连接层来实现实体识别

       

      h(e)tyt=tanh(W(eh)[st;v(e)t−1]+b(eh))=softmax(W(ey)h(e)t+b(ey))

      •  

        显然,在每个词的标签预测时,将考虑到上一个词的预测结果,从而考虑到标签上的依赖性。
    • Dependency layer:该层主要关注两个实体在依存树的最短路径(shortest path),最短路径在做个关系分类研究中已被证明是十分有效的。作者采用了双向树结构的 BiLSTM 来捕捉两个实体之间的关系。从论文中的表达式来看,树结构的 LSTM 与传统 LSTM 的区别在于,其接受多个子节点的隐藏信息,而不仅仅是上一个时刻的隐藏信息。作者提出一种新的基于树结构的 LSTM,其相同类型的子节点共享参数矩阵,同时允许可变数量的子节点(感兴趣的读者可以去原文看看模型细节,公式较多这里就不做详细介绍了)。该层以对应 Sequence Layer 对应时刻的隐藏状态、依存关系嵌入和实体标签嵌入的拼接作为模型输入,即

       

      xt=[st;v(d)t;v(e)t]

     

    作者将 Dependency layer 堆叠在 Sequence layer 上,因此 Dependency layer 可以依赖 Sequence layer 的输出,或者说实体识别的结果间接地对关系分类的结果加以影响。

    对于构造的树结构的 BiLSTM,存在两个传输方向,即从子节点到根节点方向 "↑

    ",和从根节点到子节点方向 "↓",最终用于关系分类的输入,为根节点位置 ↑ 方向上的隐藏状态,和两个实体的 ↓ 方向上的隐藏状态的拼接,即

    dp=[↑hpa;↓hp1;↓hp2]

     

    此外,考虑到每个输出都是只考虑到单词之间的关系,而无法利用整个实体的信息,为了缓解这个问题,作者将 Sequence layer 上对应实体的隐藏层求平均拼接到 dp

    上,即

    d′p=[dp;1|Ip1|∑i∈Ip1si;1|Ip2|∑i∈Ip2si]

     

    其中,Ip1

    和 Ip2 分别表示实体 1 和实体 2 的单词集合,将该向量直接输入与 Sequence layer 中类似的分类器进行分类,即

    h(r)pyp=tanh(W(rh)d′p+b(rh))=softmax(W(ry)h(r)t+b(ry))

    •  

    小结:总的来说,该任务通过在实体识别和关系抽取任务中共享 Embedding layer 和 Sequence layer 参数的方法,加强两个任务之间的相关性,确实存在一定的创新,且设计了树结构的 LSTM 模型用于关系分类任务中。但是其模型设计上还存在很大的缺陷,如实体抽取任务上忽略了标签之间的长依赖关系,此外实体与关系的抽取还是存在先后性,两个任务并不是完全同步进行的。这篇论文首次将神经网络模型用于解决实体关系联合抽取任务,属于这块领域的开山之作,之后很多工作都在此基础上进行改进,或与该工作的结果进行对比

    Model 2: Joint Extraction of Entities and Relations Based on a Novel Tagging Scheme#

    原文链接:https://arxiv.org/abs/1706.05075

    该篇论文被评为 ACL2017 杰出论文,其主要做法是将实体关系联合抽取任务看作一个序列标注任务来处理,取得了非常好的效果。

    作者认为,之前的做法多数都需要大量复杂的特征工程,并且十分依赖其他的 NLP 工具,这将导致误差传播问题。虽然 Model 1 通过共享参数的方法将两个任务整合到同一个模型当中,但是实体抽取与关系识别任务仍然是两个分离的过程,这将造成产生大量的冗余信息。

    作者认为,实体关系联合抽取的关键就是要得到实体对以及它们之间关系组成的三元组。因此作者的做法是直接对三元组进行建模,而不是分别提取实体和关系。为了解决这个问题,作者设计了一种新颖的标注方案,它包含实体信息和它们所持有的关系,对于系列标注问题,很容易使用神经网络来建模,而不需要复杂的特征工程。

    论文的主要贡献有如下几点:

    • 提出了一种新的标注方案,联合提取实体和关系,可以很容易地将提取问题转化为标注任务。
    • 基于我们的标注方案,我们研究了不同类型的端到端模型来解决问题。基于标记的方法比大多数现有的流水线和联合学习方法要好。
    • 此外,我们还开发了具有偏置损失函数的端到端模型,以适应新型标注。它可以增强相关实体之间的关联。
      zXdHoZMulUNC9mB.pnguploading.4e448015.gif正在上传…重新上传取消zXdHoZMulUNC9mB.pnguploading.4e448015.gif正在上传…重新上传取消

    下面简单介绍一下论文如何将提取问题转换为基于本文标注方法的标注问题,简单的标注实例如上图所示

    • 需要抽取的三元组可以表示为:(Entity1, RelationType, Entity2),其中,Entity1 和 Entity2 需要抽取的文中的实体,RelationType 为预定义的 Entity1 和 Entity2 之间的关系
    • 非抽取对象用标签 "O" 标注,表示 "Other"
    • 实体对象的标签由三部分组成:单词位置、关系类型、关系角色
      • 单词位置使用 "BIES" 的方式来标注,表示单词在实体中的位置信息
      • 关系类型直接从预定义的关系集合中获得
      • 关系角色直接用 "1" 和 "2" 表示,用于表示实体在三元组中的位置
      • 标签的总数为 2×4×|R|+1

    ,其中 |R|

      • 是预定义的关系集的大小
    • 对于已标注的序列,根据就近原则将其合并为需要抽取的三元组
      dFIn8bYtG6pNZR2.pnguploading.4e448015.gif正在上传…重新上传取消dFIn8bYtG6pNZR2.pnguploading.4e448015.gif正在上传…重新上传取消

    端到端模型的基本架构如上图所示,主要包括如下几个部分:

    • BiLSTM Encoder layer: 将传统的 BiLSTM 作为序列编码层,并将对应时刻的双向隐藏输出拼接得到对应词的编码结果,即 ht=[h→t;h←t]
    •  
    • LSTM Decoding Layer: 从图中可以清楚的看到差别,LSTM Decoding Cell 与经典的 LSTM 的区别在于,其当前时刻的输入除了上一时刻的隐藏状态 h(2)t−1

    • 以及当前时刻的输入 ht 之外,还包括上一时刻的预测标签表示 Tt−1,即

      h(2)t=LSTM(ht,[h(2)t−1,Tt−1])

       

      对于时刻 t

      的隐藏状态,通过一个全连接层得到标签表示:

      Tt=Wtsh(2)t+bts

      •  

      最终将标签表示输入经典的全连接层分类器进行分类:

       

      ytpit=WyTt+by=exp(yit)∑Ntj=1exp(yjt)

       

      • The Bias Objective Function: 定义了一个标签偏置函数

         

        L=max ∑j=1|D|∑t=1Lj(log(p(j)t=y(j)t|xj,Θ)⋅I(O)+α⋅log(p(j)t=y(j)t|xj,Θ)⋅(1−I(O)))

       

      上式中,|D|

      是训练集的大小,Lj 是句子 xj 的长度,y(j)t 是单词 xj 中词 t 的标注,p(j)t 是模型输出的归一化标注概率。此外,I(O) 是一个开关函数,以区分标注 ‘O’ 与 其他标注。他被定义如下:

      I(O)={1, if tag=′O′0, if tag≠′O′

       

      简单来说,就是使得模型对于实体标签与其他标签的关注程度不一样,而参数 α

      就是偏置权重,α
      • 越大,模型对于实体的相关标注的偏向性就越大。

      小结:这篇论文通过巧妙的设计将实体与关系联合抽取任务当作一个序列标注任务来处理,大大简化了工作的复杂性,且其模型性能优于之前的工作。此外,模型的缺陷也是比较明显的,其无法考虑到实体关系重叠的问题,也就是说一个实体在上下文中可能与多个实体有不同的关系。

      Model 3: Joint entity recognition and relation extraction as a multi-head selection problem#

      原文链接:https://arxiv.org/abs/1804.07847

      论文指出了目前的实体关系抽取任务存在的一些问题:

      • 目前 State-of-the-art 的联合抽取模型依赖外部的NLP工具提取特征,模型性能严重依赖 NLP 工具的性能;
      • 之前的工作没有考虑实体关系重叠问题,即一个实体可能与上下文中的多个实体有不同的关系。

      该论文创新点在于其将实体关系联合抽取问题看作是一个 multi-head selection 的问题,即任何一个实体都可能与其他实体存在关系,目的是解决关系重叠问题。
      D52VFIKzTklZt6X.pnguploading.4e448015.gif正在上传…重新上传取消D52VFIKzTklZt6X.pnguploading.4e448015.gif转存失败重新上传取消

      该论文提出的模型如上图所示,包括以下结构:embedding layer,BiLSTM layer,CRF layer,sigmoid scoring layer。

      • Embedding layer:Embedding layer 主要用于生成词表征,包括字符级别的向量和词级别的向量两个部分,构造方式如下所示,引入字符级别的向量是因为字符级别的向量可以融入一些形态学特征
        Nh6Pt5x34FwBeov.pnguploading.4e448015.gif正在上传…重新上传取消

      • BiLSTM encoding layer:利用 多层的 BiLSTM 来对句子进行编码,每一个时刻的输出为两个方向的向量的拼接:

         

        hi=[h→i;h←i],i=[0,...,n]

    •  

    • CRF layer: 在 BiLSTM 之后接 CRF 来辅助实体识别已经是常规操作了,实体识别部分的标注方式是 BIO,此外在实体位置标注之后还接有实体类别标注,在图中也有很清楚的表示
    • Label Embedding:构造一个 Label Embedding 层,用来获取标签相应的向量表征,也是可训练的,用 gi

    • 表示第 i
    • 个 token 的预测标签向量

    • multi-head selection problem:将关系抽取看作一个 multi-head selection problem,multi-head 的含义是每个 实体 与其他所有 实体 都存在关系,在判断关系的时候,为了避免造成信息冗余,只判断每个实体的最后一个 token 与其他实体的最后一个 token 的关系,而每个实体的最后一个 token 被称作 head。对于每个 head ,需要预测元组 (y^i,c^i)

    • ,其中 y^i 表示当前 token 的关系对象,c^i 表示两者之间的关系。对于给定的 token 向量 wi 和 wj,其关系为 rk 的分数为:

      s(r)(zj,zi,rk)=V(r)f(U(r)zj+W(r)zi+b(r))

       

      其中,zi=[hi;gi]

      ,f(⋅) 为激活函数,U(r),W(r) 相当于先将向量进行降维,V(r) 是一个一维向量,最后输出的是一个分数值,之后再将分数映射为概率值

      Pr(head=wj,label=rk|wi)=σ(s(r)(zi,zj,rk))

       

      关系抽取过程的损失函数定义为:

       

      Lrel=∑i=0n∑j=0m−log Pr(head=yi,j,relation=ri,j|wi)

       

      整个模型的损失函数即为 Lner+Lrel

      •  

        在预测阶段,可以通过认为输出的预测概率超过某一个阈值就认为这个关系是有效的。注意,该模型对两个词之间过个关系的预测并不是采用的 softmax 函数,而是对每个关系采用了 sigmoid 函数,区别在于 softmax 是将所有类别看作是互斥关系,将所有分数归一化为和为 1 的形式,而 sigmoid 与 softmax 的区别在于,其独立的将每个类别的判断看作是独立二分类的问题,即各个类别不存在互斥关系,这样跟有利于判断出两个实体之间存在的多种关系的情况。

      小结:这篇文章的关键创新点在于其将关系抽取任务当作一个 multi-head selection problem 的问题,从而使得每个实体能够与其他所有实体判断关系,此外,不再将关系抽取任务当作一个每个关系互斥的多分类任务,而是看作每个关系独立的多个二分类任务,从而能够判断每一对实体是否可能有多个关系存在。此外,该组在同一年还发布了一篇以该论文为 baseline,在训练过程中加入对抗扰动的论文,分数达到新高,有兴趣的同学可以关注一下

      Model 4: 基于DGCNN和概率图的轻量级信息抽取模型#

      原文链接:https://kexue.fm/archives/6671

      这个模型是苏神提出的 DGCNN 用于实体关系抽取的模型,一直感觉这个模型设计的挺巧妙的,这里也记录下。数据集是百度给出的中文信息抽取数据集(需要的话可以去苏神博客里找,有下载链接)。

      首先,作者发现数据主要有以下几个特点:

      • s和o未必是分词工具分出来的词,因此要对query做标注才能抽取出正确的s、o,而考虑到分词可能切错边界,因此应该使用基于字的输入来标注;
      • 样本中大多数的抽取结果是“一个s、多个(p, o)”的形式,比如“《战狼》的主演包括吴京和余男”,那么要抽出“(战狼, 主演, 吴京)”、“(战狼, 主演, 余男)”;
      • 抽取结果是“多个s、一个(p, o)”甚至是“多个s、多个(p, o)”的样本也占有一定比例,比如“《战狼》、《战狼2》的主演都是吴京”,那么要抽出“(战狼, 主演, 吴京)”、“(战狼2, 主演, 吴京)”;
      • 同一对(s, o)也可能对应多个p,比如“《战狼》的主演和导演都是吴京”,那么要抽出“(战狼, 主演, 吴京)”、“(战狼, 导演, 吴京)”;
      • 极端情况下,s、o之间是可能重叠的,比如“《鲁迅自传》由江苏文艺出版社出版”,严格上来讲,除了要抽出“(鲁迅自传, 出版社, 江苏文艺出版社)”外,还应该抽取出“(鲁迅自传, 作者, 鲁迅)”。

      由上可知,数据集的质量非常高,且情况也十分复杂。作者由此调研了当时主要的信息抽取模型,发现没有一个模型能很好地覆盖这5个特点。于是自行设计了一个基于概率图思想的抽取方案,然后从效率出发,利用 CNN+Attention 的架构完成了这个模型。

      作者设计的抽取方案借鉴了 seq2seq 的概率图思路。在 seq2seq 解码器的解码过程是层次递归进行的的,其实际上是在建模

       

      P(y1,y2,...,yn|x)=P(y1|x)P(y2|x,y1)...P(yn|x,y1,y2,…,yn−1)

       

      而对于信息抽取任务,三元组的抽取过程也能够转化为上述层次递归的方式进行抽取,对于三元组 (s, o, p),其抽取过程可以建模为:

       

      P(s,p,o)=P(s)P(o|s)P(p|s,o)

       

      即首先预测 s

      ,然后根据 s 来预测该 s 所对应的 o 及 p。由于抽取 s 以及抽取 s 所对应的 o 及 p

      的过程均是非唯一性的,因此,作者采用了 MRC 中常用的指针网络的抽取方法,即仅抽取答案的开始和结束位置,且把预测开始和结束位置的任务转化为了预测每一个位置是否为开始位置或结束位置(将softmx换成sigmoid)。模型的整体结构如下图所示
      cFJfOH6YuTxnVdP.pnguploading.4e448015.gif正在上传…重新上传取消

      我们这里只关注作者信息抽取的思路,更多的模型细节可以去作者的博客里了解。总的来说,整个模型包括如下几个部分:

      • 字编码层:得到字表征
      • s
    • 抽取层:通过 Self-Attention 和 CNN 的结构来对 s 的开始和结束位置进行抽取
    • 对于预测到的 s
    • 将其对应位置的编码结果通过一个 BiLSTM 进一步比啊妈,然后拼接到 Self-Attention 的输出中,再通过 CNN 预测每一个 p 对应的 o
      • 到开始和结束位置

      作者的思路相比于之前的模型很好的解决了关系重叠问题,且主要架构是基于 CNN 和 Self-Attention,因此模型训练速度非常快。作者在博客结尾提到了下面要介绍的这篇论文,大致思想与作者的论文相类似,但是是通过将其转化为一个多轮问答的形式将信从而将抽取过程建模为层次递归的。

      Model 5: Entity-Relation Extraction as Multi-turn Question Answering#

      原文链接:https://www.aclweb.org/anthology/P19-1129/

      过去大部分论文都将实体关系联合抽取的任务看作是一个三元组抽取任务,而这样的处理将存在如下几个问题

      • 在形式化层面上:简单的三元组形式往往不能充分表现文本背后的结构化信息,因为往往在文本中存在层级性的依赖关系。独立地考虑两种实体可能导致依赖关系的间断。
      • 在算法层面上:对于关系抽取任务,大多数模型都是以标记的 mention 作为输入,而模型的主要目的是判断两个 mention 是否存在某种关系,在这种情况下,模型难以捕捉词汇、语法以及语义上的关系,特别是在如下几种情形下:
        • 实体相距很远;
        • 一个实体出现在多个三元组中;
        • 关系跨度相交

      这个篇文章的创新点在于其将实体关系联合抽取的任务当作一个多轮问答类问题来处理,即每种实体和每种关系都用一个问答模板进行刻画,从而这些实体和关系可以通过回答这些模板化的问题来从上下文中进行抽取。下面简单给出一个问答模版:
      Bk5rRb3QpxsW4tN.pnguploading.4e448015.gif正在上传…重新上传取消

      可见,问题主要有如下几个特点:

      • 首先确定目标实体 e1
      •  
      • 之后根据目标实体和候选关系类别进行提问

      这样的处理方法主要有如下几个优点:

      • 能够很好地捕捉标签的层次依赖性。即随着每一轮问答的进行,我们有序的获得所需要的实体,这与多回合填充式对话系统类似
      • 问题的编码能够整合对关系分类任务重要的一些先验信息,这些信息可以潜在地解决了现有关系抽取模型难以解决的问题,如远距离实体对,或是关系重叠问题
      • QA任务提供了一种很自然的方式来融合实体抽取和关系抽取任务,因为 QA 任务对于没有答案的问题可以返回 None,则对于不存在相应关系的问题,如果返回的不是 None,则可以同时确定实体和关系
        5RVdw9KB6rJzHXc.pnguploading.4e448015.gif正在上传…重新上传取消5RVdw9KB6rJzHXc.pnguploading.4e448015.gif转存失败重新上传取消

      将实体关系抽取任务转化为多轮问答任务的算法如上所示,整个算法分如下几个部分:

      • 头实体抽取(line 4 - 9):由于每一轮多轮对话都需要一个头实体来作为 trigger,因此需要事先抽取句子中所有的头实体,而抽取实体的过程可以看作一个抽取 entity_question 答案的过程。所有 entity_question 都存放在 EntityQuesTemplates 中,每一种 entity_question 都对应一类实体的抽取
      • 关系与尾实体抽取(line 10 - 24):ChainOfRelTemplates 定义了一个关系序列,我们需要根据这个关系序列来进行多轮问答。同时,它也定义了每种关系的模板,为了生成对应的问题(第14行),我们要在模板槽(slot)中插入之前抽取的实体。然后,关系 REL 和尾实体 e 就能通过回答问题同时被抽取出来。如果回答是 None,就说明没有答案,即只有同时抽出头实体,以及头实体存在对应的关系和尾实体被抽出时,才算是成功抽出一个满足条件的三元组了。

      关于问题模版的生成方式可以参考原文中的方法,这里就不赘述了。

      我们知道现阶段常见的 MRC 模型都是通过指针网络的方式,仅预测答案在 Context 中的开始和结束位置,仅适用于单答案的情况。但对于实体识别任务,在一段 Context 中可能有多个答案,所以这种方法并不合适。作者的做法是将其当作以问题为基础的序列标注问题,或者说将 2 个 N-class 分类任务转换成 N 个 5-class 分类任务,其中 N 为句子长度。

      作者将 BERT 作为 baseline。训练时,损失函数为两个子任务的叠加,即:

       

      L=(1−λ)L(headentity)+λL(tailentity,rel)

       

      为了进一步优化模型性能,还采用了强化学习的方法来进一步优化,这一块暂时也不做研究了,感兴趣的同学可以去原文参考一下

      Model 6: A Novel Hierarchical Binary Tagging Framework for Joint Extraction of Entities and Relations#

      原文链接:https://arxiv.org/abs/1909.03227

      这篇文章在 WebNLG 和 NYT 数据集上取得了 SOTA 的效果,模型的整体思路与苏神的模型非常类似。该论文指出,当前处理关系重叠的模型仍然存在一系列问题,具体来说,它们都将关系视为要分配给实体对的离散标签。 这种表述使关系分类成为困难的机器学习问题。 例如,当在相同上下文中的同一实体参与多个(在某些情况下超过五个)有效关系(即重叠的三元组)时,分类器需要大量的监督学习才能确定上下文与关系的对应关系。

      作者设计了一种 Hierarchical Binary Tagging 的框架来解决这个问题,这个框架将三元组的抽取任务建模为三个级别的问题,从而能够更好解决三元组重叠的问题。其核心观点就是不再将关系抽取的过程看作实体对的离散标签,而是将其看作两个实体的映射关系,即f(s,o)−>r

      ,整个三元组的过程可以概括为

      • 抽取三元组中的 subject
      • 针对每一个 fr(⋅)
      • ,抽取其对应的 object

      实体抽取的方法与上一片论文以及苏神的做法差不多,即采用 Point Net 的指针形式进行抽取。这样的建模方式明显更容易学习。实验结果表明即便使用随机初始化的 BERT 作为编码层,仍然能够取得 SOTA 的效果。
      I3rmYDMf8wvsRke.pnguploading.4e448015.gif正在上传…重新上传取消I3rmYDMf8wvsRke.pnguploading.4e448015.gif转存失败重新上传取消

      模型的整体结构如上图所示,主要包括如下几个部分:

      • BERT Encoder:通过 BERT 得到每个词的词表征,关于 BERT 这里不做具体介绍了,把 BERT 的输出当作词向量用即可
      • Subject Tagger:该部分用于识别所有可能的 subject 对象。其通过对每一个位置的编码结果用两个分类器进行分类,来判断其是否是实体的开始或结束位置,即

         

        pstart_si=σ(Wstartxi+bstart)pend_si=σ(Wendxi+bend)

       

      其中,xi

      为第 i 个词通过 BERT 的编码输出,W,b
    • 为全连接层分类器的参数,激活函数为 sigmoid。对于句子中存在多个 subject 的情况,开始指针与结束指针通过就近匹配原则进行配对

    • Relation-specific Object Taggers:针对每一个 subject,都需要对其进行之后的 object 进行预测。由图中可知,其与 Subject Tagger 基本一致,主要区别在于
      • 每一个关系类别独享一组 object 分类器
      • 这一部分的输入除了输入序列的 BERT 编码结果,还额外加入了 subject 的特征,subject 特征为 subject 的每个字符的 BERT 表征的平均池化
      • 主要表达式如下

        pstart_oi=σ(Wrstart(xi+vksub)+brstart)pend_oi=σ(Wrend(xi+vksub)+brend)

      •  

    小结#

    早期联合抽取模型的架构主要可分为两个部分:

    • 实体对抽取
    • 实体间关系分类

    其将关系分类看作两个实体间的离散标签多分类问题,这样的问题学习起来是十分困难的,或者说无法很好的学习到两个标签之间的相关性。近年来的模型大多都将其建模为层次递归的模型,其直接为每个关系类别构建独立的模型,用于学习这种关系映射关系,主要可以分为下面两个部分

    • 抽取所有可能的第一个 subject
    • 对于每一个 subject,将其输入到每一个关系类别模型中,抽取每个关系对应的 object

    这种将实体关系当作一种函数映射来学习的方式显然能够得到更好的效果。

    参考链接
    https://zhuanlan.zhihu.com/p/74886839
    https://mp.weixin.qq.com/s?__biz=MzI2NjkyNDQ3Mw==&mid=2247486614&idx=2&sn=46b8a011a29803fc59f14431e91b8fbd&chksm=ea87f440ddf07d564cb3ce680ea52277c12bce882419428c581b95abbf58d75265fd3fb01942&scene=21#wechat_redirect
    https://blog.csdn.net/qq_32782771/article/details/86062586
    https://zhuanlan.zhihu.com/p/6587046

    展开全文
  • 【文献阅读】02-用多轮问答框架进行实体关系联合抽取-Entity-Relation Extraction as Multi-turn Question Answering1 Introduction1.1 实体关系联合抽取1.2 文章工作2 MULTI-QA2.1系统框架2.2问题模板2.3 用MRC抽取...

    【文献阅读】02-用多轮问答框架进行实体关系联合抽取-Entity-Relation Extraction as Multi-turn Question Answering

    1 Introduction

    1.1 实体关系联合抽取

      实体关系抽取任务:提取具有语义关系的实体对,即三元组; 是信息提取的中心任务,需要从非结构化文本自动构建知识 。
    在这里插入图片描述
    实体关系抽取目前两种常见解决方案

    Pipeline:早期的信息抽取将实体抽取和关系抽取看作两个独立的任务,这样的串联模型在建模上相对更简单。但这样将实体识别和关系抽取当作两个独立的任务会导致一些问题:比如误差积累、实体冗余、关系重叠问题等等 。

    联合抽取:对实体抽取和关系分类联合建模,能够利用实体和关系之间的交互信息,同时抽取实体并分类实体对的关系,可以很好地解决流水线方法所存在的问题。

    文章认为目前的方法依然存在一些问题
    算法层面:1.实体距离远 2.实体共享问题 3.关系跨度重叠问题
    任务形式:三元组对未充分表达文本背后的数据结构

    1.2 文章工作

    在这里插入图片描述
      以这段语料为例,标签之间存在层次依赖关系:比如职位的抽取依赖于时间,因为一个人可以在不同的时间段内担任公司的多个职位;职位的抽取也依赖于公司,因为一个人可以在多家公司任职。
      这样的例子在真实情景下是常见的: 所以文章把提取目标从三元组延伸到了数据表,提取出的信息对语料表达的更加全面。

    文章提出新方法解决实体关系抽取问题

    将关任务转换为多轮问答任务(Multi QA):每个实体类型和关系类型由问答模板表征 实体和关系通过回答对应的模板问题来提取 ,答案是文本跨度,使用机器阅读理解(MRC)框架提取 。

    在这里插入图片描述

    Multi QA方法优势
    1.提供了更好的方式捕获标注的层级依赖
    2.问题查询编码了想要识别的关系类型的重要先验知识
    3.提供了一种同时提取实体和关系的自然方式

    2 MULTI-QA

    2.1系统框架

    在这里插入图片描述

    整个抽取过程分为两个阶段

    1)头实体抽取阶段(4-9行)
    多轮问答的每个步骤均由一个实体触发,为了抽取这个头实体,用EntityQuesTemplates(第四行)将每个实体类型转化为一个问题;
    实体e1e_1可以通过回答问题(第五行)抽取。
    如果系统输出了特殊的NONE结果,这意味着s没有包含任何符合类型的实体。

    2)关系和尾实体抽取阶段(10-24行)
    ChainOfRelTemplates定义了一个关系链,要按照这个关系链的顺序进行多轮QA,抽取的顺序是需要手动预定义的。
    ChainOfRelTemplates同样定义了每个关系的模板,每个模板包含了一些待填充的空缺位置。
    为了生成一个问题(14行),要将先前抽取的头实体插入到模板的空位中。
    关系REL和尾实体ee可以通过回答生成的问题(15行)进行联合抽取。
    如果返回了NONE,那么说明给定的句子没有答案。

      值得注意的是:头实体抽取阶段所抽取到的实体可能并不都是头实体。在关系和尾实体抽取阶段,从第一阶段得到的实体最初被假定为头实体,并将他们送到模板以生成问题。如果从第一阶段抽取的实体e1确实是一个头实体,那么QA模型将会通过回答相应的问题,否则答案将会制定为NONE并忽略掉。

    2.2问题模板

      每个实体类型都与模板生成的特定于类型的问题相关联。 有两种方法可以基于模板生成问题:自然语言问题或伪问题。伪问题不一定是语法问题。 在关系和尾实体联合提取阶段,通过将特定于关系的模板与提取的实体合并,生成一个问题。问题可以是自然语言问题,也可以是伪问题

    在这里插入图片描述
    在这里插入图片描述

    2.3 用MRC抽取答案

    在这里插入图片描述
    标准的MRC任务设置
      对上下文C,给定一个问题Q,预测答案的跨度。

    QA框架
      文章使用BERT作为主干。为了与BERT模型对齐,问题Q和上下文C被合并到一起:[CLS,Q,SEP,C,SEP],其中CLS和SEP都是特殊的token。Q是token化的问题,C是上下文。每个上下文token的表示是通过使用多层的transformer获得的。

      传统的MRC模型是通过将两个softmax层应用于上下文token来预测开始和结束索引,只适用于单答案抽取任务。但是对于这篇文章的任务不合适,因为在文章的问题环境中,一句话/段落可能会存在多个答案。

      为了解决这个问题,文章将任务转化为序列标记问题:在给定问题的情况下,为上下文中的每个token预测一个BMEO标签(beginning, inside, ending 和 outside)。每个单词的都会输出一个BMEO标签,达到抽取多个答案的目标。

    联合训练
      在训练阶段,本文共同训练了两个阶段的目标函数, 其中,λ∈[0,1]是控制两个目标之间权衡的参数,在验证集上可以调整其值。这两个模型都是通过标准的BERT模型进行初始化的,并且在训练的过程中共享参数。

    在这里插入图片描述

    2.4 强化学习

      在一轮问答中抽取的答案只影响自身的准确率,还会影响到下游轮次中问题的构建,所以会影响到后面的准确率。

    文章采用强化学习来缓解这个问题

    在强化学习设定里,需要定义行为(action)和策略(policy)

      在多轮QA设定中:action是在每个回合中选择一个文本范围(span), 策略policy定义了为 在给定问题和上下文的情况下 选择某个文本跨度(span)的可能性: 这个概率是将w1w_1分配给B(beginning),w2w_2,…,wn1w_{n-1}分配给M(inside)和wnw_n被分配给E(ending)的联合概率。

    在这里插入图片描述

      对于给定的句子s,文章使用正确提取的三元组数目作为奖励。使用了策略梯度学习算法-reinforce,用于找到使期望收益EπE_π[R(w)][R(w)]最大化的最优策略。其中,期望值是通过从策略π采样来近似得到,并使用似然比来计算梯度: 对于多回合QA设置中的每回合,正确回答都会赢得+1的奖励,这所有轮奖励的累加便可以得到最终的奖励值。

    3 实验

    3.1 实验结果

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    3.2 消融实验

    在这里插入图片描述
    在这里插入图片描述

    4 结论

    文章提出新方法解决实体关系抽取问题:将关任务转换为多轮问答任务
    提供了更好的方式捕获标注的层级依赖
    问题查询编码了想要识别的关系类型的重要先验知识
    提供了一种同时提取实体和关系的自然方式

    Multi QA在AEC和CoNLL04数据集上实现了最优的(SOTA)性能

    建立了一个更复杂和更困难的数据集RESUME
    从RESUME构建结构化知识库需要四到五次QA
    多回合QA设置可以很容易地集成强化学习,以获得额外的性能提升

    文章链接
    Entity-Relation Extraction as Multi-turn Question Answering

    展开全文
  • 在过去的几年中,研究者们对实体和关系的联合抽取模型的兴趣激增,本文主要总结一下实体关系联合抽取的各种方法,将这些方法分为以下几种类别(包括传统的Pipelined的方法)。 Pipelined Approach Structured ...

    Introduction

    传统上,文本中实体之间的关系抽取问题是被作为两个独立的任务进行研究的:命名实体识别(Named Entity Recognition)关系抽取(Relation Extraction)。 在过去的几年中,研究者们对实体和关系的联合抽取模型的兴趣激增,本文主要总结一下实体关系联合抽取的各种方法,将这些方法分为以下几种类别(包括传统的Pipelined的方法)。

    Pipelined Approach

    Structured Prediction

    Multi-task Learning

    展开全文
  • 【文献阅读】01-基于新分解策略的实体关系联合抽取-ECAI 2020:Joint Extraction of Entities and Relations Based on a Novel Decomposition Strategy 1 Introduction1.1 实体关系联合抽取1.2 文章工作2 ETL-Span...
  • 【文献阅读笔记】04重标记噪声:多智能体协作的实体关系联合抽取-ACL 2020:Relabel the Noise: Joint Extraction of Entities and Relations via Cooperative Multiagents1 Introduction1.1 实体关系联合抽取1.2 ...
  • Paper: [EMNLP2020]Two are Better Than One: Joint Entity and Relation Extraction with Table-Sequence Encoders link: ... 这是一篇关于实体关系联合抽取的工作。关于现有的.
  • 考虑到上述方法的局限性,紧接着就提出了实体关系联合抽取的模型。刚开始的联合模型大多数严重依赖于特征工程,费时费力。 随着深度学习的兴起,基于NN的自动构建特征模型广泛用于关系抽取中。比如CNN、LSTM、tree-...
  • 文章地址:https://www.aclweb.org/anthology/N16-1027.pdf 文章标题:Supertagging with LSTMs(超标注LSTMs)NNACL2016 ...Abstract 在本文中,我们介绍了CCG超标记和解析的最新性能。我们的模...
  • Sequence Encoders Link:https://www.aclweb.org/anthology/2020.emnlp-main.133.pdf Code: https://github.com/LorrinWWW/two-are-better-than-one 这是一篇关于实体关系联合抽取的工作。关于现有的联合抽取工作,...
  • 实验5.1RESUME结果5.2 其他结果6 Ablation Studies6.2问题生成策略的影响6.2联合训练的影响6.3case study Entity-Relation Extraction as Multi-turn Question Answering code abstract 在本文中,我们提出了一种新...
  • Joint entity and relation extraction based on a hybrid neural network一、Background 实体关系抽取是从文本中抽取命名实体以及识别实体之间的语义关系。传统的系统是以流水线的方法执行这两个任务:首先进行...
  • 方法4.1第一阶段4.1.1 Bi-LSTM4.1.2 Bi_GCN4.1.3 实体关系抽取4.2 第二阶段4.2.1 构建关系权图4.3训练4.4 inference5.实验5.1 settings5.1.1数据集5.2 baseline and evaluation metrics5.3 Quantitative...
  • 2.3 实体关系联合抽取模型 3.联合模型 3.1 Embedding层 3.2 bilstm--编码层 3.3 命名实体识别 3.4 多头选择的关系抽取模型 3.5. Edmonds’ algorithm Joint entity recognition and relation extraction as a ...
  • 针对这些问题,提出了一种基于神经网络的药物实体关系联合抽取方法.使用了一种新标注模式,  将药物实体及关系的联合抽取转化为端对端的序列标注任务.使用词向量和字符向量作为词表示输入, 使用BiLSTM-CRF...
  • 基于强化学习和深度学习的实体关系联合抽取的最新论文
  • 实体关系联合抽取总结

    千次阅读 2019-04-19 17:42:10
    实体关系联合抽取总结 2014 Incremental Joint Extraction of Entity Mentions and Relations. ACL (1) 2014: 动机: 方法:基于特征工程的结构化系统 问题:需要设计复杂的特征工程,严重依赖于NLP工具,这可能会...
  • 实体-关系联合抽取:入门资料汇总

    千次阅读 2019-12-09 11:31:52
    写在前面:实体-关系联合抽取这个方向刚刚入门就要换方向了,很不舍,因此将自己这段时间看的一些入门资料分享出来,供大家学习,希望能起到一些抛砖引玉的作用。如有一丝帮助到您,请点赞支持,谢谢!!! 一、知识...
  • 实体关系联合抽取问题作为信息抽取的关键任务,其实现方法可以简单分为两类:一类是串联抽取方法。另一类是联合抽取方法。 串联抽取方法将该问题分解为两个串联的子任务,即先采用实体识别模型抽取实体,再采用...
  • ... 文章标题:Entity-Relation Extraction as Multi-turn Question Answering(实体关系提取作为多轮问题的回答)ACL2019 ...这里面有多个关于,实体-关系联合抽取的论文:https://blog.csdn.net/may
  • 经典论文复现 | 基于标注策略的实体关系联合抽取 预选定义关系的种类: https://mp.weixin.qq.com/s?__biz=MzIwMTc4ODE0Mw==&amp;amp;amp;amp;amp;mid=2247493077&amp;amp;amp;amp;amp;idx=1&amp;...
  • 基于联合模型的藏文实体关系抽取方法研究
  • 文章标题:Joint Extraction of Entities and Relations Based on a Novel Tagging Scheme(基于新标注方案的实体关系联合抽取)ACL2017 Outstanding Paper 文章出处:中国科学院 作者对本文的报告PPT:ht...
  • 没加标注的实体对应id的列表 joint_ids: 实体关系联合的列表:计算规则(可参考后期验证数据校验时的 数据处理规则):headId*len(set(relations))+relation_id 实体关系的去重列表长度:len(set(relations)) 该实体谷...
  • 文章标题:Incremental Joint Extraction of Entity Mentions and Relations(增量联合提取提及的实体关系)ACL2014 Abstract 提出了一种增量联合框架,利用结构感知器和有效的集束搜索同时提取提及的实体关系。...
  • 文章标题:Neural Architectures for Named Entity Recognition(命名实体识别的神经结构)ACL2016 代码地址: 1、LSTM-CRF:https://github.com/glample/tagger 2、Stack-LSTM:https://github.com...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 178
精华内容 71
关键字:

实体关系联合抽取