笔记:Multi-Level Structured Self-Attentions for Distantly Supervised Relation Extraction


Multi-Level Structured Self-Attentions for Distantly Supervised Relation Extraction

作者:Du.J et al.EMNLP 2018.

目录

  • Inroduction
  • Method
  • Experiments
  • Conclusion

1 Introduction

发现问题:之前有很多针对DS噪声数据问题的paper,其中与attention结合的方法效果显著,但之前的attention model都是1 D的vector,作者认为1 D vector 的attention对于无论是句子的表示还是multi-instances的表示都不足,因此为解决这一问题,本文作者提出了multi-level(2-D matrix,D为特征维度) structured self-attention 机制,

2 Method

首先针对之前的paper方法,如Lin.2016\(^{[2]}\)采用sentence-level multi-instances attention,但针对每一个句子只是直接将其扔到CNN中并没有对句子做word-level的attention 来表示句子。对于Zhou 2016.\(^{[3]}\)虽然提出使用attention做word-level的sentence representation进而抽取relation,但其只是针对单个句子没有采用mutil-instances即并没有针对distant supervision的mutil-instances中有噪声的问题。

所以作者认为在DNN-based DS RE中有两个重要的的表示的学习的问题:(1) 从单个句子中学习到的面向entity pair的context 表示学习;(2) 针对mutil-instances学习一个有效句子的选择的表示--即对bag中所有句子attention,选择即给bag中所有句子分配不同的权重,最后得到multi-instances的表示:bag_rep.

对于这两个问题之前已经有一些paper提出解决的方法了,如Lin.2016\(^{[2]}\), Zhou 2016.\(^{[3]}\)等,本文只是在此基础之上,针对Introdution中的问题,提出了mutil-level 的attention。因为之前的无论是sentence-level、word-level attention,它的attention都是1-D的,对bag中的句子或每个句子中的所有词加权求和后,得到的是1-D的vector(在不考虑batch的情况下)即可以理解为只是对multi-instances或sentence中所有words,在一个aspect的表示。

2.1 Architecture

整体结构如下图Figure1所示,从整体上来看可以将其分为三个部分。first part:包括embedding layer在内的Bi-LSTM层,目的是对输入的seq进行信息的提取,将其转换为 by time steps的 LSTM hidden states vector \(H = (h_1,h_2,...,h_N)^T\), 其中h维度2u,u为LSTM的单元数)。second part:即word-level的attention包括后续的context representation layer、flatten layer。third part:即sentence-level attention,包括后续的averaged attention、selection layer。最后将整个bag_rep交给softmax做关系分类预测。

2.2 Structured Word-Level Self-Attention

整个模型输入以一个bag为基本单位,对于其中的某一个句子\(S_j\) ,可以被embedding为\(S_j = (e_1,e_2,...,e_N)\) ,经过BiLSTM之后得到对应的hidden state表示,\(H = (h_1,h_2,...,h_N)^T\).
对于word-level attenion以H为输入,维度为\(2u*N\), 这层的目的就是对一个句子中的所有单词加权处理得到attention后的句子表示。那么首先要进行权重的计算,如下公式Eq (3).

\(A_{L1}\)为word-level的attention,是一个大小为\(r^{L1}\times N\)的annotation矩阵,其中\(L1\)表示first-level的attention机制。\(W_{s2}^{L1}\)是大小为\(d_a^{L1}\times2u\)的权重矩阵,其中\(d_a^{L1}\)为超参--attention网络的神经元个数,\(W_{s2}^{L1}\)也是权重矩阵,大小为\(r^{L1}\times{d_a^{L1}}\), 其中\(r^{L1}\)也为超参,代表2D attention matrix中mutilple vectors的数量即2D attention matrix有多少行,\(r^{L1}\)的大小则基于我们需要focus sentence多少个不同的aspects,即matrix每一行r代表一种sentence的表示。

拿到权重之后,\(A_{L1}\)与H相乘得到\(r^{L1}\)个权重和,如下公式Eq (4),其中\(M_{L1}\)的shape为\(r^{L1}\times2u\)。因此我们可以说由传统的1-D sentence 表示,扩展到了2-D的表示(\(r^{L1}\)>1)。

