Recent Trends in Deep Learning Based Natural Language Processing(翻译)
摘要
基于深度学习的方法通过多层次特征提取机制从数据中提取复杂表示,并已在多个领域带来了创新性的技术突破。随着自然语言处理领域的深入发展,在这个背景下各种模型架构及其改进方案不断涌现。本文旨在系统回顾与深度学习相关的理论框架及实现手段,在现有研究的基础上归纳总结这些技术已成功应用于多个自然语言处理任务,并对其发展历程进行了梳理。此外我们还对现有的各类模型进行了系统性分析并对当前深度学习技术的发展脉络及其未来走向进行了详尽阐述。
绪论
自然语言处理(NLP)是用于自动分析和表示人类语言的一种理论驱动的计算技术。NLP的研究已经从打孔卡和批处理的时代(句子分析可能需要长达7分钟的时间)发展到谷歌等类似的时代(数百万个网页可以在不到一秒钟的时间内处理完)[1]。NLP使计算机能够在各个层次上执行与自然语言相关的各种任务,从解析和词性(POS)标注到机器翻译和对话系统。
深度学习架构和算法已经在诸如计算机视觉和模式识别等领域取得了令人瞩目的进步。遵循这一趋势,最近的NLP研究越来越侧重于使用心得深度学习方法(图1)。几十年来,针对NLP问题的机器学习方法一直在基于高维和稀疏特征的浅层模型(例如SVM和逻辑回归)上训练。在过去几年,基于密集矢量表示的神经网络已经在各种NLP任务中产生了优异的结果。词嵌入[2,3]和深度学习方法[4]的成功引发这种趋势。深度学习支持多层自动特征表示学习。相反,基于传统机器学习的NLP系统在很大程度上依赖手工制作的功能。这种手工制作的功能很耗时,而且往往是不完整的。

Collobert等人[5]证实在一些NLP任务(诸如命名实体识别(NER)、情感角色标签(SRL)和词性标注等)中,简单的深度学习框架要优于大多数最新技术。自此,已经提出许多基于复杂深度学习的算法来解决困难的NLP任务。我们回顾了适用于自然语言任务的主要深度学习相关的模型和方法,例如卷积神经网络(CNNs)、循环神经网络(RNNs)和递归神经网络。我们还讨论记忆增强策略、注意力机制以及如何将无监督模型、强化学习方法和深度生成模型用于与语言相关的任务。 据我们所知,这项工作是首次全面涵盖当今NLP研究中最受欢迎的深度学习方法。Goldberg[6]的工作仅以教程的方式介绍了将神经网络应用于NLP的基本原理。我们相信本文将为读者提供有关该领域当前实践的更全面的想法。 本文框架如下:第II部分介绍分布式表示的概念,复杂的深度学习模型的基础;第III、IV和V部分讨论了流行的模型,例如卷积、循环和递归神经网络,以及它们在各种NLP任务中的应用;第VI部分列出了强化学习在在NLP的最新应用以及无监督句子表示学习的新发展;第VII部分阐述了深度学习模型于内存组件耦合的最新趋势;第VIII部分总结了一系列深度学习方法在有关NLP主题的标准数据集上的性能。 # 分布式表示 统计NLP已成为建模复杂自然语言任务的主要选择。但是,从一开始在学校语言模型的联合概率函数时,它经常遭受着臭名昭著的维数诅咒。这导致了学习低维空间中存在的单词的分布式表示的动机[7]。 ## 1、Word Embedding(词嵌入) 分布式向量或词嵌入(图2)基本上遵循分布式假设,根据这个假设,具有相同含义的单词倾向于在相似的上下文出现。因此,这些词向量尝试捕获单词的邻居的特征。分布式向量的主要优点是它们能捕获单词之间的相似性。使用余弦相似度等度量可以测量向量之间的相似度。词嵌入通常用作深度学习模型中的第一个数据处理层。通常,通过优化未标记的大型语料库中的辅助目标来对词嵌入进行预训练,例如根据其上下文来预测单词[8,3],其中学到的词向量能够捕获一般的句法和情感信息。因此,这些嵌入被证明在捕获上下文相似度方面是有效的,同样地,由于其较小的维数,在处理核心NLP任务时是快速而有效的。

多年以来,创建此类嵌入的模型一直都是浅层模型,因此不需要深度网络来创建良好的嵌入。然而,基于深度学习的NLP模型始终使用这些嵌入表示它们的单词、短语,甚至句子。实际上,这是传统的基于计数的模型与基于深度学习的模型之间的主要区别。词嵌入已成为各类NLP任务的最新计数成果[9, 10, 11, 12]。
例如,Glorot等人[13]在情感分类中,使用嵌入和叠置去噪自动编码器进行域自适应。Hermann和Blunsom [14]提出组合类别自动编码器学习句子的组合性。在最近的文献中它们的广泛使用表明它们使用任意深度学习模型执行NLP任务中的有效性和重要性。
分布式表示(嵌入)主要通过上下文学习。在1990年代,一些研究进展[15]标志着分布式语义研究的基础。这些早期趋势的更详细总结在[16, 17]中提供。后来的发展是对早期工作的改编,从而导致了主题模型(潜在的狄利克雷分配[18]和语言模型[7])的创建。这些成果奠定了自然语言中表征学习的基础。
在2003年,Bengio等人[7]提出了一个学习单词分布式表示的神经语言模型(图3)。作者认为,这些单词表示一旦使用单词序列的联合概率被编译为句子表示,就可以实现语义上相邻句子的指数级增长。反过来说这有助于概括。因为如果已经看到具有相似单词的单词序列(相对于附近的单词表示),那么看不见的句子现在可以获得更高的可信度。

Collobert与Weston[19]首次展示了预训练词嵌入的实际应用价值。他们提出了一种神经网络架构,在许多现有方法中起到了关键作用。该研究进一步确认了词嵌入在NLP任务中的重要性。然而,在CBOW和skip-gram模型之后(如Mikolov等人[3]所提出),词嵌入的整体普及程度显著提升。向量表示展现出令人难以置信的组合效果——将两个连续词语相加即可生成其语义组合(例如,“man”+“royal”=“king”)。Gittens等人最近对此现象提出了理论解释(例如,在单词分布满足一定假设条件下)。另一方面,Pennington等人[21]则提出了另一种基于计数的著名词嵌入方法——Glove, 该模型通过归一化处理和取对数平滑处理后对单词共现矩阵进行分解, 从而实现了高效的低维表示学习
2、Word2vec
条件概率方面,请考虑CBOW模型的简化版本,在这种情况下仅考虑一个上下文词。这实际上等同于二元语言模型的大纲。
如图4所示,CBOW模型是一个具有一个隐藏层的简单的完全连接的人工神经网络。输入层(使用上下文词的一维热向量)拥有V个神经元,而隐藏层拥有N个神经元。输出层是词汇表中所有单词的概率分布,由Softmax函数生成。
各层之间分别通过权重矩阵W∈ℝ(V×N)、W'∈ℝ(N×V)相连。
每个单词由两个学习向量表示:一个用于上下文c(记为v_c),另一个用于中心词(记为v_w)。
因此,第k个单词对应的向量分别为:
v_c=W_(k,.), v_w=W'_(.,k)
对于给定上下文词c以及任意一个作为输入的目标词w_i:
p(w_i|c)=y_i=eu_i/Σ_j=1V e^u_j
其中,u_i=v_wi^T·v_c
损失函数定义为:
L(θ)=−Σ_c Σ_w p(w|c) log p(w|c)
梯度计算如下:
∂L/∂v_w= v_c (1−p(w|c))
在传统的CBOW模型中,所有参与输入的上下文一维热向量同时被应用:
h=W^T(x₁+x₂+…+x_c)

