0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

了解信息抽取必须要知道关系抽取

深度学习自然语言处理 来源:CSDN 作者:CSDN 2021-04-15 14:32 次阅读

本文主要详细解读关系抽取SOTA论文Two are Better than One:Joint Entity and Relation Extraction with Table-Sequence Encoders[1], 顺带简要介绍关系抽取的背景,方便完全不了解童鞋。

信息抽取

我们说的信息抽取一般是指从文本数据中抽取特定数据结构信息的一种手段。对于不同结构形式的数据如结构化文本,半结构化文本,自由文本,有各自对应的方案,其中从自由文本中抽取难度最大。总之,我们的目的是希望在海量文本中,快速抽出我们关注的事实。

了解信息抽取必须要知道关系抽取。

关系抽取

大部分情况下,我们喜欢用三元组的数据结构来描述抽取到的信息

三元组

三元组的表达能力非常丰富,几乎所有事情都可以自然或者强行的表达成三元组,比如随便一句”今天天气真冷“ 表达为天气-状态-冷。

三元组与后续的知识图谱工作非常适配,如Neo4j等图数据库就是以三元组为存储单位,图谱的查询推断等工具使用三元组比普通的关系型数据库来的方便的多。

三元组千千万,我应该怎么抽?

Schema

当我们拿到一个信息抽取的任务,需要明确我们抽取的是什么,”今天天气真冷“,我们要抽的天气的状态天气-状态-冷,而非今天-气候-冷(虽然也可以这样抽),因此一般会首先定义好我们要抽取的数据结构模式shcema, 会确定谓词以及主语并与的类型

一个三元组schema的例子,其中Subject_type代表主语类型,Predicate是谓词,Object_type指宾语类型:

Subject_type:人物 Predicate:出生地 Object_type:地点

确定了schema,我们一般如何抽取呢?

常规RE方案

目前主流关系抽取一般两种解决方法

pipline两步走:将关系抽取分解为NER任务和分类任务,NER任务标注主语或宾语,分类主要针对定义的schema中的有限个谓词进行分类。根据具体任务不同,有些可能是两步走或者三步走,pipline任务的顺序先分类还是先标注也会有差异

Pipline优势:每一步分别针对各个任务进行,表征是task-specific, 相对来说精度较高

Pipline缺陷:- 任务有顺序会存在误差传递问题,即在预测时下一步任务会受上一步误差影响,而在训练阶段没有这种误差,因此存在训练和预测阶段的gap- 分开的任务在一句话中多个实体关系时,比较难解决实体和关系的对应问题,以及重叠关系

joint learning:joint learing可以理解为采用多任务的方式,同时进行NER和关系分类任务, 在众多joint learning中最出众的是采用tabel filled 方式,即任务的输出是filled一张有text-sequence构成的表,在表中的位置表达除了词与词的连接,该位置的标注则标出了谓语(如下图)

a82e50a8-9cd8-11eb-8b86-12bb97331649.jpg

优势:1. 两个任务的表征有交互作用可能辅助任务的学习2. 不用训练多个模型,一个模型解决问题,不存在训练与预测时的gap

缺陷:1. 两个任务的表征可能冲突,影响任务效果2. 解决了主谓宾之间的对应关系,无法解决重叠问题3. Fill table本质仍然是转成sequence来fill,未能充分利用table结构信息(下文会解释)

下面重点解读table fill方式的一篇SOTA,解决了joint learning的多任务表征冲突以及为利用table结构信息

RE with Table Sequence

终于来到本篇的主题啦,为了解决一般filled table的问题, 作者提出table-sequence encoder的方法,分别对table和sequence做表征,本文的最大贡献在于

分别对table和sequence做表征(encoder),并设计了一个Table-Guided Attention来对table和sequence进行交互,这样即不会完全共享表征导致对不同的任务表征冲突,也不会丢失表征的相互指导作用

在table encoder中采用多维GRU来捕获更多的句子结构信息

在架构上table encoder和 sequence encoder多层交互

a84af794-9cd8-11eb-8b86-12bb97331649.jpg

下面仔细介绍各个部分,看看它是如何神奇做到SOTA的

Text Embedder

