A Survey of the Usages of Deep Learning for Natural Language Processing

摘要

在过去的几年里,自然语言处理领域得到了深度学习模型应用激增的推动。本文简要介绍了该领域,并对深度学习的架构和方法进行了快速概述。接着,文章查阅了大量的最新研究,并总结了许多相关的贡献。分析的研究领域包括一些核心的语言处理问题,以及计算语言学的许多应用。接下来提供了对当前技术水平的讨论,并对未来研究提出了建议。

引言

自然语言处理(NLP)涵盖了多个主题,涉及对人类语言进行计算处理和理解。自20世纪80年代以来,该领域越来越多地依赖于涉及统计学、概率和机器学习的数据驱动计算[1],[2]。近年来,计算能力和并行化的增加,利用图形处理单元(GPU)[3],[4],现在允许进行“深度学习”,这使用人工神经网络(ANNs),有时可包含数十亿个可训练参数[5]。此外,通过复杂的数据收集过程,当代大规模数据集的可用性使得可以训练这样深层次的体系结构[6]–[8]。

近年来,NLP领域的研究人员和从业者利用了现代ANN的强大功能,其中很大一部分始于Collobert等人的开创性工作[9]。在最近的过去,深度学习的使用大幅增加[10],[11],这导致了NLP核心领域和直接应用以实现实际和有用目标的重大进展。本文简要介绍了NLP和深度神经网络(DNNs),然后广泛讨论了深度学习如何解决NLP中的当前问题。尽管关于该主题的其他文章和书籍已经出版[10],[12],但没有一篇论文全面涵盖了其中多个领域的最新发展。此外,没有其他调查仅仅考察深度学习对计算语言学的应用,还包括底层理论和传统的NLP任务。除了讨论该领域最近的革命性发展,本文还对想要在进一步深入研究和实践之前迅速了解当前技术水平的读者有所帮助。

NLP和AI的主题,包括深度学习,将在第二节介绍。深度学习如何用于解决NLP核心领域问题的方式将在第三节呈现。该部分分为几个子节,即自然语言建模(第三-A节),形态学(第三-B节),解析(第三-C节)和语义学(第三-D节)。深度学习应用于更实际领域的讨论将在第四节进行。具体讨论的内容包括信息检索(IR)(第四-A节),信息提取(第四-B节),文本分类(第四-C节),文本生成(第四-D节),摘要(第四-E节),问答(QA)(第四-F节)和机器翻译(第四-G节)。结论将在第五节中得出,简要总结技术水平以及对未来这个不断发展领域的预测、建议和其他看法。

II. 自然语言处理和深度学习概述

在这一部分中,首先介绍了吸引研究人员和从业者关注的自然语言处理(NLP)领域的重要问题,然后简要解释了该领域常用的深度学习架构。

A. 自然语言处理

1. 核心领域

  • 语言建模: 量化自然语言中单词之间的关联。
  • 形态处理: 分割有意义的词语组件,确定词语的真实词性。
  • 句法处理(解析): 构建可能作为语义处理前体的句子图。
  • 语义处理: 试图提炼文本中单词、短语和更高级别组件的含义。

2. 应用领域

  • 提取有用信息: 如命名实体和关系。
  • 文本翻译: 在语言之间进行翻译。
  • 文本总结: 对书面作品进行摘要。
  • 自动回答问题: 通过推断回答问题。
  • 文档分类和聚类: 对文档进行分类和分组。

B. 神经网络和深度学习

1. 基本概念

  • 神经网络: 由相互连接的节点或神经元组成,进行加权求和和非线性变换。
  • 反向传播: 使用随机梯度下降纠正网络中的错误。

2. 深度学习架构

  • 卷积神经网络(CNNs): 用于图像、视频、语音和NLP处理,通过卷积操作同时分析不同特征。
  • 递归神经网络(Recursive Networks): 在层之间共享权重,适用于建模结构,如解析树。
  • 循环神经网络(RNN)和长短时记忆网络(LSTM): 用于处理有序数据,特别适用于NLP中考虑单词顺序的任务。
  • 注意力机制和Transformer: 允许网络关注输入中的特定部分,特别适用于文本生成任务。

