一文了解自然语言处理神经史(上)

简介: 越来越火的NLP到底经历了什么?

本文扩展了Herman Kamper和我在2018年深度学习Indaba组织的自然语言处理前沿课程。整个课程的幻灯片都可以在这里找到,这篇文章将主要讨论NLP中基于神经网络方法的近期进展。

免责声明:本文尝试将大约15NLP的发展历程浓缩为今天最相关的八个里程碑,因此遗漏了许多相关和重要的发展。特别是,它严重偏向于当前的神经方法,这可能给人留下此期间没有其他有影响力方法的错误影响。

 

2001-神经语言模型

语言建模是在给定前面的单词的情况下预测文本中的下一个单词的任务。 它可能是最简单的语言处理任务,具有实际应用,如智能键盘和电子邮件响应建议(Kannan et al.,2016)。语言建模有着丰富的历史。基于n-gram的经典方法采用平滑处理看不见的n-gramKneserNey,1995)。Bengio等人于2001年提出了第一种神经语言模型,一种前馈神经网络,如下图1所示。

b8961e7df65d3f2b499b6bf4a472887395955de1

该模型把n个可以在表C中查找的先前单词向量表示作为输入。现在,这种向量被称为词嵌入。这些词嵌入被连接并送入隐藏层,然后将其输出提供给softmax层。想要了解更多该模型的信息,请查看此文章

最近,前馈神经网络已被用于语言建模的递归神经网络(RNN; Mikolov等人,2010)和长短期记忆网络(LSTM; Graves2013)所取代。近年来已经提出了许多经典LSTM的新语言扩展模型(请参阅此页面以获得概述)。尽管有这些发展,但经典的LSTM仍然是一个强大的基线(Melis等,2018)。即使Bengio等人的经典前馈神经网络在某些环境中也与更复杂的模型竞争,但这些通常只学会考虑最近的词(Daniluk等,2017)。如何理解这些语言模型捕获的信息是一个活跃的研究领域(Kuncoro等,2018; Blevins等,2018)。

语言建模通常是应用RNN时的首选训练场,并成功捕捉到了想象力,许多人通过Andrej的博客文章开始了解。语言建模是无监督学习的一种形式,Yann LeCun也将预测性学习作为获取常识的先决条件(参见NIPS 2016Cake幻灯片)。 关于语言建模最显著的方面可能是,尽管它很简单,但它是本文讨论的许多后期进展的核心:

词嵌入:word2vec的目标是简化语言建模;

序列到序列模型:这种模型通过一次预测一个词来生成输出序列;

预训练语言模型:这些方法使用语言模型中的表示来进行迁移学习;

这反过来意味着NLP中许多最重要的最新进展减少为一种语言建模形式。 为了做真正的自然语言理解,仅仅从原始形式的文本中学习可能是不够的,我们将需要新的方法和模型。

2008-多任务学习

多任务学习是在多个任务上训练的模型之间共享参数的一般方法。在神经网络中,这可以通过绑定不同层的权重来轻松实现。多任务学习的想法在1993年由Rich Caruana首次提出,并应用于道路跟踪和肺炎预测(Caruana1998)。直观地说,多任务学习鼓励模型学习对许多任务有用的表示。特别对于学习一般的低级表示,集中模型的注意力或在有限量的训练数据的设置中特别有用。有关多任务学习的更全面概述,请查看此文章

CollobertWeston2008年首次将多任务学习应用于NLP的神经网络。 在他们的模型中,查找表(或词嵌入矩阵)在两个在不同任务上训练的模型之间共享,如下面的图2所示。

2c4ca19207c222b8ccc5f0cd527e29a7112b752e

共享词嵌入使模型能够在词嵌入矩阵中协作和共享一般的低级信息,这通常构成模型中最大数量的参数。CollobertWeston2008年的论文中证明了它在多任务学习中的应用,它引领了诸如预训练词嵌入和使用卷积神经网络(CNN)之类的思想,这些思想仅在过去几年中被广泛采用。它赢得了ICML 2018的时间考验奖(参见此时的时间考验奖论文)。

多任务学习现在用于各种NLP任务,并且利用现有或人工任务已成为NLP指令集中的有用工具。有关不同附加任务的概述,请查看此文章。虽然通常预先定义参数的共享,但是在优化过程期间也可以学习不同的共享模式(Ruder等,2017)。随着模型越来越多地在多项任务中被评估来评估其泛化能力,多任务学习越来越重要,最近提出了多任务学习的专用基准(Wang et al2018; McCann et al2018)。

 

