本文主要是介绍Distant Supervision for Relation Extraction with Sentence-Level Attention and Entity Descriptions,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
主要贡献
- 作者提出了基于句子级别的Attention模型来选择有效的句子。
- 从FreeBase和Wikipedia页面去获取实体描述,从而弥补背景知识不足的缺陷,从而给实体更好的representation。
- 做了很多实验,效果很好。
任务定义
- 所有句子被分到N组bags中, {B1,B2,⋯,Bi} { B 1 , B 2 , ⋯ , B i }
- 每个bag中的的句子都描述了同一组实体的关系 r(e1,e2) r ( e 1 , e 2 ) 。
- 每个bag中有qi句句子, Bi={b1,b2,⋯,bqi}(i=1,2,...,N) B i = { b 1 , b 2 , ⋯ , b q i } ( i = 1 , 2 , . . . , N )
这个任务的目标是,预测每个bag对于的label。
主要方法
提出基于sentence-level attantion 模型,目的是想从每个bag中,找到尽可能多的对关系分类有帮助的句子。
通过实体描述来提供更多的背景知识
网络架构
该网络主要由两部分组成:: PCNNs Module and Sentence-level Attention Module. PCNNs Module includes Vector Representation, Convolution and Piecewise Max-pooling. Sentence-level Attention Module is composed of Attention Layer and Softmax Classifier.
PCNNs Module模型
单词的Representation
- Word Embeddings:使用Word2Vec
- Position Embeddings:当前单词到两个目标单词的距离,是一个2维向量。
然后作者将Word2Vec与Position Embeddings拼接起来。
Convolution
假设A与B向量都是m*n维的,定义运算符⊗,
将一句句子表示为
其中si是表示句子中第i个单词的向量表示。
[si:sj] [ s i : s j ] 表示将第i个与第j词向量拼接起来。
作者定义n个大小为w*k的feature map(w为考虑的相邻单词数量,k为每个单词向量的长度),每个feature map会覆盖w个相邻单词的词向量,如图(a)所示,一个feature map从左到右计算完之后,会生成一个长度为|S|-w+1的向量,一共有n个feature map,因此总工会生成n个长度为|S|-w+1的向量 C={c1,c2,⋯,cn} C = { c 1 , c 2 , ⋯ , c n } 。
Piecewise Max-pooling
上面每个feature map会生成一个长度为|S|-w+1的向量c,这里将c按照两个entity划分成3段,图(a)中ci灰色的节点即为entity,然后对每一段分别进行max pooling,然后将它们拼接起来,因此最终会生成一个长度为3n的向量,即图(a)中的sentence feature vector。
Sentence-level Attention Module
Attention Layer
作者从graph embedding里面找到灵感,使用两个词向量的差来表示关系特征,v_{relation} = e1 - e2.
如图(b)所示,bi为一句句子的向量,作者提出以下两个公式来计算Attention的权重,如果一句话表达出的关系是正确的,那么它的权重将会较高,错误的会较低:
即将v_{relation}与一组bag中每句句子做连接,计算一个ωi,然后通过softmax算出每句句子的权重,最后再通过下面这个公式计算整个bag的带权特征:
sotfmax
得到了带权特征之后,再通过softmax对一组bag预测一个最终的关系,如下所示
Entity Descriptions
作者提出,背景知识能够提升对两个实体关系预测的准确性,因此作者又用过一个CNN来进行背景知识的特征提取,并构建如下<实体,关系>映射表:
其中di是通过CNN计算出来的,作者希望实体的描述与实体本身尽可能一直,因此使用如下损失函数来计算 di d i :
Training Objective
在训练的时候,首先使用叫cross-entropy损失函数(公式(9))来训练sentence-level Attention模块,然后在联合训练Entity Descriptions(公式(10)):
实验结果
这篇关于Distant Supervision for Relation Extraction with Sentence-Level Attention and Entity Descriptions的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!