Large Scaled Relation Extraction with Reinforcement Learning
概述
- 为了解决远程监督中噪声数据的问题,使用强化学习
- bag-level的训练
- 对于每个bag,根据bag里的抽取的每个句子的关系来确定bag所表示的关系,然后进行强化学习训练,从而提高性能
- 进行两种不同规模的实验,证明可以提高关系抽取器的性能
1.问题
1.1 大纲
- 为了解决远程监督中噪声数据的问题。
- 使用强化学习,训练关系分类器。使用了两种数据集
- 实验结果证实了在baseline的基础上,提高了13.36%
2.动机 (相关工作对比)
- 主要说了一下之前工作
- 有监督的
- 远程监督
- 提出了
- 远程监督噪声太多
- 故而提出了一种强化学习的方法
- 将关系分类器作为一个agent进行训练学习。
- 希望得到更好的长期reward
- agent读取bag中的句子,然后抽取它们的关系,依次输出
- 将预测关系的句子合并到一起,然后预测bag所表示的关系
- reward确定:将上述预测到的bag的关系和标准bag分类器对比,从而得到reward
- 使用reward来训练关系抽取器 ,如下图所示
- 遵循的假设:the expressed-at-least-once (Riedel,Yao and McCallum 2010)
- 当且仅当,一个包里的句子表示的关系都是NA(即无关系)的时候,这个包才被定义为NA。否则句子表达的关系就是这个bag的真实关系
Contribution
- 1.在远程监督数据集的基础上,使用了强化学习来学习关系抽取器。使用的是bag级别的,包的关系训练关系抽取器。
- 2.根据关系抽取器,bag的句子关系可以确定,并且由此来帮助与此bag所表示的关系
- 3.进行两次实验,两次不同的数据集,结果证明可以显著提高性能。
Realated Work
- 有监督**
- 1.CNN Zeng 2014
- 第一次使用神经网络
- 2.lstm +attention zhou 2016 看过
- 抽取句子的语义信息,没有使用其他的资源或者NLP系统的featrue
- **
- 远程监督 (Mintz et al 2009)
- 自动标注,生成大量训练数据
- 假设所有存在两个实体的句子就表示了一个实体关系
- 将所有包含了一个实体对的句子称作一个包 bag 如下图
- 缺点:大量错误标注的数据,噪声很多
- PCNN (Zeng et al 2015)已读
- 使用多段CNN,mutil instance learning 多示例学习
- 使用attention来缓解噪声数据的影响
- (Lin et al 2016)
- 使用了实体描述作为外部信息来提升性能(Ji et al 2017)
- 使用了cross-sentence 交叉句子 最大池化来考虑所有句子,解决Mutil Label 多标签问题
- 在多语言文本下,使用交叉语言 cross-lingual attention机制考虑信息的一致性和互补性(Lin,Liu,and Sun 2017)
- 使用了动态的变换矩阵transition matrix 来描述噪声数据,使用了 curriculum learning来指导训练
However
- 上述的model都是基于bag的关系抽取。
- 不同于他们的是:
- 我们学习的是一个句子的关系抽取器
- sentence level
RL
3.模型
Our Model
- 将抽取bag里的每一个句子的关系作为一次强化学习的轮次
- 即 对于一个bag,首先独立的抽取句子的关系,然后通过抽取的句子的关系和gold bag 关系进行一个对比,从而预测bag的关系。
Realtion Extractor
- 对于一个句子S_i,首先将sentence拆分成tokens
- 将每一个token转换成dense vector,用作CNN的输入
- 直接使用了普通的最大池化,但是将两个实体的max-pooling结果和position embedding连接起来
- 称作PE CNN Position Enhanced CNN
- 最后使用了一个多层感知机MLP加一个softmax来输出每个关系的概率(包括NA)
强化学习训练
Predict the Bag Relation
- the expressed-at-least-once assumption
- 步骤
- 1.对于每个setence S_i,我们选择最大概率可能的关系作为sentence的关系。
- 如果bag中的所有句子都被定位NA,那么我们认为bag所表示的关系也是NA
- 否则,我们忽略掉所有预测为NA关系的句子,然后从剩下的句子中,选择一个最大概率关系的句子的关系作为bag所表达的关系
每一轮
- 对于一个bag的一轮迭代中,句子被当做state
- 关系做为RL的action
- 关系抽取器当做RL的agent
- 当bag中的所有句子都被处理过,抽取关系过后,我们预测bag的关系,然后和gold 关系进行对比,从而得到一个reward
- 如果预测的和gold的是一样的,那么得到一个正的reward,否则得到一个负的reward,即对本轮操作打分,然后根据打分进行不同的操作
Optimization
- 使用REINFORCE算法(Williams 1992)
- 使用\theta来表示整个模型的参数,所有的参数都会被一起训练
- 一些优化公式细节 略
4.方法 实验
- 手动标注了一部分数据作为test data,只能用来小规模的数据集上,因为需要人工标注
5.结果
6.未来
- 现在的大部分的model都是基于CNN的,使用postion embedding作为feature,可以寻找其他的model和feature
- 可以将我们的model和open Information Extraction 开放关系抽取结合起来。
- 开放信息抽取的一个主要问题就是,抽取的关系不能够和KB的关系联系起来
- 我们的关系抽取器能够让抽取的关系拥有语义