2013-词嵌入

文本的稀疏向量表示,即所谓的词袋模型,在NLP中具有悠久的历史。正如我们在上面所看到的,早在2001年就已经使用了词或词嵌入的密集向量表示。 Mikolov等人在2013年提出的主要创新,是通过移动隐藏层和近似目标来使这些词嵌入的训练更有效率。虽然这些变化本质上很简单,但它们与高效的word2vec一起实现了大规模的词嵌入训练。

Word2vec有两种模式,可以在下面的图3中看到:连续的词袋(CBOW)和skip-gram。它们的目标不同:一个基于周围的词预测中心词,而另一个则相反。

449201cebea0af8d9085662282f93a6c1822db8c

虽然这些嵌入在概念上与使用前馈神经网络学习的嵌入技术没有什么不同,但是对非常大的语料库的训练使它们能够捕获诸如性别,动词时态和国家首都关系之类的词之间的某些关系,由图4可知:

4549129a5cd58bad25a79f88701983631982b181

这些关系及其背后的意义引发了对嵌入词的初步兴趣,许多研究调查了这些线性关系的起源(Arora等,2016; MimnoThompson2017; AntoniakMimno2018; Wendlandt等,2018))。然而,使用预训练嵌入作为初始化的固定词嵌入,把它作为当前NLP的主要内容被证明可以提高各种下游任务的性能。

虽然捕获的关系word2vec具有直观且几乎神奇的性能,但后来的研究表明word2vec没有任何固有的特殊性:通过矩阵分解也可以学习词嵌入(Pennington等,2014; LevyGoldberg2014)和通过适当的调整,经典的矩阵分解方法(如SVDLSA)可以获得类似的结果(Levy等,2015)。

从那时起,许多工作已经开始探索词嵌入的不同方面,可以通过这篇文章了解一些趋势和未来方向。尽管有许多发展,但word2ve仍然是如今被广泛使用的一种流行的选择。Word2vec的范围甚至超出了词级别:带有负抽样的skip-gram,一个基于本地环境学习嵌入的方便目标,已被应用于学习句子的表示(MikolovLe2014; Kiros et al.2015-甚至超越NLP,应用到网络(GroverLeskovec2016)和生物序列(AsgariMofrad2015)等。

一个特别令人兴奋的方向是将不同语言的词嵌入投影到同一空间中以实现(零射击)跨语言转移。越来越有可能以完全无监督的方式(至少对于类似语言)学习良好的投影,这开启了低资源语言和无监督机器翻译的应用(Lample等,2018; Artetxe等,2018)。请查看(Ruder等,2018)的概述。

 

2013-NLP的神经网络

2013年和2014年是神经网络模型开始应用于NLP的标志年份。三种主要类型的神经网络被广泛使用:递归神经网络、卷积神经网络、循环神经网络。

递归神经网络(RNN)是处理NLP中普遍存在的动态输入序列问题的明显选择。 Vanilla RNNsElman1990)很快被经典的长短期记忆网络(HochreiterSchmidhuber1997)所取代,后者证明其对消失和爆炸梯度问题更具弹性。在2013年之前,RNN仍然被认为很难训练,Ilya Sutskever的博士论文是改变这种现状的一个关键例子。LSTM细胞可视化可以在下面的图5中看到。双向LSTMGraves等,2013)通常用于处理左右上下文。

050d44de778cfa3e5edac46e50aa072e64b698fb

随着卷积神经网络(CNN)被广泛用于计算机视觉,它们也开始应用于文本(Kalchbrenner等,2014; Kim等,2014)。用于文本的卷积神经网络仅在两个维度上操作,其中滤波器仅需要沿时间维度移动。下面的图6显示了NLP中使用的典型CNN

ca8453709814750bb36dbd42507217cfd1793247

卷积神经网络的一个优点是它们比RNN更可并行化,因为每个时间步的状态仅取决于本地环境(通过卷积运算)而不是像RNN取决过去所有状态。CNN可以使用扩张卷积扩展到更宽的感受野,以捕捉更广泛的背景(Kalchbrenner2016)。 CNNLSTM也可以组合和堆叠,并且可以使用卷积来加速LSTM

