Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks [论文研读]

《Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks》是Zeng在2014年那篇经典论文之后的有益著作,这篇论文提出PCNN方法,将卷积网络特征提取应用于远距离监督,而且还引入多示例学习方法。

论文链接:Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks


摘要

文章在摘要部分主要提出了两个问题,主要是在训练数据少的情况下,如何更好的自动获取训练数据。

问题1:在论文所处的目前阶段,已存知识库被用来做启发式文本对齐,那么对齐的结果呢作为标记的数据,然而这个标记数据不全是正确的,是有错误的标记数据存在的。

问题2:用统计方法提取句子特征,句子之中的噪音会导致提取的效果不显著。

文章提出两个方法分别应对这两个问题,对于问题一:由于有错误标记数据(标签)的存在,所以采用多示例学习的方法,允许被标记的句子或示例中有错误标记的存在。针对问题二:传统的统计方法不能忽略噪音对特征抽取的影响,这里使用分段卷积网络(PCNN)的方法,来对句子提取特征。

1.介绍

关系抽取训练数据少,面临着生成训练数据的挑战,所以,这里用到远距离监督的方法。这种远距离监督的方法会假设:在已有的知识库中,两个实体有关系,则所有包含两个实体的句子都会表示这种关系。

这个假设有两点不足的地方:第一,假设过于牵强,一个句子,即便包含两个实体也不一定能表示两者之间的关系。有可能两个实体共享一个主题也有可能;如下面的两个句子:

1.Steve Jobs was the co-founder and CEO of Apple and formerly Pixar.

2.Steve Jobs away the day before Apple unveiled iPhones 4S in late 2011.

上边的两个句子,第一句话表达了Steve Jobs 和 Apple 之间的"company/founders"关系,而第二句却没有表示这种关系;     第二,抽取关系的过程中,需要精心设计特征,这就需要使用现有的NER或者其他NLP工具,造成错误的累计并且这个累计会随着时间的增长越来越重。下图就是语法分析功能随着句子长度越长,效果越差。

对于标记数据的错误标签问题,利用多示例学习的方法:训练集由多个包组成,每个包包含多个示例,包的标签是已知的,而包中示例的标签是未知的。考虑了标签的不确定性。Zeng在2014提出用CNN(卷积神经网络)解决句子特征提取的问题,这里他又一次将CNN延伸到远距离监督问题当中,为了捕获结构和其他潜在信息,根据两个实体的定位信息,将卷积分为3个部分进行,并设计分段最大池化层(piecewise max pooling layer),返回每一段的特征最大值。

文章贡献:

  • 在远距离监督关系抽取问题上,抛弃了复杂的特征设计,而采用自动特征提取PCNN。
  • 利用PCNN+多示例学习解决包含的错误标签问题,生成训练集。
  • 设计了max-pooling-layer,捕获两实体结构信息。

2.相关工作

关于监督范式,一开始Bunescu、Mooney、Zeleko、Zhou等人将关系抽取认为是多分类问题,但是缺乏数据集。然后Mintz采用FreeBase,远距离监督方法解决缺乏数据的问题,这是可能出现错误标签问题,为了解决兼容错误标签的问题Riedel、Hoffman等人提出多示例,采用包(bag)来区分。

关于特征提取的方法也有很多的演进,现存在的方法大体是基于核的方法或者基于特征的方法。本文我们使用分段卷积神经网络自动提取特征。

3.方法

整个过程包括了四个主要的部分:向量表示、卷积、分段最大池化、softmax输出。

3.1 向量表示

词嵌入:多次试验证明,采用词嵌入的形式可以更好的捕捉两实体之间的语法和语义信息,这里使用预先训练好的词嵌入,将词向量先初始化在优化。文章中使用Skip-gram模型来训练词嵌入。

位置向量:在此嵌入向量中拼接位置向量来更好的表达两实体的相对位置信息。位置向量如下面句子:Kojo Annan与son的相对距离为3,而Kofi Annan与 son的相对距离为-2,所以PF=[-3,2]

....hired Kojo Annan,the son Kofi Annan,in.....

3.2 卷积

