ACL2018 | Multi-Granularity Hierarchical Attention Fusion Networks for Reading Comprehension and Question Answering

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表示进行进一步的微调

Model

  • 本文提出模型 SLQA+ (Semantic Learning for Question Answering) 的整体架构:
    • encoder、attention、matching、output
    • slqa+模型图

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
  • 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

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 对结果的提升很大
**** END of This Post. Thank for Your READING ****
If you have any Question, welcome to Email me or leave your comments below.