自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别。自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统。因而它是计算机科学的一部分。
自然语言处理(NLP)是计算机科学,人工智能,语言学关注计算机和人类(自然)语言之间的相互作用的领域。
总结自然语言处理发展的曲折历史可以看出,基于规则的理性主义方法和基于统计的经验主义方法各有千秋,因此,我们应当用科学的态度来分析它们的优点和缺点。
我们认为,基于规则的理性主义方法的优点是:
* 基于规则的理性主义方法中的规则主要是语言学规则,这些规则的形式描述能力和形式生成能力都很强,在自然语言处理中有很好的应用价值。
* 基于规则的理性主义方法可以有效地处理句法分析中的长距离依存关系(long-distance dependencies)等困难问题,如句子中长距离的主语和谓语动词之间的一致关系(subject-verb agreement)问题,wh 移位(wh-movement)问题。
* 基于规则的理性主义方法通常都是明白易懂的,表达得很清晰,描述得很明确,很多语言事实都可以使用语言模型的结构和组成成分直接地、明显地表示出来。
* 基于规则的理性主义方法在本质上是没有方向性的,使用这样的方法研制出来的语言模型,既可以应用于分析,也可以应用于生成,这样,同样的一个语言模型就可以双向使用。
* 基于规则的理性主义方法可以在语言知识的各个平面上使用,可以在语言的不同维度上得到多维的应用。这种方法不仅可以在语音和形态的研究中使用,而且,在句法、语义、语用、篇章的分析中也大显身手。
* 基于规则的理性主义方法与计算机科学中提出的一些高效算法是兼容的,例如,计算机算法分析中使用Earley 算法(1970 年提出)和Marcus 算法(1978 年提出)都可以作为基于规则的理性主义方法在自然语言处理中得到有效的使用。
基于规则的理性主义方法的缺点是:
* 基于规则的理性主义方法研制的语言模型一般都比较脆弱,鲁棒性很差,一些与语言模型稍微偏离的非本质性的错误,往往会使得整个的语言模型无法正常地工作,甚至导致严重的后果。不过,近来已经研制出一些鲁棒的、灵活的剖析技术,这些技术能够使基于规则的剖析系统在剖析失败中得到恢复。
* 使用基于规则的理性主义方法来研制自然语言处理系统的时候,往往需要语言学家、语音学家和各种专家的配合工作,进行知识密集的研究,研究工作的强度很大;基于规则的语言模型不能通过机器学习的方法自动地获得,也无法使用计算机自动地进行泛化。
* 使用基于规则的理性主义方法设计的自然语言处理系统的针对性都比较强,很难进行进一步的升级。例如,斯罗肯(Slocum)在1981 年曾经指出,LIFER 自然语言知识处理系统在经过两年的研发之后,已经变得非常之复杂和庞大,以至于这个系统原来的设计人很难再对它进行一点点的改动。对于这个系统的稍微改动将会引起整个连续的“水波效应”(ripple effect),以至于“牵一发而动全身”,而这样的副作用是无法避免和消除的。
* 基于规则的理性主义方法在实际的使用场合其表现往往不如基于统计的经验主义方法那样好。因为基于统计的经验主义方法可以根据实际训练数据的情况不断地优化,而基于规则的理性主义方法很难根据实际的数据进行调整。基于规则的方法很难模拟语言中局部的约束关系,例如,单词的优先关系对于词类标注是非常有用的,但是基于规则的理性主义方法很难模拟这种优先关系。
不过,尽管基于规则的理性主义方法有这样的或那样的不足,这种方法终究是自然语言处理中研究得最为深入的技术,它仍然是非常有价值和非常强有力的技术,我们决不能忽视这种方法。事实证明,基于规则的理性主义方法的算法具有普适性,不会由于语种的不同而失去效应,这些算法不仅适用于英语、法语、德语等西方语言,也适用于汉语、日语、韩国语等东方语言。在一些领域针对性很强的应用中,在一些需要丰富的语言学知识支持的系统中,特别是在需要处理长距离依存关系的自然语言处理系统中,基于规则的理性主义方法是必不可少的。
我们认为,基于统计的经验主义方法的优点是:
* 使用基于统计的经验主义方法来训练语言数据,从训练的语言数据中自动地或半自动地获取语言的统计知识,可以有效地建立语言的统计模型。这种方法在文字和语音的自动处理中效果良好,在句法自动分析和词义排歧中也初露锋芒。
* 基于统计的经验主义方法的效果在很大的程度上依赖于训练语言数据的规模,训练的语言数据越多,基于统计的经验主义方法的效果就越好。在统计机器翻译中,语料库的规模,特别是用来训练语言模型的目标语言语料库的规模,对于系统性能的提高,起着举足轻重的作用。因此,可以通过扩大语料库规模的办法来不断提高自然语言处理系统的性能。
* 基于统计的经验主义方法很容易与基于规则的理性主义方法结合起来,从而处理语言中形形色色的约束条件问题,使自然语言处理系统的效果不断地得到改善。
* 基于统计的经验主义方法很适合用来模拟那些有细微差别的、不精确的、模糊的概念(如“很少、很多、若干”等),而这些概念,在传统语言学中需要使用模糊逻辑(fuzzy logic)才能处理。
基于统计的经验主义方法的缺点是:
* 使用基于统计的经验主义方法研制的自然语言处理系统,其运行时间是与统计模式中所包含的符号类别的多少成比例线性地增长的,不论在训练模型的分类中还是在测试模型的分类中,情况都是如此。因此,如果统计模式中的符号类别数量增加,系统的运行效率会明显地降低。
* 在当前语料库技术的条件下,要使用基于统计的经验主义方法为某个特殊的应用领域获取训练数据,还是一件费时费力的工作,而且很难避免出错。基于统计的经验主义方法的效果与语料库的规模、代表性、正确性以及加工深度都有密切的关系,可以说,用来训练数据的语料库的质量在很大的程度上决定了基于统计的经验主义方法的效果。
* 基于统计的经验主义方法很容易出现数据稀疏的问题,随着训练语料库规模的增大,数据稀疏的问题会越来越严重,这个问题需要使用各种平滑(smoothing)技术来解决。
自然语言处理的5大优势
新智元编译
在自然语言处理领域,深度学习的承诺是:给新模型带来更好的性能,这些新模型可能需要更多数据,但不再需要那么多的语言学专业知识。
关于深度学习方法有很多炒作和大话,但除了炒作之外,深度学习方法正在为挑战性问题取得最先进的结果,特别是在自然语言处理领域。
在这篇文章中,您将看到深度学习方法应对自然语言处理问题的具体前景。看完这篇文章后,你会知道:
1. 自然语言处理深度学习的承诺。
2. 深度学习从业人员和研究科学家对自然语言处理深度学习的承诺有什么说法。
3. 自然语言处理的重要深度学习方法和应用。
深度学习的承诺
深度学习的方法很受欢迎,主要是因为它们兑现了当初的承诺。
这并不是说在技术上没有任何炒作,而是说,这种炒作是基于非常真实的成果。这些成果正在从计算机视觉和自然语言处理的一系列极具挑战性的人工智能问题中得到证实。
深度学习力量的第一次大型展现,就是在自然语言处理领域,特别是在语音识别方面。 最近的进展则是在机器翻译方面。
在这篇文章中,我们将看到,自然语言处理领域的深度学习方法的五个具体承诺。这些承诺是这个领域的研究人员和从业人者最近所强调的,而这些人面对这些承诺的态度比一般的新闻报道要克制得多。
总而言之,这些承诺是:
深度学习插入替换现有模型 。深度学习方法可以插入现有的自然语言系统,由此产生的新模型可以实现同等或更好的性能。
新NLP模型 。深度学习方法提供了新的建模方法以挑战自然语言问题(如序列-序列预测)。
特征学习 。深度学习方法可以从模型所需的自然语言中学习特征,而不需要专家指定、提取特征。
持续改进。自然语言处理中的深度学习的表现是基于真实世界的结果,并且所带来的改进正在持续,还可能加速。
端对端模型 。大型端对端深度学习模型可以适应自然语言问题,提供更一般和更好的方法。
我们现在将仔细看看这些承诺中的每一个。其实自然语言处理深度学习还有一些其他承诺,这些只是我从中选择的最突出的五个。
深度学习插入替换现有模型
自然语言处理中的深度学习的第一个承诺是,能够用具有更好性能的模型替代现有的线性模型,能够学习和利用非线性关系。
Yoav Goldberg在他的《NLP研究人员神经网络入门》中强调,深度学习方法取得了令人印象深刻的成果,他说在此文中说:“最近,神经网络模型也开始应用于文本自然语言信号,并再次带来了非常有希望的结果。”
他还继续强调,这些方法易于使用,有时可用于批量地替代现有的线性方法。他说:“最近,该领域在从稀疏输入的线性模型切换到稠密数据的非线性神经网络模型方面取得了一些成功。大多数神经网络技术都很容易应用,有时候几乎可以替代旧的线性分类器;不过,在许多情况下仍存在着使用神经网络的障碍。”
新NLP模型
另一个承诺是,深度学习方法有助于开发全新的模型。
一个很好的例子是,使用能够学习和判断超长序列输出的循环神经网络。 这种方法与从前的完全不同,因为它们允许NLP从业者摆脱传统的建模假设,并实现最先进的结果。
Yoav Goldberg在其NLP深度学习的专著《自然语言处理的神经网络方法》第xvii页指出,像循环神经网络这样复杂神经网络模型可以带来全新的NLP建模机会。他说,“在2014年左右,该领域已经开始看到,在从稀疏输入的线性模型到稠密输入的非线性神经网络模型的转换方面,已取得了一些成功。 。……其他的变化更高级,需要研究者改变思维,并能带来新的建模机会。特别是,基于循环神经网络(RNNs)的一系列方法减轻了对序列模型中普遍存在的马尔可夫假设的依赖,允许以任意长序列为条件,并产生了有效的特征提取器。 这些进步导致了语言建模、自动机器翻译和其他应用的突破。”
特征学习
深度学习方法具有学习特征表示的能力,不必要求专家从自然语言中人工指定和提取特征。
NLP研究员Chris Manning在自然语言处理深度学习课程的第一次讲座中突出了这方面的观点。
他描述了人工定义输入特征的局限性:按照这种方法,在之前的应用中,机器学习只是在统计NLP中证明人类事先定义的特征,并且计算机几乎没有学习。
Chris 认为,深度学习方法带来的承诺是自动特征学习。 他强调,特征学习是自动的,而不是人工;它易于适应,不脆弱,并可以不断自动地改善。
Chris Mining 在2017年的《自然语言处理与深度学习》讲座第一讲幻灯片中说,“一般来说,我们人工设计的特征往往被过度地指定,它们不完整,需要很长时间才能设计和验证,会让你忙活一天后只能达到有限的性能水平。而深度学习到的特征易于适应,能快速训练,它们可以持续学习,以便达到以前未能实现的、更好的性能水平。
持续改进
NLP的深度学习的另一个承诺是,在挑战性问题上持续快速改进。
在《自然语言处理与深度学习》讲座第一讲中,Chris Manning表示,深度学习的方法很受欢迎,因为它们很管用。他说,“深度学习对大多数人来说如此令人兴奋的真正原因是,它确实管用。“
他强调,深度学习的初步结果令人印象深刻。深度学习在语音领域的表现比过去30年中任何其他方法的表现都更好。
Chris 提到,深度学习带来的不仅是最先进的成果,而且是不断改进的进步速度。他说,”……在过去的六七年中,非常令人惊叹的是,深度学习方法一直在不断改进,并以惊人的速度变得更好。 我其实想说,这是前所未有的,我看到这个领域飞速地进展,每个月都会推出更好的方法。“
端对端模型的承诺
深度学习的最终承诺是,开发和训练自然语言问题的端对端模型能力,而不是为专门模型开发流程。
端对端模型不仅能改进模型的性能,也能带来更好的开发速度和简洁性。
神经机器翻译(简称NMT)是指,尝试学习将一种语言翻译成另一种语言的大型神经网络。 传统上,这是由一系列手工调整的模型组成的流程来处理的,而流程中的每个模型都需要专业语言知识。
Chris Manning 在斯坦福大学NLP深度学习课程第十讲《神经机器翻译和注意模型》中描述了这一点。他说:”神经机器翻译是指,我们想要做的是构建一个大型神经网络,在这个网络中我们可以对训练整个端到端机器翻译过程并进行优化。……这种远离人工定制模型、朝向端到端、序列到序列预测模型的趋势,一直是语音识别的趋势。 这样做的系统被称为NMT (神经机器翻译)系统。
设计端到端模型,而非为专门系统设计流程,这也是语音识别的一个趋势。
在斯坦福NLP课程第十二讲《语音处理的端到端模型》中,目前就职于Nvidia的 NLP研究员Navdeep Jaitly强调,语音识别的每个组成部分都可以用神经网络来代替。自动语音识别流程中的几大组块是语音处理,声学模型,发音模型和语言模型。问题是,每个组块的属性和错误类型是不同的。这激发了开发一个神经网络来端到端地学习整个问题的需要。
他说,“随着时间的推移,人们开始注意到,如果我们使用神经网络,这些组件中的每一个都可以做得更好。 ……但是,仍然有一个问题。 每个组件都有各自的神经网络,但是每个组件中的错误都是不同的,所以它们可能无法很好地协同工作。 所以这让我们拥有动机,尝试去把整个语音识别当作一个大模型来训练。”
设计端到端模型,而非为专门系统设计流程,这也是语音识别的一个趋势。
在斯坦福NLP课程第十二讲《语音处理的端到端模型》中,目前就职于Nvidia的 NLP研究员Navdeep Jaitly强调,语音识别的每个组成部分都可以用神经网络来代替。自动语音识别流程中的几大组块是语音处理,声学模型,发音模型和语言模型。问题是,每个组块的属性和错误类型是不同的。这激发了开发一个神经网络来端到端地学习整个问题的需要。
他说,“随着时间的推移,人们开始注意到,如果我们使用神经网络,这些组件中的每一个都可以做得更好。 ……但是,仍然有一个问题。 每个组件都有各自的神经网络,但是每个组件中的错误都是不同的,所以它们可能无法很好地协同工作。所以这让我们拥有动机,尝试去把整个语音识别当作一个大模型来训练。”
自然语言处理深度学习网络的类型
深度学习是一个很大的学习领域,并不是它的所有内容都与自然语言处理相关。
哪些类型的深度学习模型能提升性能?学习者在具体优化方法上很容易陷入泥沼。
从较高层次看,深度学习中有5种方法在自然语言处理中应用最为广泛。
他们是:
嵌入图层
多层感知器(MLP)
卷积神经网络(CNN)
循环神经网络(RNNs)
递归神经网络(ReNNs)
NLP中的问题类型
深度学习不会彻底解决自然语言处理问题或人工智能问题。
迄今为止,在自然语言处理的一系列广泛问题中,已经对深度学习方法进行了评估,并在其中一些问题上取得了成功。这些成功表明,使用深度学习能获得高于以往的表现或能力。
重要的是,深度学习方法取得最大成功的领域,恰恰是一些更加面对终端用户、更具挑战性也更有趣的问题。
深度学习取得成功的5个例子包括:
· 词表示和词含义
· 文本分类
· 语言建模
· 机器翻译
· 语音识别
评论
查看更多