Multiway Attention Networks for Modeling Sentence Pairs (译文)

摘要

       句子对建模对于判断两个句子之间的关系起着至关重要的作用,如意译识别、自然语言推理和答案句选择。以前的工作使用具有注意机制的神经网络取得了很有前途的结果。在本文中,我们提出了在匹配聚合框架下利用多个注意函数来匹配句子对的多路注意网络。具体来说,我们设计了四个注意功能来匹配相应句子中的单词。然后,我们将每个函数的关键信息聚合起来,并将所有函数的信息组合起来,得到最终的表示形式。实验结果表明,所提出的多路注意网络在数据集Quora Question Pairs,SNLI,MultiNLI和答案抽取数据集SQuAD的表现都有提高。

1 Introduction (介绍)

       这篇论文,我们研究句子对建模的任务,其目的在于比较两个句子和定义他们的关系。它是完成各种任务的基础技术。例如,在释义识别任务中,它被用来判断两个句子是否属于释义[Madnani et al., 2012]。在自然语言推理任务中,它被用来判断一个假设句是否可以从一个前提句中推断出来[Bowmanetal.,2015]。在选择答案的任务中,被用来评估题与题之间的关系,答案与选项之间的关系,答案与句子之间的关系[Yanget al., 2015]。表1给出了上述三个任务的相应示例。

Multiway Attention Networks for Modeling Sentence Pairs (译文)

以前的研究表明,有注意的神经网络机制在这项任务中是有效的。这些方法可以组织成两个框架。第一个框架是对句子对进行建模,分别对每个句子进行编码,然后根据两种表述做出决策[Yu et al., 2014;Bowman等人,2016]。这个框架的限制是在编码部分中有两种情况是不交互的。有些方法利用注意机制来改善两句话之间的相互作用[Tan et al., 2016]。然而,它通常使用一个句子的表示来连接另一个句子,这仍然在句子级工作,但缺乏单词级的交互。该框架基于匹配聚合框架[Wang and Jiang, 2016a;王等,2017b]。运用词语层面的注意机制,提高两句词语之间的搭配。然后将匹配的信息聚合到句子级别,以进行决策。这个框架支持字级别的交互,并带来有希望的结果。在这个框架的启发下,我们认为词级匹配对于句子对的建模是非常重要的。

         为此,我们提出了一种用于句子对建模的多路注意网络(MwAN)。我们建议使用多个注意功能来匹配两个句子在词的水平。具体来说,我们使用了四种注意函数,包括Rockt¨aschel等[2015]用于自然语言推理的串联注意函数,以及Chen等[2016]用于匹配阅读理解中的问题和短文的双线性注意函数。除了这两个常用的注意函数外,我们还使用了另外两个注意函数,它们通过元素方向的点积和两个向量的差来计算单词之间的关系。这种元素的比较,在以往的作品中进行,分布,呈现不同的文本粒度[王和江,2016a;Chen等人,2017]来模拟单词和句子之间的相互作用。我们直接在单词之间应用这两种功能,增强了单词级别的关系建模。

 我们的模型是建立在匹配聚合框架上的。在给定两个句子的情况下,我们使用双向RNN对它们进行编码,以获得基于词嵌入的两个句子中单词的上下文词表示。然后运用上述四种注意功能来匹配两个句子。接下来,我们用两个步骤来聚合来自多路注意力函数的匹配信息。每个函数的匹配信息首先通过一个双向RNN和所有的词进行聚合。然后输出注意力功能,通过应用注意力机制来适应结合。我们使用另一个双向RNN来通过组合表示来聚合混合匹配信息。最后,我们将注意池应用于固定长度向量的匹配信息,并将其输入多层感知器中进行最后的决策。

 我们使用四个标准的基准数据集对三个任务进行了实验。实验结果表明,我们的多路注意力网络在Quora问题对数据集(用于意译识别)、SNLI和多项数据集(用于自然语言推理)以及小组数据集(用于选择答案句子)上取得了最先进的结果。我们也通过使用单一的注意力功能和移除任何功能来进行消融测试。结果表明,四种注意力功能都有助于模型的表现。此外,我们观察到不同的注意力功能擅长于不同类别的样本,这也解释了为什么我们的框架将多种注意力功能的优势结合在一起,从而提高了结果。

2 Related Work(相关工作)

       近年来,深度学习和神经网络模型在句子对建模中取得了良好的效果。基本上,两个句子被编码成动脉瘤网络编码器,然后两个句子之间的关系仅仅基于两个句子向量来决定[Bowman et al., 2015;Yang et al., 2015;Tan等人,2016]。然而,这种框架忽略了两句话之间较低层次的相互作用。

        在此基础上,提出了基于注意机制的匹配聚合框架,在词的层次上对两个句子进行匹配,然后将匹配信息聚合在一起进行最终决策。Rockt aschel等人[2015]利用基于注意的技术提高了基于lstm的递归神经网络的性能。他们通过在前提和假设中对单词和短语进行软对齐,从细粒度推理中获得一个句子对编码,从而在SNLI数据集上获得了非常有前途的结果。Wang和Jiang [2016b]提出了自然语言推断的match- lstm方法,该方法试图将假设中当前的单词与一个由每个单词的注意计算出的前提的注意加权表示相匹配。Wang等[2017b]提出采用多角度的双侧注意匹配机制来匹配两个句子,在释义识别、自然语言推理、答案抽取等方面都取得了最新的成果。他们提出了四种不同的表示法来代替注意加权表示法来改进结果。此外,Cheng等人[2016]提出了LSTMN,通过记忆网络改善了自然语言推理的注意机制。Parikh等人[2016]通过参与、比较和聚合SNLI数据集来匹配两个句子。Sha等人[2016]提出通过注意机制重读两个句子,以提高对另一个句子的记忆,从而更好地理解。Munkh*和Yu[2016]提出使用树结构来改进自然语言推理和回答句子选择的递归或递归架构。Chen等[2017]将句法解析信息加入到基本的基于注意力的神经网络中,在SNLI数据集上获得了最先进的结果。

        此外,CNN还被应用于句子对的建模,并取得了非常有前途的结果[Gong et al.2017]。Yin et al. [2016]提出了基于注意力的释义识别、自然语言推理和答案句选择。Wang和Jiang [2016a]使用CNN来聚合匹配信息来选择答案句子。

        我们的模型属于匹配聚合框架。基于注意机制,我们提出使用多个函数来匹配两句话中的单词,并通过聚合多个注意函数的匹配信息来进行决策。

3 Task Defifinition(任务定义)

          形式上,我们可以将每个句子对的例子表示为一个三元组(Q,P,y),其中Q = (q1,…,qi,…,qN)是一个长度为N的句子,P = (p1,…,pj,…,pM)是另一个长度为M的句子,y ∈Y 是代表Q和P之间关系的标签。Multiway Attention Networks for Modeling Sentence Pairs (译文)

         具体来说,对于一个释义识别(句子相似度)任务,Q和P是两个句子,Y ={0,1},其中Y = 1表示Q和P互为释义,否则Y = 0。

       对于自然语言推理任务,Q是一个前提句子,P是一个假设的句子,和Y ={暗含,矛盾,中性}暗含表明P可以推断,矛盾表明P不能真实情况,和中立意味着P和Q与彼此无关。

       对于一个答案句选择任务,Q是一个问题,P是一个候选答案句,Y ={0,1},其中Y = 1表示P是Q的正确答案句,否则Y = 0。

 

Multiway Attention Networks for Modeling Sentence Pairs (译文)

 

4 Our Approach (模型方法)

       我们在图1中展示了多路注意力网络。在匹配聚合框架下,它由五个部分组成。具体来说,我们使用双向RNN获得了两个句子的上下文单词表示。然后我们用多种方式匹配两个句子之间的单词。对于Q和P中的每一个单词配对,我们可以使用多种注意力功能获得四个配对分数。接下来,我们用两个步骤将P中的单词和匹配信息聚合在一起。我们首先匹配每个注意函数中的两个句子,然后结合所有函数中的匹配信息。利用双向RNN对内部聚合和混合聚合中的匹配信息进行聚合。最后,我们使用注意池来聚合一个固定长度向量在P中的匹配信息,并应用多层感知器(MLP)分类器来进行最后的决策。

4.1 GRU

       我们使用门控递归单元(GRU) [Cho等人,2014]来代替基本的RNN。方程1描述了GRU的数学模型。rt和zt是门,ht是隐状态。

Multiway Attention Networks for Modeling Sentence Pairs (译文)

4.2 Encoding Layer(编码层)

         考虑两个句子Q =  {????tq}t=1N 和P =  {????tp}t=1M,我们首先将单词转换为它们各自的单词级嵌入和上下文嵌入。上下文嵌入是通过使用预先训练的语言模型的输出来生成的[Peters et al., 2018],该模型已经在许多NLP任务中显示了有效性。然后我们使用一个双向GRU来分别产生连个句子所有单词的新的表现形式hq 1,…,hq N和np 1,…,Multiway Attention Networks for Modeling Sentence Pairs (译文)

 

Multiway Attention Networks for Modeling Sentence Pairs (译文)

而 htq = [htqhtq]。同时,我们使用另一个双向GRU将每个 ????tp编码为表示  htq。Multiway Attention Networks for Modeling Sentence Pairs (译文)

4.3 Multiway Matching(多路匹配)

之前的工作表明了词级注意在句子对建模中的有效性[Rockt¨aschel et al., 2015;WangandJiang, 2016 b]。在我们的模型中,我们设计了多个注意函数来比较两个句子中单词的两个向量,即加权注意力、双向线性注意力、点乘注意力和负注意力。因此,在P的每个位置t上,该词可以使用四个注意函数来匹配Q,从而得到Q相应的加权和表示。

Multiway Attention Networks for Modeling Sentence Pairs (译文)

其中 h????????是P的t位置的表示,  h????是Q所有位置的表示,和 ????????????是Q使用注意函数fk 基于参数Wk 上的表示,在k = (c, b, d, m),分别代表了加权注意力、双向线性注意力、点乘注意力和负注意力。Multiway Attention Networks for Modeling Sentence Pairs (译文)

Multiway Attention Networks for Modeling Sentence Pairs (译文)

4.4  Aggregation

       我们将来自多路注意力函数的匹配信息聚合为两个步骤。内部聚合是将每个注意函数中与句子P中的单词相匹配的信息进行聚合。对于每个位置t,我们将P中的表示hpt与Q的对应表示qkt连接起来[Wang and Jiang, 2016b],并添加一个gate来确定连接后的表示的重要性[Wang et al., 2017a]。然后我们使用双向GRU遍历p中的每个位置。我们以concat attention为例,

Multiway Attention Networks for Modeling Sentence Pairs (译文)

  其中 htc=htc ,  htc , 对于线性注意力、点乘注意力和负注意力,我们分别获得htb,htd,htm。Multiway Attention Networks for Modeling Sentence Pairs (译文)

         混合聚合是将所有注意力函数的匹配信息进行组合。我们应用注意机制自适应地将四种表示法与参数????????结合起来作为输入。Multiway Attention Networks for Modeling Sentence Pairs (译文)

 

Multiway Attention Networks for Modeling Sentence Pairs (译文)

 

       然后,我们将????t输入到一个双向GRU中,以聚合来自多个注意力函数的匹配信息。Multiway Attention Networks for Modeling Sentence Pairs (译文)

我们得到,hto=hto ,  hto , 对于P中的所有位置。Multiway Attention Networks for Modeling Sentence Pairs (译文)

 

Multiway Attention Networks for Modeling Sentence Pairs (译文)

4.5 Prediction Layer(预测层)

       将多路匹配得到的信息聚合后,将P中所有位置的结果表示转化为一个带池的定长向量,并将其送入一个分类器中,以确定两个句子之间的关系。我们首先使用一个带有参数????q的注意池来选择Q中的重要信息。Multiway Attention Networks for Modeling Sentence Pairs (译文)

Multiway Attention Networks for Modeling Sentence Pairs (译文)

然后利用这种表示rq来选择匹配向量中的信息。

Multiway Attention Networks for Modeling Sentence Pairs (译文)

最后,我们将rp输入到多层感知器(MLP)分类器中,得到相应任务中每个标签的概率pi。

对于所有的任务,目标函数是最小化如下交叉熵:

Multiway Attention Networks for Modeling Sentence Pairs (译文)

????????代表一个标签,在解释检测(0,1)是代表两个句子是否解释,在自然语言推理的关系蕴涵的两句话,矛盾,和中立,在回答句子选择(0,1)代表是否P能回答这个问题。Multiway Attention Networks for Modeling Sentence Pairs (译文)

 

4.6 Implementation Details(实现细节)

    我们使用300维没有预训练的Glove 词向量[Pennington等,2014],在训练过程不更新。我们使用0向量来表示所有词汇表外的单词。所有层的隐藏向量长度设置为150。我们在层之间应用dropout [Srivastava et al., 2014], dropout率为0.2。使用AdaDelta [Zeiler, 2012]对模型进行优化,初始学习率为1.0。

 

5 Experiment (实验)

      我们使用四个数据集对三个任务进行了实验。实验结果表明,我们的模型优于基线和其他竞争方法。我们还进行了消融试验来分析各注意功能的贡献。

5.1 Dataset and Evaluation Metrics (数据集和评估指标)

Quora Question Pairs 这个数据集由超过400,000个问题对组成,每个问题对都用一个二进制值进行注释,该值指示这两个问题是否相互解释。我们选择5,000个释义和5,000个非释义作为开发集,并使用另一个5000个释义和5000个非释义作为测试集。我们保留其余的实例作为训练集。

Multiway Attention Networks for Modeling Sentence Pairs (译文)

SNLI 它是一个自然语言推理数据集[Bowman et al., 2015]。原始数据集包含570152个句子对,每个句子对都有下列关系之一:entailment、矛盾体、neutral和d,其中e表示缺乏人为注释,通常被丢弃[Wang and Jiang, 2016b]。最后,我们有549,367双用于培训,9,842双用于开发,9,824双用于测试。

MultiNLI 它是一个自然语言推理数据集[Williams et al., 2017]。模型可以在两种情况下进行评估:一种是来自与训练集相同来源的匹配测试示例,另一种是不匹配的示例,它们与训练时看到的任何示例都不太相似。该数据集包含392,702对用于训练,9,815对用于匹配,9,832对用于开,9,796对用于匹配,9,847对用于测试。

SQuAD 它是一个阅读理解数据集,每个问题的答案都是相应文章的文本[Rajpurkar et al., 2016]。为了评估我们的答案选择任务,我们使用Stanford CoreNLP Toolkit [Manning et al., 2014]将文章中包含正确跨度的句子作为答案句子。由于作者SQuAD只发布了训练集和开发集,所以我们将开发集中的10,570个实例划分为5,000个用于开发,5,570个用于测试。我们使用平均互反秩(MRR)来评价。

5.2 Result on Paraphrase Identifification意译识别的结果

        我们将模型与表2中所示的几个基线进行了比较。暹罗- cnn和暹罗- lstm [Wang et al., 2016a]是基于句子编码框架的。多视角- cnn和多视角- lstm通过多视角余弦匹配函数对其进行改进[Wang et al., 2017b]。我们还将MwAN与匹配聚合框架下的模型进行了比较,如RNN下的LDC [Wang et al., 2016b]和BiMPM [Wang et al., 2017b]以及CNN下的DIIN [Gong et al., 2017]。我们的MwAN优于所有基线,开发集的准确率为89.60%,测试集的准确率为89.12%。

5.3 Result on Natural Language Inference 自然语言推理的结果

         表3显示了SNLI的结果。我们的MwAN以88.3%的测试精度达到了最先进的结果。此外,我们还报告了集成结果。遵循Wang等[2017b]的集成策略,我们在相同的设置下对模型进行4次训练,并将每个模型的概率相加来决定结果。测试精度为89.4%,其中超过所有的基准测试,并在SNLI基准测试中取得最好的成绩。

Multiway Attention Networks for Modeling Sentence Pairs (译文)

 

Multiway Attention Networks for Modeling Sentence Pairs (译文)

      表4显示了多项的结果。基线的结果取自官方报告[Williams et al., 2017]。我们的MwAN达到了最先进的结果78.5%和分别为77.7%。一个集成模型达到了最先进的结果匹配对的准确率为79.8%,不匹配对的准确率为79.4%,优于所有基线。

5.4 Result on Answer Sentence Selection答案选句的结果

       对于回答句选择任务,我们不使用WikiQA数据集,因为它太小,无法训练复杂的深度学习模型。我们实施了两个基本的深度学习基线Bigram-CNN [Yu et al., 2014]和LSTM [Tan et al., 2016],我们还报告了两种最先进的方法BiMPM [Wang et al., 2017b]和CNN-MULT [Wang and Jiang, 2016a]的结果。所有这些基线都在WikiQA数据集上实现了非常有希望的结果。如表6所示,我们的MwAN在MRR方面达到了91.35,比所有的基线方法都好。

Multiway Attention Networks for Modeling Sentence Pairs (译文)

 

Multiway Attention Networks for Modeling Sentence Pairs (译文)

5.5 Discussion(讨论)

     为了分析每个注意功能的有效性,我们使用单个注意功能和删除任何一个注意功能对四个数据集进行消融测试。由于多项测试数据的标签没有发布,我们使用开发集中匹配和不匹配的数据进行分析。如表5所示,我们的MwAN明显优于使用单一注意力函数。此外,删除任何注意力功能都会导致更差的分数,这表明了我们的多路注意力网络的有效性。

     接下来,我们分析了四种注意功能在不同类别样本中的作用。在我们的自适应组合中,我们可以得到P(式9b)中每个注意函数在每个位置的权重。我们平均每个注意力函数的所有权重。表7显示了四种注意力功能的结果。我们观察到,在不同的类别中,每个注意功能对样本有不同的影响。点关注的重量增加积极的样品(意译在Quora,暗含在SNLI,并回答句子在阵容)和其他功能增加负样本(SNLI nonparaphrase Quora,矛盾,non-answer句子在球队),这表明相似点注意力主要在建模和其他功能擅长建模的区别。我们的多方位注意力网络结合了他们的优势,因此取得了更好的效果。

 

6 Conclusion (结论)

      本文提出了一种多路注意网络,该网络利用多个注意函数对句子之间的匹配进行建模。我们主要集中在三个任务上,即意译识别、自然语言推理和回答句子选择。在获得基于词嵌入的上下文词表示之后。我们建议使用四种不同的注意功能来匹配两个句子中的单词。接下来,我们从多路注意力函数中收集匹配信息。最后,我们使用注意池将匹配信息聚合成一个固定长度的向量,并将其输入分类器进行最终决策。实验结果表明,我们提出的多路注意网络优于基本的神经网络模型,并且在解述识别的Quora问题对、自然语言推理的SNLI和多项推理,以及在SQuAD数据集上的答案句子选择任务上都得到了最新的结果。

Multiway Attention Networks for Modeling Sentence Pairs (译文)

Acknowledgments (感谢)

        我们非常感谢南洋的有益讨论。我们也感谢所有匿名评论者的有益评论。谭**、吕伟峰分别获得国家重点研发项目(No. 2017YFB1400200)、国家自然科学基金(No. 61421003、71501003)资助。

References(参考文献)