杨磊
编者按:1950年,图灵提出了著名的“图灵测试”,其被认为是自然语言处理思想的开端。自然语言处理是一门融语言学、计算机科学、数学于一体的科学,它是计算机和人工智能的一个重要领域,主要研究实现人与计算机之间用自然语言进行有效通信的各种理论和方法。比尔·盖茨曾说,“语言理解是人工智能领域皇冠上的明珠”。因此,我们将分两期对自然语言的历史、发展及应用领域与原理、算法及技术路线进行详细阐述及探讨,希望能给大家带来一定的启发。
自然语言是指汉语、英语、日语等人们日常使用的语言,通常是指一种随社会人文演化的语言,而不是人造的语言,可进一步解释为以语音为介质,由词汇和语法两部分组成的符号系统。自然语言对人类思维与交流的影响和作用往往是决定性的。随着人工智能(Artificial Intelligence,AI)的快速发展,自然语言处理(Natural Language Processing,NLP)在计算机领域的应用取得了长足的进步,对当代人类的日常生活产生了深远的影响。本文将从发展历程、技术演变、应用领域和未来展望四个方面浅析自然语言处理。
● 自然语言处理发展历史
人们对NLP的探索最早始于对机器翻译的研究。1947年,美国科学家韦弗博士和英国工程师布斯提出了利用计算机进行语言自动翻译的设想,机器翻译从此走上历史舞台。
1957年,美国麻省理工学院的语言学教授乔姆斯基在其《句法结构》一书中,革新了语言的概念,提出“要使计算机理解语言,就必须更改句子的结构”。以此为目标,乔姆斯基创建了一种语法,称为阶段结构语法,该语法能够有条不紊地将自然语言句子翻译为计算机可以使用的格式。
1958年夏天,美国麻省理工学院人工智能研究先驱麦卡锡参与IBM资讯研究部的工作,研究符号运算及应用需求。但IBM旗下的Fortran表处理语言却未能支持符号运算的递归、条件表达式、动态存储分配及隐式回收等功能。于是,麦卡锡带领由麻省理工学院的学生组成的团队开发了一门全新的表处理语言——LISP,赋予了编程语言更强的数学计算能力。
1964年,首个自然语言对话程序ELIZA诞生,该程序是由美国麻省理工学院人工智能实验室的德裔计算机科学家维岑鲍姆使用一种名为MAD-SLIP的类LISP语言编写,运行在实验室中36位的分时系统早期的晶体管大型计算机IBM 7094上。由于当时的计算能力有限,ELIZA只是通过重新排列句子并遵循相对简单的语法规则来实现与人类的简单交流。
1966年,美国国家研究委员会和自动语言处理咨询委员会停止了对自然语言处理和机器翻译相关项目的资金支持,AI和NLP的发展因此陷入停滞。此时,许多学者认为人工智能和自然语言处理的研究进入了死胡同。人类早期结合语言学与统计学的初步探索以失败告终。
1980年,在美国卡内基梅隆大学召开了第一届机器学习国际研讨会,标志着机器学习研究在全世界的重新兴起。20世纪80年代,得益于计算能力的稳定增长以及机器学习的发展,研究人员开始对人工智能和NLP进行根本性的重新定位,用简单的近似法取代了深入的分析法,评估过程也变得更加量化。
2001年,法国AI专家本吉奥发表了一篇论文,提出了一种全新的语言神经网络模型。该模型使用前馈神经网络描述了一种不使用连接来形成循环的人工神经网络。2014年6月,一个名为古斯特曼的电脑聊天程序成功让参与测试的33%人类裁判相信它是一个13岁的男孩,成为有史以来首个通过图灵测试的计算机程序。
2018年,OpenAI公司提出了一种新的ELMo算法模型——GPT模型,该模型在预训练模型的基础上,只需要做一些微调即可直接迁移到各种NLP任务中,因此具有很强的迁移能力。2019年推出的GPT-2拥有15亿参数,到了2020年推出的GPT-3已经拥有惊人的1750亿参数,不仅能轻松通过图灵测试,还能完成包括写代码在内的大部分NLP任务。
● 自然语言处理的技术演变
从20世纪40年代开始,人们开始研究自然语言处理,随着对机器翻译需求的增加,围绕自然语言处理进行了许多基本实践。1948年,香农在论文中概述了一种准确测量消息中信息量的方法,为定义数字时代的信息论奠定了基础。在实验过程中,研究人员不仅建立了语言的统计模型,还尝试利用现有的统计规则来生成全文。在离散马尔可夫概率模型(使用统计概率,可以估计一个词出现在一段文本中的概率)的基础上,香农将该理论应用于语言描述并取得了成功。与此同时,美国数学家克莱因发展了有限自动机和正则表达式。1956年,美国语言学家乔姆斯基将他的上下文无关语法应用于自然语言处理。他们的工作将自然语言处理分为两个不同的方向:基于规则和基于概率。
20世纪60年代,人们将自然语言处理作为人工智能的研究范畴。这一时期的自然语言处理研究分为两大阵营,即基于规则的符号学派和基于概率的随机学派。在此期间,两种不同的研究思路都取得了长足的发展。符号学派在这一时期开始了形式语言理论和句法的研究,并在20世纪60年代后期对形式逻辑系统进行了研究。随机学派在这一时期也取得了很大的进步。他们將贝叶斯概率模型作为统计研究方法,进行了大量的研究。然而,由于大多数专家学者的研究都集中在推理和逻辑问题上,因此他们对统计方法和基于概率的神经网络的研究较少,而这些多为统计和电子学方面的学者所研究。
20世纪70年代,由于计算机硬件设备发展缓慢,学者们将研究重点转向理论研究。此时,基于隐马尔可夫模型的统计方法在语音识别领域取得了成功。20世纪80年代也出现了一批新的语法理论,语篇分析语法有了长足的发展。到了90年代中期以后,自然语言处理的研究取得了长足的进展。计算机计算能力和存储空间的大幅增加为自然语言处理的研究提供了硬件基础,互联网技术的发展使得基于自然语言处理的信息提取和信息检索的需求更加突出。这一时期,自然语言处理已经进入了一个相对成熟的时期,基于规则技术的语料库方法已经开始在机器翻译领域应用。1993年,美国IBM公司的布朗和达拉皮垂等人提出了一种基于词对齐的翻译模型,标志着现代统计机器翻译方法的诞生。
进入21世纪,基于人工神经网络的深度学习技术成为人工智能领域最热门的研究方向。许多科技公司已经通过使用深度学习模型进行了图像和语音识别的研究。2013年,谷歌开源了一款名为“Word2Vector”的词向量工具,可以在数百万词典和数亿数据集上高效训练自然语言处理。这一成就在自然语言处理史上具有里程碑的意义。随着深度学习技术的发展和对图形处理器硬件的不断突破,研究人员开始利用图形处理器更强大的计算能力来训练大型人工神经网络,在深度学习框架和图形处理器技术中,语音识别技术已达到90%以上。基于机器学习的分类模型大多属于浅层模型,这类模型的发展已比较成熟。
近年来,人们将注意力转向深度学习方法,基于神经网络模型的分类算法比基于传统机器学习的分类算法具有更高的准确率。针对传统主要采用监督分类算法进行分类,基于语义特征的卷积神经网络学习方法,结合深度学习模型对语义关系进行自动学习,改进提取特征的累积误差,提高文本分类的精度。深度学习已经成为NLP领域的一项关键技术。2017年,谷歌团队首先提出Transformer模型,这是第一个完全依赖自注意力来计算输入和输出的表示,而不使用序列对齐的递归神经网络或卷积神经网络的转换模型。Transformer模型旨在解决序列到序列的任务,同時轻松处理长期依赖问题,促使自然语言处理进入了新的发展阶段。
● 自然语言处理的应用领域
自然语言处理旨在设计算法使计算机像人一样理解和处理自然语言,是互联网和大数据时代的必然,涉及许多领域,包括聊天机器人、语音助手,语言翻译、情感分析、语法检查、搜索引擎等。相信随着通信和计算机相关技术的发展,自然语言处理的应用需求也会越来越大。
1.聊天机器人
聊天机器人是一种人工智能形式,经过编程可以使它们像人类一样与人进行语言互动。根据聊天机器人的复杂性,它们可以只响应特定的关键字,或者进行完整的对话,这使得人们很难将它们与人类区分开来。聊天机器人是使用自然语言处理和机器学习创建的,这要求它们能够理解自然语言的复杂性和句子的实际含义,并且它们还能在与人类的对话中学习并随着时间的推移变得更好。聊天机器人只需两个简单的步骤即可工作。首先,机器人能够确定所问问题的含义,并从用户那里收集回答问题可能需要的所有数据。然后,它们给予适当的回答。
2.语音助手
近年来,语音助手风靡全球。无论是苹果的Siri、微软小冰,还是百度小度,人们可以方便地使用它们来拨打电话、发出提醒、设置闹钟、上网等。这些语音助手让生活变得更加轻松。它们使用语音识别、自然语言理解和自然语言处理的复杂组合来理解人类在说什么,然后采取行动。语音助手的长期目标是成为人类与互联网之间的桥梁,并提供基于语音交互的各种服务。但从目前来看,它们离这个目标还有不小的距离,因为它们有时仍然无法理解你在说什么。
3.语言翻译
谷歌翻译、百度翻译、有道翻译等都已经进入了人们的工作生活。虽然它们不能达到100%准确,但仍然可以实现文本从一种语言转换为另一种语言。谷歌翻译和其他翻译工具都使用序列到序列建模,这是自然语言处理中的一种技术。这种模型将一系列单词从一种语言转换为另一种语言,即翻译。早些时候,语言翻译人员使用统计机器翻译分析了数百万已经从一种语言翻译成另一种语言的文档,然后寻找该语言的常见模式和基本词汇。然而,与序列到序列建模相比,这种方法并不那么准确。
4.情绪分析
电商平台可以使用情感分析来了解特定类型的用户对特定主题、产品等的感受。很多互联网公司通过使用自然语言处理、计算语言学、文本分析等来了解用户对其产品的总体情感和服务,并找出情绪是好是坏还是中性。这样可以通过多种方式使用情绪分析,找出目标受众的情绪,了解产品评论,衡量他们的品牌情绪等。除了商业领域,政府部门也可以使用情绪分析来寻找流行观点并发现对国家安全的任何威胁。
5.语法检查器
语法和拼写是一个非常重要的功能,尤其在一些正式的场合,如求职应聘、工作报告等,出现重大错误可能会让你失去重要机会。这就是为什么语法和拼写检查器对于任何专业作家来说都是一个非常重要的工具。语法检查器不仅可以纠正语法和检查拼写,还会建议使用更好的同义词并提高内容的整体可读性,利用自然语言处理来提供最好的写作。NLP算法经过了数百万个句子的训练以理解正确的格式,这就是为什么它可以建议正确的动词时态、更好的同义词或比你所写的更清晰的句子结构。
6.搜索引擎中的自动完成
你是否注意到,搜索引擎倾向于猜测您输入的内容并自动完成您的句子?例如,在百度中输入“语言”,你可能会得到关于“语言艺术”“语言翻译”的进一步建议等。所有这些建议都是使用“自动完成”功能提供的,该功能使用自然语言处理来猜测你想问什么。搜索引擎使用其庞大的数据集来分析客户在输入特定单词时可能键入的内容并建议最常见的可能性。搜索引擎是通过使用自然语言处理来理解这些单词以及它们如何相互关联以形成不同的句子。
● 自然语言处理的未来展望
在NLP领域模型层面,语言模型预训练方法在很多NLP任务中取得了突破,受到了各界的广泛关注。目前,神经网络的训练基本都是基于反向传播算法,通过随机梯度下降法等优化算法随机初始化网络模型参数和优化模型参数。预训练的思想是参数不再随机初始化,而是训练一个任务得到一组模型参数,然后用这些参数初始化模型进行训练。即通过在大量语料库上预训练语言模型,将预训练好的模型迁移到特定的下游NLP任务中,从而提升模型的能力。
在应用层面,NLP的相关研究虽然比较抽象,但其最基本的研究仍然是语法、句法和语义的研究,重点是语言和文本。自然语言处理的难点在于理解语言不仅要靠逻辑,还要靠强大的知识库,需要相互支持才能更好地处理数据并对文本做进一步的理解和分析。从长远来看,自然语言处理具有广阔的应用领域和前景,作为一个集计算机科学、人工智能和语言学于一体的新兴领域,它的长期发展对各个学科都具有重要意义和影响。未来,自然语言的发展趋势可能是从人工构建走向自动化构建,人们可以使用一些显性知识来构建一种方法来探索语言组件之间的关系,从而避免烦琐耗时的手动构建。在对自然语言的理解和推理层次上可以由浅入深,完成对语言的深层次理解。
未来的发展趋势是NLP与许多领域深度结合,从而为各相关行业创造价值。教育、金融、交通和养老等领域对自然语言处理的需要都在日益提高,NLP+的趋势会越来越明显。