单个词嵌入的局限性是它们无法表示短语[3],两个或两个以上单词的组合(例如像"hot potato"(烫手山芋)这样的成语或者例如"Boston Globe"(波士顿环球报)这样的命名实体)不代表单个单词含义的组合。正如Mikolov等人[3]所探讨的,解决这一问题的方法是基于单词共现来识别这些短语并分布训练它们的嵌入。后来的方法探索了从未标记的数据中直接学习n-gram嵌入[23]。
另一个局限性来自仅基于周围单词的小窗口学习嵌入,有时诸如‘good’和‘bad’之类的单词几乎共享相同的嵌入[24],如果在诸如情感分析之类的任务中使用时有问题的[25]。有时这些嵌入会聚类语义相似的单词,然而这些单词具有相反的情感极性。这导致用于情感分析任务的下游模型无法识别这种相反的极性,从而导致性能不佳。Tang等人[26]通过提出情感专用词嵌入(SSWE)来解决这一问题。作者在学习嵌入的同时,将文本的监督情感极性纳入其损失函数中。
词嵌入的一般警告是它们高度依赖其使用的应用程序。Labutow和Lipson[27]提出了任务特定的嵌入,它重新训练词嵌入使其在当前任务空间中对齐。这一点非常重要,因为从头开始训练嵌入需要大量的时间和资源。Mikolov等人[8]试图通过提出负样本(negative sampling)来解决这一问题,该采样在训练word2vec模型的同时对负项进行基于频率的采样。
传统的词嵌入算法为每个词分配不同的向量,这使得它们无法解释一词多义。在最近的工作中,Upadhyay等人[28]提出解决这一缺陷的创新方法。作者利用多语言并行数据来学习多义词嵌入。例如,当翻译英语单词‘bank’为法语时,分别提供两个不同的单词:‘banc’和‘banque’表示财务和地理含义。这种多语言分布信息有助于它们解释多义词。
表1提供了现有框架的目录,这些框架常用于创建嵌入并将其进一步集成到深度学习模型中。

3、Character Embeddings
词嵌入可以捕获语义和情感信息,但是对于诸如词性标注和NER等任务,词内形态和形状信息也非常有用。一般来说,在字符层面上建立自然语义理解系统已经引起了一定的研究关注[29, 30, 31, 32]。在某些NLP任务中报道了在形态丰富的语言上更好的结果。Santos和Guimaraes[31]应用了字符级别的表示以及NER的词嵌入,在葡萄牙语和西班牙语语料库中获得了最新的成果。Kim等人[29]在仅使用字符嵌入建立神经语言模型方面显示出积极的结果。Ma等人[33]利用包含character trigrams在内的几种嵌入将原型和层次信息结合在一起,以便在NER的上下文中学校预训练的标签嵌入。
对于具有大量词汇的语言,一个常见的现象是未知词问题,也称为out-of-vocabulary(OOV)词。字符嵌入自然处理它,因为每个单词被认为只不过是单个字母的组合而已。在语言中,文本不是由分开的单词组成,而是由单个字符组成。并且单词的语义映射为其组成字符(例如中文),因此在字符级别上建立系统是自然选择来避免单词分割[34]。因此,使用深度学习应用程序在此类语言上的工作倾向于选择字符嵌入而不是词向量[35]。例如,Peng等人[36]证明了激进层次处理可以极大提高情感分类的性能。特别地,作者提出两种基于中文根基的层次嵌入,它们不就包含根基和字符层次的语义,还包含情感信息。Bojanowski等人[37]也尝试提高通过在形态丰富的语言中使用字符层信息来提高单词的表示。他们通过将单词表示为字符袋n-gram来接近skip-gram方法。因此他们的工作具有skip-gram模型的有效性,同时解决了一些持久的词嵌入问题。该方法也很快,可以快速在大型语料库上进行训练模型。该方法通常被称为FastText,在速度、可伸缩性和有效性方面都比之前的方法更突出。
除了字符嵌入之外,还提出了用于OOV处理的不同方法。Herbelot和Baroni[38]通过将未知词初始化为上下文词的总和以及以更高的学习率提炼这些词来实时处理OOV。然而,他们的方法还未在典型的NLP任务中进行测试。Pinter等人[39]提出一个的有趣方法—训练基于字符的模型来重建预训练嵌入。这使他们能够学习兄字符嵌入到词嵌入的组合映射,从而解决OOV问题。
尽管分布式向量越来越受欢迎,但最近关于他们长期相关性的讨论已经出现。例如,Lucy和Gauthier[40]最近尝试评估单词向量捕获概念意义的必要方面的程度。作者也发现了对词背后的概念的感知理解的严重不足,这些不足无法仅从分布式语义中推断出来。缓解这些不足的可能方向是基础学习(grounded learning),它在这个研究领域中越来越受欢迎。
4、Contextualized Word Embeddings
单词表示的质量通常由其编码语法信息以及处理多义性能力的强弱来评估。这些特性有助于提升语义词的表现。通过利用上下文信息的深入分析与提取,在当前研究中提出了基于深层上下文表示的新一代词嵌入方法。这些方法不仅能够捕捉到词汇在不同语境下的细微变化,并且能够生成更加精确的语义向量表示。
CONVOLUTIONAL NEURAL NETWORKS(卷积神经网络)
随着词嵌入的普及及其在分布式空间种表示单词的能力,人们需要一种有效的特征函数,该函数可从构成单词或n-grams的过程中获取更高层次的特征。这些抽象特征随后将被应用到众多NLP任务(例如情感分析、摘要、机器翻译和问答系统(QA))中。考虑到CNNs在计算机视觉任务中的有效性,它是一种自然选择[46, 47, 48]。
使用CNNs进行句子建模可追溯到Collobert和Weston[19]。这项工作使用多任务学习来输出NLP任务(例如词性标注、块(chunks)、命名实体识别、语义角色、语义相似的词和语言模型)的多个预测。查找表用于将每个单词转换成用户定义维度的向量。因此,通过查找表\left \{ s_{1},s_{2},...s_{n} \right \}应用于每个词(图5),n个单词的输入序列被转换为一系列向量\left \{ w_{s_{1}}, w_{s_{2}},...,w_{s_{n}}\right \}。

这种方法可被视为最早提出的词嵌入技术。其中参数是在网络训练过程中被学习得到的。参考文献[5]中,Collobert扩展了他的研究工作并提出了一种基于卷积神经网络(CNN)的通用框架以解决大量自然语言处理问题。这两项研究极大地推动了卷积神经网络(CNN)在自然语言处理领域的广泛应用。鉴于卷积神经网络(CNN)已经在计算机视觉领域取得了显著的成功,则使得人们更加倾向于相信其(针对自然语言处理应用的表现)更为出色。
CNNs能够从输入句子中提取具有重要性的n-gram特征,并以此为基础构建用于表示句意潜在信息的形式化语义模型。这项开创性工作主要由Collobert等人[5]、Kalchbrenner等人[49]以及Kim [50]团队完成,在此基础上其应用范围迅速扩展至后续文献中,并成为现代自然语言处理研究的重要基础之一。随后我们将详细介绍一种基于卷积神经网络的简单文本建模方法。
1、Basic CNN
1)句向量建模:对于任意一个输入的中文分句s = (s_1, s_2, ..., s_n)(其中s_i \in V, i=1,...,n),我们可以将其转化为相应的词嵌入空间中的向量形式(w_1, w_2, ..., w_n)(其中每个词嵌入都是d-维实数空间中的向量)。这种将词语转换为空间点位的技术被称为"word embedding"或"subword embedding"等价于将整个分句映射到d-维空间中形成的一个矩阵形式,在此过程中我们称其为"Word Embedding Matrix"或"WEMBED Matrices"

用w_{i:i+j}表示向量w_{i},w_{i+1},...w_{j}的串联,在输入嵌入层进行卷积。它包括一个滤波器k\in R^{hd},应用于h个单词的窗口以产生新的特征。例如,使用单词窗口w_{i:i+h-1}生成特征c_i c_i= f\left ( w_{i:i+h-1}\cdot k^{T} +b\right ) 其中,b\in R偏置量,f是非线性激活函数(例如双曲正切函数(hyperbolic tangent))。滤波器k将以相同的权重应用于所有可能的窗口以创建特征映射。c=\left [ c_{1},c_{2},...,c_{n-h+1} \right ]
在CNN,许多不同宽度的卷积滤波器(通常也被称为内核(数百个))在整个单词嵌入矩阵上滑动。每一个内核提取一个n-gram的特定模式。卷积层通常后面跟随一个最大池策略,该策略通常通过在每个滤波器上应用最大运算来对输入进行子采样。这个策略有两个主要原因。
首先,最大池提供一个固定长度的输出,这通常是分类所必需的。因此不管滤波器的大小,最大池总是将输入映射到输出的固定维度。其次,它降低输出维度,同时在整个句子中保留最显著的n-gram特征。这是通过翻译不变的方式完成的,其中每个滤波器现在都能从句子中任何位置提取特定特征并将其添加到最终的句子表示中。
词嵌入可以随机初始化,也可以在未标记的大型语料库上进行预训练(如第二节所述)。有时会发现后一种可能性对性能更有利,特别是当标记的数据量有限时。卷积层和最大池的组合通常被堆叠以创建深层CNN网络。这些有序的卷积有助于改进句子的挖掘,以掌握一种包含丰富语义信息的抽象表示。内核通过深度卷子覆盖句子的很大一部分,直到最终完全覆盖句子并创建句子特征的全局摘要。
2)Window方法 :基本的CNN可以将整个句子建模成句子表示。然而,许多NLP任务,例如NER POS tagging和SRL,需要基于单词预测。为了使CNN适用此类任务,使用Window方法,它假设单词的标注主要依赖于它周围的单词。因此,对于每个单词,假设一个围绕自身的固定大小的窗口和窗口内的字句范围都被考虑在内。如前所述,将一个独立的CNN应用于此子句并且预测归因于窗口中心的单词。按照这种方法,Poria等人采用多层次的深度CNN将句子中的每个单词标记为可能的方面或不可能的方面。结合一组语言模式,它们的集成分类器在相位预测方面表现良好。
单词层面的分类的最终目标通常是为整个句子分配一个标签序列。在这种情况下,有时会使用结构化测技术(例如条件随机场(CRF))来更好地捕获相邻类别标签之间的依存关系,并最终生成内聚标签序列,从而使整个句子活动最高分。
为了获取更大的上下文范围,经典的窗口方法通常与时延神经网络(TDNN)相结合。在整个序列的所有窗口上执行卷积。通常通过定义具有一定宽度的核来约束这些卷积。因此,经典的窗口方法仅考虑待标注单词周围窗口的单词,而TDNN会同时考虑句子中单词的所有窗口。有时,TDNN层也会像CNN架构一样堆叠,以提取较低层的局部特征和较高层的全局特征。
2、应用
在本节中, 我们将介绍一些关键工作, 即将CNN应用于NLP任务并在不同历史时期设置了新的基准. Kim[50]将这一框架应用于句子分类任务(涉及情感、主观性和问题类型分类), 并取得了有竞争力的结果. 由于其结构简单且效果显著的特点, 这项研究迅速吸引了大量研究人员的关注. 卷积核在经过随机初始化后转变为专门针对目标任务可提取n-gram特征的探测器(如图7所示). 然而这种简单的网络存在诸多不足, 主要是因为CNN无法有效建模主要的问题——长距离依赖关系.

此问题由Kalchbrenner团队提出并解决。其在知名期刊上发表了 seminal 论文, 开发了一种称为 DCNN (动态卷积神经网络) 的模型架构用于语义建模。他们在此框架下引入了 novel dynamic k-max pooling 策略, 该策略针对输入序列p而言, 在其特征空间中选取活性最强的k项, 并仅考虑这些特征序列中的相对顺序而放弃其具体位置信息(图8)。在 TDNN 框架下构建这种扩展机制后, 能够使宽度较小的滤波器跨越较长输入范围, 从而在全局范围内积累关键信息。值得注意的是, 在归纳子图示意图(图8)中, 高阶特征展现出高度可变性, 它们既可以集中在短小范围内也可以覆盖全局且超出输入长度限制的空间范围。为了验证该方法的有效性, 他们将其整合进多个应用领域(如情感分析与问题分类), 并取得令人瞩目的成果。研究者深入探讨并提出了一种扩展单个内核作用范围的技术方案

用于情感分析的任务还需要有效提取多方面的信息及其情感极性[55]。Ruder等人[56]将卷积神经网络(CNN)应用于输入方向向量与单词嵌入结合以获得竞争性结果的研究取得了进展。然而,在处理不同长度的文本时展现出明显的差异性,在许多相关工作中均可观察到这一现象:例如Johnson和Zhang[23]指出,在长文本上CNN方法表现出更好的效果;而Wang等人[57]则强调,在短文本表示中使用CNN方法需要付出额外的努力以创造有意义的表示。作者提出了一种语义聚类方法,并引入了多尺度情感单元作为短文本外部知识的表现形式;这些单元通过卷积操作合并形成整体表示;作者认为高上下文信息的需求可视为一种警告信号;基于CNN模型的方法在执行微文本相关NLP任务时通常需要依赖其他信息与外部知识的支持才能达到预期效果;这种现象已在文献[58]中有所体现:作者利用CNN网络对Twitter上的讽刺言论进行了检测,并通过训练有素的情感分析网络辅助支持情感与个性数据集以实现最新性能水平的发展
RECURRENT NEURAL NETWORKS(循环神经网络)
RNNs[69]基于处理序列信息的方法。“recurrent”表明在序列的每个实例中执行相同的任务。'recurrent'表明在序列的每个实例中执行相同的任务。输出依赖于之前的计算结果。通常将序列中的标记依次输入到循环单元中以生成一个固定大小的向量来表示该序列。这种机制赋予了网络对先前计算的记忆能力,并将其用于当前的信息处理。这一模式非常适合于一系列自然语言处理任务,例如语言建模[2,70,71]、机器翻译[72,73,74]、语音识别[75,76,77,78]以及图像捕捉[79]等场景。这些应用使得RNNs在现代NLP领域持续获得更高的关注与认可。
1、Need for Recurrent Networks
在本部分中,我们探讨了有助于推广RNNs到多种NLP任务的关键属性。基于RNN通过按序构建单元来进行序列处理的事实,则其具备捕捉语言固有顺序性的能力;这一特性使得符号单元(如字符、单词甚至句子)能够被有效识别和处理。随着句子中先出现的单词为其语义发展提供基础,则后续词汇的意义构建会受到先前词汇的影响;举个简单的例子:"狗"和"热狗"在语义上存在显著差异。这种基于顺序处理的独特优势使得RNNs特别适合用于那些依赖于上下文关系的任务场景;而相比之下,在模式识别领域(即最擅长的语言模型任务)中则更适合CNNs这样的架构设计;然而这种单一的优势并非决定性因素
从功能特性角度来看,RNN的设计理念与CNN有着显著的区别;值得注意的是,RNN能够适应建模长度不受限的任务,这一特点使其成为捕捉长距离依赖关系的理想选择
尽管如此,RNN的强大之处还体现在其对复杂序列数据的高度适应性上;特别是在涉及短语识别、长距离依存关系以及事件消解等问题时,其表现尤为出色
2、RNN models
1)Simple RNN :在自然语言处理领域中,默认使用的RNN架构多参考Elman网络[69]。最初设计为三层结构。图9展示了通用RNN模型的基本架构,在时间序列上逐步更新各层节点的状态信息。其中x_t代表t时刻输入层的信号值(通常采用one-hot编码或嵌入表示),而s_t则表示t时刻隐层神经元的状态向量值。根据递推关系式s_t= f\left ( Ux_{t}+Ws_{t-1} \right )(其中f是非线性激活函数如\tanh、ReLU等),当前时刻的状态s_t由当前输入x_t与其前一时刻的状态s_{t-1}共同决定。特别地,在深度学习框架中,默认情况下各层间的权重参数实现了跨时间维度上的共享机制(即weight sharing)。输出序列\{o_1,o_2,...,o_T\}则反映了经过非线性变换后的特征表示形式,在实际应用中常需结合后续任务需求进行进一步加工以获取最终预测结果或决策依据

RNN模型的核心要素通常被视为其最为关键的部分。如前所述,在时间序列数据处理中,
它可被视为从各个时间步积累新信息后形成的存储单元。然而在实际应用过程中,
这些较为简单的RNN架构往往会遭遇赫赫有名的"梯度消失"问题,
这使得对模型训练及调节其中早期层参数的工作极具挑战性。
这一限制通过多样网络技术成功解决,
包括LSTM(长短期记忆)、GRU(门控循环单元)等常用架构,
以及近年来提出的残差网络等新结构。

2) Long Short-Term Memory :LSTM[91,92](图10)在简单的RNN上加入了"遗忘"门,可以解决梯度消失和梯度爆炸问题。
与普通的RNN不同,LSTM允许误差通过无限个实际步长后向传播。由三个门组成:输入、遗忘和输出,隐藏状态是结合了三个门计算得出的:x=\begin{bmatrix} h_{t-1} \\ x_{t}\end{bmatrix}f_{t}=\sigma \left ( W_{f}\cdot x+b_{f} \right )i_{t}=\sigma \left ( W_{i}\cdot x+b_{i} \right )o_{t}=\sigma \left ( W_{o}\cdot x+b_{o} \right )c_{t}=f_{t}\odot c_{t-1}+\odot tanh\left ( W_{c}\cdot x+b_{c}\right )h_{t}=o_{t}\odot c_{t-1}+\odot tanh\left (c_{t}\right )
3)GRU :另一种门控的RNN变体称为GRU[82](图10)。其复杂性较低,在大多数任务中与LSTM经验相似的性能被发明。GRU由两个门组成:重置门和更新门,并且像一个没有存储单元的LSTM一样处理信息流。因此,它在没有任何控制的情况下暴露整个隐藏内容。由于不太复杂,GRU可称为比LSTM更有效的RNN。GRU的工作如下:z=\sigma \left ( U_{z}\cdot x_{t}+W_{z}\cdot h_{t-1} \right )r=\sigma \left ( U_{r}\cdot x_{t}+W_{r}\cdot h_{t-1} \right )s_{t}=tanh \left ( U_{z}\cdot x_{t}+W_{s}\left ( h_{t-1}\odot r \right ) \right )h_{t}=\left ( 1-z\right )\odot s_{t}+z\odot h_{t-1} 研究者们经常面临如何选择合适的门状RNN的问题,这也扩展到在NLP方面工作的开发人员。纵观历史,对RNN变体的大多数选择都是启发式的。Chung等人[81]对上述三个RNN变体进行了比较评估,尽管不是NLP任务。他们评估了与复音音乐建模和语音信号建模有关的任务的工作。他们的评估清楚地表明了带门单元的比传统的RNN(使用tanh作为激活函数)好(图11)。然而对于两个带门的哪个更好,他们不能得出任何正确的结论。在其他工作中也注意到了这一事实,因此人们在两者之间进行选择时经常会利用诸如计算能力之类的其他因素。

3、应用
1)用于单词级别分类的RNN :RNNs在词一级分类领域占有重要地位。它们的各种应用在各自的任务中都是最先进的。Lample等人[93]使用双向LSTM进行NER。这个网络捕获围绕目标词的任意长度的上下文信息(突破古代窗口大小的限制),产生两个固定大小的向量,并在其上构建了另一个完全连接层,最后用CRF层进行实体标记。
与基于计数统计的传统方法相比,RNNs在语言建模方面也有很大的改进。Grave[94]在这一领域开创了先河,说明了RNNs在建模带有远距离上下文结构的复杂序列的有效性。他还提议深度RNNs使用多层隐藏状态来增强建模。这项工作开创了RNNs在NLP任务之外的任务的使用。后来,Sundermeyer等人[95]比较了根据前面词预测词时,将前馈神经网络替换为RNN而获得的收益。它们提出了神经网络架构中的典型层次结构,其中前馈神经网络相对于传统的基于计数的语言模型有了很大的提高,而前馈神经网络又被RNNs取代,后来被LSTM取代。他们提出的一个重点是他们的结论适用于各自其他任务,例如机器翻译[96]。
2)用于句子级别分类的RNN :Wang等人[25]提议用LSTM编码整个推特,其隐藏状态被用来预测不同情感。这个简单的策略比Kalchbrenner等人[49]提出的更复杂的DCNN结构更有竞争力,后者旨在赋予CNN模型捕获长期依赖性的能力。在一个特定的研究否定短语的案例中,作者还表示LSTM门的动态性能捕获单词not的反转效果。
与CNN类似,RNN的隐藏状态可用于文本的情感匹配。在对话系统中,Lowe等人[97]提议用Dual-LSTM匹配消息和候选响应,Dual-LSTM将两者都编码为固定大小的向量,然后将其内积作为对候选响应进行排序的基础。
3)用于生成语言的RNN :NLP中一项具有挑战性的任务是生成自然语言,这是RNNs的另一种自然应用。根据文本或视觉数据,深度LSTMs已被证明可以在机器翻译、图像字幕等任务中生成合理的任务特定文本。在这种情况下,RNN被称为解码器。
在[74]中,作者提出了一个通用的深度LSTM编码器-解码器框架将一个序列映射到另一个序列。一个LSTM用于将“源”序列编码作为一个固定大小的向量,“源”序列可以可以是原始语言(机器翻译)的文本,要回答的问题(QA)或者要回复的消息(对话系统)。该向量作为另一个称为解码器的LSTM初始状态。在推理期间,解码器一个接一个地生成符号,同时用最后生成的符号更新它的隐藏状态。集束搜索通常用于近似最佳序列。
Sutskever等人[74]以端对端的方式在机器翻译任务上试验4层LSTM,取得不错的结果。在[99]中,采用相同的编码器-解码器框架来建模人类对话。在超过1亿个消息响应对上训练时,LSTM解码器能够在开放领域中生成非常有趣的响应。在附加信号上调节LSTM解码器以实现某些效果也很常见的。在[100]中,作者们提议在一个能捕获单个说话者的个人信息的恒定个人向量上调节解码器。在上述情况中,主要基于文本输入的语义向量表示来生成语言。类似的框架也已成功用于基于图像的语言生成,其中视觉特征用于调节LSTM解码器(图12)。

