《REBEL Relation Extraction By End-to-end Language generation》阅读笔记


- BERT模型是仅使用Transformer-Encoder结构的预训练语言模型(具备双向语言理解能力的却不具备做生成任务的能力)。
- GPT模型是仅使用Transformer-Decoder结构的预训练语言模型(拥有自回归特性的却不能更好地从双向理解语言)。
- BART模型是使用Transformer模型整体结构的预训练语言模型(在自然语言理解任务上表现没有下降,并且在自然语言生成任务上有明显的提高)。

- 从给定的文本中提取实体之间的语义关系,把非结构化原始文本转换为结构化数据,组成关系三元组(ei,rij,ej),这些数据可用于一系列下游任务和应用程序,例如知识库的构建等。
- 使用命名实体识别(NER)从文中抽取实体。
- 使用关系分类(RC)判断提取的实体之间是否存在关系。
- 识别哪些实体真正共享一个关系可能会成为瓶颈,因为这需要额外的步骤,例如负抽样和注释等。
- 通常比较复杂,有一些专注于任务的元素,需要根据关系或实体类型的数量进行适应。
- 不够灵活,无法处理不同性质的文本(句子级别与文档级别)或领域。
- 通常需要很长的训练时间,以便对新数据进行微调。
- RC(Relation Classification):从给定上下文中两个实体之间进行关系分类。
- RE(Relation Extraction ):从原始文本中提取实体之间关系三元组,没有给定实体,也称为端到端关系提取。
- 流水线技术(pipeline):早期的工作利用CNN、LSTM挖掘语义关系,并对给定的实体进行关系分类。 目前已有工作开始使用transformer模型。
- 早期的端到端方法:对输入文本中所有单词对进行分类,使用表格表示或表格填充,将任务转化为填充一个表格(关系)的格子,其中行和列是输入中的单词。
- 利用联合训练的流水线技术:联合训练NER和RC,比如Eberts and Ulges (2021)使用了一个流水线方法(文档级RE),联合训练了一个多任务模型,利用共指消解在实体级别而不是提及级别进行操作。
- 它们通常假设每个实体对之间最多有一种关系类型,而且多分类方法不考虑其他的预测。例如,它们可能预测同一个头实体有两个“出生日期”,或者预测一些不兼容的关系。此外,它们需要推断所有可能的实体对,这可能会变得计算代价昂贵。
- Zhang等人(2020)指出,将三元组转换为文本序列需要一个线性化的过程,而这个过程可能是有些随意的,比如按照字母顺序。Zeng等人(2019)对这个问题进行了研究,他们使用了强化学习来确定三元组的抽取顺序。
- 由于在训练过程中,预测总是依赖于正确的输出,seq2seq方法会受到暴露偏差的影响。Zhang等人(2020)提出了一个树解码的方法,可以缓解这个问题,同时仍然保持了seq2seq方法的自回归性质。
- 使用BART-large(Lewis et al., 2020)作为基础模型,将关系抽取和分类视为一个生成任务,输出输入文本中存在的每个三元组。
- 输入:编码器接收输入数据序列,即数据集中的文本。
- 输出:解码器产生输出数据序列,即线性化的三元组。
- 预训练模型:BART。
- 损失函数:Cross-Entropy。

- <triplet>标记了一个新的三元组的开始,后面跟着一个新的头实体。
- <subj>标记了头实体的结束和尾实体的开始。
- <obj>标记了尾实体的结束和头实体与尾实体之间关系的开始。





