陈彦光 A Hierarchical Framework for Relation Extraction with Reinforcement Learning
新闻来源:IR实验室       发布时间:2019/3/28 13:33:50

一、     介绍

这篇论文是清华大学人工智能研究院的工作,发表于AAAI2019

关系抽取工作是从非结构化文本数据中提取出一句话中两个实体之间的关系,可用三元组(esret)来表示。目前关系抽取工作存在两个问题,一个是关系抽取任务一般在实体识别任务之后,将关系抽取和命名实体识别看做是两个独立的任务,实体识别和关系抽取两个任务之间的相互关联没有很好地被挖掘,针对这一问题,现在有很多结合联合学习的研究;另一个问题是联合抽取方法在抽取一对多关系,也就是一个实体在多个关系中、或一对实体拥有多种关系,这类问题上还找不到很好的解决方案。针对这两个问题,论文提出了一种基于分层强化学习的方法,把关系抽取作为high-level的任务,实体识别作为low-level任务完成关系抽取工作。

整个方法的流程如下图所示。I. 首先从头到尾扫描整个句子序列;II. high-level的过程中,在某一位置侦测到了一个关系的指示器,这时触发low-level任务进行相关实体的识别;III. Low-level过程从头到尾扫描句子,识别到两个和该关系相关的实体;IV. 回到刚才关系指示器的位置,继续high-level的过程,识别下一个关系。

可以看到图中存在parent-childrenplace-of-death的关系,两个关系共享实体Steve,但由于针对这两个关系的实体识别过程是分别进行的,所以互相不会产生影响。

二、     相关工作

目前进行关系抽取的工作有两大类方法:流水线方法(pipelined approaches)和联合学习方法(joint learning methods)。流水线方法先做实体抽取再进行关系抽取,模型搭建较为灵活,但会有错误传播问题。联合学习方法起初是基于图结构的方法,使用贪心查找策略,限制了性能,其他基于机器学习的方法依赖于大量的手工特征和领域知识。近年来出现了很多基于神经网络模型的联合学习方法,通过共享实体抽取和关系抽取模型的参数,或基于新的标注策略等,在一定程度上改进了实体和关系联合抽取的方法。目前有很多信息抽取的研究引入了强化学习,用于对远程监督数据进行去噪,和对数据集进行扩充。

三、     方法

首先对强化学习(Reinforcement LearningRL)和分层强化学习(Hierarchical Reinforcement LearningHRL)进行介绍。

强化学习的示意图如下图所示。主要研究的问题是agent 如何通过直接与environment交互来学习策略π,使得长期的奖赏(reward)最大。可以用一个五元组<S,A,P,R,g>来表示,S表示状态的集合,A是动作集合,P是状态转移概率,R是奖励函数,g是折损系数。

https://img-blog.csdnimg.cn/20190225183505540.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0x1cWlhbmdfU2hp,size_16,color_FFFFFF,t_70

强化学习的主体一般被称为agent,其与environment互动以达到某种目的。所有强化学习的agent有明确的目标,能够感知全部或者部分environment,并且选择action执行来影响environment,从而使环境反馈给agent一个奖励值,并得到新的环境状态,Reward取决于动作和状态。强化学习过程中,对agent进行长期观察,得到对于其的累积奖励value。强化学习的目的是学习得到使得每个状态的累积奖励value最大的策略π

强化学习是一个马尔科夫决策过程,具有马尔科夫性,即系统的下个状态只与当前状态有关,与之前的状态无关。当马尔可夫决策过程中作出决策时,只需要考虑当前的状态,而不需要考虑之前的状态,这样大大降低了问题的复杂度。而分层强化学习在此基础上做了一点改变,可看做是一个半马尔科夫决策过程。

马尔科夫决策过程中(如下图左),选择一个动作后,agent会立刻根据状态转移方程P 跳转到下一个状态,而在半马尔可夫决策过程( SMDP) 中(如下图右),当前状态到下一个状态的步数是个随机变量τ,即在某个状态s下选择一个动作a 后,经过τ 步才会以一个概率转移到下一个状态s'。此时的状态转移概率是s τ的联合概率。根据τ 的定义域不同,SMDP 所定义的系统也有所不同。当τ 的取值为实数值,则SMDP 构建了一个连续时间-离散事件系统( continuous-time discrete-event system);而当τ的取值为正整数,则是一个离散时间SMDP( discrete-time SMDP)。出于简单考虑,绝大部分分层强化学习都是在离散时间SMDP 上进行讨论。



