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

    文章

    3993

    浏览量

    67737
  • Gru
    Gru
    +关注

    关注

    0

    文章

    12

    浏览量

    7730
  • 数据结构
    +关注

    关注

    3

    文章

    573

    浏览量

    41374

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    高效部署磁盘阵列:选对硬盘抽取盒,省心又强力

    挑战:散热压力、安装维护的便捷性,以及宝贵的机箱空间。此时,一款设计出色的硬盘抽取盒就能成为关键助力。ICYDOCK的ToughArmor系列——MB998SP-
    的头像 发表于 11-07 16:34 908次阅读
    高效部署磁盘阵列:选对硬盘<b class='flag-5'>抽取</b>盒,省心又强力

    多块 M.2 硬盘拆到崩溃?M.2 硬盘抽取盒才是救星!

    新硬盘,而是让机箱内每块硬盘“活”起来的方案——一款设计精良的具有可抽取功能M.2硬盘盒,能彻底改变你与数据的交互方式。极速连接,释放完整性能一款优秀的M.2硬盘盒
    的头像 发表于 10-11 15:15 494次阅读
    多块 M.2 硬盘拆到崩溃?M.2 硬盘<b class='flag-5'>抽取</b>盒才是救星!

    工业相机数据爆炸?ICY DOCK硬盘抽取盒极速存 + 0宕机!

    与更换能力。针对这些关键需求,ICYDOCK旗舰级硬盘抽取盒MB699VP-B与MB720MK-BV3以其工业级设计,提供了可靠的存储解决方案。MB699VP-B
    的头像 发表于 09-05 16:02 299次阅读
    工业相机数据爆炸?ICY DOCK硬盘<b class='flag-5'>抽取</b>盒极速存 + 0宕机!

    【ICY DOCK新品】4盘位2.5英寸U.2/U.3 NVMe SSD硬盘抽取

    企业级免工具硬盘托盘设计搭配PCIe4.0极致速度ICYDOCKExpressCageMB324V4P-B是一款具备高性能的硬盘抽取盒,它可在单个标准的5.25英寸光驱位中容纳多达4个
    的头像 发表于 08-08 14:39 1012次阅读
    【ICY DOCK新品】4盘位2.5英寸U.2/U.3 NVMe SSD硬盘<b class='flag-5'>抽取</b>盒

    最新PCIe5.0 U.2硬盘抽取盒— ICY DOCK MB491V5K-B 开箱测评

    ——ICYDOCKToughArmorMB491V5K-B,正是专为高安全、高性能、高强度环境打造的U.2/U.3NVMeSSD抽取盒,不仅支持PCIe5.0,还拥有军规
    的头像 发表于 08-01 14:48 1050次阅读
    最新PCIe5.0 U.2硬盘<b class='flag-5'>抽取</b>盒— ICY DOCK MB491V5K-B 开箱测评

    【硬盘抽取盒民主实验】你的真话,决定产品命运!敢说就送!

    这不是一场营销,而是一次硬盘抽取盒民主实验。ICYDOCK诚邀敢说真话的你!你的每一条真实反馈,都可能被采纳,直接塑造CP138产品的命运!你的声音,至关重要!CP138核心亮点速览CP138是专为
    的头像 发表于 07-18 16:32 267次阅读
    【硬盘<b class='flag-5'>抽取</b>盒民主实验】你的真话,决定产品命运!敢说就送!

    ICY DOCK PCIe可拆卸式扩展插槽硬盘抽取盒或转接器,革新存储解决方案

    插槽硬盘抽取盒或转接器站在创新的最前沿。我们的解决方案重新定义了易用性,提供快速、免工具的硬盘抽取盒安装和无缝的硬盘更换。它们非常适合存储敏捷性,专为快速维护和轻
    的头像 发表于 04-18 14:42 694次阅读
    ICY DOCK PCIe可拆卸式扩展插槽硬盘<b class='flag-5'>抽取</b>盒或转接器,革新存储解决方案

    步进电机选型时必须要了解什么?

    步进电机选型时,必须要了解以下几个方面的信息以确保所选电机能够满足特定的应用需求: 1. 转矩需求:    ● 步进电机的保持转矩类似于传统电机的“功率”,但物理结构和输出特性有所不同
    的头像 发表于 04-14 07:38 869次阅读

    【概念产品CP149】可拆卸式 2盘位 M.2 NVMe SSD(硬盘)转 PCIe 5.0 x16 插槽全金属硬盘抽取

    产品介绍ICYDOCKCP149是一款可拆卸的2盘位M.2NVMe硬盘转PCIe5.0x16插槽全金属硬盘抽取盒,专为使用x8/x8或x8/x4/x4PCIe拆分设置的英特尔主板而设计。与需要x4
    的头像 发表于 03-20 17:24 872次阅读
    【概念产品CP149】可拆卸式 2盘位 M.2 NVMe SSD(硬盘)转 PCIe 5.0 x16 插槽全金属硬盘<b class='flag-5'>抽取</b>盒

    使用转轮流量计必须要知道的事!

    流量计
    华泰天科
    发布于 :2025年03月11日 17:46:47

    分体超声波液位计的安装注意事项必须要知道

    有客户经常询问分体超声波液位计有什么需要注意的事项吗?肯定有的呀,不同的产品有不同的安装注意事项哦。接下来就给大家讲讲都有哪些在安装时需要注意的事项,跟我来! 一、当我们准备安装这款产品时我们要分辨下,如果是户外安装我们尽可能的安装在阴凉干燥处或者给产品加装遮阳板,这样可以有效的延长产品的使用周期,帮助我们更长时间的测量液位位置。 二、连接电缆和电缆保护管时我们要注意连接位置不要有过多的积水,容易对产
    的头像 发表于 01-14 15:14 633次阅读
    分体超声波液位计的安装注意事项<b class='flag-5'>必须要知道</b>

    AMC1210对AMC1305进行数字抽取滤波,输出后的数据是否需要用处理器进行一次平均和移位处理?

    我使用的AMC1210对AMC1305进行抽取滤波。AMC1210配置为SIN3,256倍抽取。积分器为128倍积分。AMC1210配置为中断方式SPI接口32bit输出。输出后的数据,是否需要用
    发表于 01-14 08:21

    使用AMC1210为AMC1305L25做3阶的256抽1的sinc抽取滤波器,请问是否可以呢?

    我使用AMC1305L25做1200V高压 高边电流隔离采集。想使用AMC1210为AMC1305L25做3阶的256抽1的sinc抽取滤波器,请问是否可以呢?(备注:AMC1305L25与AMC1210之间加入了LVDS转LVTTL电平的转换芯片。)
    发表于 12-27 07:37

    请问TFP501必须要接EEPROM吗?

    TFP501芯片必须要接EEPROM吗? EEPROM中存储的数据哪里提供,是需要提前写到EEPROM里,还是TFP501自己来操作的不需要额外来读写? TFP501是不是搭接好硬件就可以工作,不需要配置寄存器或编程下载什么的
    发表于 12-27 06:11

    请问AMC1203文档中的OSC过采样率和sinc3滤波器中的抽取率是不是同一个概念?

    ,滤波器的输出结果(Dfilter) 又怎么和输入电压一一对应? 我个人理解是AMC1203输出占空比=Dfilter/DC_Gain 占空比=>输入电压(线性关系?) 输入电压 => 采样电流 不知道对不对,望解答!谢谢,十分感谢!
    发表于 12-16 06:42