Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

刘朋伯 作者哈尔滨工业大学硕士生 学校自然语言处理研究方向

AAAI 2019 | 基于分层强化学习的关系抽取

现有的关系抽取方法大多是先识别所有实体然后再确定关系类型。但是这类方法并没有考虑到实体与关系之间的作用。本文应用分层强化学习框架来增强实体提及和关系类型之间的交互,将相关实体视为关系的集合。此外,该方法还解决了抽取重叠关系(Overlapping Relations)的问题。

研究动机

该研究主要解决的问题有两个: 

1. 大部分现有的方法在实体被识别后才决策关系类型。这种方法存在两个弊端:一是并没有充分挖掘实体和关系之间的联系,而是把他们割裂作为两个子任务去处理;二是很多和关系无关的实体会带来噪声; 

2. 关系抽取会存在重叠关系问题(也叫一对多问题)。在一句话中,一个实体可能会存在多个关系,或者一个实体对可能存在多种关系。目前已知只有 CopyR 方法研究了这个问题,但是本文作者实验证明了这种方法严重依赖数据,并且无法抽取多词语关系。 如图: 

层次抽取框架

首先,文章定义了“关系指示符”(Relation Indicator)。 当在一句话中的某个位置有足够信息去识别语义关系时,我们把这个位置就叫做“关系指示符”。它可以是名词、动词、介词,或者是一些其他的符号比如逗号、时间等等。关系指示符在本结构中非常重要,因为整个的关系抽取任务可以分解为“关系指示符”和“关系中的实体抽取”。 

整体来看,关系抽取过程如下:

一个 agent 在扫描句子时预测特定位置的关系类型。不同于识别实体对之间关系的关系分类,该过程不需要对实体进行标注。当在一个时间步中没有足够的信息来指示语义关系时,agent 可以选择 NR,这是一种指示没有关系的特殊关系类型。否则,触发一个关系指示符,agent 启动一个用于实体提取的子任务,以识别两个实体之间的关系。当实体被识别时,子任务完成,代理继续扫描句子的其余部分寻找其他关系。 

这种过程可以被表述为半马尔可夫决策过程1)检测句子中关系指示符的高级 RL 过程;2)识别对应关系的相关实体的低级 RL 过程。 

通过将任务分解成两个 RL 过程的层次结构,该模型有利于处理对于同一实体对具有多种关系类型的句子,或者一个实体涉及多种关系的情况。过程如图:

下面分别介绍两个决策过程。

Relation Detection with High-level RL 

High-level RL 的策略(policy)µ 旨在从句子中找到存在的关系,可以看做是带有 options 的 RL policy。option 指的是一旦 agent 执行了某个选项,就会启动低级别的 RL 策略。 

Option:option 在集合 O = {NR} ∪ R 中选择,当 low-level RL 进入结束状态,agent 的控制将被 high-level 接管去执行下一个 option。 

State:状态 S 由以下三者共同决定:当前的隐状态,最后一个 option 的 relation type vector 和上一个时间步的状态。公式如下: 

是非线性变换,是由 Bi-LSTM 得到隐状态。 

Policy:关系检测的策略,也就是 option 的概率分布,如下,其中 W 是权重

Reward:环境提供给 Agent 的一个可量化的标量反馈信号,也就是 reward。reward 计算方法如下: 

最后,用一个最终的 reward 来评价句子级别的抽取效果:

Entity Extraction with Low-level RL

当 High-level RL policy 预测了一个非 NR 的relation,Low-level RL 会抽取 relation 中的实体。High-level RL 的 option 会作为 Low-level RL 的额外输入。 

Action:action 会给当期的词分配一个 tag,tag 包括 A=({S,T,O}×{B,I})∪{N}。其中,S 是参与的源实体,T 是目标实体,O 是和关系无关的实体,N 是非实体单词,B 和 I 表示一个实体的开始和结束。可参看下图:

State:类似 High-level RL 中的关系检测,High-level 中的状态计算方法如下:

是当前单词的隐状态,同样也是经过 Bi-LSTM 计算得到,Vet 是可学习的实体标签向量,是上一阶段的状态(注意,既可以是 High-level 的状态,也可以是 Low-level 的状态)。g 和 f 都是多层感知机。 

Policy:由句子到实体的概率计算如下:

Reward:给定一个关系类型,通过 policy 可以很容易得到实体标签。我们需要用 reward 来衡量预测的标签是否准确:

其中,λ(y) 用来降低 non-entity tag 的权重

Hierarchical Policy Learning

在优化 High-level policy 时,我们需要最大化预期累积回报,如下:

γ 是 RL 中的折扣因子。在结束前,整个采样过程需要 T 个时间步长。 

同样的,在优化 Low-level policy 时,我们也需要最大化累计回报,公式如下:

把累计回报分解成 Bellman 方程,得到:

当实体提取策略根据选项 ot 运行时,子任务持续的时间步数是 N。当 option 是 NR 是,N=1。

可以一同优化 High-level 和 Low-level 两段策略,High-level 的梯度是:

Low-level 的梯度是:

整个训练过程如下:

实验

数据集:通过远程监督得到的数据:NYT10 和 NYT11。

参数设置:预训练词向量使用 300 维的 GloVe 词向量,Relation Type Vectors 和 Entity Tag Vectors 是随机初始化的,学习率:4e − 5,mini-batch size:16,α = 0.1,β = 0.9,discount factor γ = 0.95。

评价方法:采用 micro-F1 评价方法,如果关系类型和两个对应的实体都正确,则认为三元组是正确的。

Baselines:作为对比的 baseline 方法有:FCM、MultiR、CoType、SPTree、Tagging 和 CopyR。

实验结果

Split:输入为 c×h×w 的特征图,均表示 Group Convolution。这里使用 Group Convolution 以减少计算量。注意,这里两路 Group Convolution 使用的卷积核大小不一致,原因在于 Motivation 中说的第一点,提升精度。 

 关系抽取

 重叠关系抽取

 关系检测总结

在本文中,作者提出了一种通过分层强化学习进行关系抽取的分层抽取范式。该范式将实体视为关系的集合,并将关系抽取任务分解为两个子任务的层次结构:High-level 指示符检测和 Low-level 实体抽取。

关系检测的 High-level 策略识别句子中的多个关系,实体提取的 Low-level 策略启动子任务以进一步提取每个关系的相关实体。这种方法擅长于建模两个子任务之间的交互,尤其擅长于提取重叠关系。 

实验证明,该方法优于最先进的基线。目前,强化学习在 NLP 的应用较少,该工作为关系抽取任务带来了启发,事实证明,基于强化学习的关系抽取是可以成功的。

PaperWeekly
PaperWeekly

推荐、解读、讨论和报道人工智能前沿论文成果的学术平台。

理论AAAI 2019强化学习实体关系抽取
3
相关数据
权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

GloVe技术

Stanford开发的用于词向量表示的一个库/工具

多层感知机技术

感知机(Perceptron)一般只有一个输入层与一个输出层,导致了学习能力有限而只能解决线性可分问题。多层感知机(Multilayer Perceptron)是一类前馈(人工)神经网络及感知机的延伸,它至少由三层功能神经元(functional neuron)组成(输入层,隐层,输出层),每层神经元与下一层神经元全互连,神经元之间不存在同层连接或跨层连接,其中隐层或隐含层(hidden layer)介于输入层与输出层之间的,主要通过非线性的函数复合对信号进行逐步加工,特征提取以及表示学习。多层感知机的强大学习能力在于,虽然训练数据没有指明每层的功能,但网络的层数、每层的神经元的个数、神经元的激活函数均为可调且由模型选择预先决定,学习算法只需通过模型训练决定网络参数(连接权重与阈值),即可最好地实现对于目标函数的近似,故也被称为函数的泛逼近器(universal function approximator)。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

概率分布技术

概率分布(probability distribution)或简称分布,是概率论的一个概念。广义地,它指称随机变量的概率性质--当我们说概率空间中的两个随机变量具有同样的分布(或同分布)时,我们是无法用概率来区别它们的。

分层强化学习技术

分层强化学习是强化学习领域中的一个分支。传统强化学习通过与环境的交互,进行试错(trial-and-error),从而不断优化策略(policy)。但是强化学习的一个重要不足就是维数灾难 (curse of dimensionality),当系统状态(state)的维度增加时,需要训练的参数数量会随之进行指数增长,这会消耗大量的计算和存储资源。 分层强化学习将复杂问题分解成若干子问题(sub-problem),通过分而治之(divide and conquer)的方法,逐个解决子问题从而最终解决一个复杂问题。这里的子问题分解有两种方法:①所有的子问题都是共同解决被分解的任务(share tasks);②不断把前一个子问题的结果加入到下一个子问题解决方案中(reuse tasks)。分层强化学习核心思想是通过算法结构设计对策略(policy)和价值函数(value function)施加各种限制(constraints),或者使用本身就可以开发这种限制的算法。

学习率技术

在使用不同优化器(例如随机梯度下降,Adam)神经网络相关训练中,学习速率作为一个超参数控制了权重更新的幅度,以及训练的速度和精度。学习速率太大容易导致目标(代价)函数波动较大从而难以找到最优,而弱学习速率设置太小,则会导致收敛过慢耗时太长

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

半马尔可夫决策过程技术

半马尔可夫决策过程(SMDPs)作为马尔科夫决策过程的扩展,用于对随机控制问题进行建模,不同于马尔科夫决策过程,半马尔科夫决策过程的每个状态都具有一定的逗留时间,并且逗留时间是一个通用的连续随机变量。

推荐文章
暂无评论
暂无评论~