3. 其他技术

  • 残差连接: 用于减轻梯度消失或爆炸问题。
  • 丢失(Dropout): 在训练中随机停用连接和节点,有助于泛化和减少过拟合。

III. NLP核心领域的深度学习

本节主要关注在任何计算语言系统中都存在的核心问题,这些问题对于翻译、文本摘要和图像字幕等任务至关重要。讨论了理解语言的四个主要方面:语言建模、形态学、解析和语义学。

A. 语言建模与词嵌入

  1. 神经语言建模
    语言建模在NLP中至关重要,预测单词或语言组件。神经语言模型利用人工神经网络(ANNs)解决了同义词和训练语料库中不存在的词汇的问题。它们捕捉了单词之间的句法和语义关系,有助于机器翻译和文本摘要等应用。

  2. 语言模型的评估
    尽管神经网络在语言建模领域取得了突破,但改进难以量化。希望独立于应用程序评估语言模型。提出了许多评估指标,但尚未找到完美解决方案。最常用的度量是困惑度,它是测试集的概率的倒数,除以单词数。困惑度是对于在相同数据集上训练的语言建模来说是一个合理的度量,但当它们在不同的词汇上训练时,该度量就变得不太有意义。幸运的是,该领域有几个基准数据集,允许进行比较。其中两个数据集是宾夕法尼亚树库(PTB)和十亿字基准(Billion Word Benchmark)。

  3. 语言建模中的记忆网络和注意机制
    Daniluk等人测试了使用注意机制变体的几个网络。他们发现注意机制改善了在Wikipedia语料库上的困惑度,与基线相比,逐步添加第二和第三参数进一步提高了性能。研究还表明,只有前五个左右的令牌具有很大的价值。因此,他们测试了第四个网络,该网络只是从先前的五个单元中使用残差连接。结果表明,这个网络提供了与许多更大的RNN和LSTM相媲美的结果,表明可以使用更简单的网络实现合理的结果。

最近的研究还对使用残差记忆网络(RMNs)进行语言建模进行了测试。作者发现,跳过两个层的残差连接最有效,其次是跳过一个层。特别是,在第一层和第四层之间之间存在残差连接,在第五层和第八层之间,以及在第九层和第十二层之间。发现增加网络深度改善了结果,但在使用大批次大小时会遇到内存限制。对于性能来说,网络宽度并不是特别重要;然而,发现宽网络更难训练。研究发现,RMNs能够胜过相似大小的LSTMs。

  1. 卷积神经网络在语言建模中的应用
    最近在语言建模中使用的CNN将池化层替换为全连接层。这些层允许将特征图缩减到与池化层相似的低维空间。实施了三种不同的架构:多层感知机CNN(MLPConv),其中滤波器不仅仅是线性的,而是小型MLPs;多层CNN(ML-CNN),其中多个卷积层叠加在一起;以及这些网络的组合称为COM,其中滤波器的核大小不同(在本例中为三和五)。结果显示,堆叠卷积层对语言建模是有害的,但MLPConv和COM都减少了困惑度。将MLPConv与COM的不同核大小相结合提供了更好的结果。分析表明,网络学会了单词的特定模式,比如“像…一样”。最后,该研究表明CNN可以用于捕捉句子中的长期依赖性。发现较近的单词最为重要,但较远的单词也有一定的重要性。

  2. 基于字符的神经语言模型
    尽管在NLP中使用的大多数CNN接收词嵌入作为输入,但最近的网络分析了字符级输入。例如,Kim等人的网络与以前的网络不同,它只接受字符级输入,而不是将其与词嵌入结合。使用CNN处理字符级输入以提供单词的表示,然后将这些表示馈入由高速公路网络(类似于LSTM的门控网络)和LSTM组成的编码器-解码器对。他们在英语PTB以及捷克语、德语、西班牙语、法语、俄语和阿拉伯语的数据集上训练了网络。对于除俄语之外的每种非英语语言,该网络在大型和小型数据集中都优于先前发布的结果。使用字符级别输入的网络在PTB上取得了与现有技术水平相媲美的结果。该网络仅有1900万可训练参数,远低于其他模型。由于该网络侧重于字符级别分析产生的形态相似性,因此比以前的模型更能处理罕见的词汇。分析表明,在没有使用高速公路层的情况下,许多单词的最近邻居在形式上相似,但未必在语义上相似。此外,该网络能够识别拼写错误的单词或未按标准方式拼写的单词(例如,looooook而不是look),并能够识别超出词汇表的单词。分析还显示,该网络能够识别前缀、词根和后缀,以及理解带有连字符的单词,使其成为强大的模型。