视觉QA是一项涉及文本与视觉线索生成语言的任务。Malinowski等人首次提出了端到端深度学习解决方案,并通过结合CNN处理图像信息以及LSTM处理文本信息来预测答案(如图13所示)。

Kumar等人[102]开发了一个名为DMN(Dynamic Memory Network)的系统来解决这一难题。该系统由四个主要组件构成。研究团队旨在通过细致地聚焦于输入文本中的短语和相关图像来逐步优化信息提取机制。特别强调的是,该系统能够对输入文本中的特定短语进行高度精细的注意力分配。
4、Attention Mechanism(注意力机制)
传统编码器-解码器框架面临的一个潜在问题是编码器有时被迫编码可能与任务不完全相关的信息。如果输入很长或者信息很丰富并且不可能进行选择性编码也会出现问题。
例如,文本摘要的任务可以被转换为序列到序列学习问题,其中输入是原始文本,输出是压缩版本。直观地说,期望固定大小的向量编码长度很长的文本中的所有信息是不现实的。机器翻译中也报道了类似的问题[103]。
在诸如文本摘要和机器翻译之类的任务中,输入文本和输出文本直接存在某些对齐,这意味着每个标记生成步骤与输入文本的某个部分是高度相关的。这种直觉激发了注意力机制。该机制试图通过允许解码器返回输入序列已解决上述问题。具体来说,在解码期间,除了最后的隐藏状态和生成标记,解码器还根据一个基于输入的隐藏状态序列计算得到的“上下文”向量。注意力机制可以广泛地看作是将查询和一组键值对映射到输出,其中提到的组件都是向量。输出是由查询和相应键之间的兼容性确定的权重的值的组合。该输出相当于界面输出时使用的输入的“上下文”。
Bahdanau等人[103]首次将注意力机制应用到机器翻译中,提高了性能特别是对于长序列。在他们的工作中,由多层感知器通过解码器最后一个隐藏状态确定输入隐藏状态序列的注意力信号。通过在每个解码步骤期间可视化输入序列的注意力信号,可以看出源语言和目标语言之间的清晰对齐(图14)。

Rush等人[104]将类似的任务应用于摘要任务中,并通过注意力机制调节摘要中的每个输出词的生成程度。作者采用了生成式摘要策略,在与抽取式摘要相反的情况下,并非常规方法但可以通过最少的语言输入扩展到大规模数据集。



另一方面,在该领域而言,Tang等人[111]开发了新型存储架构(也称为MemNet[112]),这种架构被应用于多轮次的关注机制.通过多轮次的关注机制能够提升在内存区域广泛覆盖的能力,并辅助实现分类目标.他们的工作处于该领域前沿的技术方案.鉴于其直观易懂的特点,NLP研究人员正在深入研究这一技术模型,并将之延伸至更多潜在的应用领域.
5、Parallelized Attention: The Transformer
CNNs和RNNs在涉及编码器-解码器结构的序列转换应用中都是至关重要的。如上述所示,基于注意力机制进一步增强了这些模型的功能。但是,这些体系结构遇到的瓶颈之一是编码步骤的顺序处理。为了解决这一问题,Vaswani等人[113]提出了一种完全分配编码步骤中涉及的递归和卷积的变压器,该模型仅基于注意力机制来捕获输入和输出之间的全局关系。结果,整个体系结构变得更加可并行化,所需培训时间更少,同时从翻译到解析的任务上取得了积极的成果。
Transformer由编码器和解码器组件中的堆叠层组成。每层都有两个子层,包括多头注意力层(图17),其后是位置前馈网络。对于查询集Q、关键字K和值V,多头部注意模块执行注意h次,公式为:MultiHead\left ( Q,K,V \right )=Concat\left ( head_{1},head_{2},...,head_{h} \right )W^{O}其中head_{i}=Attention\left ( QW_{i}^{Q},KW_{i}^{K},VW_{i}^{V} \right )Attenetion\left ( Q,K,V \right )=softmax\left ( \frac{QK^{T}}{\sqrt{d_{k}}} \right )V其中,W_{i}^{\left [ . \right ]}和W^{o}是投影参数。该模型结合了残差连接[114]、图层归一化[115]、丢失、位置编码等其他技术,在英-德、英-法翻译和选区解析中获得了最新的结果。
RECURSIVE NEURAL NETWORKS(递归神经网络)
递归神经网络被视为处理序列数据的理想选择。然而,在语言中可以观察到一种内在的递归特性,在此特性下单词与子短语通过层次嵌套的方式组合在一起组成短语。这种层级关系通常被建模为成分分析树,在处理句子内部关系时能够有效捕捉其语义信息[4]。具体而言,在递归神经网络中,每个非叶子节点(即代表复合结构的部分)通过整合其子节点的所有表示信息来进行建模。
1、基本模型
在本节中阐述递归神经网络的基本结构框架。如图18a和b所示,在这种架构中,默认情况下构建了一个合成函数g,默认情况下构建了一个合成函数g,默认情况下构建了一个合成函数g,默认情况下构建了一个合成函数g,默认情况下构建了一个合成函数g,默认情况下构建了一个合成函数g,默认情况下构建了一个合成函数g,默认情况下构建了一个合成函数g,默认情况下构建了一个合成函数g,默认情况下构建了一个合

