问我任何事情:为自然语言处理的动态内存网络
乔纳森苏詹姆斯布拉德伯里罗伯特英国布莱恩皮尔斯彼得翁德鲁斯卡伊沙恩古拉贾尼理查德索舍尔
firstname@metamind.io
元思维,帕洛阿尔托,加州
抽象
自然语言处理中的大多数任务都可以通过语言输入来回答问题。我们引入了动态记忆网络(DMN),一个统一的神经网络框架,它处理输入序列和问题,形成语义和情景记忆,并生成相关的服务器。问题触发迭代注意过程,允许模型将其注意条件于之前迭代的结果。然后在分层循环序列模型中对这些结果进行推理,以生成答案。DMN可以端到端训练,并获得多个类型任务和数据集的先进结果:问题回答(Facebook的bAbI数据集)、部分语音标记(WSJ-PTB)的序列建模以及情绪分析的文本分类(斯坦福情绪树库)。该模型不依赖于训练过的词向量表示,不需要字符串匹配或手动设计的特征。
1 介绍
问答(QA)是一项复杂的自然语言处理任务,它需要理解文本的含义和对相关事实进行推理的能力。自然语言处理中的大多数,如果不是全部,大多数任务都可以转化为回答问题:像机器翻译这样的高级任务,比如机器翻译(翻译成法语是什么?);序列建模任务,如命名实体识别[1](NER)(此句子中的命名实体标签是什么?)或者语音标签的部分是什么?);分类问题,如情绪分析-s[2](情绪是什么?);甚至是多句子联合分类问题,如共同参考解决“他们”指的是谁?。
动态记忆网络(DMN)是一种基于神经网络的模型,可以使用原始输入问答三胞对任何QA任务进行端到端训练。图中示。1显示输入和问题测试序列,以及模型给出的答案。DMN如图所示。2.一般来说,它可以解决序列标记任务、分类问题、序列序列任务和需要转换推理的问题回答任务。DMN首先将所有的输入、问题和回答文本处理成语义向量表示序列。问题表示触发一个迭代的注意力过程,搜索输入和检索相关事实。然后,DMN对检索的事实进行原因,并提供一个具有适当摘要的答案序列模型
2 动态内存网络框架
DMN是一个用于对输入提出问题的一般建模框架。我们将对完整的模型进行概述,然后对每个模块进行进一步的详细介绍,并为自然语言处理提供每个模块的特定实例化。DMN的目标是首先计算一个输入的向量表示,假设一个问题,然后生成正确的答案。它包含以下模块:
输入模块:此模块处理原始输入,并将其映射到一个对询问有关此输入的问题很有用的表示法中。输入例如可以是图像、视频或音频信号。本文重点讨论了NLP。因此,输入可能是一个句子,一个长篇故事,一个电影评论,一篇新闻文章,或者所有的维基百科。
语义内存模块:语义记忆存储了关于概念和事实的一般知识。例如,它可能包含关于挂起滑翔机的信息。初始化策略,如分布式词向量(Glove[3],Word2Vec[4])是流行的语义元组件,已经被证明可以提高许多NLP任务上的性能。更复杂的信息可以以知识库的形式存储,以三胞[5]或地名的形式捕获关系,这对于命名实体识别或问答[6]等任务很有用。
问题模块:问题模块计算一个问题的表示,比如作者第一次飞在哪里?该表示触发情景记忆模块,开始对输入序列的事实的迭代注意过程。
情景记忆模块:这是DMN的中心部分。问题提请注意输入序列的特定事实,经过推理以更新此模块的内存状态。这个过程然后进行迭代,每次迭代都为模块提供关于输入的新的相关信息。换句话说,该模块能够检索在以前的迭代中被认为无关紧要的新事实。经过几次通过后,模块然后总结它的知识,并为答案模块提供最终的表示来生成答案。
回答模块:给定情景记忆模块的表示,回答模块生成模型的预测答案。
2.1 输入模块
输入模块计算输入的有用表示,以便以后可以重新检索相关事实。通常,输入模块可以被认为是计算最终返回最终向量表示的函数的中间步骤。输入模块将这些中间值发送到情景记忆模块,该模块将通过其注意机制,以问题为条件,完成计算。我们将输入模块提供给情景记忆的表示,作为由情景记忆来推理的事实。
在自然语言处理中,我们有一系列TI单词wI1, . . . , wITI。输入模块公司计算递归序列模型[7]的隐藏状态。
提问
输入文本序列
问答
情景记忆
语义记忆
- 词向量
- 知识基础
图1:DMN模块的概览。它们之间的通信由箭头表示,并且只使用向量表示。问题触发门,允许某些输入单词或句子的向量给给情景记忆模块。情景记忆的最终状态是对答案模块的输入。
我们使用手套[3]向量来捕获与上下文无关的表示,并使用这些值初始化DMN的嵌入消息。Word嵌入作为递归网络的输入来计算隐藏事实状态:ct=SEQ模型(L[wI],ht1),其中L是嵌入矩阵,wI是输入序列的第t个字。特别地,我们使用了一个门控递归网络(Gru)[8,9]。我们还探索了更复杂的LSTM[10],但它的性能类似,而且计算成本更昂贵。两者都比标准的RNN要好得多,我们假设主要强度来自于门,允许模型减少消失梯度问题[10]的影响。
Gru定义:假设每个时间步长都有一个输入xt和一个隐藏状态ht。我们将用h=Gru(xt,htminus;1)缩写以下计算:
zt = sigma; W (z)xt U (z)htminus;1 b(z) ; rt = sigma;W (r)xt U (r)htminus;1 b(r) (1)
htilde;t = tanh Wxt rt ◦ Uhtminus;1 b(h) ;ht = zt ◦ htminus;1 (1 minus; zt) ◦ htilde;t, (2)
其中是元素产品,W(z) , W(r) , W isin; RnHtimes;nI and U(z) , U(r) , U isin; RnHtimes;nH .维度n是超参数。如果我们对递归网络的输出进行子样本,输入模块将只返回与原始故事中的句子结尾标记对应的隐藏状态ct。否则,输入模块将返回所有单词的隐藏状态ct。为了方便符号化,在未来的模块中,我们将把这两种状态中的任何一种称为ct,并在实验部分中说明是否使用了子采样。
2.2 语义内存模块
语义记忆由存储的单词概念和关于它们的事实组成。我们初始化了手套向量的嵌入。这个模块可以包括采集者或其他形式的显式知识库,但在这个工作中,我们不使用它们。
2.3 提问模块
此模块将问题映射到一个表示中,然后用于查询输入模块的特定事实。我们有一些由TQ单词wQ的序列组成的问题。我们将进行计算。通过qt=Gru(L[wQ],qtminus;1)的每个隐藏状态,其中Gru和嵌入权重与输入模块共享。最后一个问题向量被定义为q=qTQ。
2.4 情景记忆模块
情景记忆模块从基于问题条件的输入模块中检索事实。然后解释这些事实,生成一个最终的表示,答案模块将使用它来生成一个答案。我们将这种表示形式称为一种内存。重要的是,我们允许我们的模块
情景记忆
模块
1
0.0
e2
2
0.3
e2
3
0.0
e2
4
0.0
e2
5
0.0
e2
6
0.9
e2
7
0.0
e2
应答模块
8
0.0 m2
(Glove vectors)
e
1
1
e
1
2
e
1
3
e
1
4
e
1
5
e
1
6
e
1
7
e
1
8
0.3 0.0 0.0 0.0 0.0 0.0 1.0 0.0
m1
输入模块1 s2
s3 s4 s5 s6 s7 s8
问题模块
w1
T
图2:由特定问题触发的输入句子序列和注意门的真实例子。门值gi显示在相应的向量之上。门会随着每次对输入的搜索而变化。我们不会为接近零的门绘制连接。见章节4.1:以获取有关此示例来自的数据集的详细信息。
多次传递事实,把注意力集中在不同的事实上。每一次都会产生一集,然后这些片段被总结为记忆。用这个章节的组件来结束我们的模块,使它的注意机制能够更有选择性地处理每一次传递中的特定事实,因为它可以在以后的传递中处理其他重要的事实。它还允许一种传递推理,因为第一次传递可能会揭示检索额外事实的必要性。
例如,在图中的例子中3,我们被问及足球在哪里?在第一次迭代中,模型应该注意第7句(约翰放下了足球),作为关于足球的问题。只有当模型看到John相关时,才能说明第二次迭代应该检索John所在的位置。在本例中,根据FacebookbAbI任务的真实测试问题,确实可以看到这种行为。请注意,第二次迭代错误地在第2句中放置了一些权重,这有一些直观的意义,因为第二句是约翰曾经去过的另一个地方。
在其一般形式中,情景记忆模块的特征是一个注意机制,一个给定注意机制的输出和输入模块的事实返回事件的函数,以及一个将事件总结为记忆的函数
在我们的工作中,我们使用一个门控函数作为我们的注意机制。它作为输入,对于每一个候选事实,以前的状态miminus;1,和问题q计算一个门:gi=G(ct,miminus;1,q)。状态通过Gru:mi=Gru(ei,miminus;1)进行更新,其中ei是通过i的计算集。状态可以随机初始化,但在实践中,我们发现将其初始化为问题向量本身很有帮助;例如,m0=q。函数G返回单个标量,其定义如下:
z(c, m, q) = [c, m, q, c ◦ q, c ◦ m, |c minus; q|, |c minus; m|, cT W (b)q, cT W (b)m] (3)
G(c, m, q) = sigma; W (2) tanh W (1)z(c, m, q) b(1) b(2) (4)
为了计算通过i的事件,我们在TC事实序列上使用一个修改的Gru,被赋予我们的门。这一集是格鲁河的最后一种状态:
hi = giGR (5)
ei= Hi (6)
TC
最后,为了将TP事件总结为内存,我们使用更新注意机制状态的=(=,minus;1),并将内存设置为=TP。这相当于将内存设置为注意机制的最终状态,但我们在这里将它划分为自己的计算,以突出这些子组件的潜在模块化。
hallway
lt;EOSgt;
对于标记哪个事实对给定问题很重要的数据集,如脸书的bAbI数据集,等式的大门4可以用一个标准的交叉熵分类来训练和监督
错误函数。我们还在事实中附加了一个特殊的传递端表示,如果门函数选择了该表
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[405750],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。