Jozefowicz等人测试了多种产生字符级输出的体系结构。虽然许多这些模型只在小规模语言建模上进行了测试,但这项研究对它们进行了大规模测试,使用了十亿字基准进行测试。最有效的模型是使用字符级CNN作为输入网络的大型LSTM,达到了30.0的困惑度(对比之前单一模型的20亿参数,达到了51.3的困惑度)。然而,最佳性能是使用十个LSTM的集成获得的。这个集成模型的困惑度为23.7,远远超过了以前的最先进集成模型(困惑度为41.0)。

  1. 词嵌入的发展
    发展历程: 神经语言模型不仅允许预测看不见的同义词,还允许建模单词之间的关系。通过语言建模技术获得的表示单词的数值分量向量称为词嵌入。通常通过主成分分析或通过捕捉神经语言模型的内部状态来实现。词嵌入通常具有50到300个维度。

示例: 以“国王(king)”、“皇后(queen)”、“男人(man)”和“女人(woman)”为例,通过计算它们的嵌入向量,可以得到非常直观的结果。例如,如果表示这些单词的向量分别表示为k、q、m和w,可以观察到k-q ≈ m-w,这对人类推理非常直观。

  1. 最新进展与挑战
    语言建模一直在每周都在发展,从Radford等人的作品开始,并引入了生成预训练(GPT)等新概念。后续的发展包括具有双向性的嵌入来自语言模型的(ELMo)和多任务DNN(MT-DNN)等模型,它们在语言建模中取得了最先进的结果。BERT的引入和在其基础上构建的MT-DNN表示目前是语言建模领域的最新技术。这些模型不仅在“理解”语言方面取得了巨大进展,还在处理某些任务(如蕴涵推理)时表现出色。

B. 形态学

形态学关注于在单个单词中找到各个部分,包括词根和词干、前缀、后缀以及在某些语言中的中缀。词缀(前缀、后缀和中缀)用于明显修改词干的性别、数目、人称等。

Luong等人构建了一个具有形态学意识的语言模型。他们使用递归神经网络(RvNN)来建模形态结构,然后在RvNN之上放置了一个神经语言模型。该模型在WordSim-353数据集上进行训练,使用Morfessor进行分词。他们构建了两个模型,一个使用上下文,另一个不使用。研究发现,对上下文不敏感的模型过度解释了某些形态结构。特别是,具有相同词干的单词被聚类在一起,即使它们是反义词。对上下文敏感的模型表现更好,注意到词干之间的关系,同时还考虑了诸如前缀“un”之类的其他特征。该模型还在其他几个常用数据集上进行了测试,明显优于先前的嵌入模型。

对于许多NLP任务来说,良好的形态学分析器通常很重要。因此,Belinkov等人最近的一项研究调查了各种神经机器翻译(NMT)模型学习和使用形态学的程度。他们构建了多个翻译模型,都是从英语翻译为法语、德语、捷克语、阿拉伯语或希伯来语。编码器和解码器分别是基于LSTM的模型(一些带有注意机制)或字符感知的CNN,这些模型在WIT3语料库上进行训练。然后,解码器被替换为词性标注器和形态标注器,固定编码器的权重以保留内部表示。研究考察了编码器的效果以及在训练期间附加的解码器的效果。研究得出的结论是注意机制的使用会降低编码器的性能,但会提高解码器的性能。此外,发现字符感知模型在学习形态方面优于其他模型,输出语言会影响编码器的性能。具体而言,输出语言的形态丰富程度越高,编码器创建的表示就越糟糕。

Morita等人分析了一种针对未分段语言(如日语)的新型形态语言模型。他们构建了一个基于循环神经网络(RNN)的模型,带有波束搜索解码器,并在自动标注的语料库和手动标注的语料库上进行了训练。该模型联合执行了多项任务,包括形态分析、词性标注和词形还原。然后,在Kyoto Text Corpus和Kyoto University Web Document Leads Corpus上对模型进行了测试,在所有任务上都优于基线。

