《A Hierarchical Framework for Relation Extraction with Reinforcement Learning》论文阅读笔记
代码
原文地址
摘要
Introduction

- 首先,传统模型大多数都是先识别出所有实体,然后再确定关系类型,而没有充分捕捉两个任务之间的交互。这些方法相当于把关系对齐到实体对上,但是这样做可能会引入噪声,因为有些句子并没有真正提及关系,或者有些句子描述了多个关系。例如,Zhang et al. (2013)和Takamatsu, Sato, and Nakagawa (2012)就指出了这些问题。
- 其次,目前还没有一种优雅的联合抽取方法来处理一对多的问题,也就是重叠关系的问题。这种问题是指一个实体可能在同一个句子中参与多个关系,或者同一个实体对在同一个句子中有不同的关系。图1中的Steve Blichick就是一个例子。据本文所知,CopyR (Zeng et al. 2018)是唯一讨论了这个问题的方法,它把关系抽取看作是一个三元组生成的过程。然而,本文的实验表明,这种方法强烈依赖于训练数据,而且不能抽取多词实体。
- 第一个问题是如何处理实体和关系之间的依赖性。本文的方法是把实体作为关系的参数,然后通过高层和低层强化学习过程中的状态表示和奖励来建立它们之间的联系。这样,主任务(高层强化学习过程,用于检测关系类型)和子任务(低层强化学习过程,用于抽取实体)之间的交互就能很好地捕捉到。主任务在启动子任务时传递信息,子任务在完成后返回低层奖励,反映子任务的效果。这种方式使得模型能够更好地建模关系类型和实体之间的交互。
- 第二个问题是如何处理句子中的多个重叠关系。本文的方法是通过层次结构来分解关系抽取任务。本文把关系抽取任务分为高层任务和低层任务,分别用于检测关系类型和抽取实体。这样,句子中的每个关系都可以单独和顺序地处理。如图1所示,当主任务检测到第一个关系类型(父母-子女)时,就会抽取出第一个关系,当检测到第二个关系类型(死亡地点)时,就会抽取出第二个关系,即使这两个关系有共同的实体(Steve Blichick)。
- 本文设计了一种新颖的端到端的层次范式,用于联合识别实体和关系类型,它把关系抽取任务分解为高层任务和低层任务。
- 本文将强化学习引入这个范式,使得本文的方法在建模主任务和子任务之间的交互和抽取重叠关系方面优于基线方法。
Related Work
Hierarchical Extraction Framework
Definition 1.

- 一个高层次的强化学习过程,检测一个句子中的关系指示符;
- 一个低层次的强化学习过程,识别相应关系的相关实体。
Relation Detection with High-level RL
的目标是检测句子
中的关系,这可以被视为一个传统的基于选项的RL策略。一个选项指的是一个高层动作,当一个选项被agent执行时,一个低层RL过程就会被启动。
是从
中选择的,其中
表示没有关系,
是关系类型的集合。当一个低层RL过程进入终止状态时,agent的控制权将被交给高层RL过程来执行下一个选项。
的状态
,由以下三部分表示:
,
(最近的选项
的嵌入,其中
,这是一个可学习的参数),

是一个由MLP实现的非线性函数。
,这里引入了一个序列Bi-LSTM,它作用于当前的输入词嵌入
:

,它指定了选项上的概率分布:
来估计执行选项
时的未来回报。奖励的计算如下:
,则agent在下一个时间步转移到一个新的高层次的选项间状态。否则,低层次的策略将执行实体抽取过程。选项间状态不会转移,直到当前选项
的子任务完成,这可能需要多个时间步。这样的半马尔可夫过程持续到最后一个关于句子
中最后一个词
的选项被采样。最后,得到一个最终奖励
来衡量
检测的句子级别的抽取性能:
是关于句子
中的关系的精确度和召回率的加权调和平均。
分别表示精确度/召回率,根据一个句子计算。Entity Extraction with Low-level RL
的关系类型时,低层策略
将抽取出参与该关系的实体。低层策略对动作(原始动作)的制定与高层策略对选项的制定非常相似。为了使预测的关系类型在低层过程中可访问,高层强化学习中的选项
被作为额外的输入,在低层抽取过程中贯穿始终。
,其中
表示参与的源实体,
表示目标实体,
表示与预测的关系类型
无关的实体,
表示非实体词。注意,根据当前关注的不同关系类型,同一个实体提及可能被分配不同的
标签。这样,模型可以处理重叠的关系。另外,使用
符号来表示实体的开始词和内部词,分别参见图4的例子。
由以下四部分表示:
的隐藏状态
,
,它是
的可学习嵌入,
,
的关系状态表示的上下文向量
,如下所示:
是从公式(2)中的Bi-LSTM模块得到的隐藏状态,
是由MLP实现的非线性函数。注意,
可能是来自高层强化学习过程或低层过程的状态。
在给定选项内状态
和启动当前子任务的高层选项
的情况下,输出一个动作分布。
是一个
个矩阵的数组。
,每个词的实体标签可以通过从策略中采样动作来轻松获得。因此,当采样动作
时,提供一个即时奖励
,通过简单地测量预测误差和金标注之间的差异:
是符号函数,
是在预测的关系类型
的条件下的金标准实体标签。这里
是一个偏置权重,用于降低非实体标签的权重,定义如下:
导致非实体词的奖励较少。这样,模型避免学习一个平凡的策略,即将所有词都预测为
(非实体词)。当所有的动作都被采样后,计算一个额外的最终奖励
。如果所有的实体标签都被正确地预测,那么智能体获得+1的奖励,否则-1。Hierarchical Policy Learning
的主任务的期望累积奖励,当agent按照高层策略
采样轨迹时,可以按照如下公式计算:
由
参数化,
是强化学习中的折扣因子,整个采样过程
在终止前需要
个时间步。
下的期望累积内部选项奖励来学习低层策略,当agent在时间步
沿着低层策略
采样时:
结束。
是子任务持续的时间步数,当实体抽取策略在选项
上运行时,所以agent的下一个选项是
. 特别地,如果
,那么
.


Experiments
Experimental Setting

- FCM (Gormley, Yu, and Dredze 2015):一个组合模型,结合了词汇化的语言环境和词嵌入,来学习句子中子结构的表示,用于关系抽取。
- MultiR (Hoffmann et al. 2011):一个典型的远程监督方法,执行句子级别和语料级别的抽取,使用多实例加权来处理训练数据中的噪声标签。
- CoType (Ren et al. 2017):一个与领域无关的框架,通过将实体提及、关系提及、文本特征和类型标签共同嵌入到表示中,将抽取问题建模为一个全局嵌入问题。
- SPTree (Miwa and Bansal 2016):一个端到端的关系抽取模型,使用双向顺序和树结构的 LSTM-RNNs 来表示单词序列和依赖树结构。
- Tagging (Zheng et al. 2017):一个将联合抽取视为一个顺序标注问题的方法,使用一个标注方案,其中每个标签同时编码实体提及和关系类型。
- CopyR (Zeng et al. 2018):一个带有复制机制的 Seq2Seq 学习框架,用于联合抽取,其中使用多个解码器来生成三元组,以处理重叠的关系。

Overlapping Relation Extraction

- 类型 I:一个句子中的两个三元组只共享一个实体
- 类型 II:一个句子中的两个三元组共享两个实体(头实体和尾实体)
Interaction between the Two Policies


