Joint Extraction of Entities and Relations论文解析
1. 前言
实体和关系的联合抽取问题作为信息抽取的关键任务,其实现方法可以简单分为两类:
- 一类是串联抽取方法。传统的串联抽取就是首先进行实体抽取,然后进行关系识别。这种分开的方法比较容易实现,而且各个模块灵活度比较高。但是这种方法中,实体识别的结果会影响到关系识别的结果,所以容易产生误差累积。
- 另一类是联合抽取方法:使用一个模型同时实现实体抽取和关系抽取,能更好的整合实体及其关系之间的信息。但现有的联合抽取方法也存在诸多问题,比如:大部分的联合抽取模型需要人工参与构建特征。为了减少人工抽取特征工作而提出基于神经网络的end-to-end模型,因在模型实现过程中分开抽取实体及其关系而导致信息冗余等问题。
本文解析的论文《Joint Extraction of Entities and Relations
Based on a Novel Tagging Scheme》中提出了一个新的模型框架来解决此类问题,并在公开数据集 NYT 上取得了很好的效果。
2. 算法模型
这篇论文提出将一种新的标注方法来解决联合抽取任务,将联合抽取问题转化为标注问题,这样就可以避免复杂的特征工程。由于LSTM在end-to-end的命名实体识别模型当中有比较好的表现,而且LSTM本身能够学习长期依赖关系,有利于解决序列建模任务。所以本文基于新的标注方法,研究了基于LSTM的end-to-end模型来解决联合抽取实体和关系的任务。除此之外还在解码的过程中增加了偏置损失函数,增强了相关实体之间的联系,让模型更加适合特殊标签。
2.1 标注方法
上图所示,模型的输入一句非结构化的文本,输出为一个预定关系类型的三元组。
为了实现该任务,作者首先提出了一种新的标注模式,将信息抽取任务转化为序列标注任务。
如上图所示,这种标注模式将文本中的词分为两类,
- 第一类代表与抽取结果无关的词,用标签“O”来表示;
- 第二类代表与抽取结果相关的词,这一类词的标签由三部分组成:当前词在entity中的位置-关系类型-entity在关系中的角色。
- 作者使用“BIES”(Begin,Inside,End,Single)标注,来表示当前词在 entity中的位置。
- 关系类型则是从预先设定的关系类型集中获得的。
- entity在关系中的角色信息,用“1”,“2”来表示。其中“1”表示,当前词属于三元组(Entity1,RelationType,Entity2)的 Entity1,同理“2”表示当前词属于Entity2。
最后根据标注结果将同种关系类型的两个相邻顺序实体组合为一个三元组。例如:通过标注标签可知,“United”与“States”组合形成了实体“United States”,实体“United States”与实体“Trump”组合成了三元组 {United States, Country-President, Trump}。如果一个句子中包含两个或者更多相同关系类型的三元组,我们基于最近原则将两个实体组合为三元组。本篇论文只考虑一个实体只属于一个三元组的情况。
2.2 End-to-End模型
当输入为文本语句的时候,为了自动实现对文本词序列的标注工作,作者提出了一个端到端的模型来实现了该工作。模型结构如下图
- 词嵌入层将每个词的 one-hot 表示向量转化为低维稠密的词嵌入向量(维度为 300);
- Bi-LSTM 编码层(层数为 300)用于获得词的编码信息;
- LSTM 解码层(层数为 600)用于产生标签序列。其中加入偏移损失来增强实体标签的关联性。
3. 实验结果及分析
本实验采用NYT数据,实验的训练集采用远程监督方法标注,而测试集为人工标注。训练数据包括353000个三元组,而测试数据包括3880个三元组,关系集的大小为24。本实验采用精确度、召回率和F1值进行评估。该算法与传统方法的不同之处在于,抽取三元组时不需要知道实体的类型信息,所以在评估过程中不需要考虑实体类型。当三元组的关系类型、以及对应的两个头部偏移实体都正确时,这个三元组被认为是正确的。实验结果如下:
前三行是串联抽取的结果,中间4-6行是联合抽取的结果,最后三行是基于基于本文所提出的新的标注方法的end-to-end模型实现的联合抽取的实验结果。可以发现联合抽取的方法优于串联抽取的方法,而end-to-end的联合抽取方法又优于联合抽取方法。而三种end-to-end模型中,编码过程都采用双向LSTM,而解码过程则分别用CRF、LSTM以及LSTM+Bias,可以发现LSTM的解码方式优于CRF,出现这一结果的原因是CRF 旨在最大化整个标签序列的联合概率,LSTM 能够学习序列元素之间的长距离依赖关系,由于关联标签之间可能彼此具有较长距离,所以基于 LSTM 的解码方式比 CRF 稍好。而增加了偏置权重以增强特殊标签的作用,并削弱无效标签的影响的LSTM+Bias解码方法可以获得比常见端对端模型更好地效果。
4. 总结
这篇论文提出一个新的标注方法,并且研究了利用end-to-end模型来联合抽取实体和关系,实验结果证明该方法非常有效。但是面对重叠关系,依旧存在缺陷。后续将研究在输出层用多分类代替softmax函数来解决重叠关系的问题。
Joint Extraction of Entities and Relations论文解析的更多相关文章
- 面部表情视频中进行远程心率测量:ICCV2019论文解析
面部表情视频中进行远程心率测量:ICCV2019论文解析 Remote Heart Rate Measurement from Highly Compressed Facial Videos: an ...
- [Network Architecture]Mask R-CNN论文解析(转)
前言 最近有一个idea需要去验证,比较忙,看完Mask R-CNN论文了,最近会去研究Mask R-CNN的代码,论文解析转载网上的两篇博客 技术挖掘者 remanented 文章1 论文题目:Ma ...
- LTMU论文解析
LTMU 第零部分:前景提要 一般来说,单目标跟踪任务可以从以下三个角度解读: A matching/correspondence problem.把其视为前后两帧物体匹配的任务(而不考虑在跟踪过程中 ...
- CVPR2020论文解析:实例分割算法
CVPR2020论文解析:实例分割算法 BlendMask: Top-Down Meets Bottom-Up for Instance Segmentation 论文链接:https://arxiv ...
- 人脸真伪验证与识别:ICCV2019论文解析
人脸真伪验证与识别:ICCV2019论文解析 Face Forensics++: Learning to Detect Manipulated Facial Images 论文链接: http://o ...
- 人体姿态和形状估计的视频推理:CVPR2020论文解析
人体姿态和形状估计的视频推理:CVPR2020论文解析 VIBE: Video Inference for Human Body Pose and Shape Estimation 论文链接:http ...
- 视频教学动作修饰语:CVPR2020论文解析
视频教学动作修饰语:CVPR2020论文解析 Action Modifiers: Learning from Adverbs in Instructional Videos 论文链接:https://a ...
- 分层条件关系网络在视频问答VideoQA中的应用:CVPR2020论文解析
分层条件关系网络在视频问答VideoQA中的应用:CVPR2020论文解析 Hierarchical Conditional Relation Networks for Video Question ...
- 慢镜头变焦:视频超分辨率:CVPR2020论文解析
慢镜头变焦:视频超分辨率:CVPR2020论文解析 Zooming Slow-Mo: Fast and Accurate One-Stage Space-Time Video Super-Resol ...
随机推荐
- linux下yum命令出现Loaded plugins: fastestmirror Determining fastest mirrors
今天yum install的时候出问题了,找了半天才找到一个可行的解决办法 fastestmirror是yum的一个加速插件,这里是插件提示信息是插件不能用了. 不能用就先别用呗,禁用掉,先yum了再 ...
- SpringBoot配置属性之Migration
SpringBoot配置属性系列 SpringBoot配置属性之MVC SpringBoot配置属性之Server SpringBoot配置属性之DataSource SpringBoot配置属性之N ...
- 把PHP的数组变成带单引号的字符串
上次做项目的时候,遇到 查询结果为 数组.因为条件原因,需要用$where['_string'] 去组合查询.进而用到把数组变成单引号的字符串.举例:查询返回的数组为: $projectcode_ar ...
- 【MySQL】乐观锁和悲观锁
最近学习了一下数据库的悲观锁和乐观锁,根据自己的理解和网上参考资料总结如下: 悲观锁介绍(百科): 悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持 ...
- 1 时间戳 2 C# 如何生成一个时间戳 3 js 时间加一分钟... 4 js string->date 5 js 取得当天0点 / 23:59:59 时间
var str = 'Jan 23, 2019 10:25:47 AM';var strnow = new Date(str); 时间戳(timestamp),一个能表示一份数据在某个特定时间之前已经 ...
- Java NIO.2 —— 文件或目录拷贝操作
拷贝整个文件树是可以递归每个目录和文件调用 Files.copy()方法.在使用的时候有一下注意事项. 在往目录拷贝文件之前,首先要保证目录已经存在.拷贝源目录(不论是否为空)都会生成目标目录.整个任 ...
- hbase操作
名称命令表达式 创建表create '表名称','列簇名称1','列簇名称2'....... 添加记录put '表名称', '行名称','列簇名称:','值' 查看记录get '表名称','行名称' ...
- Jackson(使用注解)
jackson在实际应用中给我们提供了一系列注解,提高了开发的灵活性,下面介绍一下最常用的一些注解 @JsonIgnoreProperties此注解是类注解,作用是json序列化时将Java bean ...
- React Native在开发过程中遇到的一些问题(俗称:坑)
4900 服务器地址错误 运行时产生以下错误:Could not connect to development server. 1.URL地址设置 问题: Could not connect to d ...
- HTTP、 TCP、 IP、 Socket、 XMPP
网络自下而上分为: 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 HTTP:应用层协议,主要解决如何包装数据 XMPP:应用层协议 TCP:传输层协议,主要解决数据如何在网络中传输 IP ...