Convolutional Spatial Attention Model for Reading Comprehension with Multiple-Choice Questions

译文:

Abstract

问题具有多个候选项的机器阅读理解(MRC)要求机器阅读给定的文章,并从几个候选项中选择正确答案。在本文中,我们提出了一种新的方法,称为卷积空间注意(CSA)模型,它可以更好地处理带有多个候选项的MRC。该模型能够充分提取文章、问题和候选项之间的相互信息,形成丰富的表征。此外,为了合并各种注意结果,我们建议使用卷积运算来动态总结不同区域大小内的注意值。实验结果表明,所提出的模型可以在RACE和SemEval-2018任务11数据集的最好结果上获得实质性提升。

Introduction

由于各种大规模数据集的快速发布,机器阅读理解(MRC)在自然语言处理领域得到了广泛的应用。例如,cloze-style的MRC(如CNN/DialyMail,儿童读物测试(CBT)),span-extraction MRC(如sQuad),和多选择MRC(如MCTest,RACE,semeval-2018 Task11)。

在这篇论文中,我们主要关注多选择阅读理解问题。在阅读理解研究的初期,因为没有大规模的数据集可用,这种类型的阅读理解任务并不受欢迎,因此我们不能使用神经网络方法来解决它们。为了给阅读理解任务带来更多的挑战,缓解大规模多选择阅读理解数据集的缺失,Lai等提出了一个新的数据集RACE。与之前的MCTest相比,RACE数据集是由中国的初中和高中学生的英语考试组成,由人类专家生成的近10万个问题组成,比MCTest更具挑战性。

本文提出了一种新的卷积空间注意模型(CSA),该模型充分利用了层次注意力信息对多选择阅读理解的影响。该模型首先将文章、问题和候选词编码为单词表示形式,并通过附加的词性标签和匹配特性加以增强。然后我们集中精力通过整合文章、问题信息来丰富候选项的表征,进一步计算文章、问题、候选项之间的注意,形成空间注意。为了进一步提取空间注意的代表性特征,我们提出利用卷积神经网络动态地归纳出不同窗口大小的相邻区域。我们主要在两个多选择阅读理解数据集上测试我们的CSA模型:RACE和semvar -2018 Task11,我们的模型在这两个数据集上都达到了最先进的性能。图1给出了每个数据集的示例。本文的主要贡献可以总结如下。

我们重点对候选项的不同语义方面进行建模,通过整合文章和问题信息,形成文章、问题和候选项之间的三维空间注意。

提出了一种卷积空间注意(CSA)机制,用于动态提取具有代表性的空间注意特征。

该模型对RACE和SemEval-2018 Task11数据集上的最好结果进行了实质性提升,显示了它对其他NLP任务的泛化和可扩展性。

Related Works

近年来,机器阅读理解领域取得了巨大的进步。MRC的蓬勃发展可以追溯到大规模数据集的发布,如CNN/DailyMail (Hermann et al. 2015)和CBT (Hill et al. 2015)。这些数据集发布后,各种神经网络方法(Chen, Bolton, Manning 2016;Kadlec等,2016;崔等,2017;Dhingra等(2017)被提出并成为未来研究的基础组成部分。另一个代表性的数据集是SQuAD (Rajpurkar et al. 2016),它比cloze-style阅读理解更难,需要机器在文章中生成一个跨度来回答问题。随着设计有效神经网络模型的快速进展,最近在该数据集上的工作已经超过了人类的平均性能,如QANet (Yu et al. 2018)等。

然而,目前的机器阅读理解模型仍然难以解决需要多句甚至多段推理的问题。为解决多选择阅读理解的问题,人们提出了多种解决方法,其中大多数是设计有效的注意力或更加丰富的表示。Lai等人(2017)在发布RACE dataset时,也采用并修改了两种cloze-style阅读理解模型:Gated Attention Reader (Dhingra et al. 2017)和Stanford Attention Reader (Chen, Bolton, and Manning 2016)。然而,实验结果表明,这些模型不能胜任这一任务。Parikh等人(2018)介绍了ElimiNet,它使用消除和选择的组合来获得候选对象的精确表示。Xu等(2017)提出了动态融合网络(Dynamic Fusion Networks, DFN),该网络使用多跳推理机制来完成这一任务。Zhu等人(2018)提出了分层注意流模型,该模型利用候选选项对文章、问题和候选项之间的交互进行建模。

尽管已经做了各种努力,我们相信设计有效的神经网络来更好地描述文章、问题和候选项之间的关系仍然有很大的空间。为此,我们将此任务的模型与现有模型之间的主要区别总结为三个方面。首先,我们计算候选对象的各种表示形式,以便更好地描述它的特征,以便进行预测。其次,在计算注意力时,我们使用额外的可训练权值来动态调整注意力值,这更加灵活。第三,不同于以往的工作只利用最终层次的注意力,我们提出利用每个层次中的每一个注意力,并使用卷积神经网络捕获特征来预测答案。

Convolutional Spatial Attention Model

Task Definition

提出了用于多选择阅读理解的RACE数据集(Lai等,2017),该数据集由2.8万余篇短文和近10万个由人类专家为中国中学生英语考试生成的问题组成。与之前的MCTest数据集(Richardson, Burges, and Renshaw 2013)不同,RACE数据集要大得多,因此我们可以对这个任务应用深度学习方法。由于所有的问题和选择都是由人类专家生成的,因此RACE dataset在机器阅读理解方面提供了比其他流行的数据集,如CNN/DailyMail、SQuAD数据集更全面、更真实的评估,这些数据集的答案应该出现在上下文中。同样根据Lai等人(2017)的分析,RACE问题中有很大一部分问题需要根据各种线索进行推理,这使得评价阅读理解系统的能力更具挑战性和适用性。SemEval- 2018 Task11与RACE数据集非常相似,但是有两个候选对象,而且规模较小。图1给出了每个数据集的示例。

The Model

在本节中,我们将对所提出的模型进行详细描述。我们模型的主要神经结构如图2所示。在这一节中,我们将用P代表文章,Q代表问题,C代表候选项。注意,由于对每个候选项的操作是相同的,为了简单起见,我们只选取一个候选项进行说明。

Word Representation

我们将文章中的每个单词、问题和候选词转换成连续的表示形式。在本文中,嵌入层有三个组成,如下所示。

1. Word嵌入E_{word}:我们使用传统的预训练Glove嵌入式进行初始化(Pennington, Socher, Manning 2014),并在训练过程中保持固定。

2. E_{elmo}嵌入:对于这一部分,我们使用预训练的ELMo (Peters et al. 2018)嵌入。

3. 特征嵌入E_{feat}:我们还利用三个额外的特征来增强单词的表示。

1). POS-tag embedded E_{pos}:我们使用NLTK (Bird和Loper 2004)对每个单词进行词性标注。与传统的词嵌入类似,我们为每个词性标记分配了不同的可训练向量。

