Multi-Granular Sequence Encoding via Dilated Compositional Units for Reading Comprehension

Multi-Granular Sequence Encoding via Dilated Compositional Units for Reading Comprehension
EMNLP 2018
Yi Tay et al.
多粒度/尺度序列编码; 膨胀组合单元

Motivation

  • Sequence encoder是MRC中的重要部件: helps to model compositionality of words, capturing rich and complex linguistic and syntactic structure in language
  • Sequence encoder的问题:
    • 文档较长,文档数多时计算开销大;
    • 限制获取长距离上下文;
    • 限制了多句和文档内部的推理;
  • 本文工作: 采取组合式编码方式
    • 主要思路是将多个尺度的信息组合在一起进行编码,利用多尺度 n 元语法信息来实现语义融合,得到更好的文档表达,用于后续的推理和Attention操作.
    • 设计了一种 dilated compositions 机制来建模多个尺度之间的关系,相当于通过门控的方式决定要保留多少信息
      • 多尺度 包括:word-level、phrase-level、sentence-level、paragraph-level etc.
      • 一种 divide-and-conquer 的序列编码方式
  • 本文贡献:
    • 提出了一个 compositional encoder DCU (Dilated Compositional Units), DCU 既可以进行独立编码,也可以以RNN-style的方式进行更有表示能力的编码;
    • DCU 可以加速序列编码速度,并且保持相邻词之间的交互关系;
    • 建模长句子时,模型可以获得前方更多的信息,是对所有上下文的全局概览;
    • 相当于一个门控单元对不同粒度的关系进行建模,有利于捕获文档内部细粒度关系;

Model

  • DCU用于MRC时的整体结构,左侧为DCU Encoder,右侧为DCU分别用于span prediction model和Multiple choice model的结构:
    dcu-model

本节只介绍 DCU 的操作和 encoding 操作,不对整体的mrc模型进行介绍

Dilated Compositional Mechanism

Notations:

  • Input Sequence: $S=[w_1, w_2, …, w_l]$
  • Range list: $R={r_1, r_2, …, r_k}$
    • $k$ 表示进行 $k$ 次 fold/unfold 操作

1.Fold

对于每个 $r_j$:

  • 将$S$中的每 $r_j$ 个词进行串接(concat, neural bag-of-words 表示), 原输入长度缩减为 $l/r_j$
  • 对于新得到的、包含 $l/r_j$ 个 tokens/blocks 的序列中的每个表示进行如下计算:
    • $\bar{w}_t = \sigma_r(W_a(w_t)) + b_a$
    • $W_a \in \mathbb{R}^{d\times d}, b\in \mathbb{R}^d$
  • Fold 的操作次数等于 range list 的大小
  • 对于 range list 中不同的 $r$ 值, 参数 $W_a$ 和 $b_a$ 不共享

2.Unfold

将transformed之后的序列展开为原长

  • 下图中为 $r_j=2$ 时的 Fold-Unfold 操作:
    dcu-fold-unfold

3.Multi-Granular Reasoning

多尺度推理

  • 将不同尺度的unfold之后的token表示进行串接,然后通过两层前馈神经网络得到一个门向量
    • $g_t = F_2(F_1([w_1^t,w_2^t,…,w_t^k]))$
    • $F(\cdot) = ReLU(Wx+b)$
  • $g_t$ 相当于一个从多尺度中学习的门控向量,尺度值最低的那些词会拥有相同的 $g_t$ 值

Encoding Operation

1.Simple Encoding

  • $z_t = tanh(W_p w_t) + b_p$
  • $y_t = \sigma(g_t) \ast w_t + (1-\sigma(g_t))z_t$

2.Recurrent Encoding

DCU 相当于循环神经网络中的 cell

  • $c_t = g_t \odot c_{t-1} + (1-g_t)\odot z_t$
  • $o_t = W_o(w_t) + b_o$
  • $h_t = o_t \odot c_t$

问题:
此处有一点疑问是,为什么通过DCU得到的门控向量 $g_t$ 没有参与到后续的编码过程, 而只是作为了控制初始 $w_t$ 词向量的门控输入

Experiment

Implementation Details

  • Multi-Choice 模型:
    • 数据输入: include the standard EM (exact match) binary feature to each word. In this case, we use a three-way EM adaptation, i.e., EM(P, Q), EM(Q, A) and EM(P, A). The projected embeddings are then passed into a single layered highway network
    • 输出(答案选择层): 将每个候选答案的答案向量转化为标量
      • $a_j^f=softmax(W_2(\sigma_r(W_1([a_j])+b_1)+b_2))$
  • range valuse: ${1,2,4,10,25}$
  • 最大序列长度 (RACE/SearchQA/NarrativeQA): $500/200/1100$

Results

只关注了一下RACE和NarrativeQA上的结果,在没有使用RNN-based编码器的情况下,取得了不错的效果,在论文完成时(2018.03)是RACE上的top-1

RACE

results-race

NarrativeQA

results-nqa

Summary & Analysis

  • 对于长文本的编码问题是MRC中的重点问题之一【—>表示问题】
    • 长文本和多篇文本
  • 本文提供了一种跨尺度的交互,或是融合跨尺度的信息的有效方式
**** END of This Post. Thank for Your READING ****
If you have any Question, welcome to Email me or leave your comments below.