RNNCNN都将语言视为一个序列。然而,从语言学的角度来看,语言本质上是等级的:单词被组成高阶短语和子句它们本身可以根据一组生产规则递归地组合。将句子视为树而不是序列的语言启发思想产生了递归神经网络,这可以在下面的图7中看到:

e18cd0bec6f2f4a5401e24060bc86e865a3cdb03

与从左到右或从右到左处理句子的RNN相比,递归神经网络从下到上构建序列的表示。在树的每个节点处,通过组合子节点的表示来计算新表示。由于树也可以被视为在RNN上施加不同的处理顺序,因此LSTM自然地扩展到树。

RNNLSTM不仅仅可以被扩展来使用分层结构,而且不仅可以根据本地语言学习词嵌入,而且可以基于语法背景来学习词嵌入(LevyGoldberg2014);语言模型可以基于句法堆栈生成单词(Dyer et al。,2016; 图形卷积神经网络可以在树上运行(Bastings等,2017)。

本文由阿里云云栖社区组织翻译。

文章原标题《a-review-of-the-recent-history-of-natural-language-processing》

作者:Sebastian Ruder  译者:虎说八道,审校:。

文章为简译,更为详细的内容,请查看原文

相关文章
|
4月前
|
自然语言处理
PubMedBERT:生物医学自然语言处理领域的特定预训练模型
今年大语言模型的快速发展导致像BERT这样的模型都可以称作“小”模型了。Kaggle LLM比赛LLM Science Exam 的第四名就只用了deberta,这可以说是一个非常好的成绩了。所以说在特定的领域或者需求中,大语言模型并不一定就是最优的解决方案,“小”模型也有一定的用武之地,所以今天我们来介绍PubMedBERT,它使用特定领域语料库从头开始预训练BERT,这是微软研究院2022年发布在ACM的论文。
42 1
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
放射学中的自然语言处理技术综述
放射学中的自然语言处理技术综述
54 0
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
探索前沿技术:基于深度学习的自然语言处理应用与挑战
本文将深入探讨基于深度学习的自然语言处理(NLP)技术在当今应用中的重要性以及所面临的挑战。通过分析NLP的基本原理、应用场景和未来发展趋势,帮助读者更好地了解NLP技术的前沿领域和发展方向。
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习的前沿技术和应用:从自然语言处理到机器视觉
深度学习作为人工智能的核心技术,近年来得到了广泛的关注和应用。除了在语音识别、自然语言处理等领域有不俗表现外,深度学习在机器视觉方面也取得了很多进展。本文将介绍深度学习的前沿技术和应用,包括自然语言处理、图像识别和目标检测等。
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
自然语言处理:实现智能问答系统的关键技术
自然语言处理在实现智能问答系统中起着重要作用。通过文本预处理、信息检索、语义理解和答案生成等关键技术,我们可以构建高效准确的智能问答系统,为用户提供便捷的信息获取方式。随着深度学习等技术的发展,智能问答系统的性能还将得到进一步提升,为人们提供更加智能化的服务。
224 0
|
11月前
|
机器学习/深度学习 自然语言处理 大数据
AIGC背后的技术分析 | 迁移学习与自然语言处理实践
实践是检验理论的唯一标准。为此,我们将通过中国计算机学会举办的2019 CCF大数据与计算智能大赛的互联网金融新实体发现竞赛作为实践,让大家了解预训练模型的强大。
110 0
AIGC背后的技术分析 | 迁移学习与自然语言处理实践
|
安全
辣椒病虫害图像识别挑战赛
辣椒病虫害图像识别挑战赛
342 0
辣椒病虫害图像识别挑战赛
|
机器学习/深度学习 自然语言处理
2018 NLP圣经《自然语言处理综述》最新手稿已经发布!
2018 NLP圣经《自然语言处理综述》最新手稿已经发布!
146 0
2018 NLP圣经《自然语言处理综述》最新手稿已经发布!
|
机器学习/深度学习 自然语言处理 算法
自然语言处理在医学领域的实践
自然语言处理在医学领域的实践
自然语言处理在医学领域的实践
|
机器学习/深度学习 人工智能 自然语言处理
自然语言处理的应用前景
自然语言处理(NLP)是人工智能技术的一个分支,它使计算机能够像人们一样理解、处理和生成语言,并且在商业中的应用正在迅速增长。