Socher等人[4]探讨了多个变体的形式。在最基本的形式中,变量g被定义为: p_{1}=tanh\left ( W\begin{bmatrix} b \\ c \end{bmatrix} \right )以及p_{2}=tanh\left ( W\begin{bmatrix} a \\ p_{1} \end{bmatrix} \right )其中,每个节点被表示为一个d维向量以及矩阵W\in ℝ^{D×2D}。另一个变体是MV-RNN[116],其核心思想是将单个词素既表示为矩阵又表示为向量.当两个成分结合时,其中一个成分的矩阵乘法作用于另一个成分的向量,即p_{1}=tanh\left ( W\begin{bmatrix} Cb \\ Bc \end{bmatrix} \right )和p_{1}=tanh\left ( W_{M}\begin{bmatrix} B \\ C \end{bmatrix} \right ),其中b,c,p_{1}\in ℝ^{D}, B,C,P_{1}\in ℝ^{D×D},且W_{M}\in ℝ^{D×2D}。相较于基础模型,MV-RNN通过参数化复合函数来显著增加参数数量.而RNTN(递归神经张量网络)则旨在引入输入向量间的更多交互机制,而非通过大幅增加参数数量来实现类似效果.RNTN被定义为:p_{1}=tanh\left ( [\begin{bmatrix} b\\ c \end{bmatrix}]^TV^{\left [ 1:D \right ]}\begin{bmatrix} b\\ c \end{bmatrix}+W\begin{bmatrix} b\\ c \end{bmatrix} \right )其中张量V∈ℝ^{2D×2D×D}负责构建多个双线性形式
2、应用
递归神经网络的一个典型应用是用于句法分析的工具[10]。通过定义短语表示上的评分函数来评估其合理性。集束搜索常被用来生成最佳树结构。该模型使用最大边距 margins的目标函数来进行训练,并引用了文献[117]作为参考。
基于递归神经网络以及构建的句法分析树结构,Socher等人[4]提出了The framework for short-term sentiment analysis was introduced by Socher et al. [4], as depicted in Figure 19. For each node in the tree, a sentiment label is assigned.

Socher等人[116]基于这两个术语的核心部分构建单一合成语义以识别名词间的语义关联。Bowman等人[118]则提出了利用递归神经网络模型来分析句子间的逻辑联系。将两个句子的表征传递给另一个神经网络以完成关联分析任务。基本递归单元及其张量版本均展现出在文本蕴含数据集上的激烈竞争。针对梯度消失问题的应用场景下,LSTM单元也被成功应用于树状结构研究,并在此过程中发现在线性LSTM模型中实验结果显示出其性能提升
Deep Reinforcement Models & Deep Unsupervised Learning (深度强化模型与深度无监督学习)
1、Reinforcement learning for sequence generation
强化学习是一种训练代理在未获得奖励前采取行动的方法,在NLP领域内涉及语言生成任务的问题可被视为强化学习范畴
2、Unsupervised sentence representation learning
与词嵌入类似的技术, 可以用无监督的方式学习出句子的分布式表示方法[8]. 这种无监督学习的结果表现为"sentence encodes"(句子编码), 它将任意一句子映射到一个固定大小的向量, 以便捕获该句子的语义和句法属性. 在学习过程中通常需要为辅助任务设定特定目标.
与词嵌入类似的技术, 可以用无监督的方式学习出句子的分布式表示方法[8]. 这种无监督学习的结果表现为"sentence encodes"(句子编码), 它将任意一句子映射到一个固定大小的向量, 以便捕获该句子的语义和句法属性. 在学习过程中通常需要为辅助任务设定特定目标.[8]
3、Deep generative models
最近在生成逼真图像方面的成功推动了将深度生成模型应用于文本数据的一系列工作。这类研究的前景是发现自然语言的丰富结构,同时从潜在的代码空间生成逼真的句子。本节我们回顾了最近通过VAEs和GANs实现这一目标的研究[128]。
如上一节所述,标准的句子自动编码不会对潜在空间施加任何的约束,因此当从任意潜在表示生成逼真句子时他们会失败[133]。这些句子的表示通常只会占用因此空间的一小区域,隐藏空间的大多数区域不一定映射到现实句子[134]。它们不能用于为句子分配概率或对新句子进行抽样[133]。
VAE对隐藏代码空间施加一个先验分布,从而可以从模型中提取适当的样本。它通过用学到的后验识别模型替换确定性编码函数来修改自动编码器框架。该模型由编码器和生成网络组成,编码器将数据样本编码为潜在表示,生成网络从潜在空间生成样本。并通过在生成模型下最大化观测数据的对数似然性的变化下限来进行训练。
Bowman等人[133]提出一个基于RNN的变分自动编码器生成模型,该模型结合了整个句子的分布式潜在表示(图20)。与普通的RNN语言模型不同,该模型使用明确的全局句子表示。来自这些句子表示的先验样本产生多样且格式良好的句子。

Hu等人[135]提出生成句子,其属性通过学习具有指定语义的分离潜在表示来控制。作者用一组结构化变量增强VAE中的潜在代码,每个变量都针对句子的一个显著且独立的语义特征。该模型结合VAE和属性判别器,其中VAE组件对生成器进行训练,使其能够重建真实句子以生成合理的文本,而判别器迫使生成器产生于结构化编码一致的属性。当在大量无监督句子和少量标记句子上训练时,Hu等人[135]展示了该模型能够根据英语的两个属性-时态和情感-生成合理的句子。
GAN是由两个相互竞争的网络组成的另一类生成模型。生成神经网络将潜在表示解码成数据实例,同时教导判别网络区分真实数据分布中的实例和由生成器生成的合成实例。GAN没有明确的表示真实的数据分布p(x)。
Zhang等人[134]提出了一个框架,使用LSTM和CNN进行对抗性训练以生成真实文本。潜在编码z在每个时间步骤被送入LSTM生成器。CNN充当二元句子分类器来区分真实数据和生成样本。将GAN应用于文本的一个问题是来自判别器的梯度不能通过离散变量正确地反向传播。在[134]中,通过在词嵌入空间中每次“软”进行词预测来解决这一问题。Yu等人[136]提议将生成器建模为随即策略来绕过这一问题。奖励信号来自依据完整序列判别的GAN判别器,并使用蒙特卡洛搜索传递回中间状态作用步骤。
对深度生成模型的评估具有挑战性。对于文本,从一组固定的语法创建oracle训练数据,然后根据生成样本是否于预定语法一致来评估声明模型[137]。另一种策略是根据大量看不见的测试数据评估样本的BLEU得分。生成与不可见的真实数据相似的句子的能力被认为是质量的衡量标准[136]。
MEMORY-AUGMENTED NETWORKS
注意力机制通过一系列隐藏向量实现了对编码器信息的存储功能,在解码器生成每个标记时能够动态调用这些存储的信息。这里的隐藏向量可被视为模型内部记忆条目的一部分。近期研究者对神经网络与记忆交互形式结合的研究兴趣显著提升。文献[112]中描述了一种用于问答任务的记忆网络架构,在广泛应用于大规模问答系统中时发现,在综合QA任务场景下采用了大量常识性三元组作为系统的记忆条目。其中研究者指出,在支持事实检索过程中模型需一次性从记忆库中提取多个条目以完成特定问题的回答操作。为此Sukhbaatar等人[138]提出了一种端到端可训练的记忆网络架构他们进一步发展出一种端到端可训练的记忆网络架构其中通过注意力机制实现了一种"软性"式的多轮检索过程从而达到了高效的系统性能输出效果。值得注意的是通过多轮检索信息实现性能突破成为关键点之一因为该过程允许模型基于多个支持事实逐步推理出答案并如图21所示展示了该方法的实际应用效果Sukhbaatar等人[138]还深入探讨了该模型在语言建模领域的特殊用途在此场景下每个单词都被视为独立的认知单元通过多轮检索机制最终生成的结果表现不俗与深度LSTM模型输出结果相当

