论文笔记:Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/MebiuW/article/details/75807674

Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks

========简陋的记录===========
背景知识:Distant Supervised Relation Extraction,该方法的主要思想是,假设知识库KB当中存在实体与实体的关系,那么将KB当中的关系引入到正常的自然语言句子当中进行训练,例如‘苹果’和’乔布斯’在KB中的关系是CEO,那么我们就假设类似于“【乔布斯】发布了【苹果】的新一代手机”的句子上存在CEO的关系,如此,利用KB对海量的文本数据进行自动标注,得到标注好的数据(正项),再加入一些负项,随后训练一个分类器,每个分类是一个关系,由此实现关系抽取。
在Distant Supervised Relation Extraction当中,面临着两个问题:1)KB当中Entity之间的关系和自然语言文本的对齐是启发式的,两个Entity同时存在一个句子就被标记起KB当中的关系,然而这假设太强,就存在很多错误标记的问题(如“【乔布斯】吃了一个【苹果】”,就是错误标记,KB中表示这两个是CEO关系,但实际上不是)。2)采用统计模型去分类的时候,应用的是人工设定的特征(特征工程错误、NLP工具的本身的Error 引起Error Propagation),其中可能存在一些上的错误,由此导致性能受影响。为了解决这个问题,本篇文章提出了一个名作PCNN的框架,加上Multiple Instance Learning学习方法,共同去解决1、2的问题。为了解决问题1,错误标记的问题,采用了Multiple Instance Learning(所有instance被聚合到若干个包当中,一个包如果被标记为正项,那么至少有一个正项instance,如果被标记为负项,那么 一定不存在一个正项instance),由此降低错误标记带来的影响。为了解决问题2,特征工程的错误,则直接不引入任何人工特征工程的工作,直接使用一个CNN + Piecewise Max Pooling 去抽取特征。
传统的关系抽取方法,包含bootstrap、无监督发现或者有监督分类集中模式。其中有监督的方法是最常使用的,也是性能表现最好的一类,有监督主要是将关系转换成类别标签去考虑。但是,有监督的方法需要大量的数据,如果基于人工去标注每一句话当中的距离,那么明显是不现实的,也因此,这个方法也一直受制于训练数据量不足的问题。为了解决这个问题,才引入了Distant Supervised Relation Extraction,引入外部KB来实现自动化的语料标注。自动标注解决了语料的数量问题,但是其标注质量一般,存在大量的wrong label,于是又引入了multi-instance learning来解决这个问题。与此同时,如何提取特征也是一个很重要的工作,主流的方法有两种,基于特征的,无论基于什么方法,都难以找到高质量的特征。于是,本文准备使用PCNN进行特征抽取和分类。
在PCNN部分,其特点在于:1、使用了预训练的Word-Embedding 2、加入了Position Embedding,3、卷积部分是采用了常见的针对文本的卷积核设计,单向滑动。 4、在池化层,是按照分段进行max pooling的,而PCNN的P就是这个代表,将句子按照两个entity进行分割,分割得到三段,这三段分别进行max pooling。5、最后使用一个Softmax分类器进行类别判断。
在Multiple instance learning部分,专门针对次修改了优化的方法,来适应使用Multiple Instance Learning来降低Wrong Label。目前的理解是,针对上述PCNN模型,假设需要学习的参数是P,且训练数据一共有T个bags,C种关系,那么在训练时则在bag级别进行训练,损失函数为bag级别的交叉熵,每个袋子预测为关系r的概率为这个袋子里被预测为袋子r关系最大的值,即分类器仍然是在袋子里面的instance级别进行计算,但是在计算损失更新参数的时候,则同时考虑这个袋子里面的所有instance,选择概率最大的那一个作为这个袋子的代表。就这样每轮将Mini-batch里的所有袋子的损失计算出来,用于更新参数P,即bag-level,而不是传统的instance level。
实验部分主要关心:1、利用Multiple Instance Learning + PCNN能否提升性能2、测试不同参数的影响。数据集使用了一个公开的数据集,KB是Freebase,而metric为precision/recall。实验Baseline部分包含:传统的Distant Supervision RE Baseline、包含Multiple-Instance改进的,同时包含Multiple-Instance+Multiple Labels改进的。实验显示该方法均高于Baseline模型不少

猜你喜欢

转载自blog.csdn.net/MebiuW/article/details/75807674