Multi-Granularity Hierarchical Attention Fusion Networks for Reading Comprehension and Question Answering
ACL 2018
Wei Wang, Ming Yan, Chen Wu.
Alibaba Group.
Multi-Granularity; Hierarchical Attention Fusion; Architecture
Datasets: SQuAD; TriviaQA
看到题目,首先就产生了三个关注点:
- multi-granularity, 代表哪些粒度? (word level 和 sentence level)
- hierarchical, 有哪些层次?(co-attention 和 self-attention)
- fusion, 怎样进行融合?对粒度的融合(global level)
Motivation
- 启发于人类通常的阅读模式:
- 浏览全篇文章,大致了解文章内容(通读全文)
- 浏览问题,记住问题,找到P和Q之间的联系,理解Q的意图
- 定位一个大致/粗略的潜在的答案区域,使注意力聚集到定位的上下文(重点阅读上下文)
- 再次回顾问题,确定一个最优答案
This Work
- 建模问题和文章中特定区域关联的同时,借助分层策略逐步集中注意力,是答案边界清晰
- 提出 hierarchical attention network:
- 逐步定位答案边界
- 建模P和Q之间的不同粒度层级间的关系
- 在Encoder层:
- 为了更好的建模Q和P的多个aspects:同时使用预训练的glove表示和ELMo表示作为一个词的表示
- 针对ELMo的融合,设计了一个 Representation-aware fusion 方法来结合ELMo输出向量和BiLSTM建模的上下文表示
- 在本文提出的Hierarchical Attention Fusion Network中:
- 利用co-attention和self-attention机制,逐步的将注意力聚集到最优的答案span
- co-attention with shallow semantic fusion
- self-attention with deep semantic fusion
- memory-wise bilinear alignment function
- 特点:
- fine-grained fusion 结合attention vector 更好的建模P和Q的关系
- multi-granularity attention 应用于 word-level 和 sentence-level
- 与其他方法不同的是:
- 利用全局表示(原始的上下文表示)构建attention表示
- 利用fusion layer来对attention表示进行进一步的微调
- 利用co-attention和self-attention机制,逐步的将注意力聚集到最优的答案span
Model
- 本文提出模型 SLQA+ (Semantic Learning for Question Answering) 的整体架构:
- encoder、attention、matching、output

1.Encoder Layer
- 输入是 P和Q的每个词的glove向量和ELMo向量:
- 问题:$\{e_t^Q\}_{t=1}^m$,$\{c_t^Q\}_{t=1}^m$
- 文章:$\{e_t^P\}_{t=1}^n$,$\{c_t^P\}_{t=1}^n$
- 输出:original context representation
- BiLSTM 的输出结果,再次和ELMo 串联concat
- 问题:Q = $u_t^Q = [BiLSTM_Q(e_t^Q, c_t^Q), c_t^Q]$
- 文章:P = $u_t^P = [BiLSTM_P(e_t^P, c_t^P), c_t^P]$
2.Hierarchical Attention Fusion Layer
- original context representation和通过attention得到的aligned representation可以反映上下文不同粒度的语义
2.1 Co-attention & Fusion
- co-attention 过程:
- 计算一个soft-alignment 矩阵:
- 计算 P2Q attention
- 计算 Q2P attention
- 计算一个soft-alignment 矩阵:
- Fusion:本文重点
- 定义fusion kernel
- $P^\prime=Fuse(P,\tilde{Q})$
- $Q^\prime=Fuse(Q,\tilde{P})$
- simple fusion 过程:
- 输出:利用gate机制,融合/refine 注意力表示和original contextual 表示
- 希望利用 original context representation 提供的重要的 global level 的语义信息提供指导,进一步引入gate机制控制不同层次表示的融合
- 文档:$P^\prime = g(P,\tilde{Q})\cdot m(P,\tilde{Q}) + (1-g(P, \tilde{Q}))\cdot P$
- 问题:$Q^\prime = g(Q,\tilde{P})\cdot m(Q,\tilde{P}) + (1-g(Q, \tilde{P}))\cdot Q$
- $g(\cdot)$的定义见2.3
- 定义fusion kernel
2.2 Self-attention & Fusion
文档的self-attention fusion过程:
- 首先将manual feature引入,与refined question-aware passage表示进行串接
- $D = BiLSTM([P^\prime; feat_{man}])$
- self-alignment fusion process
- $L = softmax(D \cdot W_1 \cdot D^T)$
- $\tilde{D} = L \cdot D$
- $D^\prime = Fuse(D,\tilde{D})$
- 双向LSTM获得最终的上下文文档表示:
- $D^{\prime\prime} = BiLSTM(D^\prime)$
问题端的self-attention fusion过程
- 获得新的问题上下文表示:$Q^{\prime\prime} = BiLSTM(Q^\prime)$
- $Q^\prime$ 来自于co-attention+fusion的结果
- linear self-alignment, 使用 linear transformation (linear sequence attention,同drqa中的问题编码),将问题编码为向量
- $\gamma = softmax(w_q^T Q^{\prime\prime})$
- $q = \sum_{j} \gamma_j \cdot Q^{\prime\prime}, \forall j \in [1,…,m]$
2.3 Fusion Functions
- simple concat:简单讲两个channel的输入进行串联(计算m(·)时)
- Full Projection:heuristic matching,形如
- $[P;\tilde{Q};P\circ\tilde{Q};P-\tilde{Q}]$
- Scalar-based fusion:训练一个标量参数
- $g(P,\tilde{Q}) = g_p$
- Vector-based Fusion: 效果最好的
- $g(P,\tilde{Q}) = \sigma(w_g^T \cdot [P;\tilde{Q};P\circ\tilde{Q};P-\tilde{Q}] + b_g)$
- $w_g$是待训练的权重向量
- Matrix-based Fusion:
- $g(P,\tilde{Q}) = \sigma(W_g^T \cdot [P;\tilde{Q};P\circ\tilde{Q};P-\tilde{Q}] + b_g)$
- $W_g$是待训练的权重矩阵
3.Output Layer
- bilinear match function
- $P_{start} = softmax(q \cdot W_s^T D^{\prime\prime})$
- $P_{end} = softmax(q \cdot W_e^T D^{\prime\prime})$
- 可以看做是对问题的回顾
Experiments
Summary & Analysis
- ELMo 与上下文表示融合的新思路
- 原始的context representation可以看做是global level的信息,在fusion中的作用很大(每一步的fusion都是将attention representation与original context representation进行融合),利用original context representation对attention之后的表示进行融合,微调带有注意力的表示
- 计算attention时,采取 linear + relu 的bilinear的效果最优
- 输出层的 bilinear match function 对结果的提升很大