2). 单词匹配F_{match}:以段落为例,如果段落中的单词也出现在问题或候选项中,我们将值设置为1,否则设置为0。通过这种方式,我们还可以将此功能添加到问题和候选项中。

3).模糊词匹配F_{fuzzy}:类似于词匹配的特征,但我们将匹配标准放宽为部分匹配。例如,我们将teacher和teach作为模糊匹配,因为字符串teacher与teach部分匹配。

我们连接三个嵌入组成形成的段落最终的词表示E_P \in \mathbb{R}^ {|P| \times e},问题E_Q \in \mathbb{R}^ {|Q| \times e},和候选项E_C \in \mathbb{R}^ {|C| \times e},其中|P|, |Q|,|C|是段落,问题,和候选项的长度,e是最后嵌入大小(包括所有这三个组成)。

                                                                   E=[E_{word};E_{elmo};E_{feat}]                                                                        (1)

                                                               E_{feat}=[E_{pos};E_{match};E_{fuzzy}]                                                                     (2)

获得嵌入表示后,我们将每个单词的嵌入输入到一个共享highway网络, 使用tanh作为输出激活函数(使用\sigma表示)。在本文中,我们应用了两个具有共享权值的连续highway网络。然后我们使用双向LSTM (Graves and Schmidhuber 2005)对上下文信息进行建模,形成H_P \in \mathbb{R}^ {|P| \times h}H_Q \in \mathbb{R}^ {|Q| \times h}H_C \in \mathbb{R}^ {|C| \times h}(h为BiLSTM的隐藏状态大小)。注意,我们对文章、问题和候选项使用不同的Bi-LSTMs。

                                                                 \widetilde{H} = \sigma(2-Highway(E))                                                                      (3)

                                                                    H =Bi-LSTM(\widetilde{H})                                                                         (4)

Enriched Representation

计算注意力和生成丰富的表示在机器阅读理解中起着非常重要的作用。在我们的模型中,我们将计算各种类型的丰富表示,以便更好地描述候选项和问题,这是本任务的基本组成部分。算法1中给出了生成丰富表示的过程

例如,我们希望将文章信息嵌入到候选表示中,以便更好地识别文章中的相关部分,并获得感知文章的候选表示R_{CP}。根据算法1,可以根据下面步骤生成R_{CP}

[Line 1]给出文章H_P和候选项H_C的Bi-LSTM表示,我们首先计算注意力矩阵,其中每个元素表示它们之间的匹配信息。本文采用了FusionNet中使用的注意机制(Huang等,2017)。其中两个表示由单独的全连接层转换,输出的激活函数为f,并应用可训练的对角权重矩阵D。本文将激活函数f定义为RELU。

[Line 2]然后我们对注意矩阵M'应用元素加权矩阵W。这是为了让模型灵活地调整注意力值。

[Line 3]我们将softmax应用于加权注意矩阵M的最后一个维度,它计算出每个候选单词的文章层注意向量w.r.t