最后我们把\(M_{L1}\)交给平层Flaten layer后再经过线性非线性变换得到second part最后的输出\(O_j^{L1}\),如下公式Eq (5)。其中,\(M_{L1}^{FT}\)为经过flat之后的\(M_{L1}\)(\(二维矩阵: (r^{L1}\times2u)\;\overrightarrow{flat}\;一维vector: r^{L1}\ast2u\)),\(W_o^{L1}\)为二维权重矩阵大小为\(v\times{(r^{L1}\ast2u)}\),b为大小为\(v\)的一维偏置向量。\(O_j^{L1}\)为bag中第j个instance的聚合句子表示,\(size = v\).

以上只是bag中一个instance的attention变换流程,那么整个bag中的所有instance经过变换后如下公式Eq (6),其中\(O^{L1}\)\(v\times{J}\)大小的矩阵。

2.3 Structured Sentence-Level Self-Attention and Averaged Selection Representation

second part的attention结构类似first part,我们采用\(O^{L1}\)作为输入,sentence-level attention矩阵的计算如下公式Eq (8),其中\(W_{s1}^{L2}\)是大小为\(d_a^{L2}\times{v}\)的权重矩阵,\(d_a^{L2}\)为attention网络的神经元个数,\(W_{s2}^{L2}\)是大小为\(r^{L2}\times{d_a^{L2}}\)的权重矩阵,其中\(r^{L2}\)是超参,表明2-D sentence-level的attention matrix中的multiple vectors的大小,即有多少行,每行代表一种attention模式或者说一种selective 模式--bag中valid句子的选择。我们希望这\(r^{L2}\)个vectors能够关注具有不同信息的instances,即能够选择不同的instance的组合--不同的权重。\(A_{L2}\)是一个句子级别的annotation矩阵大小为\(r_{L2}\times{J}\), 因此我们可以看到有传统的1-D sentence-level attention 扩展成为一个mutil-vector的attention\((r_{L2}>1)\)。对比Lin.2016\(^{[2]}\)

然后我们对这个2-D的\(A_{L2}\)取平均,变为1-D的\(\overline{A}_{L2}\), 因此进行维度变换之后,\(\overline{A}_{L2}\)与聚合的句子表示\(O^{L1}\)相乘计算得到averaged weighted sum,即最终的instance selection representation--\(M_{L2}\),如下公式Eq (9), 其中\(M_{L2}\)是一个大小为\(v\)的一维向量。

如下Eq (10)为最终预测relation type的概率分布式表示。

补充:由此我们可以看到其实所谓的muti-level等就是从1-D变为了2-D,而公式中的各个权重矩阵也就是为了达成这一mutil-level以及计算而添加设计的(主要指维度的设计), 其实就是为了维度的变换嘛使得网络计算不出错,各个权重矩阵也都是随机初始化的,那么其实整个结构除了LSTM这种网络结构,那维度变来变去变得还是和权重参数以及与其运算的数据,而数据是给定的,权重是随着训练不断更新的,那么可以见得权重还是很重要的,那么就这么随机初始化会不会太草率,如果用个跨任务的迁移,用迁移的权重取初始化会不会好一些,跨任务比如关系抽取输入就要涉及两个实体嘛,那跨NER任务可行么???

3 Experiments

本文作者使用两个distantly supervised datasets--NYT、DBpedia,采用多种不同的评价指标进行对比实验,详细实验参数配置及流程,见原文说明。

4 Conclusion

本文的主体结构以及方法没什么创新,都是之前已经有的只是针对multi-instances的两个关键点,将之前的方法结合了一下。主要创新点就只在mutil-level 的attention吧,多aspect的sentence间和sentence内的表示。

参考

[1] Jinhua Du, Jingguang Han, Andy Way, Dadong Wan.Multi-Level Structured Self-Attentions for Distantly Supervised Relation Extraction.EMNLP 2018.

[2] Yankai Lin, Shiqi Shen, Zhiyuan Liu, Huanbo Luan, Maosong Sun.Neural Relation Extraction with Selective Attention over Instances.ACL 2016.

[3] Peng Zhou, Wei Shi, Jun Tian, Zhenyu Qi, Bingchen Li, Hongwei Hao, Bo Xu.Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification.ACL 2016.