此外,动态记忆网络(DMN)[102]通过引入神经网络模型来处理输入表示、注意力机制以及输出响应过程,在性能上显著优于传统基于记忆的方法。所开发出的模型广泛应用于自然语言处理领域中的多种任务(包括问答系统构建与情感分析),这是因为每一个任务都可以被建模为<记忆单元, 问题描述, 输出结果>的形式。Xiong团队利用该方法对可视化问答系统进行了研究,并证实了其在处理视觉信号方面的有效性。
PERFORMANCE OF DIFFERENT MODELS ON DIFFERENT NLP TASKS
我们进行了系统性的总结,在核心自然语言处理问题上基于标准数据集应用了一系列深度学习方法的表现分析。我们的目标是向读者介绍领域中采用的常见数据集及其相关最新进展。
1、POS tagging(词性标注)
WSJ-PTB(the Wall Street Journal part of the Penn Treebank Dataset)语料库包含117万个符号,并广泛用于开发和评估词性标注系统。Gimenez和Marquez[140]在a seven-word window中使用基于手动定义的特征的一对一SVM,其中一些基本的n-gram模式被评估以形成二进制特征,如:“previous word is the”、“two preceding tags are DT NN”等。词性标注问题的一个特征是相邻标签之间的强依赖性。使用简单的从左到右标记方案,此方法仅通过特征工程建模相邻标记之间的依赖关系。为了减少特征工程,Collobert等人[5]使用多层感知器,仅依靠此窗口内的词嵌入。在[5]中证明了结合CRF是有效的。Santos和Zadrozny[32]将词嵌入与字符嵌入连接起来,以便更好地利用形态学线索。在[32]中,作者没有考虑CRF,但因为确定词的标注是根据上下文窗口决定的,因此可以看出依赖性是隐式建模的。Huang等人[141]将词嵌入和手动设计的词级特征连接起来,并采用双向LSTM模拟任意长度的文本。一系列ablative分析表明双向性和CRF都提高了性能。Andor等人[142]展示了一种基于转换的方法,通过简单的前馈神经网络产生有竞争力的结果。当把DMNs[102]应用到序列标记任务,通过将每个RNN隐藏状态视为内存条目,可以多次访问上下文,每次聚焦于上下文的不同部分。

2、Parsing
句法分析有两种类型:依存句法分析,将单个词用他们之间的关系连接起来;成分句法分析,它迭代地将文本分成子短语。基于转换的方法是一种流行的选择,因为它们在句子长度上是线性的。解析器做出一系列决定,从缓冲区顺序读取词,并将它们逐步结合成句法结构[143]。在每个时间步骤中,根据包含可用树节点的栈、包含未读词的缓冲区和获得的依存弧集合来做出决定。Chen和Manning[143]用具有一个隐藏层的神经网络建模了每个时间步骤的决策。输入层包含分别来自栈、缓冲区和依存弧标签集的某些词嵌入、词性标注和依存弧标签。
Tu等人[68]采用具有2层隐藏层的更深层模型继续拓展Chen和Manning[143]的工作。然而,Tu等人[68]和Chen和Manning[143]都依赖于从解析器状态中选择手动特征,仅考虑了有限数量的最新标记。Dyer等人[144]提出了堆栈-LSTMs来建模任意长的历史。因为可以将树节点的堆栈入栈和出栈,所以堆栈的结束指针可以改变其位置。Zhou等人[145]融合集束搜索和对比学习以便更好地进行优化。
基于转换的模型也被用于成分句法分析。Zhu[146]每个转换动作都基于诸如词性标注以及堆栈和缓冲区的前几个单词的组成标签之类的特征。通过用标签的线性序列唯一表示解析树,Vinyals等人将seq2seq学习方法应用于此问题。

3、Named-Entity Recognition(命名实体识别)
CoNLL 2003被视为NER领域的标准英语数据集,并主要包含四种类型的命名实体:人名、地名、机构名及其他实体等。在自然语言处理(NLP)领域中,词典发挥着至关重要的作用。Collobert等人首次通过增强神经网络模型的地名词典功能实现了显著的效果[5]。Chiu和Nichols则将多维特征输入结合为双向LSTM模型,并成功实现了良好的性能[150]。相比之下,在不依赖任何外部词典的情况下,Lample等人通过巧妙地结合字符嵌入和词嵌入,并利用大规模无监督预训练语料库中的丰富资源, 实现了与依靠CRF技术相比同样令人满意的性能[93] 。值得注意的是,与基于标签的条件随机场(CRF)结合双向LSTM模型相比, 这种结构在处理结构化预测问题时展现出更强的优势[93] 。总体而言, 带有CRF辅助的双向LSTM模型可被视为一种高效且强大的工具, 其应用前景广阔。
Passos等人提出了一种改进Skip-gram模型的方法,旨在更好地利用与实体相关的词典信息学习有效的嵌入表示[149] 。随后,Luo等人进一步优化了实体识别过程, 并将其与知识库整合在一起以提高识别精度[151] 。为了提升并行化效率以及构建更加完善的上下文建模机制, Strubell等人建议采用扩展卷积网络架构,并通过一次跳过某些输入特征来扩大有效输入窗口宽度[152] 。这种改进方案虽然降低了计算复杂度, 但并未牺牲整体识别准确率, 实验结果表明其训练速度得到了显著提升。
4、Semantic Role Labeling
基于SRL理论的任务是识别出句子中各个动作及其所对应的成分组合。具体而言,在语言处理领域中,我们需要从每一句话的角度出发来分析并提取出与之相关的动作类型以及相应的语法组件[153]。此外,在实际应用过程中还需要考虑一些修饰属性因素[153]。例如,在涉及空间位置的动作时需要考虑场所属性;在涉及时间安排的动作时则需要关注时间安排;在描述动作手段时应关注执行工具;而涉及目的性动作时则需考虑到达目的的行为等等[153]。这些具体的属性特征构成了SRL理论的核心要素之一[153]。通过这些分析与研究可以看出,在实际应用场景下构建出一个高效的SRL模型仍然是一项具有挑战性的研究课题[153]。(注:此处插入参考文献编号)

传统的SRL系统由多个核心环节构成:首先是构建一个完整的语义分析框架;其次是定位出与动词相关的具体成分;最后通过分类机制确定其对应的SRL标签。在这一分类过程中,研究者们通常会收集多种特征指标,并将其传递给统计学习模型进行处理,文献[5]对此进行了深入探讨。
Tackstrom等学者[154]提出了一种基于语法分析树的特征提取方法,并对其所涉及的语法成分及其在谓语位置的可能性进行了综合评估。他们开发了一种高效的动态规划算法,能够实现可靠的推理过程。
Collobert等研究者[5]则在这一领域取得了突破性进展,他们提出了一种结合额外查找表辅助的方式提取信息的新方法,该方法显著提升了卷积神经网络的表现效果。
Zhou与Xu[153]进一步发展了这一技术框架,提出了利用双向长短期记忆网络(LSTM)来模拟长距离依赖关系的方法,在不依赖任何语法分析结果的情况下取得了成功应用案例
He等研究团队[155]在此基础上又引入了高速连接技术,并采用更为先进的正则化策略以及多专家集成方法,在原有工作的基础上进一步拓展了研究内容
5、Sentiment Classification
斯坦福情感树库(SST)数据集涵盖来自烂番茄(Rotten Tomatoes)平台的电影评论句子。该数据集最初由Pang和Lee[157]提出,并随后由Socher等人进行扩展[4]。基于标注模式生成了一个新的情感分析数据集CMU-MOSI,在多模场景中研究情感传播[158]。此外,在多模设置中研究情感时还引入了树状结构递归网络模型[4, 119]。与普通RNN相比,树状结构递归网络通过捕捉更复杂的句法属性提升了情感建模效果。相比之下,在特定任务中采用双向卷积层的LSTM性能优于普通RNN架构[49, 50]。然而,在复杂句法关系建模方面仍存在不足之处