Case Study
Conclusion and Future Work
《A Hierarchical Framework for Relation Extraction with Reinforcement Learning》论文阅读笔记的更多相关文章
- 《MuseGAN: Multi-track Sequential Generative Adversarial Networks for Symbolic Music Generation and Accompaniment》论文阅读笔记
出处:2018 AAAI SourceCode:https://github.com/salu133445/musegan abstract: (写得不错 值得借鉴)重点阐述了生成音乐和生成图片,视频 ...
- (转)Introductory guide to Generative Adversarial Networks (GANs) and their promise!
Introductory guide to Generative Adversarial Networks (GANs) and their promise! Introduction Neural ...
- 生成对抗网络(Generative Adversarial Networks,GAN)初探
1. 从纳什均衡(Nash equilibrium)说起 我们先来看看纳什均衡的经济学定义: 所谓纳什均衡,指的是参与人的这样一种策略组合,在该策略组合上,任何参与人单独改变策略都不会得到好处.换句话 ...
- 生成对抗网络(Generative Adversarial Networks, GAN)
生成对抗网络(Generative Adversarial Networks, GAN)是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的学习方法之一. GAN 主要包括了两个部分,即 ...
- StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks 论文笔记
StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks 本文将利 ...
- 论文笔记之:Semi-Supervised Learning with Generative Adversarial Networks
Semi-Supervised Learning with Generative Adversarial Networks 引言:本文将产生式对抗网络(GAN)拓展到半监督学习,通过强制判别器来输出类 ...
- 《Self-Attention Generative Adversarial Networks》里的注意力计算
前天看了 criss-cross 里的注意力模型 仔细理解了 在: https://www.cnblogs.com/yjphhw/p/10750797.html 今天又看了一个注意力模型 < ...
- Paper Reading: Perceptual Generative Adversarial Networks for Small Object Detection
Perceptual Generative Adversarial Networks for Small Object Detection 2017-07-11 19:47:46 CVPR 20 ...
- SalGAN: Visual saliency prediction with generative adversarial networks
SalGAN: Visual saliency prediction with generative adversarial networks 2017-03-17 摘要:本文引入了对抗网络的对抗训练 ...
- Generative Adversarial Networks,gan论文的畅想
前天看完Generative Adversarial Networks的论文,不知道有什么用处,总想着机器生成的数据会有机器的局限性,所以百度看了一些别人 的看法和观点,可能我是机器学习小白吧,看完之 ...
随机推荐
- 像elementui一样封装自定义按钮
<template> <div> <button @click.prevent="coverHandler" class="btn-btn& ...
- 重磅文章:VictoriaMetrics存储引擎分析.pdf
作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 万字长文,详细介绍 VictoriaMetrics 存储引 ...
- 【第4个渗透靶机项目】 Tr0ll
每天都要加油哦! 0x00 信息搜集 首先找到一下靶机的ip,并扫描端口. 靶机和kali都是桥接. 那么先看一下kali的ifconfig信息. nmap -sn 192.168.0.0/24 ...
- dump分析器winbdg
工具: winbdg WinDBG不是专门用于调试.Net程序的工具,它更偏向于底层,可用于内核和驱动调试.进行普通的.Net程序调试还是使用微软专为.Net开发的调试工具MDBG更方便一些.但是Wi ...
- .net fromwork连接rabbitmq发布消息
1.创建连接工厂类 var factory = new RabbitMQ.Client.ConnectionFactory() { HostName = "120.237.72.46&quo ...
- SqlSugar的Repository
1.仓储说明 仓储可以让你的方法更加的规范,需要什么方法都封装到仓储中,下次就能重复使用,并且能很好的和你业务拆分开 这种设计模式简单粗暴用起来也方便 ,文章下面有可以运行的DEMO 2.仓储方法 仓 ...
- 基于无监督训练SimCSE+In-batch Negatives策略有监督训练的语义索引召回
基于无监督训练SimCSE+In-batch Negatives策略有监督训练的语义索引召回 语义索引(可通俗理解为向量索引)技术是搜索引擎.推荐系统.广告系统在召回阶段的核心技术之一.语义索引模型的 ...
- svg图片引入方式
第一种直接引入: <svg t="1684280784467" class="icon" viewBox="0 0 1024 1024" ...
- 深空物联网通信中视频流的智能多路TCP拥塞控制|文献阅读|文献分析和学习|拥塞控制|MPTCP|SVC
前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助. 高质量博客汇总https://blog.cs ...
- mybatis SQL in() 为什么要在 mapper.xml里 用 foreach
结论: 若存在 in () 语句,要使用 #{} 预编译入参的方式,需要在 mapper.xml里 使用 foreach ======================================= ...