形态学的一个新方向是通用形态学。该任务考虑了不同语言的形态之间的关系,以及它们如何相互关联,旨在实现单一形态分析器的最终目标。然而,据作者所知,只有一项研究将深度学习应用于这一领域,而且仅作为通用分析的支持任务。对于希望将深度学习应用于此任务的人来说,已经有几个数据集可供使用,包括CoNLL共享任务的一个数据集。除了通用形态学之外,形态嵌入的发展,考虑了单词结构,可能有助于多语言处理,尤其是在一些语言比其他语言更具资源的情况下。此外,形态结构在处理专业语言(如生物医学文献中使用的语言)时可能非常重要。由于深度学习在NLP中的应用已经相当深入,更好地处理形态组件可能会提高整体模型的性能。

C. 解析总结:

解析简介:

解析涉及研究句子中不同单词和短语之间的关系。
两种主要的解析形式:成分解析和依存解析。
依存解析:

近期深度学习应用主要集中在依存解析上。
基于图的解析构建多个解析树,通常采用基于自然语言的形式语法生成树。
近年来更受欢迎的是基于转换的方法,通常构建单个解析树。标准的基于转换的依存解析方法包括创建包含句子中所有单词的缓冲区和仅包含ROOT标签的栈。单词被推送到栈上,连接,称为弧,形成在顶部的两个项目之间。一旦确定了依存关系,单词就从栈上弹出。这个过程一直持续到缓冲区为空,栈上只剩下ROOT标签。
有三种主要方法用于规范先前描述的每个动作发生的条件:arc-standard方法,arc-eager方法和swap-lazy方法。
早期神经解析:

早期深度学习在NLP中的应用包括使用RNN与概率上下文无关语法(PCFG)的模型。首个实现在解析中达到state-of-the-art性能的神经模型是基于内外递归神经网络的。
基于转换的依存解析:

Chen和Manning通过在基于转换的解析器中使用简单的前馈神经网络(FFNN)作为决策者,推动了在英语和中文数据集上UAS和LAS的最新水平。其他模型使用LSTM,更深的神经网络和tritraining等技术,取得更好的性能。
生成依存和成分解析:

Dyer等人提出了使用RNN语法进行解析和语言建模的模型,采用自上而下的方法。该模型在英语生成解析和单句语言建模方面取得了最佳结果,并在中文生成解析中取得了接近最佳的结果。
Choe和Charniak将解析视为语言建模问题,使用LSTM为解析树分配概率,实现了最先进的结果。
通用解析:

通用解析是相对较新的任务,旨在使用所有语言中的标准化标签和关系解析语言。该任务尝试使解析在不同语言之间更加统一,以便更轻松地在它们之间进行处理。
Nivre讨论了通用语法的最新发展,主要挑战包括在更多语言中开发树库以及在不同(甚至相同)语言的树库之间标签的一致性。
剩余挑战:

在通用解析之外,需要进一步研究在没有用于训练的树库的情况下构建句法结构的挑战。已尝试使用注意力分数、Tree-LSTM以及“外部-内部”自编码器。如果这些方法成功,它们有望在许多环境中发挥作用,包括低资源语言和域外情景。

D. 语义学总结:

语义比较:

测量两个文本部分的语义相似性是测试计算语义有效性的一种方法。
Hu等人提出了两个卷积神经网络(CNNs)执行语义比较任务的方法。其中一个模型,ARC-I,使用了一个Siamese网络,该网络共享权重,同时评估两个句子。该方法在英语和中文任务中表现优异。
Yin和Schütze提出了一个Bi-CNN-MI模型,采用了动态CNNs,它在Microsoft Research Paraphrase Corpus上取得了最先进的结果。
其他研究采用了不同的方法,包括使用CNN进行特征图比较、使用树状LSTM进行句法建模等。
句子建模:

句子建模旨在使用向量捕获句子的含义。
Kalchbrenner等人使用了动态卷积神经网络(DCNN)生成句子的表示,该网络在情感分析和问题分类等任务中表现优异。
神经机器翻译(NMT)系统是研究内部语义表示的绝佳平台。一些研究发现NMT模型对捕捉同义信息效果不佳,尤其是在代词消解方面。
训练语义解析器跨越多个领域可能比仅在单一领域训练更有效。
语义挑战:

虽然解决任务可能表明模型具有一定的能力,但研究人员认为这并不代表真正的理解。
将深度网络与通用词图(如WordNet)或知识图谱(如DBPedia)集成可能赋予模型一些理解能力。
图嵌入是活跃研究领域,语言模型和图模型整合的研究刚刚开始兴起,给人以更好的机器理解的希望。

IV. 使用深度学习的自然语言处理应用

在这一部分中,我们总结了深度学习在自然语言处理(NLP)领域的应用,重点关注了信息检索方面的任务。以下是总结的要点:

A. 信息检索

问题背景: 信息检索系统的目标是在需要时以最方便的方式帮助用户找到正确且最有用的信息。
深度学习模型应用于即时检索:
这些模型匹配查询和文档文本以获取相关性分数。
方法分为生成适用于文本的表示并直接匹配表示的表示方法,以及首先直接构建局部交互,然后使用深度神经网络学习文本匹配的方法。
DRMM模型:
DRMM是一种神经架构,通过将本地交互强度的分组直方图馈送到MLP,增强了性能,并取得了最先进的结果。
神经IR模型:
大多数神经IR模型不是端到端的相关性排序器,而是重新排序先前排序器视为相关的文档。然而,SNRM_PRF是一种独立的神经排序模型,它学习了对于查询和文档都是稀疏表示,获得了最佳性能。
上下文化嵌入用于文档排序:
CEDR是一种利用上下文化语言模型的方法,通过从ELMo和BERT中提取查询项表示并与现有模型结合使用,改善了性能,并取得了最先进的结果

B. 信息提取

信息提取从文本中提取显式或隐式的信息。系统的输出各异,但通常,提取的数据及其中的关系会保存在关系型数据库中。常见提取的信息包括命名实体和关系、事件及其参与者、时间信息以及事实元组。

命名实体识别 (NER):

NER是指识别专有名词以及日期、时间、价格和产品ID等信息。
多任务方法的例子是Collobert等人的方法,其中使用了一个简单的前馈网络,具有围绕每个词的固定大小窗口的上下文。然而,这可能使捕捉词之间的长距离关系变得困难。
其他方法包括使用LSTMs,如Hammerton的方法,以及使用CharWNN的DNN架构,结合字符级和词级输入执行序列分类。
一些方法通过结合双向LSTM和条件随机场(CRF)来提高性能,避免使用手工特征或词表。
Akbik等人使用预训练的双向字符语言模型和BiLSTM-CRF序列标签器在德语和英语NER中取得了最先进的性能。
事件提取:

事件提取涉及识别指向事件发生的词语或短语,以及事件的参与者(主体、客体、接收者)和发生时间。
不同子任务包括识别事件提及、事件触发词(通常是动词或动名词)、事件的论元以及论元在事件中的角色。
一些方法使用卷积神经网络(CNN)和最大池化,如Chen等人的方法。
其他方法使用循环神经网络(RNN)的编码器-解码器对进行事件触发词和论元的识别,例如Nguyen等人的方法。
Liu等人提出了一种潜在变量神经模型,用于诱导事件模式和提取开放域事件。
关系提取:

关系提取涉及从文本中提取各种关系,如所有权、反义词、同义词,以及更自然的家庭、地理关系等。
第一个深度学习方法是Zeng等人的简单CNN,用于在句子元素之间分类多种关系。
最近的方法使用双向LSTM和CNN进行关系分类,如Sun等人的方法。
Lin等人使用BERT预训练模型,通过监督训练在医学数据集上实现了临床时间关系提取的最先进性能。
C. 文本分类

文本分类是NLP的经典应用,即将自由文档分配到预定义的类别中。文档分类具有多种应用,包括情感分析和问题分类。

Kim首次在CNN中使用预训练的词向量进行句子级分类,并取得了出色的结果。
Conneau等人展示了使用大量卷积层的网络对文档分类效果良好。
Jiang等人使用深度置信网络和softmax回归的混合体系结构,通过多次前向和后向传播来设计对数据进行处理,以找到最小的能量损失。
Adhikari等人使用BERT在四个文档数据集上获得了最先进的分类结果。
Worsham和Kalita发现在将长篇小说按体裁分类的任务中,梯度提升树优于神经网络。
D. 文本生成

