一、概要
该paper发于ACL2016上,主要提出了一个基于多Attention机制CNN网络的实体关系抽取方法,其中Attention机制主要是:Input Attention Mechanism和Convolutional Max-pooling Attention Mechanism。在不依赖于外部先验知识和特征的情况下,就已经能够得到高于当前最好方法的结果。
二、模型方法
2.1 模型结构
2.2 Input Representation
对于一个句子S=(w1,w2,…,wn),以及其中的两个实体e1(wp)和e2(wt),1<=p,t<=n,均将其转为词向量;并且根据每个词与实体的相对位置,也转为word position embeddings ,很明显,每个词与两个实体有两个相对位置,所以每个词有两个word position embeddings,所以,每个词的Input Representation由三部分组成,如句子中第i个词的Embedding可以表示为
同时为了充分得到上下文的信息,对于上面得到的使用滑窗的方法座位最终的Input Representation,即:
2.3 Input Attention Composition
根据2.2得到的word和entity Embedding,可以通过计算每个word与entity的内积以衡量它们的相近程度,即:
到这里已经获得词与两个实体的相关程度的量了,那么这两个量就可以作为Input Attention了,具体怎么使用呢?可以通过平均的方法,即:
2.4 Convolutional Max-Pooling with Attention
这时CNN就上场了,设卷积核
这时使用到Attention-Based Pooling了,通过:
其中U是一个在网络中学习的权值矩阵,
那么最终输出为:
2.5 代价函数
该论文提出使用
在相减前均使用L2正则化,该作者还出输出与错误标签对应的
其中
三、实验和结果
实验数据取自SemEval-2010 Task 8 dataset 。在Wikipedia上使用 word2vec skip-gram model训练词向量。作者在双attention model Att-Pooling- CNN模型上取得F1值为88%。
作者还分析了一些错误分类的实体关系,以及训练时Att-Input-CNN and Att-Pooling-CNN的特性,如下图:
四、结论与思考
作者认为其提出的全新模型性能优于目前他人提出的模型或者利用先验知识得到的结果,并且认为此类模型在特定任务的的实体关系分类也能取到很好地效果。
五、个人思考:
①Input Representation部分k个相邻的词组成一个输入,设计的Input Attention知识针对一个word,而不是相邻的k个word;
②该模型在Max-Pooling with Attention的设计上没有体现出其合理之处,文中缺少其解释或者intuition,可能还有更好的设计方法;
参考文献:
①Linlin Wang, Zhu Cao.Relation Classification via Multi-Level Attention CNNs.http://iiis.tsinghua.edu.cn/~weblt/papers/relation-classification.pdf
②代码链接:https://github.com/FrankWork/acnn