在上图的结构图中,Text Embedder采用类似FLAT分别做了基于lstm的char()和word(),以及基于bert的word ()作为预训练的embedding ,并拼接起来

图中

Table Encoder

整个Table Encoder部分由多个Table Encoding的单元组成,每个Encoding单元的输入分别是起始输入,对应senquence结构的输入,以及上一个Tabel Encoding单元的输出,Table Encoding 采用MDRNN结构提取输入的特征信息,作者在这选择MDGRU(多维度GRU),tabel结构本身有2维,加上前后层实际有4维,但是层的维度信息单向流动,实际上是只用到了3个方向()

a879c3bc-9cd8-11eb-8b86-12bb97331649.jpg

如图所示,是来自sequence的输入,作者分别测了使用所有方向和分别使用几个方向,发现上图中a,c效果类似,这种多维GRU全面的考虑了整个table的结构信息,即一个词的状态跟其他所有词的状态相关,并且受其他词的不同程度的影响,这种影响程度由GRU门控机制控制

Sequence Encoder

sequence Encoder 也由多个sequence encoding够成,sequence encoding结构直接采用transformer中的encoder

a88c27dc-9cd8-11eb-8b86-12bb97331649.jpg

只不过将其中的self attention替换为table-guide attention,这种attention的改造非常巧妙,能更好捕捉word-word之间的关系

a8c91868-9cd8-11eb-8b86-12bb97331649.jpg

正常的dot attention如上图

Table-Guided attention具体来说:

参数矩阵

采用加性

是table encoder中的table的隐藏节点,该节点由多个方向的经过GRU编码得到,不管是哪个方向它的来源始终是由构造而来,理论上是可以由拟合而来,因此这里直接由 来代替 ,也就是这个attention,其实是计算了table 结构中各个位置对该的权重,是一个四面八方attention

剩下就是transform中正常的LayerNorm 和残差结构了

输出和loss

输出比较常规,loss采用常规

输出:

loss:

实验 and 效果

作者在各个数据集上进行实验,对比各个目前SOTA分别有一定的提高,且时效果最佳,模型参数量不到5M,要什么自行车,附上开源地址[2],作者的代码与论文在attention计算有一丢丢不一致,但是并不影响效果

a8d23eac-9cd8-11eb-8b86-12bb97331649.jpg

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据库
    +关注

    关注

    7

    文章

    3590

    浏览量

    63363
  • Gru
    Gru
    +关注

    关注

    0

    文章

    9

    浏览量

    7445
  • 数据结构
    +关注

    关注

    3

    文章

    562

    浏览量

    39899