许多NLP任务需要生成类似人类语言的文本,包括摘要、机器翻译和笑话生成等。

诗歌生成: 使用递归模型(RNN)是标准方法,但也有使用预训练语言模型(如GPT-2)的趋势。Radford等人的GPT-2模型在英语和其他语言的高质量诗歌生成方面取得了显著成功。

笑话和双关语生成: 少有关注,但有研究尝试使用小型LSTM生成双关语。Ren和Yang使用LSTM生成笑话,其中训练数据包括Conan O’Brien的笑话和新闻文章。

故事生成: 故事生成的研究逐渐受到关注。使用RNN变体生成短故事的方法已经出现。其他方法包括使用卷积神经网络(CNN)和注意力机制。最近的方法试图集中于生成故事的高层概述,然后再将其分解为更小的组件。

使用GAN和VAE进行文本生成: 使用生成对抗网络(GAN)和变分自编码器(VAE)进行文本生成的研究也在进行中,提供了更自然的生成文本。

E. 摘要生成

摘要生成旨在通过提取或生成样本中的信息,产生对文档中最重要内容的概括。主要有两种类型:抽取式和生成式。

初期的模型使用前馈神经网络(FFNN)引入了深度学习到摘要生成领域,性能与当时的其他先进模型相当。
注意机制提高了编码器-解码器模型的性能,例如使用BERT进行输入序列的编码,并使用具有多重时间内注意力机制的解码器。
Zhang等人提出了一个两阶段的编码器-解码器框架,使用BERT对输入序列进行编码,并使用基于变压器的解码器生成摘要。
以上总结了深度学习在信息提取、文本分类、文本生成和摘要生成等NLP领域的应用。这些方法在不同任务上取得了显著的性能提升,推动了自然语言处理技术的发展。

F. 问答系统(Question Answering)

问答系统与摘要生成和信息提取类似,其目标是从文档中收集与请求相关的单词、短语或句子,并以一致的方式返回这些信息。当前的方法与摘要生成方法相似。

Wang等人的方法:

使用带门控注意力的循环网络(gated attention-based recurrent network)匹配问题与包含答案的段落。
使用自我匹配注意力机制对整个段落进行映射以细化机器表示。
使用指针网络(pointer networks)来预测答案的位置和边界。
利用注意力池化向量表示段落以及正在分析的单词,以建模关键的标记或短语。
Dong等人的方法:

使用多列卷积神经网络(Multicolumn CNNs)自动分析来自多个视角的问题。
使用并行网络提取输入问题的相关信息。
使用分开的网络查找上下文信息和关系,并确定应该返回哪种形式的答案。
将这些网络的输出组合并用于对可能的答案进行排名。
Santoro等人的方法:

使用关系网络(Relational Networks,RNs)进行摘要生成。
RNs建立在MLP架构之上,专注于关系推理,即在数据中定义实体之间的关系。
RNs采用文档句子的最终LSTM表示作为输入,这些输入进一步与给定信息请求的表示相配对。
BERT在问答中的应用:

BERT在SQuAD 1.1和SQuAD 2.0数据集上取得了问答实验的最先进成果。
Yang等人展示了一个集成了BERT和开源的Anserini IR工具包的端到端问答系统。该系统可以从大量维基百科文章中识别答案,并在标准基准测试集上获得最佳结果。
问答系统中的方法涉及注意力机制、循环神经网络和预训练模型等技术,取得了显著的性能提升。

G. 机器翻译(Machine Translation)

机器翻译是自然语言处理的典型应用,涉及使用数学和算法技术将一种语言的文档翻译成另一种语言。最初的神经机器翻译(NMT)尝试使用前馈网络,后来引入了编码器-解码器模型。

编码器-解码器模型:

Kalchbrenner和Blumson首次使用了这一模型,该模型使用生成卷积和循环层对源语言模型进行编码和优化,然后将其转换为目标语言。
Cho等人对这一模型进行了进一步的改进和研究,后来的模型加入了多个新颖和有效的技术,包括残差连接、注意力机制等。
自注意力机制:

Vaswani等人和Ahmed等人提出了使用自注意力机制全局编码语言的方法。这种"自注意力"机制更倾向于使用注意力机制,以减少每层所需的计算复杂性,最小化顺序训练步骤,并减小从输入到输出的路径长度。
自注意力模型不仅在翻译任务中取得更高的准确度,而且允许在整个架构中更多地进行并行化,从而减少训练时间。
BERT在机器翻译中的应用:

BERT在SQuAD数据集上取得了最先进的问答结果。
Medina和Kalita修改了Vaswani提出的模型,使用并行自注意力机制,而不是像原始模型中那样堆叠自注意力机制。这进一步提高了BLEU分数并减少了训练时间。
Ghazvininejad等人最近使用BERT进行机器翻译,取得了相对竞争力的性能,并在更短的时间内完成。
最近的进展包括使用缓存提供网络更大的上下文、更好地处理罕见词、以及在机器翻译中应用BERT等。此外,多语言翻译也开辟了机器翻译的新方向。

H. 深度学习在NLP应用中的总结

除了上述应用外,NLP的其他应用包括语法纠正、作者模仿等。情感分析也变得越来越流行,并且深度学习在其中得到广泛应用。

总体而言,当前在所有应用领域的最先进模型的趋势是使用以某种配置使用预训练的transformer单元堆叠,无论是在编码器-解码器配置中还是只作为编码器。自注意力成为主流,与解码器存在时,编码器和解码器单元之间的交叉注意力也成为常态。在许多最近的文章中,transformer已经开始取代几个月前盛行的LSTM单元。预训练大型transformer模型已成为赋予模型语言的广泛知识的接受方式。像BERT这样的模型已经在数十亿字的语料库上进行了训练,可以下载,为从业者提供了一个具有大量语言通用知识的模型。从业者可以根据需要进一步使用自己的通用语料库对其进行训练,但考虑到已下载模型的庞大尺寸,这通常并不总是必要的。要训练一个模型以便它在某个任务上表现良好,从业者必须进行的最后一步是使用可用的可下载任务特定语料库或构建自己的任务特定语料库。这最后的训练步骤通常是监督的。建议在可能的情况下使用多任务训练,特别是在执行多个任务的情况下。

V. 结论

自然语言处理(NLP)的早期应用包括一款称为STUDENT的广受好评但简单的代数问题解决程序[272],以及Eliza等受限制的对话系统,Eliza充当“心理治疗师”[273],另一个在微观世界中操纵块的对话系统[274]。如今,NLP的高度先进应用无处不在,包括谷歌和微软的机器翻译器,可以将语言翻译成多种其他语言,以及处理语音命令并做出相应响应的许多设备。这些复杂的应用的出现,特别是在实际部署的环境中,证明了过去60年左右在这一领域取得的令人印象深刻的成就。毫无疑问,近年来取得了惊人的进展。

正如所展示的,这一最近的进展与人工神经网络(ANNs)的显著进步存在明确的因果关系。虽然在十年前被认为是“陈旧”的技术,但这些机器学习构造物以前所未有的速度推动了进步,在各个领域的各种任务中刷新了性能记录。特别是深度神经架构在自然语言任务的“不完美”度量方面为模型提供了更高的性能。通过对调查的所有模型的分析,可以总结出一些一般性的趋势。在最近的过去中,卷积和循环模型曾经为领先地位做出了贡献;然而,最近,以注意力为动力的transformer单元堆叠作为编码器,通常也作为解码器,一直在自然语言处理领域的丰富多样的地形上一直产生卓越的结果。这些模型通常在无监督或监督方式下强烈预训练于通用语言知识,并在以监督方式对特定任务进行轻度训练。其次,仅使用注意机制(而没有循环或卷积)似乎提供了编码器和解码器之间最佳的连接。第三,强制网络检查不同的特征(通过执行多个任务)通常可以改善结果。最后,虽然高度工程化的网络通常会优化结果,但无法替代使用大量高质量数据培养网络,尽管在大型通用语料库上进行预训练似乎极大地有助于这一点。由于这一最后观察所引发的,将更多的研究工作放在预训练方法上,而不是开发高度专业化的组件以从复杂模型中挤出性能的最后一滴,可能会是有益的。

