任务:关系抽取
来源:EMNLP 2015
引言:
这一篇论文的工作是在Zeng 2014基础上的扩展(Zeng那篇论文的解析https://www.jianshu.com/p/f4a9c2fd733c),从Fully Supervised 到Distant Supervised。
这一篇论文使用的模型框架还是一个简简单单的CNN模型,主要有2点改进:(1)在Zeng 2014的CNN模型基础上,采用了Piece Wise CNN(PCNN),改进了原来的全局max pooling,做了局部的max pooling;(2)使用多实例学习Multi Instance Learning(MIL)解决远程监督标注数据的大量噪声数据的影响。
远程监督:
全监督方法都是在完全正确的标注数据集上来做的,因此数据量很小。所以,为了能够扩充数据集,远程监督标注数据集的方法应运而生。Distant Supervision可以自动标注训练样本的原理很简单,它利用知识图谱中的两个entity以及这两个entity对应的relation,在大量文本中进行回标。如果某个句子中同时包含了这两个entity,那么就假定这个句子中的这两个实体描述了上述的relation,这样就可以获得大量的标注数据了。
论文整体架构:
模型整体架构如上图,和Zeng 2014模型一样,输入依然是两个位置向量和word本身的词向量拼接在一起作为输入,后面接卷积操作。
PCNN:
原来的CNN是对整个句子做卷积,然后对卷积后的向量做max pooling,即全局max pooling;而本论文中,采取了局部max pooling,即把一个句子分为三部分,以两个entity为边界把句子分为三段,然后卷积之后对每一段取max pooling, 这样便可以得到三个值,相比传统的max-pooling 每个卷积核只能得到一个值,这样可以更加充分有效的得到句子特征信息。
Multi Instance Learning:
上面引言中有提到远程监督获取大量标注数据的方法,很明显这种方法会产生大量的噪声数据,因为有的句子可能并不是描述该中relation的。
所以,为了缓解这种错误标注数据的影响,Multi Instance Learning(MIL)多实例学习出现了!它把描述同样的2个实体的句子组成一个bag,之前是给每个句子都硬性分配一个relation(即知识图谱中的relation),而现在是给这个bag标注一个对应的relation。MIL有一个At-Least-One 的假设:包含两个entity的所有句子中即一个bag,至少有一个句子可以正确描述该bag的relation。
所以,模型在bag中选择一个最大概率描述该bag标注的relation的句子进行模型的训练,bag中其他的数据都不参加训练,这样,训练数据的标注大部分便都是正确的了。通过参考代码,这部分的做法主要是先把状态调为model.eval(),然后把bag里的句子输入模型中进行预测,得到每个句子对应每个预测关系的概率向量,因为我们是知道bag的标签relation的,所以,找到bag中每个句子对应该relation位置上的概率,通过比较,该位置上概率得分最高的便是我们需要选择的句子。
模型实验结果及总结:
可以看到,模型的两种改进方法的确都有效果。
这篇文章在NYT + FreeBase 数据集上是比较好的效果了,它也是第一篇使用PCNN+Multi Instance Learning来处理Distant Supervision 的关系抽取。解决远程监督噪声数据的问题也是后续很多论文中的主要改进方向,例如对bag中的多实例做average、attention处理等,应用强化学习的方法进行远程监督噪声数据的滤除等等。