6、Machine Translation(机器翻译)
基于短语的序列到序列(SST)框架[161]将翻译模型分解为源句和目标句中匹配短语的概率分布建模。研究者Cho等人[82]提出了一种基于RNN编码器-解码器架构的方法来估计源短语到目标短语之间的翻译概率分布。这种分布改进了基于短语的评分方案的有效性。另一方面,Sutskever等人[74]通过改进四层LSTM结构提升了机器翻译系统的性能,他们重新评估了前1000个候选翻译生成结果并提出了新的评分标准.完全摒弃传统机器翻译体系,Wu等人[162]开发了一种深度LSTM网络,该网络拥有八个编码器层与八个解码器层,并采用了残差连接与注意力机制以增强表示能力.随后,Wu团队采用强化学习方法直接优化BLEU分数指标,但发现这种方法虽然提升了BLEU分数,并未在人类评价中获得显著认可.最近,Gehring等人[163]提出了一个适用于机器翻译任务的新架构:输入单词嵌入由CNN计算得到,解码器状态则由前馈神经网络与已生成单词结合确定.而Vaswani等人[113]则引入了自注意力机制构建了一个全新的模型体系,完全摒弃传统的卷积神经网络与循环神经网络架构.

7、Question answering
QA问题呈现多种形式。其中一部分依赖大规模知识库解答开放领域问题(如参见表VIII(8))[164]中介绍的大规模QA数据集进行实验研究),这些数据集中包含了14M常识三元组作为知识库基础。每个问题均可通过单一关系查询获得答案。另一部分则基于多条相关语句或段落进行推理生成答案(如参见表VIII(8))中的 bAbI [165]合成数据集),该数据集包含20个合成任务用于评估模型多维度推理能力)。每个任务侧重于不同的核心技能(如基本共引推理和大小比较推理等)。此外还有SQuAD[166]数据集由超过1万个在维基百科文章中提出的问答对组成每个问答对的答案均对应相应文章的一段文字描述。
学习单关系查询的核心在于从知识库中快速检索支撑事实点Fader等人[164]提出利用语言词典学习机制通过将自然语言模式映射至数据库概念实现这一目标;Bordes等人[167]则采用嵌入空间方法将问答对与知识三元组表示为稠密向量并基于内积计算匹配程度。
西蒙森等人[112]借鉴上述思路将知识库视作长内存利用内存网络框架解决问题;在此基础上Sukhbaatar等人[138]提出了一种改进型记忆网络架构旨在避免传统记忆网络与支持事实无关的训练过程;而Kumar等人则采用基于时间序列网络(GRU)替代神经词袋模型(如前述[138][112])以提升模型性能。
针对SQuAD数据集上的问答系统目标是确定答案片段起始位置Chen等人[168]提出利用LSTM模型对问题及上下文单词进行编码并基于双线性矩阵计算两者间的相似度得分;Shen等人[169]提出的Reasonet模型则通过反复从不同角度读取文档信息直至获取满意答案;Yu等人[170]则创新性地将卷积神经网络与自我注意力机制结合提升了问答系统处理速度和效率。

8、Dialogue Systems
我们开发了两类对话系统:生成式架构与检索式架构。这些架构分别代表了当前对话系统的主要发展趋势。在表IX中展示了Twitter对话三元组数据集作为评估生成式对话系统的基础,并包含了3轮Twitter对话样本。尽管_BLEU_指标常被采用_但人们普遍认为大多数自动评估指标对于对话评估并不完全可靠,并且经常需要进行额外的人工评估以验证结果的有效性。Ritter等人将消息编码为适当回应的方式值得借鉴,并通过上下文相关的RNN编码器-解码器框架对SMT系统的输出进行了排序分析,在此过程中观察到了显著的效果提升。此外Li等人则提出了通过最大互信息训练目标替代传统最大对数似然训练目标的新方法,并在此框架下测试了其性能表现

响应检索任务被定义为从候选响应库中选择最佳响应。这种模型可以通过recall1@k度量来评估,其中真实响应和k-1随机响应混合。Ubuntu对话数据集是通过从在线聊天室中抓取多轮Ubuntu故障排除对话来构建的。Lowe等人[97]使用LSTMs对消息和响应进行编码,然后使用两个句子嵌入的内积对候选进行排名。
Zhou等人[175]提出通过在句子级CNN嵌入上使用LSTM编码器来更好地利用人类对话的多轮性质,类似于[176]。Dodge等人[177]将问题转移到存储网络的框架中,其中过去的对话看作是存储,最新的话语看作是要回答的“问题”。作者表明使用简单的神经词袋嵌入句子可以产生不错的结果。

9、Conextual Embeddings
本节中,在II-D部分的基础上,我们对近年来基于上下文嵌入取得的一些重要成果进行了系统性分析。在自然语言处理领域取得了重大的突破(见表X(10))。值得注意的是,在多种NLP任务上显著优于当前水平(见表X(10))。然而,在随后的研究中发现"BERT"模型后来者超越"ELMo"体系,在多个关键指标上达到了更高的表现水平(见表XI(11))。

Conclusion
深度学习提供一种利用大量计算和数据,而很少利用手工工程的方法[90]。通过分布式表示,多种深度模型已成为NLP问题的最先进方法。监督学习是近期NLP深度学习研究中最受欢迎的实践。然而,在现实世界的许多场景中,我们只有未标记的数据,这些数据需要先进的无监督或者半监督方法。如果在测试模型时某些特定类别缺少未标记数据或者出现新类别,则应采用零样本学习等策略。这些学习策略仍处于发展阶段,但我们期望基于深度学习的NLP研究能够朝着更好地利用未标记数据的方向发展。我们期望这种趋势会随着更多更好的模型设计继续下去。我们也期望看到更多采用多模态学习的研究[190],因为在现实世界中,语言常常以其他信号为基础(或与之相关)。
最后,我们期望看到更多的深度学习模型,其内部存储器(从数据中学到的自下而上的知识)丰富了外部存储器(从知识库继承的自上而下的知识)。符号和亚符号AI的耦合将是从NLP到自然语言理解道路上前进的关键。事实上,依靠机器翻译根据过去的经验有助于做出“好的猜测”,因为亚符号方法编码相关性,他们的决策过程是概率性的。然而,自然语言理解需要的远不止此。用Noam Chomsky的话来说,“you do not get discoveries in the sciences by taking huge amounts of data, throwing them into a computer and doing statistical analysis of them: that’s not the way you understand things, you have to have theoretical insights”(“您不会通过获取大量数据,将其放入计算机并对其进行统计分析来获得科学发现:这不是您了解事物的方式,您必须拥有理论上的见解”)。