以图中示例为例,假设过滤器的长度为3(w=3),w\in \mathbb{R}^{m} (m=w*d),一个句子为S=\left \{ q_1,q_2,.....q_s \right \},则卷积操作的数学表达式为:c_j = wq_{j-w+1:j},这里我们定义n个过滤器(卷积核)(W=\left \{ w_1,w_2,.....w_n \right \})(W=\left \{ w_1,w_2,.....w_n \right \})。卷积操作被描述为:

                                                              c_{ij} = w_iq_{j-w+1:j} (1\leqslant i\leqslant n)

这里的卷积操作其实就是向量表示的部分向量和卷积核进行点成操作:

3.3分段最大池化

在2014年Zeng提出的CNN中max-pooling不够用的原因有三个:

  1. 隐藏层缩小过快
  2. 捕捉特征过于粗糙
  3. 不足以捕获两个实体之间的结构信息

这里我们以两个实体的位置将卷积得到的向量分为3个部分,然后分别进行max-pooling后,其长度就与句子的长度无关。max-pooling的操作就是选取别最大池化部分的最大值,如之前的结构图Piece max pooling部分:

                                                       p_{ij} = max(c_{ij}) \left \{ 1\leqslant i\leqslant n,1\leq j\leq 3 \right \}

最后,将piece-max-pooling后的向量输出g

                                                       g = tanh(p_{1:n})

3.4 Softmax 输出

将上一层输出的向量g,送入一个softmax分类器:

                                                        o = W_1g + b   

这里采用dropout方法,对神经网络进行dropout,此时0<r<1

                                                      o = W_1(g*r ) + b

3.5多示例学习

在本文中,基于PCNNs的关系抽取被视为五倍的参数\theta=(E,PE_1,PE_2,W,W_1)^2,设有T个bags\left \{ M_1,M_2,....M_t \right \},第i个bag包含q_i个示例,即M_i = \left \{ m_1^i,m_2^i,......m_{qi}^i \right \},所有句子(示例)在bag中被认为是独立的。

这里需要说明,在每个包的标签是已知的,而包内的句子标签是位置的。如果包的标签为正,则保内至少有一个句子标签为正;如果标签为负包里所有的句子标签都为负。在本论文中,即如果认定包的标签是y_i,则至少有一个句子的标签为y_i

在r关系上的分数这里表示为o_r,为了得到条件概率:p(r|m,\theta ),我们加入一个softmax操作:

                                                                         p(r|m_i^{j})=\frac{e^{o_r}}{\sum_{k=1}^{n_1}e^{o_k}}

给出所有的(T)训练包(M_i,y_i),我们通过交叉熵定义了函数:

                                                                        J(\theta ) = \sum_{i=1}^{T}logp(y_i|m_i^j;\theta )

这里j是通过下面公式求的:

                                                                 j^* = {argmax}_j p(yi|m_i^j;\theta ) 1\leqslant j\leqslant q_i

这个公式的意思是找到第个包最符合(最大概率)y_i类句子的索引值j。

整个算法的过程如下图所示:

4.实验

数据集:NYT数据集

预训练词嵌入:Word2vec

参数设置:

parameters used in experiments
Window size Feature maps Word dimension Position dimension Batch size Adadelta parameter Dropout probability
     w=3   n = 230   d = 50     d=5   b=50 \rho =0.95,\varepsilon =1e^{-6}     p=0.5

后边即是在使用了PCNN和Piece-max-pooling后效果有了提高。

5.总结

本文利用多实例学习的分段卷积神经网络(PCNNs)进行远程监督关系抽取。 在方法中,特征是自动学习的,不需要复杂的NLP预处理。 论文还成功地设计了一个分段最大池层 在提出的网络中捕捉结构信息,并结合多实例学习来解决错误标签问题。 实验性的结果表明,该方法比同类方法有明显的改进。

整个论文的贡献就在于分段卷积神经网络和多示例学习的关系抽取应用于远距离监督问题,显然这篇文章的方法还不是特别理想,监督问题的关系抽取实体分类现在F1值已经能达到将近90,当然数据比较少的情况下,如果解决训练集自动生成问题,监督学习应该还可以继续进步。


个人拙见,欢迎一起交流,批评指正~

 

发布了15 篇原创文章 · 获赞 2 · 访问量 2191

猜你喜欢

转载自blog.csdn.net/Mr_WangYC/article/details/104458692