论文:ACL2016-Neural relation extraction with selective attention over instances
远程监督关系的抽取:被广泛用于从文本中找到新的关系,但这却总会伴着错误的标签,基于这个问题,后面提出了将多实例与神将网络相结合的方法,但会丢失大量有用的信息,训练效果并不好。
因此,本文提出一种基于句子级注意力的CNN用于远程监督关系抽取
输入一个句子以及两个实体,我们的model对每个关系r的可能性进行计算
两个模块:
Sentence Encoder:输入句子x和两个entity,经过cnn后生成对应的句子表示X
Selective Attention over Instance:基于实例的选择性注意
如图所示,具体流程为:
1、输入含m个word的序列x={w1,w2,….wm}生成word embedding 表示每个单词为da维
2、信息提取中,接近entity的word是最能提供信息以决定是否有关系,因此我们应用位置嵌入,他可以跟踪与头实体或尾实体的接近程度,最终生成的每个单词的嵌入矩阵为
3、主要的问题是句子长度是可变的,信息可能存在于任何区域,我们通过卷积层合并所有特征。
我们通过一个长度为l的滑动窗口从句子上提取局部特征,这里的卷积被定义为卷积矩阵和序列词向量的成绩,我们定义
第i层卷积计算为:
(这里我理解W为一个dc层的卷积矩阵,生成dc个m维向量,然后拼接在一起,生成一个R(dc*m)的矩阵)
最后经过池化层,池化层可以直接取最大值,或者采取分段最大池化,然后拼接的方法。
4、Selective Attention over Instance:
我们定义S={x1,x2,…..xn},表示句子的集合
集合矢量为
我们用两种方法定义a 平均x或选择性注意,
选择性注意:
而这个e用来定义xi和关系r的相似程度,这个地方被称为bilinear form 也就是双线性模型。而这个地方的r是我们要注意的一个关键点。
我们首先意识到,这里是一个注意力机制,而注意力机制最关键的地方便是找到context vector,普通的选择性注意力机制,需要extra information来计算相似度,而这个地方,便是关系r,我们通过不断的学习,生成变量r,最奇特的是r是我们学习得来的,也就是说这个r可以是关系r,甚至可以说成是什么context vector,这都是我们解释得来的,后面我会好好解释一下这个地方。
最后经过一个输出层,然后softmax操作生成一个概率向量,在已知对应关系r的条件下,最大化对应的概率,如下面的公式: