(31)[JMLR16] Ask Me Anything: Dynamic Memory Networks for Natural Language Processing

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_37993251/article/details/88931479

计划完成深度学习入门的126篇论文第三十一篇,CA的Richard Socher发表的人机问答的论文。


ABSTRACT&INTRODUCTION

摘要

自然语言处理中的大多数任务都可以通过语言输入转换成问答(QA)问题。我们介绍了动态记忆网络(DMN),这是一种神经网络结构,它处理输入序列和问题,形成情景记忆,并生成相关的答案。问题触发了一个迭代注意过程,该过程允许模型将其注意条件设置为输入和先前迭代的结果。然后用递归序列模型对这些结果进行推理,生成答案。DMN可以端到端的训练,并在几种类型的任务和数据集上获得最先进的结果:问答(Facebook的bAbI数据集)、情绪分析的文本分类(Stanford Sentiment Treebank)和词性标记的序列建模(WSJ-PTB)。针对这些不同任务的训练完全依赖于训练有素的单词向量表示和输入-问题-答案三元组。

介绍

问答(QA)是一项复杂的自然语言处理任务,它要求理解文本的含义,并具备推理相关事实的能力。自然语言处理中的大多数任务(如果不是全部的话)都可以转换为一个问题回答问题:像机器翻译这样的高级任务(翻译成法语是什么?)序列建模任务如命名实体识别(Passos et al., 2014) (NER)(这句话中的命名实体标记是什么?)或词性标记(POS)(词性标记是什么?)情绪分析等分类问题(Socher et al., 2013)(感情是什么?)甚至是多句话的联合分类问题,比如共引用解析(他们指的是谁?)

我们提出了一种基于神经网络的动态记忆网络(DMN)框架,该框架使用原始输入-问题-答案三元组来训练一般的问答任务。一般来说,它可以解决序列标记任务、分类问题、序列到序列任务和需要传递推理的问题回答任务。

DMN首先计算所有输入和问题的表示。然后,问题表示触发一个迭代的注意过程,该过程搜索输入并检索相关事实。然后,DMN内存模块对检索到的事实进行推理,并向生成答案的回答模块提供所有相关信息的向量表示。

图1给出了本文所评估的任务的输入、问题和答案的示例,DMN在这些任务中达到了一个新的水平,即最先进的性能。

2. Dynamic Memory Networks

现在,我们将概述组成DMN的模块。然后我们对每个模块进行了详细的研究,并对其公式给出了直观的说明。图2.1给出了DMN的高层图。

输入模块:输入模块将任务的原始文本输入编码为分布式向量表示。本文主要研究与自然语言相关的问题。在这些情况下,输入可能是一个句子、一个长故事、一篇电影评论、一篇新闻文章或几篇维基百科文章。

问题模块:与输入模块一样,问题模块将任务的问题编码为分布式向量表示。例如,在回答问题时,问题可以是这样的句子:Where did the author first fly?表示形式被输入情景记忆模块,并形成情景记忆模块迭代的基础或初始状态。

扫描二维码关注公众号,回复: 5761524 查看本文章

情景记忆模块:给定一组输入表示,情景记忆模块通过注意机制选择输入的哪些部分。然后,它生成一个考虑到问题和以前的内存的内存向量表示。每次迭代都向模块提供关于输入的新相关信息。换句话说,模块具有以输入表示形式检索新信息的能力,而在以前的迭代中,输入表示被认为是不相关的。

应答模块:应答模块从内存模块的最终内存向量生成应答。

这些模块的详细可视化结果如图3所示。

2.1. Input Module

在自然语言处理问题中,输入的是一串T_I单词。编码输入序列的一种方法是通过递归神经网络(Elman, 1991)。词的嵌入被作为输入提供给递归网络。每步t,网络更新其隐藏状态;其中L为嵌入矩阵,w_t为输入序列第t个单词的单词索引。

在输入序列为单句的情况下,输入模块输出循环网络的隐藏状态。在输入序列是一个句子列表的情况下,我们将这些句子连接成一个单词标记的长列表,在每个句子后面插入一个句子结束标记。每个句末标记处的隐藏状态是输入模块的最终表示形式。在后面的小节中,我们将输入模块的输出表示为T_C事实表示c的序列,其中c_t表示输入模块的输出序列中的第t_{th}元素。注意,在输入为单个句子的情况下,T_C = T_I。也就是说,输出表示的数量等于句子中的单词数量。如果输入是一个句子列表,T_C等于句子的数量。

循环网络的选择:在我们的实验中,我们使用了一个门控循环网络(GRU) (Cho等,2014a;Chung等,2014)。我们还探索了更复杂的LSTM (Hochreiter)但它的性能类似,而且计算成本更高。这两种方法都比标准的tanh RNN方法有效得多,我们假设主要的优势来自于拥有可以使模型较少受到消失梯度问题(Hochreiter;Schmidhuber, 1997)。假设每个时间步t都有一个输入xt和一个隐藏状态ht。GRU的内部定义为:

n是超参数,

2.2. Question Module

与输入序列相似,问题也是自然语言处理问题中最常见的单词序列。和以前一样,我们通过一个递归神经网络对问题进行编码。给定一个T_Q单词,问题编码器在时间t的隐藏层状态是,L表示词嵌入矩阵,w_t^Q表示问题的第t个单词。我们在输入模块和问题模块之间共享单词嵌入矩阵。与输入模块不同,问题模块作为输出产生循环网络编码器的最终隐藏状态:

2.3. Episodic Memory Module

情景记忆模块迭代输入模块输出的表示,同时更新其内部情景记忆。情景记忆模块一般由注意机制和循环网络组成,通过循环网络更新记忆。在每次迭代过程中,注意机制会关注事实表示c,同时考虑问题表示q和先前的记忆m^{i -1},从而产生一个情景e_i

然后使用该情景与先前的记忆m^{i -1}一起更新情景记忆m_i = GRU(e^i;m^{i-1}).将该GRU的初始状态初始化为问题向量本身:m^0 = q.对于某些任务,情景记忆模块对输入进行多次遍历是有益的。T_M通过后,最终的内存m^{TM}给到应答模块。

Need for Multiple Episodes:此模块的迭代特性允许它在每次遍历期间处理不同的输入。它还允许一种类型的传递推理,因为第一次传递可能会发现需要检索额外的事实。例如,在图3中的例子中,我们被问到足球在哪里?在第一次迭代中,模型应该注意句子7 (John put down the football.),因为问题问的是关于足球的。只有当模型看到John是相关的,它才能推断出第二个迭代应该检索John所在的位置。类似地,第二遍可能有助于情绪分析,如下面的实验部分所示。

Attention Mechanism:在我们的工作中,我们使用一个门控功能作为我们的注意机制。对于每一遍i,该机制将一个候选事实ct、一个以前的内存mi 1和问题q作为输入来计算一个门:

评分函数G以特征集z(c,m,q);并生成一个标量分数。我们首先定义一个大型特征向量,它捕捉输入、内存和问题向量之间的各种相似性:z(c;m;q)=

一些数据集,如Facebook的bAbI数据集,指定了哪些事实对于给定的问题是重要的。在这种情况下,G函数的注意机制可以用标准的交叉成本函数在监督下训练。

Memory Update Mechanism:为了计算第i步的集,我们对输入c1的序列使用一个修改过的GRU;例如:加权。给定给回答模块的插曲向量是GRU的最终状态。更新GRU在t时刻的隐藏状态的方程和计算集的方程分别为

Criteria for Stopping:情景记忆模块也有一个停止重复输入的信号。为了实现这一点,我们向输入添加了一个特殊的传递结束表示,如果gate函数选择了这种表示,则停止迭代注意过程。对于没有显式监控的数据集,我们设置了最大迭代次数。整个模块是端到端可微的。

2.4. Answer Module

答案模块生成给定向量的答案。根据任务类型的不同,回答模块要么在情景记忆结束时触发一次,要么在每次执行步骤时触发一次。

我们使用另一个GRU,它的初始状态初始化为最后一个内存。在每个时间步,它以问题q作为输入,最后一个隐藏状态为,以及之前预测的输出

 我们将最后生成的单词和问题向量连接起来作为每个时间步长的输入。输出的训练与交叉熵错误分类的正确序列附加一个特殊的序列结束标记。

2.5. Training

训练被转换为一个监督分类问题,以最小化答案序列的交叉熵误差。对于具有门监督的数据集,如bAbI,我们将门的交叉熵误差加入到总成本中。由于所有的模块都是通过矢量表示和不同类型的带门可微深神经网络进行通信的,因此整个DMN模型可以通过反向传播和梯度下降进行训练。

3. Related Work

考虑到本文所处的许多位置以及我们的模型所应用的许多应用程序,不可能公正地处理相关领域的问题。

深度学习:在NLP中,有几种深度学习模型被应用于许多不同的任务。例如,递归神经网络被用于解析(Socher et al., 2011)、情绪分析(Socher et al., 2013)、意译检测(Socher et al., 2011)、问答(Iyyer et al., 2014)和逻辑推理(Bowman et al., 2014)等任务。然而,由于缺乏内存和问题模块,单个模型不能解决那么多不同的任务,也不能解决需要对多个句子进行传递推理的任务。另一种常用的模型是我们上面使用的链结构递归神经网络。递归神经网络已成功地应用于语言建模(Mikolov ;Zweig, 2012),语音识别,图像生成句子(Karpathy ;feifei Li,2015)。同样相关的还有Sutskever等人(Sutskever et al., 2014)用于机器翻译的序列到序列模型。该模型使用两个非常大且非常深的lstm对一种语言中的句子进行编码,然后再用另一种语言对句子进行解码。这种从序列到序列的模型是DMN的一个特例,没有问题,也没有情景记忆。相反,它将输入序列直接映射到答案序列。

