塞进裤子ヾ(≧O≦)〃嗷~

0%

PCNN:Distant Supervision for Relation Extraction via Piecewise笔记

远程监督进行关系抽取存在两个问题:
①引入wrong label data
②传统方法如统计模型,使用人工设计的特征,特征提取过程中产生的噪声会导致性能下降。
作者提出PCNNs(NPiecewise Convolutional Neural Networks)
针对第一个问题,将远程监督关系抽取看作multi-instance problem,考虑了实例标签(instance label)的不确定性。
multi-instance problem:训练集包含很多bags,每个bag包含很多instances。bag的label是已知的,bag中的instance的label是未知的。作者设计bag级别的目标函数,学习过程中会考虑instance label的不确定性性,缓解wrong label problem。
针对第二个问题,采用CNN,piecewise max pooling自动学习相关特征。

Intro


上图展示了远程监督例子。distant supervision作为一种自动标注数据的方法,存在两个缺点:
①假设太强,导致wrong label data。
②数据构造过程借助NER等NLP tools ,不可避免存在一些error,导致error propagation or accumulation。

Supervised方法将关系抽取看作多分类(multi-class classification)问题,经常遇到缺少标注好的训练数据问题。
Fig3

3 Methodology

将基于远程监督的关系抽取问题形式化为multi-instances问题,利用PCNNs自动学习特征,而不需要借助于NLP预处理。

3.1 Vector Representation

输入是raw word tokens,通过lookup-table转为低纬度的embedding;此外,利用postion features识别entity pairs。

  • 3.1.1 word embedding
    使用Skip-gram训练word embedding
  • 3.1.2 position embedding

    Position Feature(PF)指的是当前单词到实体$e1$和$e2$的相对距离,如上图中,”son”到$e1$(Kojo Annan)和$e2$(Kofi Annan)的相对距离分别是3和-2.
    两个position embedding矩阵(PF1和PF2)被随即初始化,然后转变为real valued vectors。

在Fig3中,word embedding尺寸为$d_w=4$,两个position embedding矩阵的尺寸分别为$d_p=1$,组成矩阵$S$输入到卷积层。

3.2 Convolution

采用针对文本的卷积,zero-padding,filter大小为3*d,从上至下,单向滑动。

3.3 Piecewise Max Pooling

传统的max pooling方法,对于减少隐藏层的尺寸大小太剧烈(rapidly)和对于捕捉的关系抽取特征太粗糙。此外,这种pooling方法不能很好地捕获实体间的结构化信息。
在关系抽取中,输入的句子可以被两个实体分为三部分,因此,作者提出piecewise max pooling,返回每个分段的最大值而不是单一的最大值。
如Fig3,卷积层每个filter的输出$c_i$被两个实体(紫色表示)分为三部分${c_{i1},c_{i2},c_{i3}}$.
$p_{ij}=max(c_{ij}) , 1<=i<=n, 1<=j<=3$
n为filter的个数,在Fig3中,filter个数n为3。以Fig3为例,对于每一个filter,得到一个3维向量$p_i={p_{i1},p_{i2},p_{i3}}$,然后cancate所有向量$p_{1:n}$.
piecewise max pooling输出为
$g=tanh(p_{1:n}) , g \in R^{3n}$

3.4 Softmax Output

$o=W_1 g+b$
其中,$W1 \in R^{n_1*3n}$,$n_1$为关系抽取系统中possible relation type的数目。
加入dropout,定义一个掩码向量$r$,它满足伯努利分布,它给出了哪些隐单元被保留哪些隐单元被删除(删除指的是该单元的输出为0):掩码为 0 的位置对应的隐单元被删除,掩码为1 的位置对应的隐单元被保留。
上式变为$o=W_1 (g \circ r +b)$,其中$g \circ r$指的是mask operation。

3.5 Multi-instance Learning

假设有T个bags${M_1,M_2,..,M_T}$,每个bag都有一个relation标签,第i个bag包含$q_i$个instances,即$M_i={m_i^1,m_i^2,…,m_i^{qi}}$。
给予一个input instance $m_i^j$,网络输出一个向量$o$,第r个coponent$o_r$对应relation $r$的得分。
为获得条件概率,采用softmax
$p(r|m_i^j)=\frac{e^{o_r}}{\sum_{k=1}^{n1}e^{o_k}}$
其中,$m_i^j$表示第i个包的第j个instance。
multi-instance的目标是预测unseen bags的label,区分bags而不是instances。每个bag上的label就是两个entity 的relation。而上面的概率是计算的bag里面某一个instance的,所以需要定义基于Bag的损失函数,文中采取的措施是根据At-Least-One的假设,每个Bag都有至少有一个标注正确的句子,这样就可以从每个bag中找一个得分最高的句子来表示整个bag。

找到每个bag中置信度最大的instance,代表当前bag

其中,$y_i$表示第i个bag所代表的关系类别,$q_i$表示每个bag包含的instance个数
bag级别的交叉熵函数如下

(hang我去,这部分没看懂)

if help:小手一抖点个广告 or 大手一挥资助一下