PCNN的开山之作,针对关系提取问题中数据标注错误的现象和基于规则的传统统计模型特征抽取准确率不高的问题提出解决方法。通过Piecewise Max Polling的方法,提高了关系提取的准确率,采用多示例学习的方式从训练集中抽取取置信度高的训练样例训练模型减少数据标注错误。
论文地址:
https://www.aclweb.org/anthology/D15-1203
引言
远程监督
为了减少模型对人工标注数据的依赖,基于以下假设:两个实体如果在知识库中存在某种关系,则包含该两个实体的非结构化句子均能表示出这种关系,人们提出了远程监督的概念。例如,"Steve Jobs", "Apple"在 Freebase 中存在 founder 的关系,那么“Steve Jobs was the co-founder and CEO of Apple.”可以作为一个训练正例来训练模型。
远程监督的缺陷
1.噪声过大
远程监督的前提假设过于肯定,实际上并不成立,完全按照这个假设去构建数据会带来大量的信息噪声。如 "Steven Jobs passed away the day before Apple unveiled iPhone 4s in late 2011."这句话中并没有表示出 Steven Jobs 与 Apple 之间存在 founder 的关系。
2.错误传递
之前的方法在数据构造过程严重依赖于 NER 等 NLP 工具,每一步的错误会不断累加造成错误传播问题,从而导致最终的数据构造结果准确度的下降。
模型
Piecewise Max Pooling
PCNN的模型比较简单,与传统卷积神经网络的区别主要在于池化层的改变。
通过 word2vec 的 Skip-gram 模型将词表示成向量形式,与位置向量(各词语与两个实体的相对位置)进行拼接作为输入,之后通过卷积层得到 feature map。在池化层通过两个实体位置将 feature map 分为三段进行池化,其目的是为了更好的捕获两个实体间的结构化信息。最后,通过 softmax 层进行分类。
多示例学习(Multi-instance Learning)
多示例学习实际是一种半监督算法。考虑这样一种训练数据:我们有很多个数据包(bag),每个数据包中有很多个示例(instance)。我们只有对bag的正负类标记,而没有对instance的正负例标记。当一个bag被标记为正时,这个包里一定有一个instance是正类,但也有可能其他instance是负类,当一个bag被标记为负类时,它里面的所有instance一定是负类。我们的目标是训练一个分类器,可以对instance的正负进行判别。
多示例学习在现实中其实很常见。如一篇文章违禁时通常是因为该文章具有某些违禁词,但我们可能无法知道具体是哪个词违禁。在这个例子中,bag就是文章,instance就是单词。
又如在医学图像领域,CT图被标定为有无病症,而一个人有病症是因为在CT图的某个区域被检测为病灶区域。我们往往只有CT图的标注,但没有CT图中每个区域的标注。这时,bag就是CT图像,而instance就是CT图中的小区域。
在这篇文章中,以句子为单位,作者构建了如下图所示的数据结构。将数据拆分成T个包,每个包包含了qT个示例。
在数据训练的过程中,其目标函数是
表示的是关系类别,表示的是第 i 个包中的第 j 个样例,是每个包中包含的样例个数。其核心思想是通过多示例学习的方法选取每个包中置信度最高的样例作为正样例进行训练。
结果
Held-out Evaluation
与之前的方法相比较,PCNN的准确率和召回都有明显的提升。
Manual Evaluation
为了证明PCNN确实可以减少信息噪音,作者通过人工的方式对几种方法抽取出的数据进行了对比,证明PCNN的准确率确实取得了一定的提升。
Piecewise Max Pooling和多示例学习的作用
为了证明Piecewise Max Pooling和多示例学习确实可以增加PCNN模型的性能,作者还分别进行了不使用这两种技术和单独使用这两种技术的实验。实验结果表明,这两种技术都能够给关系提取任务带来性能的提升,组合使用,效果最好。
总结
这是第一篇提出Piecewise Max Pooling的文章,这种方法现在已经在很多模型中得到了应用,并且被证实在很多任务中有不错的表现。多示例学习也给远程监督的方案提供了更好的准确性保证,值得在其他工作中尝试使用。
扫码识别关注,获取更多新鲜论文解读