知识图谱—关系抽取—远程监督—综述(二)

此文章接上一篇关系抽取OpenNRE。

一、PCNN+MIL

PCNN全称是Piece Wise CNN,是在CNN基础上通过修改Pooling的方式得到的。

知识图谱—关系抽取—远程监督—综述(二)_第1张图片

        输入仍然是一个sentence,Input Layer依然是word embedding + position embedding, 后面接卷积操作。之后的Pooling层并没有直接使用全局的Max Pooling, 而是局部的max pooling。文中把一个句子分为三部分,以两个entity为边界把句子分为三段,然后卷积之后对每一段取max pooling, 这样可以得到三个值,相比传统的max-pooling 每个卷积核只能得到一个值,这样可以更加充分有效的得到句子特征信息。 (这也是PCNN和CNN的主要区别)假设一共有个N个卷积核,最终pooling之后得到的sentence embedding的size为: 3N3N, 后面再加softmax进行分类,最终得到输出向量o, 上面的示意图很清晰了,其中的c1,c2,c3是不同卷积核的结果,然后都分为3段进行Pooling。 下面可以减弱错误label问题的Multi-Instance Learning。这里面有一个概念, 数据中包含两个entity的所有句子称为一个Bag。先做几个定义:

        这样经过softmax 就可以计算每一个类别的概率了

知识图谱—关系抽取—远程监督—综述(二)_第2张图片

        这里需要说明的是,我们的目的得到每个bag的标签,并不关注bag里面instances的。因为每个bag上的label就是两个entity的relation。 而上面的概率是计算的bag里面某一个instance的,所以需要定义基于Bag的损失函数,文中采取的措施是根据At-Least-One的假设,每个Bag都有至少有一个标注正确的句子,这样就可以从每个bag中找一个得分最高的句子来表示整个bag,于是定义如下的目标函数: 假设训练数据为T个bags: :

知识图谱—关系抽取—远程监督—综述(二)_第3张图片

        数据集: NYT+FreeBase,过滤掉了样本少的关系,最后使用了26类关系,数据描述如下:

        评测: - Held-Out Evaluation: 直接在Test Dataset上进行评估,使用多分类的Precision-Recall Curve(基于不同的分类阈值)来衡量, PR曲线越靠近右上,证明分类效果越好:

知识图谱—关系抽取—远程监督—综述(二)_第4张图片

        可以看出来,PCNN + MIL 表现最好,Precision和recall都要优于baseline。

二、PCNN+Attention

        在上述PCNN+MIL中,每一个bag仅仅取置信度最高的instance,这样会丢失很多的信息,因此一个bag内可能有很多个positive instance。应用Attention机制可以减弱噪音,加强正样本,因此可以更充分的利用信息。

知识图谱—关系抽取—远程监督—综述(二)_第5张图片

        其中是某一个bag的instance,图中的CNN模块与PCNN+MIL的相同(Embedding Layer->Convolution Layer -> Piecewise Max Pooling Layer) 最终得到每个句子的表示。为了能够充分的利用bag内的信息,我们可以对所有instance取加权: 其中α是权重比例,文中给出了两种定义权重的方法:

知识图谱—关系抽取—远程监督—综述(二)_第6张图片        遍历完所有的relation之后, 得到每个relation的概率,取max即可。 这个过程其实相当于一个遍历的过程,复杂度有点高,而且解释性比较差,是一个可以改进的一个地方。

        文中首先做了在CNN/PCNN的基础上,如何使用bag内的信息的对比试验,结果如下,其中CNN/PCNN表示没有引入MIL,+ONE表示ZENG2015的取置信度最高的一个,+AVE与+ATT则是文中提出的两个:

知识图谱—关系抽取—远程监督—综述(二)_第7张图片

        可以看出来,Attention的效果最好, 而且+ONE比+AVE要稍微好一些,也很容易理解,+AVE对噪音数据放大了影响。与上一章全监督一样,Attention的作用很明显,而且用在这里很直观, 对bag内的句子赋予不同的权重,一方面可以过滤噪音,又可以充分利用信息。

你可能感兴趣的:(知识图谱)