作者:xg123321123
出处:http://blog.csdn.net/xg123321123/article/details/53218870
声明:版权所有,转载请联系作者并注明出处
distant supervised 关系提取是一种从文本中提取关系事实的方法。
知识库是一种可以被用在问答系统和Web搜索中的三元组关系事实(e.g.,(Microsoft, founder, Bill Gates))的集合。
目前已有了一些大型知识库(knowledge base,KB),如freebase等,但这些远不能将大千世界的关系网络表示清楚。
所以需要更多的知识库。很多被用来构建知识库的方法都需要大量标注好的训练数据,这需要大量人力。
distant supervised关系提取则用来缓解这一尴尬局面。
distant supervised关系提取假设如果知识库中包含特定2个实体的某句话属于某种关系,那么所有包含这2个实体的句子都属于这种关系。
语句编码器
先将每个句子转化为稠密实数向量,然后利用卷积,池化和非线性转换等操作构建起对应的句向量,原理示意图如下。
输入表示
卷积,池化和非线性操作
attention机制
给定一个实体对和其对应的关系,传统的方法在无标签的语料集中提取所有包含该实体对的句子,并认为这样的句子中实体也存在同样的关系。显而易见地,这种方法会因为一些噪音语料而影响训练效果
所以引入attention机制,给不同的语料赋予不同的权重,隐式地摒弃一些噪音语料,以此提升分类器的性能。
给包含某一实体及其关系的所有句子都分配权重,这个权重的大小代表着我们是否可以认为该句子包含着该种关系。
给定包含一个实体和n个句子的集合 S=x1,x2,...,xn ,将n个句子向量化表示为 x⃗ 1,x⃗ 2,...,x⃗ n ,加入attention机制时,权重定义为:
函数 e 体现了一个句子对于该关系的match程度。
其中 x⃗ i 是句子向量, A 是表示权重的对角矩阵, r⃗ 是代表着该关系的向量。
这样一来, e 的大小取决于 x⃗ 在 r⃗ 上的映射的大小,与该实体关系更加密切的句子可以取得更大的取值。
那么对于句子集合 S ,引入attention机制后,可以将其定义为向量 s⃗ :
加入attention机制得到句子集合向量 s⃗ 后,再通过一层网络得到 o⃗ :
最后,损失函数采用交叉熵:
attention机制
从上面两张图可以看出
- ONE模型(at-least-one multi-instance,每次只选取最后可能的一个句子进行训练和预测)效果要优于裸CNN模型,证明了过滤掉噪音语料是有效的;
- AVE模型(sentence-level attention’s naive version,上面的 s=∑i1nx⃗ i )效果优于裸CNN模型,证明了减弱噪音语料是有效的;
- 而AVE模型和ONE模型的效果接近,因为对噪音语料的处理都不是十分恰当;
- 实验也证明了文章对于噪音语料处理的有效性。
句子数目
使用CNN/PCNN+ONE,CNN/PCNN+AVE和CNN/PCNN+ATT三种模型在所有句子上训练,然后在每个实体对对应2个以上句子的实例中进行测试,分别使用随机选取1个句子,随机选取2个句子和选取所有句子的方式进行测试。
从上图可以看出
- 搭载ATT的模型在所有实验条件下都表现最好;
- 随机选取一个句子测试时,搭载AVE的模型和搭载ATT的模型性能接近,但当选取句子数目上升时,搭载AVE的模型的性能不再增加,说明将每个句子等同对待时,噪音语料会对关系提取有负面影响;
- 在选取一个句子做预测时,CNN+AVE和CNN+ATT的模型的性能明显优于CNN+ONE,由于这只跟训练有关,说明尽管一些噪音语料会带来负面影响,但训练时考虑的语料越多,总的来说,还是对关系提取有帮助的;
- 搭载ATT的模型要明显优于其余2种模型,说明当考虑的语料越多的同时,考虑的语料的质量越高,对关系提取的帮助越大。
对比手工提取特征的方法
从上图可以看出
- 基于attention机制的神经网络模型要明显优于手工提取特征的方法,不仅性能曲线整体更高,同时,下降得也更平缓;
- 同为使用神经网络的模型,PCNN+ATT要明显优于CNN+ATT,这说明attention机制只考虑了全局的句子层面的信息,而没有考虑到句子内部的信息,也就是说还可以通过使用更为强劲的句子编码神经网络获得更好的句子内信息,以此来提高关系提取的性能。
本篇博客主要参考自
《< Neural Relation Extraction with Selective Attention over Instances>笔记》