常见的分层强化学习方法可以大致分为四大类,基于选项( option) 的强化学习、基于分层抽象机( hierarchical of abstract machines) 的分层强化学习、基于MaxQ 函数分解( MaxQ value function decomposition) 的分层强化学习,以及端到端的( end to end) 的分层强化学习。论文使用的是基于选项的分层强化学习方法。

选项定义为一个三元组,分别表示初始状态、策略和终止状态。基于option 的分层强化学习的过程为(如下图所示): 假设agent 当前在某个状态,选择一个option,通过这个option 的策略,agent 选择了一个动作或者另一个option。若选择了一个动作,则直接执行转移到下一个状态; 若选择了另一个option,则用选择的新option 继续选择,直到最后得出一个动作。对于一个状态s,有𝛽(s)的概率终止并退出此option。除此之外,定义一个更高层级的策略Os表示在s状态下可用的option集合,表示在状态s时以的概率选择o作为当前的option

以上便是分层强化学习的简述,论文的方法在基于分层强化学习的方法上,以关系抽取作为高层级任务,实体识别作为低层级任务进行研究,将任务分割成有层级关系的两个强化学习过程,可用于识别有多个关系类型的实体对。

首先定义了关系指示器(relation indicator)的概念。关系指示器是在有足够的信息被提及来识别一个语义关系时,此时扫描到句子中的位置。与关系触发器(relation trigger)不同,关系指示器可以是动词、名词、介词,或者是其他诸如逗号、句号的符号。关系指示器在这个模型中很重要,整个任务被分为关系指示器的识别、和实体抽取。整个抽取过程是:顺序扫描一个句子,agent在特定位置预测一个关系类型,这里关系的预测不需要实体的标注,不像关系分类需要识别一个实体对之间的关系。如果在一个时间步内没有充分的证据识别出一个关系,agent给出NR-no relation。如果一个关系指示器被触发,agent进入子任务中,进行两个实体的识别作为关系的论证。当两个实体都被识别出来,子任务结束,继续扫描剩下的句子,寻找其他关系。整个过程的示意图如下图所示。

屏幕剪辑

两个级别的策略架构示意图如下图所示,左边是关系检测的策略,右边是实体抽取策略。

屏幕剪辑

下面分别介绍两个层级的强化学习策略。High-level强化学习基于option,是关系类型的集合。state表示high-level的强化学习在时间步t的状态,由当前隐层状态ht、关系类型的向量vtr(可学习的参数),和上一个状态st-1表示。Fh是一个非线性函数,MLP(多层感知机)实现。st-1hhigh-level)或llow-level)的一种,由agenthigh中的optionlow中的action进行采样决定。隐层状态ht由当前词向量经过BiLSTM实现。策略和奖励的计算如下所示。当ot=NR时,agent在下一个时间步变换为新的high状态;否则low-levelpolicy将执行实体抽取。当前ot的子任务完成后,inter option的状态才会改变,可能会持续多个时间步。最后的奖励r由计算句子级的抽取性能得到,FB是由对句子S中关系抽取的精度和召回率计算得到的带权调和平均值。β是一个超参。

image.png

下面介绍Low-level的学习策略。High-levelpolicy预测了非NR关系类型,low-levelpolicy就抽取相关的实体。High-levelot作为low-level的额外输入信息。动作空间是实体标签空间,S代表头实体、T代表尾实体、O代表与关系类型ot‘无关的实体,N代表非实体词,解决了overlapping关系的问题。BI表示该词在实体中的位置信息。State和关系检测中的policy相似,low的内部optionstatestl表示为当前词wt的隐层状态ht、实体标志向量vte,可由at-1学习得到,前一状态st-1和上下文向量ct‘,使用和前面公式相似的状态表示。ht是由Bi-LSTM得到的隐层状态,gf都是由MLP多层感知机实现的非线性函数。St-1可能由high-levellow-level得到。实体抽取的策略是给定内部状态stl,和导致当前子任务的high-level option ot’ 关系类型,给出一个动作的分布。λ是对无实体标签的偏倚权重,α表示对非实体词的奖励要少一些,避免了把所有词预测为非实体。所有动作结束后有一个最终奖励,如果所有tag都预测正确,agent得到的reward+1,否则是-1

