在20世纪90年代初,国际知名学者周海中先生曾经预言:人工智能技术将广泛应用到各学科领域,会产生意想不到的效果。如今,事实证明人工智能技术潜力无限。过去十余年中,人工智能技术的主要趋势之一是通过创建越来越大的深度学习模型来解决问题;而这一趋势在人工智能技术中最具挑战性的领域之一——自然语言处理(Natural Language Processing,简称NLP)中最为明显。
所谓NLP,是计算机科学领域与人工智能领域中的一个重要方向;它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。实现人机间自然语言通信意味着要使计算机既能理解自然语言文本的意义,又能以自然语言文本来表达给定的意图、思想等。前者称为自然语言理解(NLU),后者称为自然语言生成(NLG);因此,NLP大体包括了自然语言理解和自然语言生成两个部分。因为处理自然语言的关键是要让计算机“理解”自然语言,所以通常把自然语言理解视为NLP, 也称为计算语言学。NLP的终极目标是用自然语言与计算机进行通信,使人们可以用自己最习惯的语言来使用计算机,而无需再花大量的时间和精力去学习不很自然和习惯的各种计算机语言。
NLP是人工智能技术中最为困难的问题之一。美国微软公司创始人比尔•盖茨先生曾经表示:“语言理解是人工智能领域皇冠上的明珠”;中国计算语言学先驱冯志伟先生曾经说过:“人工智能领域,得语言者得天下。”由于理解自然语言需要关于外在世界的广泛知识以及运用操作这些知识的能力,所以NLP也被视为解决人工智能完备(AI-complete)的核心问题之一。自然语言是一种有机且自然发展而来的书面和口头交流形式;处理意味着使用计算机分析和理解输入数据。NLP是人类语言的机器处理,旨在教授机器如何处理和理解人类的语言,从而在人与机器之间建立一个简单的沟通渠道。NLP的基本任务包括正则表达式、分词、词法分析、语音识别、文本分类、信息检索、问答系统——如对一些问题进行回答或与用户进行交互——机器翻译等。
NLP常用的模型有马科夫模型、朴素贝叶斯、循环神经网络等;它要使用语言知识,如UNIX的wc程序可以用来计算文本文件中的字节数、词数或行数;当用它来计算字节数和行数时,wc只用于进行一般的数据处理,但当用它来计算一个文件中词的数目时,就需要关于“什么是一个词”的语言知识,这样,这个wc也就成为了一个NLP系统。无论实现自然语言理解,还是自然语言生成,都远不如人们原来想象的那么简单,而是十分困难的。从现有的理论和技术现状看,通用的、高质量的NLP系统,仍然是较长期的努力目标,但是针对一定应用,具有相当NLP能力的实用系统已经出现,有些已商品化,甚至开始产业化。典型的例子有:多语种数据库和专家系统的自然语言接口、各种机器翻译系统、全文信息检索系统、自动文摘系统等。NLP系统的算法是基于机器学习,特别是统计机器学习;许多不同类的机器学习算法已应用于NLP任务。
NLP的应用很广泛,例如,在我们的手机和智能音箱中的个人语音助手,如Alexa和Siri。它们不仅能够理解我们的说话内容,而且能够根据我们说的话采取行动,并做出反馈;NLP算法促进了这种与人类沟通的技术。沟通需要以人类的自然语言进行,多年来我们一直在与机器沟通,创建程序来执行某些任务并执行。然而,这些程序是用非自然语言编写的,因为它们不是口头交流的形式,也不是自然或有机发展而来的。这些语言,例如Java、Python、C和C++,都是在主要考虑机器的情况下创建的,并且始终考虑的是“机器能够轻松理解和处理的是什么?”虽然Python是一种对用户更加友好的语言,且易于学习和编码,但与机器沟通,人类必须学习机器能够理解的语言。随着深度学习的出现,以多层深度神经网络的训练来代替人工的特征工程,不仅解放了人工,而且模型的效果也更好,所以深度学习在NLP等领域大放异彩。
近年来,深度学习已经彻底改变人工智能技术的诸多领域,涉及NLP、语音、视觉、机器学习、情感计算、机器人和游戏等。深度学习在NLP领域的诸多应用方面大获成功,这使其成为人工智能技术中最重要的发展基准。深度学习在NLP中的应用非常广泛,可以说横扫NLP的各个方面,从底层的分词、语言模型、句法分析等到高层的语义理解、对话管理、知识问答等方面几乎都有深度学习的模型,并且取得了不错的效果。有关研究已从传统的机器学习算法转变成更有表现力的深度学习模型,如卷积神经网络和回归神经网络。不过,目前的深度学习技术还不具备理解和使用自然语言所必需的概念抽象和逻辑推理能力,还有待今后进一步的研究。
总而言之,随着互联网的普及和海量信息的涌现,作为人工智能的核心技术和重要方向,NLP正在人们的工作、学习、生活中扮演着越来越重要的角色,并将在社会发展和科技进步的过程中发挥越来越重要的作用。
(作者系美国麻省理工学院电子工程与计算机系博士后)