原文标题:关系抽取一步到位!

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    在线节目制播嵌入式设备的ICY DOCK硬盘抽取盒应用

    ICY DOCK专注于专业硬盘及数位存储周边硬体解决方案,提供企业及专业用户高硬盘密度,易维护,省系统空间及高稳定度的内外接硬盘盒。ICY DOCK的硬盘抽取盒,设计理念就是在有限的机箱物理空间
    的头像 发表于 12-15 17:30 168次阅读
    在线节目制播嵌入式设备的ICY DOCK硬盘<b class='flag-5'>抽取</b>盒应用

    在线节目制播嵌入式设备的ICY DOCK硬盘抽取盒应用

    ICY DOCK专注于专业硬盘及数位存储周边硬体解决方案,提供企业及专业用户高硬盘密度,易维护,省系统空间及高稳定度的内外接硬盘盒。ICY DOCK的硬盘抽取盒,设计理念就是在有限的机箱物理空间
    的头像 发表于 12-11 18:11 166次阅读
    在线节目制播嵌入式设备的ICY DOCK硬盘<b class='flag-5'>抽取</b>盒应用

    AD9689芯片DDC抽取滤波器进行多芯片同步时使用什么信号进行复位同步?

    AD9689芯片 DDC抽取滤波器进行多芯片同步时使用什么信号进行复位同步?是sysref信号还是什么?datasheet没有提供说明。
    发表于 12-07 06:43

    制板人要知道的pcb icd是什么意思

    制板人要知道的pcb icd是什么意思
    的头像 发表于 12-04 15:56 533次阅读

    AD9082在5G采样率下,不同抽取倍数情况下数据有采集错误和隆起怎么解决?

    ,混频到1700M, FDDC不混频 4、IQ模式, ADC LMFS=8222 以5120M采样率下采集,数据有错点和隆起,具体现像为以下3个现像 1、CDDC设置2倍抽取,FDDC设置2倍抽取,采集
    发表于 12-01 07:01

    AD9695 1.2288GSPS 6x抽取时会有固定409.6M干扰怎么解决?

    在1.2288G采样 6x抽取,DDC设置374.4M,会有固定高于底噪大约10db的409.6M的频点干扰。模拟端没有信号输入,也会有这个干扰,周围时钟有102.4M与204.8M,感觉不会是这两个时钟的谐波干扰
    发表于 12-01 06:03

    机械人必须要了解的丝杆螺母参数

    机械人必须要了解的丝杆螺母参数
    的头像 发表于 11-17 09:55 679次阅读
    机械人<b class='flag-5'>必须要了解</b>的丝杆螺母参数

    寄生参数抽取只会StarRC不会QRC?

    寄生参数抽取 只会StarRC 不会QRC?本章节讲解下QRC抽取寄生参数。
    的头像 发表于 10-11 16:01 1644次阅读
    寄生参数<b class='flag-5'>抽取</b>只会StarRC不会QRC?

    六相永磁同步电机降阶模型ECE抽取方法

    永磁同步电机降阶模型ECE抽取是通过对永磁同步电机有限元结果进行降阶抽取,等效抽取的结果是基于有限元计算得到的数据表,在控制系统联合仿真过程中只需通过查表得方法就能得到电机的性能,因此将抽取
    发表于 08-14 14:08 1599次阅读
    六相永磁同步电机降阶模型ECE<b class='flag-5'>抽取</b>方法

    基于FPGA的速率自适应图像抽取算法

    点击上方 蓝字 关注我们 荷图像可视化是深空探测任务中的重要需求,但受信道带宽的限制,无法实时传输所有载荷数据,因此星载复接存储器中图像的抽取下传是实现任务可视化的关键。 本文设计了一种载荷图像抽取
    的头像 发表于 08-05 10:35 489次阅读
    基于FPGA的速率自适应图像<b class='flag-5'>抽取</b>算法

    ADC数字下变频器:抽取滤波器和ADC混叠,第2部分

    具体的插入损耗与频率的关系,而是形象地显示以说明滤波器的近似响应。这有助于全面了解滤波器响应如何受到ADC混叠的影响。
    的头像 发表于 06-30 15:44 1003次阅读
    ADC数字下变频器:<b class='flag-5'>抽取</b>滤波器和ADC混叠,第2部分

    ADC数字下变频器:抽取滤波器和ADC混叠,第1部分

    我们将再次以AD9680为例。在这种情况下,无论速度等级如何,归一化抽取滤波器响应都是相同的。抽取滤波器响应仅随采样速率成比例。在此包含的示例滤波器响应图中,没有准确给出具体的插入损耗与频率的关系
    的头像 发表于 06-30 15:43 1837次阅读
    ADC数字下变频器:<b class='flag-5'>抽取</b>滤波器和ADC混叠,第1部分

    如何在噪声消除应用程序中使用连接到PDM输入的麦克风?

    我们想在噪声消除应用程序中使用连接到 PDM 输入的麦克风。 为了能够进行正确的噪声计算,我们需要知道抽取滤波器的相位特性。 我们在哪里可以找到这些信息
    发表于 05-31 08:38

    如何在噪声消除应用程序中使用连接到PDM输入的麦克风?

    我们想在噪声消除应用程序中使用连接到 PDM 输入的麦克风。 为了能够进行正确的噪声计算,我们需要知道抽取滤波器的相位特性。 我们在哪里可以找到这些信息
    发表于 05-30 06:05

    Instruct-UIE:信息抽取统一大模型

    Instruct-UIE 统一了信息抽取任务训练方法,可以融合不同类型任务以及不同的标注规范,统一进行训练。针对新的任务需求,仅需要少量的数据进行增量式学习,即可完成模型的升级。
    的头像 发表于 04-25 10:46 1056次阅读
    Instruct-UIE:<b class='flag-5'>信息</b><b class='flag-5'>抽取</b>统一大模型