High-levellow-level的累积奖励由下式求得。

对其求梯度:

最终整个训练过程的算法是:

屏幕剪辑

 

四、     实验

实验采用纽约时报的语料作为数据集,由远程监督构建的数据集,含有噪声。语料有两个版本,一个由原始语料通过Freebase知识库的关系类型进行调整得到,取名为NYT10,一个是较小的数据集,它的测试集全部是手工标注的,取名为NYT11

论文对数据集进行了处理,移除了训练集中测试集不包含的关系类型,移除了不包含关系的语句。为公平起见,所有baseline也使用处理后的数据集进行评估,处理后数据集如表所示。这里对数据集的处理相当于移除了数据中的负例,但是这样的处理是否适用于实际应用文中并没有讨论。每个数据集上都使用训练集的0.5%作为验证集。

屏幕剪辑

实验中的一些超参定义:

实验采用micro-作为评价指标,下面是baseline方法的介绍:FCM是流水线方法,MultiRCoType是基于特征的方法,后三组是神经网络的方法。

主要的实验结果如表:这里解释了CopeR主要用于提取重叠关系,所以在NYT11上效果不好,因为NYT11上几乎没有重叠关系数据;SPTree使用了很多语言学信息,所以效果相对较好,但论文提出的模型在两个数据集上的F值都为最高,证明模型的鲁棒性很好。

屏幕剪辑

之后为验证模型在重叠关系提取上的性能,构建了两个数据集。重叠关系分为两类:type1:两个三元组只有一个实体相同;type2:两个三元组共享两个实体。NYT11-plus是经过人工标注,由nyt11训练集产生,大部分是type1类型的重叠关系,NYT10-subNYT10的子集,大部分是type2类型的重叠关系。实验结果如下:

image.png

NYT10-sub的结果显示baseline方法不适合在有噪声的数据集抽取type2类型重叠关系,而提出的HRL模型和表2相比结果没有恶化,在预测的准确率上还有提升;NYT11-plus结果显示本文的模型和其他方法相比F1有显著提高,证明该方法能够更准确地提取关系。Sptree只匹配了一个关系类型没考虑重叠关系,所以准确率很高;Tagging方法结果不好,因为他只给实体分配一个标签;copyR方法依赖于噪声数据集中的标注。总之可以看出提取重叠关系还是很有困难,本文提出的方法在两个数据集上表现都比其他方法好。

为了证明将实体抽取整合到关系抽取任务的效果,来看两个层级策略之间的相互作用。这部分只关注关系检测的表现,就是如果关系类型预测正确了就认为预测是正确的,关系预测由high-level的策略得到。下表中结果显示提出的强化学习方法相比其他方法,对多关系的抽取效果更好,如果把low-level的实体抽取去掉,表现在NYT11数据集上有细微变化,这个数据集上没有重叠关系,而NYT11-plus上具有重叠关系,所以看到去除实体抽取部分结果差别很大,这也证明了提出的这个方法可以很好地抓住实体抽取和关系抽取之间的依赖关系,可以增强它们的相互作用。

屏幕剪辑

最后看一个例子,下图中是模型对两句具有重叠关系的语句进行三元组提取的过程。可以看出,关系检测在一个位置有足够的信息时就会被触发,并且重叠关系也能够不受彼此影响分别提取出来。

五、     结论

本文基于分层强化学习的流程,将三元组的提取分为high-level的关系抽取任务和low-level的实体识别任务,也可以看作是联合学习方法的一种应用形式。这种形式也可以应用到其他的任务中,并且在方法上分层应该也可以扩充到三层甚至更多,这些改进都比较值得思考。