主要贡献
- 提出使用PCNN来自动提取特征。
- 往PCNN中加入multi-instance learning,用来解决远程监督引发的错误标签问题。
- 提出分段进行max pooling,从而考虑两个Entity之间的结构特征。
作者提出,之前关于关系分类的方法主要分为2种:
1. 基于特征的方法,这种方式对人工特征向量的要求较高,需要为数据集找出一种合适的特征表示。
2. 基于kernel的方法,这种方式可以对输入进行丰富的表示,例如句法树。它能够通过核函数来提特征,当然也有很多核函数被提出,例如:convolution tree kernel,subsequence kernel,dependency tree kernel
网络架构
以上是PCNN的网络架构,主要分为四部分组成:Vector representation、Convolution、Piecewise max pooling、Softmax classifier.
Vector representation
- Word Embeddings:采用Wrod2Vec。
- Position Embeddings:采用当前词到两个目标词的距离,2维。
上图中展示的Vector representation中,Word Embedding维度为4,Position Embeddings维度为2。向量总维度为 = 6。
Convolution
作者给出如下定义:
1. 一个feature map的参数为。
2. 一句话中单词的数量为,一个feature map卷积完得到结果
3. 定义了n个feature map ,figure3中展示了n=3的情况,因此生成了绿、蓝、橙三个。
Piecewise Max Pooling(分段max pooling)
如Figure3所示,Convolution的输出为,作者将每一行卷积结果分成3段,以两个Entity作为划分点,如图中灰色格子。然后对分别进行max pooling:
这样的每行会变成长度为3的向量,最终将它们拼成一个长度为3n的向量,然后使用
tanh进行非线性变化得到。
Softmax Output
将喂入soft max 分类器:
其中是一个权重矩阵,是最终输出,作者也在这一层加了dropout
Multi-instance Learning
作者将所有的句子分成T个bag,每个bag中包含句句子
算法如下:
损失函数使用交叉熵