[Line 4]在得到归一化注意矩阵M_{att}后,我们在M_{att}与文章H_P之间做点积,提取与候选项相关的文章。(个人感觉这里文章是错误的,如果是文中描述的情况,Y'_{CP}H_C是无法拼接的,因为长度不一致,这里个人认为应该是M_{att}H_C做点积,这样也符合attention机制的意义,结合后面的描述也应该是这样的)

[Line 5]最后,我们将与候选项相关的文章Y'_{CP}和候选项的Bi-LSTM表示H_C连接起来,并将它们提供给Bi-LSTM,从而将文章信息完全集成到候选表示中。

应用所提出的算法g(X_1, X_2),我们可以计算出文章感知和问题感知的候选表示R_{CP}R_{CQ}。此外,由于问题信息的重要性,我们还计算了文章感知的问题表示R_{QP}和自出席问题表示R_{self-Q}。注意,我们使用Bi-LSTM输出B_Q和文章感知的问题表示R_{QP}来获得(几乎-)自出席问题表示,它结合了不同级别的表示。

                                                                        R_{CQ}=g(B_C,B_Q)                                                                 (5)

                                                                       R_{CP}=g(B_C,B_P)                                                                  (6)

                                                                       R_{QP}=g(B_Q,B_P)                                                                  (7)

                                                                      R_{self-Q}=g(B_Q,B_{QP})                                                            (8)

Convolutional Spatial Attention

使用之前生成的表示,我们可以计算匹配矩阵来度量它们之间的相似性。本文采用简单的点积法得到匹配矩阵。由于候选信息对回答问题的重要性,本文首先利用各种候选表示对自出席问题表示R_{self-Q}计算匹配矩阵。其动机是利用问题信息作为不同层次提取候选信息的关键。我们使用有问题感知的候选表示R_{CQ}、有文章感知的候选表R_{CP}和候选Bi-LSTM表示H_C,如下所示。

                                                                     M_{11}=R_{CQ} \cdot R_{self-Q}                                                               (9)

                                                                     M_{12}=R_{CP} \cdot R_{self-Q}                                                               (10)

                                                                     M_{13}=R_{C} \cdot R_{self-Q}                                                                 (11)

同样,我们也可以将式9、10、11中的自出席问题表示R_{self-Q}替换为文章感知的问题表示R_{QP},得到M_{21},M_{22},M_{23}。然后我们将通道维度上的所有矩阵连接起来,形成一个空间注意立方体M \in \mathbb{R}^{6 \times |C| \times |Q|},类似于一个有6个通道的“图像”。

                                                     M=[M_{11};M_{12};M_{13};M_{21};M_{22};M_{23}]                                                   (12)

为了提取空间注意立方体内部的高级特征,我们使用cnn-maxpooling操作来动态总结相邻的注意信息,这与传统的图像上的操作类似。形式上,我们首先对M进行卷积运算来总结相邻元素的不同长度,我们使用了三个卷积核:5、10和15,沿着问题长度的维数。

卷积运算后,我们可以得到三个特征映射w.r.t.不同的卷积核。这个过程可以用下面的方程式来说明。

                                                    O_1 = Max-Pooling_{1 \times 3} \{ CNN_{1 \times 5}(M)\}                                            (13)

                                                    O_2 = Max-Pooling_{1 \times 2} \{ CNN_{1 \times 10}(M)\}                                           (14)

                                                    O_3 = Max-Pooling_{1 \times 1} \{ CNN_{1 \times 15}(M)\}                                           (15)

这样,我们使用cnn-maxpooling操作,使用不同的卷积核和max-pooling interval,得到三个特征向量 O_1, O_2, O_3

Final Prediction

在得到三个特征向量后,我们将它们压平、连接,并将它们送入一个全连接层中,得到一个标量值,该值表示正确答案的可能性。回想一下,对于一个给定的问题我们有几个候选项,所以在这个阶段我们会得到N个候选项的分数。我们将softmax函数应用于这些分数,以获得最终的候选项概率分布。

                                                                       s_i=w^T \cdot [O_1;O_2;O_3]                                                          (16)

                                                      Pr(A|P,Q,C)=softmax([s_1;...;s_N])                                             (17)

为了训练我们的模型,我们使用传统的交叉熵损失来最小化预测和地面真实值之间的差距。

 

读后感:

1.本篇论文的在很大程度上借鉴了《Fusionnet: fusing via fully-aware attention with application to machine comprehension》的思想,其中不同点在于,1)前期的特征提取网络差异,Fusionnet网络更复杂,2)attention之后的输出层差异,本篇论文加入了cnn层提取高级特征,3)本文attention层文中说借鉴了fusionnet,单根据描述其实现略有不同,fusionnet使用低级特征的attention weight去计算高层加权矩阵,而本文直接是在本层做该操作,其高层和低层的交互更多的是由计算完后加权矩阵点乘来实现,如R_{self-Q}M_{13}

2.本篇论文可以看做《Fusionnet: fusing via fully-aware attention with application to machine comprehension》思想移植到多选择阅读理解的一个变形,本质上从两个交互变为三个交互。

3.archive上的文章中algorithm1的步骤个人感觉line4和line5有错误,译文中有解释,已发邮件询问原作者。

4.此方法可以扩展到其他nlp任务,如实体链接

5.论文中的实验数据与RACE官方board上的不一致,低很多,不知道原因是什么。

6.希望可以将源码公开,大家学习

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值