自然语言是人类特有的智慧。自然语言处理(NLP)是计算机科学和人工智能领域的一个重要方向,旨在研究自然语言中能够实现人与计算机有效交流的各种理论和方法。用自然语言与计算机交流具有重大的现实意义和革命性的理论意义。
因为理解自然语言需要关于外部世界的广泛知识和操作这些知识的能力,自然语言处理也被认为是解决AI-complete的核心问题之一。自然语言处理的研究也充满了魅力和挑战。
本文是自然语言处理领域的知名博主和实践者Sebatian Ruder的一篇文章。主要从神经网络技术和方法的角度论述了近15年来自然语言处理领域的巨大进步,并总结了与现在密切相关的八大里程碑。其他一些重要的相关工作难免会被省略。同时,这种总结偏向于神经网络相关技术,并不意味着在此期间其他技术领域不会有重要进展。值得注意的是,文中提到的很多神经网络模型都是基于同期非神经网络技术的里程碑。在文章的最后,我们强调这些奠定坚实基础的重要成就。
2001 ——神经语言模型
语言模型解决了预测给定单词文本中下一个单词的任务。这可以算是最简单的语言处理任务,但是实际应用很多,比如智能键盘,邮件回复建议等。当然,语言模型有着悠久的历史。经典的方法是基于n-grams模型(用前面的N个单词预测下一个单词),对不可见的n-grams进行平滑运算处理。
第一个神经语言模型,前馈神经网络,是由Bengio等人在2001年提出的。如图1所示。
图1 |前馈神经网络的语言模型(Bengio等,2001;2003)
该模型将出现在一个词之前的N个词作为输入向量。今天,这样的向量被称为单词嵌入。这些单词在连接后被嵌入到一个隐藏的层中,然后这个层的输出通过一个softmax层。
近年来,用于构建语言模型的前馈神经网络已经被递归神经网络(RNNs)和长短期记忆神经网络(LSTMs)所取代。虽然后来提出的许多新模型扩展了经典的LSTM模型,但它仍然是一个强大的基本模型。即使是Bengio等人的经典前馈神经网络,在一定的设置下,也和更复杂的模型有同样的效果,因为这些任务只需要考虑相邻的词。它也是一个活跃的研究领域,以更好地理解语言模型捕捉了什么信息。
语言模型的建立是一种无监督的学习,Yann LeCun也称之为预测性学习,是获取世界如何运转的共同知识的前提。语言模型最引人注目的一点是,它虽然简单,但与后面的许多核心发展密切相关。
反过来,这意味着自然语言处理领域的许多重要发展可以简化为某种形式的语言模型构建。然而,要实现对自然语言的真正理解,仅仅从原文中学习是不够的。我们需要新的方法和模式。
2008 ——多任务学习
多任务学习是一种在多任务下训练的模型之间共享参数的方法,可以通过绑定神经网络中不同层的权重来轻松实现。多任务学习的思想最早由Rich Caruana在1993年提出,并应用于道路跟踪和肺炎预测。多任务学习鼓励模型学习有效地描述多个任务。这对于学习一般的和低级别的描述形式特别有用,将注意力集中在模型上或训练数据有限的环境中。
2008年,在自然语言处理领域,多任务学习首次被科洛博特(Collobert)和韦斯顿(Weston)应用于神经网络。在他们的模型中,单词嵌入矩阵由在不同任务下训练的两个模型共享,如图2所示。
图2 |单词嵌入矩阵共享(Colobert & amp;Weston,2008;Collobert等人,2011年)
共享单词嵌入矩阵使模型之间能够相互协作,共享矩阵中的低层信息,而单词嵌入矩阵往往构成模型中需要训练的大部分参数。2008年发表的Collobert和Weston的论文,其影响力远远大于其在多任务学习中的应用。其开创性的方法,如嵌入预训练词和使用卷积神经网络处理文本,已在未来几年得到广泛应用。他们还获得了2018年国际机器学习会议(ICML)的时间测试奖。
如今,多任务学习在自然语言处理中得到了广泛的应用,使用现有的或“手动”的任务已经成为自然语言处理指令库中的一种有用工具。虽然参数共享是预定义的,但在优化过程中可以学习不同的共享模式。当模型越来越多地在多个任务上被评估以评估其泛化能力时,多任务学习变得越来越重要,近年来出现了更多的多任务学习评估基准。
2013-单词嵌入
用稀疏向量表示文本的词袋模型在自然语言处理领域有着悠久的历史。然而,使用密集向量来描述单词,即单词嵌入,最早出现在2001年。Mikolov等人2013年工作的主要创新是通过去除隐含层和近似计算目标,使单词嵌入模型的训练更加高效。虽然这些变化本质上非常简单,但是它们与高效的word2vec(word to vector)相结合,使得训练大规模的单词嵌入模型成为可能。
Word2vec有两种不同的实现方法:CBOW(连续词包)和skip-gram。他们有不同的预测目标:一个是根据周围的词来预测中心词,另一个正好相反。如图3所示。
图3 | CBOW和skip-gram Architecture (Mikolov等人,2013a2013b)
虽然这些嵌入和使用前馈神经网络学习的嵌入在概念上没有区别,但是在非常大的语料库上的训练使他们能够获得单词之间的特定关系,例如性别、动词时态和国际事务。如下图4所示。
图4 | word 2 vec捕获的连接(Mikolov等人,2013a2013b)
这些关系及其背后的意义引起了人们对单词嵌入的兴趣,许多研究关注这些线性关系的来源。然而,使单词嵌入成为自然语言处理领域的中流砥柱的是,使用预先训练好的单词嵌入矩阵进行初始化可以提高大量下游任务的性能。
虽然word2vec捕捉到的关系很直观,几乎不可思议,但后来的研究表明,word2vec本身并没有什么特别之处:单词嵌入也可以通过矩阵分解来学习。经过适当的调试,经典的矩阵分解方法奇异值分解和LSA可以获得类似的结果。
从那时起,大量的工作已经开始探索单词嵌入的不同方面。尽管有许多发展,word2vec仍然是目前使用最广泛的选择。Word2vec的应用范围也超越了单词层面:skip-gram——带负采样,一个基于上下文学习单词嵌入的便捷目标,已经被用来学习句子表征。它甚至超越了自然语言处理的范围,应用于网络和生物序列领域。
一个令人振奋的研究方向是在同一空中构建不同语言的单词嵌入模型,从而达到(零样本)跨语言转换的目的。通过无监督学习来构建这样的映射(至少对于相似的语言)越来越有希望,这也为语料库资源较少的语言和无监督机器翻译的应用创造了可能性。
2013 ——自然语言处理的神经网络
2013年和2014年是自然语言处理领域神经网络时代的开始。三种类型的神经网络被广泛使用:递归神经网络、卷积神经网络和递归神经网络。
循环神经网络是自然语言处理领域中处理动态输入序列最自然的选择。经典的长短期记忆网络(LSTM)很快取代了传统的递归神经网络,可以更好地解决梯度消失和梯度爆炸的问题。直到2013年,人们还认为循环神经网络很难训练,直到伊利亚·萨特斯基弗博士的论文改变了循环神经网络的名声。双向长短期记忆网络通常用于处理同时出现在左右两侧的文本内容。LSTM结构如图5所示。
图5 | LSTM网络(来源:ChrisOlah)
应用于文本的卷积神经网络只在二维上运行,卷积层只需要在时间序列维度上移动。图6显示了应用于自然语言处理的卷积神经网络的典型结构。
图6 |卷积神经网络(Kim,2014)
与循环神经网络相比,卷积神经网络的一个优点是具有更好的并行性。因为卷积运算中每个时间步的状态只依赖于局部上下文,而不是像循环神经网络那样依赖于所有过去的状态。卷积神经网络可以使用更大的卷积层来覆盖更广泛的上下文。卷积神经网络也可以和长短期记忆网络组合堆叠,也可以用来加速长短期记忆网络的训练。
循环神经网络和卷积神经网络都把语言看作一个序列。但从语言学的角度来看,语言是有层次结构的:单词构成高阶短语和从句,可以按照一定的产生规则递归组合。这就激发了用结构递归神经网络来表示语言的思想,用树形结构来代替序列,如图7所示。
图7 |结构递归神经网络(Socher等人,2013)
结构化递归神经网络自下而上地构造序列的表示,这与从左到右或从右到左处理序列的循环神经网络形成鲜明对比。树中的每个节点都是通过其子节点的表示来计算的。一棵树也可以看作是对循环神经网络应用不同的处理序列,因此长短期记忆网络可以很容易地扩展到一棵树。
不仅循环神经网络和长短期记忆网络可以扩展到使用层次结构,而且单词嵌入也可以在语法上下文中学习。语言模型可以基于句法栈生成词汇,图形卷积神经网络可以在树形结构中运行。
2014-序列到序列模型
2014年,Sutskever等人提出了序列到序列学习,这是一种使用神经网络将一个序列映射到另一个序列的通用框架。在这个框架中,作为编码器的神经网络处理句子符号,并将它们压缩成向量表示。然后,作为解码器的神经网络根据编码器的状态逐个预测输出符号,并将从先前预测获得的输出符号作为预测下一个输出符号的输入。如图8所示。
图8 |序列到序列模型(苏斯克弗等人,2014)
机器翻译是这个框架的杀手级应用。2016年,谷歌宣布用神经机器翻译模型取代基于短语的整句机器翻译模型。谷歌大脑(Google Brain)负责人杰夫·迪恩(Jeff Dean)表示,这意味着用500行神经网络模型代码替换50万行基于短语的机器翻译代码。
由于其灵活性,该框架被广泛用于自然语言生成,其编码器和解码器由不同的模型提供服务。更重要的是,解码器不仅可以应用于序列,还可以应用于任何表示。比如基于图片生成描述(如图9所示),基于表格生成文本,基于源代码修改生成描述,还有很多其他的应用。
图9 |基于图像的标题生成(Vinyalset等人,2015)
序列到序列学习甚至可以应用于自然语言处理中常见的结构预测任务,即输出具有特定的结构。为了简单起见,输出被线性化,就像选择分辨率一样(图10)。给定足够的解析训练数据,神经网络已被证明具有生成线性输出和识别命名实体的能力。
图10 |线性化选择分析树(Vinyalset等人,2015)
序列的编码器和解码器通常基于循环神经网络,但也可以使用其他模型。新的结构主要是从机器翻译的工作中诞生的,机器翻译已经成为从序列到序列模型的培养基。最近提出的模型包括深度长期和短期记忆网络、卷积编码器、变压器(一种基于自我注意机制的新神经网络架构)以及长期和短期记忆相关网络和变压器的组合。
2015-关注机制
注意机制是神经网络机器翻译(NMT)的核心创新之一,也是NMT优于经典短语机器翻译的关键。序列到序列学习的主要瓶颈是需要将源序列的全部内容压缩成一个固定大小的向量。注意机制通过让解码器检查源序列的隐藏状态来缓解这个问题,从而为解码器提供加权平均的输入,如图11所示。
图11 |注意机制(Bahdanau等人,2015)
之后出现了各种形式的注意机制。注意机制被广泛接受,并在需要根据输入的特定部分做出决策的各种任务中具有潜在的应用。它已被应用于句法分析、阅读理解、单样本学习等任务。它的输入甚至不需要是一个序列,但是可以包含其他表示,比如图像的描述(图12)。
注意机制的一个有用的副作用是,它通过注意权重来检测输入的哪一部分与特定的输出相关,从而提供了对模型内部操作机制的罕见但相对肤浅的窥探。
图12 |图像描述模型中的视觉注意机制表示生成飞盘时关注的是什么(许等。, 2015)
注意机制不限于输入序列。自我注意机制可以用来观察句子或文档中的周围单词,获得包含更多上下文信息的单词表征。多层自我注意机制是神经机器翻译前沿模型Transformer的核心。
2015——基于记忆的神经网络
注意机制可以看作是一种模糊记忆的形式,其记忆内容包括模型前的隐藏状态,模型选择从记忆中检索哪些内容。同时,已经提出了更多具有显式存储单元的模型。它们有许多不同的形式,例如,神经图灵机、内存网络、端到端内存网络、动态内存网络、神经微分计算机和递归网络。
内存访问通常类似于注意力机制,基于当前状态,可以读写。这些模型之间的区别在于它们如何实施和利用存储模块。比如端到端内存网络多次处理输入,更新内存进行多重推理。神经图灵机还有一种基于位置的寻址方法,可以让它们学习简单的计算机程序,比如排序。基于记忆的模型通常用于需要长时间保存信息的任务,如语言模型构建和阅读理解。内存条的概念很常见。知识库和表格可以作为内存模块,内存模块也可以根据全部或部分输入内容进行填充。
2018-预培训语言模式
预训练单词嵌入是上下文无关的,仅用于初始化模型的第一层。最近几个月,许多监督任务已经被用来预训练神经网络。相比之下,语言模型只需要无标记的文本,因此它的训练可以扩展到数十亿字的语料库、新领域和新语言。预训练的语言模式在2015年首次提出,但直到最近才被证明在大量不同类型的任务中非常有效。语言模型嵌入可以作为目标模型中的一个特征,也可以根据具体任务进行调整。如下图所示,语言模型嵌入给很多任务的效果带来了很大的提升。
图13 |改进的语言模型嵌入(Peterset等人,2018)
预先训练好的语言模型可以用很少的数据有效地学习。由于语言模型的训练只需要未标记的数据,因此对于数据稀缺的低资源语言尤其有利。
其他里程碑
虽然其他一些发展没有上面提到的那么受欢迎,但它们仍然有广泛的影响。
基于字符的表示(基于字符的表示)
在字符层面,使用卷积神经网络和长短期记忆网络来获得基于字符的单词描述是相当常见的,尤其是对于那些语言形式丰富的语言或那些具有重要形态信息和许多未知单词的任务。据我们所知,基于字符的描述最初用于序列注释。现在,基于字符的描述方法减轻了必须以增加计算成本为代价来建立固定词汇的问题,并且使得完全基于字符的机器翻译的应用成为可能。
对手学习(对手学习)
对抗学习方法已经广泛应用于机器学习领域,也应用于自然语言处理领域的不同任务。对抗实例的应用越来越广泛。它们不仅是检测模型弱点的工具,而且使模型更加健壮。(虚拟)对抗训练,即最坏情况干扰和域对抗,是有效的正则化方法,可以使模型更加鲁棒。生成对抗网络(GANs)目前在自然语言生成任务中并不有效,但在匹配分布中非常有用。
强化学习
强化学习已经证明了它在时间相关任务中的能力,例如训练期间的数据选择和对话建模。在机器翻译和泛化任务中,强化学习可以有效地直接优化“红”和“蓝”等不可微度量,而无需优化交叉熵等代理损失函数。同样,反向强化学习在奖励机制非常复杂且难以实现的任务中也非常有用,例如视频故事描述。
-结束-
参考:
http://blog . ay lien . com/a-review-of-the-recent-history-of-natural-language-processing/
1.《自然语言处理 15年来,自然语言处理发展史上的8大里程碑》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《自然语言处理 15年来,自然语言处理发展史上的8大里程碑》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/guonei/1164089.html