尽管每个月都提出了许多卓越的体系结构,使得识别出获胜的体系结构的过程变得混乱,但所使用的评估方法同样增加了问题的复杂性。用于评估新模型的数据集通常是专门为这些模型生成的,并且只使用几次,如果有的话,尽管涵盖了几个任务的综合数据集,例如GLUE [275]已经开始出现。由于这些数据集的特征和规模高度变化,这使得比较困难。NLP的大多数子领域以及整个领域都将受益于对这些数据集必要内容的广泛大规模讨论,然后进行这些集合的编制。除了评估数据的高度变异之外,还有许多用于评估每个任务性能的指标。通常情况下,比较类似的模型是困难的,因为为每个模型报告了不同的指标。对特定指标的一致性协议将在该领域确保清晰比较方面起到很大作用。

此外,通常仅报告最佳情况的指标,几乎没有提及平均情况和变异性,或者最坏情况。虽然了解新模型的可能性能很重要,但了解标准性能同样重要。如果模型产生高度可变的结果,则可能需要许多尝试才能将其训练到报告的前沿水平。在大多数情况下,这是不可取的,更希望能够一致地将模型训练到相对较高的性能水平。尽管越来越多的随机参数确实减少了性能的变化,但某种差异将始终存在,需要报告不仅仅是最佳情况的指标。

对未来工作的最后一个建议是,它应该针对比目前更广泛的语言种类。目前,NLP领域的绝大多数研究都是在英语中进行的,还有相当一部分在使用普通话。在翻译任务中,英语几乎总是输入或输出语言,而另一端通常是欧洲或东亚十几种主要语言中的一种。这忽视了整个语言家族,以及说这些语言的人。许多语言的复杂性可能不会以任何一种语言表达,因此在当前的NLP软件中未捕获。此外,全球有成千上万种语言,至少有80种语言的使用人数超过1000万,这意味着当前的研究排除了人类社会的一个巨大部分。在少数分析不足的语言中收集和验证数据,并使用这些数据测试NLP模型,将对NLP领域以及整个人类社会做出巨大贡献。

由于许多语言中数据量有限,作者们并不预见在不久的将来由深度学习完全取代传统的NLP模型。深度学习模型(甚至是浅层ANNs)非常依赖于数据。相反,许多传统模型仅需要相对较少的训练数据。然而,展望未来,可以预期深度学习模型将成为计算语言学的常态,而预训练和迁移学习将发挥极大的作用。Collobert等人[9]引发了NLP领域的深度学习革命,尽管他们的工作的关键贡献之一——即单一统一模型的贡献——并没有被广泛实现。相反,神经网络被引入传统的NLP任务中,现在才重新连接。例如,在解析领域,大多数模型继续实现非神经结构,只是在旁边使用ANNs来做出以前使用规则和概率模型做出的决策。尽管更灵活和通用的体系结构显然变得越来越多,但理解这些网络内部处理的抽象概念对于理解如何构建和训练更好的网络是重要的。此外,由于抽象是人类智能的标志,因此了解ANN内部发生的抽象过程可能有助于理解人类智能及其基础过程。正如人类语言能力只是我们意识的一部分一样,语言处理只是人工智能的一小部分。了解这些组件如何相互关联对于构建更完整的AI系统很重要,创建统一的NLP架构是朝着使这样的系统成为现实的另一步。这个目标还将受到计算设备的进一步进展的支持。虽然GPU已经极大地提高了训练深度网络的能力,但它们只是朝着正确方向迈出的一步[276]。下一步是广泛使用专为此目的设计的芯片,例如谷歌的张量处理单元(TPU),微软的弹射和英特尔的湖泊Crest[277]。最终,在传统的冯·诺伊曼计算机中实现的ANN可能无法充分发挥其潜力。幸运的是,近年来,计算机科学和工程领域的另一条古老线路已经复兴:神经形态计算。随着神经形态芯片(在硬件级别实现神经结构)在未来几年中更加普遍,深度学习的继续和其成功的长期性是可以高度预期的,确保NLP领域的持续进展的机会。

致谢
作者感谢此调查的匿名评审人员提供的宝贵评论,批评和建议。在本材料中表达的任何观点,发现,结论和建议均为作者个人观点,不一定反映国家科学基金会的观点。

你可能感兴趣的:(深度学习,深度学习,人工智能)