《REBEL Relation Extraction By End-to-end Language generation》阅读笔记的更多相关文章
- 阅读《RobHess的SIFT源码分析:综述》笔记
今天总算是机缘巧合的找到了照样一篇纲要性质的文章. 如是能早一些找到就好了.不过“在你认为为时已晚的时候,其实还为时未晚”倒是也能聊以自慰,不过不能经常这样迷惑自己,毕竟我需要开始跑了! 就照着这个大 ...
- RobHess的SIFT源码分析:imgfeatures.h和imgfeatures.c文件
SIFT源码分析系列文章的索引在这里:RobHess的SIFT源码分析:综述 imgfeatures.h中有SIFT特征点结构struct feature的定义,除此之外还有一些特征点的导入导出以及特 ...
- RobHess的SIFT源码分析:综述
最初的目的是想做全景图像拼接,一开始找了OpenCV中自带的全景拼接的样例,用的是Stitcher类,可以很方便的实现全景拼接,而且效果很好,但是不利于做深入研究. 使用OpenCV中自带的Stitc ...
- 阅读《RobHess的SIFT源码分析:综述》笔记2
今天开始磕代码部分. part1: 1. sift特征提取. img1_Feat = cvCloneImage(img1);//复制图1,深拷贝,用来画特征点 img2_Feat = cvCloneI ...
- element-ui button组件 radio组件源码分析整理笔记(一)
Button组件 button.vue <template> <button class="el-button" @click="handleClick ...
- element-ui 组件源码分析整理笔记目录
element-ui button组件 radio组件源码分析整理笔记(一) element-ui switch组件源码分析整理笔记(二) element-ui inputNumber.Card .B ...
- element-ui Carousel 走马灯源码分析整理笔记(十一)
Carousel 走马灯源码分析整理笔记,这篇写的不详细,后面有空补充 main.vue <template> <!--走马灯的最外层包裹div--> <div clas ...
- STL源码分析读书笔记--第二章--空间配置器(allocator)
声明:侯捷先生的STL源码剖析第二章个人感觉讲得蛮乱的,而且跟第三章有关,建议看完第三章再看第二章,网上有人上传了一篇读书笔记,觉得这个读书笔记的内容和编排还不错,我的这篇总结基本就延续了该读书笔记的 ...
- element-ui MessageBox组件源码分析整理笔记(十二)
MessageBox组件源码,有添加部分注释 main.vue <template> <transition name="msgbox-fade"> < ...
- element-ui switch组件源码分析整理笔记(二)
源码如下: <template> <div class="el-switch" :class="{ 'is-disabled': switchDisab ...
随机推荐
- TRL 正式推出,来训练你的首个 RLHF 模型吧!
我们正式向大家介绍 TRL--Transformer Reinforcement Learning.这是一个超全面的全栈库,包含了一整套工具用于使用强化学习 (Reinforcement Learni ...
- 原生CSS嵌套简介
嵌套是使用Sass等CSS预处理器的核心原因之一.现在,该功能已经以类似的语法出现在标准浏览器CSS中.你能否在构建系统时放弃对预处理器的依赖? CSS嵌套可以节省输入时间,并使语法更易于阅读和维护. ...
- 5、Spring之bean的作用域和生命周期
5.1.bean的作用域 5.1.1.单例(默认且常用) 5.1.1.1.配置bean 注意:当bean不配置scope属性时,默认是singleton(单例) <?xml version=&q ...
- 使用阿里云ECS和RDS搭建个人博客
一.ECS实例配置 1.重置云服务器ECS密码 前往ECS控制台,点击实例,找到刚才开通的ECS实例(找不到的话就看一下上方的地区是否是你的服务器的地域),点击右侧操作栏中的三个点,找到重置实例密码, ...
- SQL简单使用指南
SQL简单使用指南 SQL(结构化查询语言)是一种用于管理和操作关系型数据库的标准化语言. 数据库概述 数据库是用于存储和组织数据的结构.它由表(表格)组成,每个表都包含多个列和行.以下是SQL中最常 ...
- Spring Boot 中使用 Poi-tl 渲染数据并生成 Word 文档
本文 Demo 已收录到 demo-for-all-in-java 项目中,欢迎大家 star 支持!后续将持续更新! 前言 产品经理急冲冲地走了过来.「现在需要将按这些数据生成一个 Word 报告文 ...
- 「hackerrank - 101hack43」K-Inversion Permutations
link. 原问题即:请你给出不同的序列 \(\{a_n\}\) 的数量,满足 \(0\leqslant a_i<i\),且 \(\sum a_i=k\). 那么写出 \({a_n}\) 的 o ...
- 如何快速找到win10系统中的开机启动文件所在路径
在网站系统开发过程中,我们会遇到一些服务器下线导致的网站无法打开的情况,就需要重启服务器,如果每次手动去操作,实在是很繁琐,所以咱们可以利用开机自启的方式.而要这样设置的话,就需要找到开机自启的目录, ...
- 整理php防注入和XSS攻击通用过滤
对网站发动XSS攻击的方式有很多种,仅仅使用php的一些内置过滤函数是对付不了的,即使你将filter_var,mysql_real_escape_string,htmlentities,htmlsp ...
- Python socket实现简单聊天,同步输入和接收消息
查的资料很多都是必须等待接收数据后才能再次输入.做了修改,使用多线程的形式,实现一边输入,一边接收 服务端代码 import socket import threading import sys im ...