注意和记忆:与DMNs非常相关的第二行工作是深度学习中的注意和记忆。注意机制通常是有用的,可以改善图像分类(Stollenga ;J. Masci, 2014),自动图像字幕(Xu et al., 2015)和机器翻译(Cho et al., 2014b;Bahdanau等,2014)。神经图灵机使用内存来解决算法问题,如列表排序(Graves)。Weston等人最近几个月在记忆网络方面的工作(Weston et al., 2015b)侧重于为自然语言问题的回答添加一个记忆组件。它们有一个输入(I)和响应(R)组件,它们的泛化(G)和输出特征图(O)组件与我们的情景记忆有一些功能重叠。然而,内存网络不能应用于相同种类的NLP任务,因为它独立地处理句子,而不是通过序列模型。它需要一袋n克向量特征,以及一个单独的特征,捕捉一个句子是否出现在另一个之前。最近针对算法问题(Joulin ;Mikolov, 2015;凯撒,Sutskever, 2015),图像标题生成(Malinowski ;弗里茨,2014;陈,Zitnick, 2014), visual question answer (Yang et al., 2015)或其他NLP问题和数据集(Hermann et al., 2015)。相反,DMN使用神经序列模型来表示输入、注意和响应机制,从而自然地捕捉位置和时间。因此,DMN可以直接应用于更广泛的应用程序,而不需要特性工程。我们直接比较bAbI数据集上的内存网络(Weston et al., 2015a)。

NLP应用:DMN是一个通用的模型,我们将其应用于几个NLP问题。就我们所知,我们比较的是针对每项任务的当前最先进的方法。回答问题有许多不同的方法:一些使用开放信息提取系统构建大型知识库(KBs) (Yates et al., 2007),一些使用神经网络、依赖树和KBs (Bordes et al., 2012),另一些仅使用句子(Iyyer et al., 2014)。还有很多其他的方法。当QA系统不能给出正确的答案时,通常就不清楚是否因为他们不能访问事实,不能对事实进行推理,或者从未见过这类问题或现象。大多数QA数据集只有几百个问题和答案,但是需要复杂的推理。因此,它们不能由必须从示例中学习的模型来解决。虽然合成数据集(Weston et al., 2015a)存在问题,通常可以通过人工特征工程轻松解决,但它们让我们理清模型的失效模式,了解必要的QA能力。它们对于分析试图学习所有内容的模型非常有用,并且不依赖于诸如coreference、POS、解析、逻辑规则等外部特性。DMN就是这样一个模型。Andreas等人(2016)的另一个相关模型将神经和逻辑推理相结合,用于知识库上的问题回答和可视化的问题回答。情绪分析是一个非常有用的分类任务,最近,斯坦福情绪树库(Socher et al., 2013)已经成为一个标准的基准数据集。Kim (Kim, 2014)报道了之前基于卷积神经网络的最先进的结果,该网络使用多个单词向量表示。前面的最佳模型的词性标注在《华尔街日报》部分潘树银行(Marcus et al ., 1993)是Sogaard (Søgaard 2011)使用semisupervised最近邻方法。我们还用(Le;Mikolov。,2014)。

神经科学:人类的情景记忆将特定的经历储存在他们的时空背景中。例如,它可能包含了某人第一次使用悬挂式滑翔机的记忆。Eichenbaum和Cohen认为情景记忆代表了一种关系形式。海马体负责一般的关系学习(Eichenbaum ;科恩,2004)。有趣的是,海马体在传递推断过程中也是活跃的(Heckers et al., 2004),海马体的破坏破坏了这种能力(Dusek ;Eichenbaum, 1997)。DMN中的情景记忆模块受到了这些发现的启发。它检索与问题相关或由问题触发的特定时间状态。此外,我们发现该模块中的GRU能够对bAbI数据集中的简单事实进行一些传递推理。该模块与时间上下文模型(Howard ;(Kahana, 2002)及其贝叶斯扩展(Socher et al., 2009)。

4. Experiments

4.1. Question Answering

4.2. Text Classification: Sentiment Analysis

4.3. Sequence Tagging: Part-of-Speech Tagging

4.4. Quantitative Analysis of Episodic Memory Module

4.5. Qualitative Analysis of Episodic Memory Module

 

5. Conclusion

DMN模型可能是各种NLP应用程序的通用体系结构,包括分类、问题回答和序列建模。对于多个NLP问题,单一体系结构是朝着单一联合模型迈出的第一步。DMN是端到端训练的,只有一个复杂的目标函数。未来的工作将探索额外的任务,更大的多任务模型和多模态输入和问题。

猜你喜欢

转载自blog.csdn.net/weixin_37993251/article/details/88931479
今日推荐