《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 ...
随机推荐
- GAN!生成对抗网络GAN全维度介绍与实战
本文为生成对抗网络GAN的研究者和实践者提供全面.深入和实用的指导.通过本文的理论解释和实际操作指南,读者能够掌握GAN的核心概念,理解其工作原理,学会设计和训练自己的GAN模型,并能够对结果进行有效 ...
- Go Web项目结构 + 基础代码
Go Web工程 下面是项目的包图,可以通过包图来理清项目包的结构. Go Web工程 下面是项目的包图,可以通过包图来理清项目包的结构. 因为我是从Java转过来的,其实这种包的结构与Java的类似 ...
- 《Kali渗透基础》06. 主动信息收集(三)
@ 目录 1:服务识别 1.1:NetCat 1.2:Socket 1.3:dmitry 1.4:nmap 2:操作系统识别 2.1:Scapy 2.2:nmap 2.3:p0f 3:SNMP 扫描 ...
- python实现图片提取文字功能
安装需要的包 # pip install pytesseract # pip install Pillow # 安装OCR环境 # 下载exe安装文件 # https://digi.bib.uni-m ...
- git clone时报错:Permission denied
一.问题简述: 执行git clone git@github.com:T-Better/Soft_test.git时报错:\302\226git@github.com: Permission deni ...
- Spring中事务的传播行为有哪些?
Spring中事务的传播行为有哪些? 现在我们来谈一个场景,再来引出事务传播行为这个概念.现在有methodA( ) 和 methodB( ),而且两个方法都显示的开启了事务,那么methodB( ) ...
- 「codeforces - 1394C」Boboniu and String
link. 注意到 BN-string 长成什么样根本不重要,我们把它表述为 BN-pair \((x, y)\) 即可,两个 BN-strings 相似的充要条件即两者分别映射得到的 BN-pair ...
- gitbook生成静态页面不跳转
gitbook页面不跳转 现在可以在localhost:4000/查看自己的网页了.而且生成的网页存在_book文件夹中,下次点击 _book文件夹中的index.html就能打开网页,内容无更新,就 ...
- Vue-进阶:路由及elementUI组合开发
Vue-router路由 什么是vue-router? 服务端路由指的是服务器根据用户访问的 URL 路径返回不同的响应结果.当我们在一个传统的服务端渲染的 web 应用中点击一个链接时,浏览器会从服 ...
- 起风了,NCC 云原生项目孵化计划
时间回到 2016 年,彼时 .NET Core 1.0 刚刚发布 1.0 版本,我跟几位好友共同发起 .NET Core 中文学习组(.NET Core China Studying Group)和 ...