人工智能(AI)作为新一轮科技革命和产业变革的重要驱动力量,正在深刻影响着世界历史进程,并引起了人们极大的关注。而自然语言处理(NLP)是人工智能技术的王冠,它推动着当代科技的持续发展和重大突破,并越来越多地应用于各行各业;它有着十分重要的实用价值,也有着革命性的理论意义。就像国际知名学者周海中先生曾经在《自然语言理解的研究历程》一文中指出的那样:“自然语言处理是极有吸引力的研究领域,它具有重大的理论意义和实用价值。”
自然语言处理是一门融计算机科学、语言学、数学等于一体的前沿交叉科学,也是计算机科学领域尤其人工智能技术中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。实现人机间自然语言通信意味着要使计算机既能理解自然语言文本的意义,也能以自然语言文本来表达给定的意图、思想等;前者称为自然语言理解,后者称为自然语言生成。因为处理自然语言的关键是要让计算机“理解”自然语言,所以通常把自然语言理解视为自然语言处理,也称为计算语言学(computational linguistics)。
作为前沿交叉科学,自然语言处理涉及到自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系,但又有重要的区别。自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统,因而它是计算机科学的一部分。另外,自然语言处理与语言智能有着十分密切的关系,因而它也是人工智能技术的一个重要,甚至核心部分。可以说,自然语言处理是计算机科学、人工智能、语言学关注计算机和人类语言之间的相互作用的领域。
在自然语言中,词是最基本的单元。为了让计算机理解并处理自然语言,我们首先就要对词进行编码。由于自然语言中词的数量是有限的,那就可以对每个词指定一个唯一序号;例如,英文单词word的序号可以是1156。而为了方便计算,通常会将序号转换成统一的向量;简单做法是对单词序号进行one-hot编码,每个单词都对应一个长度为N(单词总数)的向量(一维数组),向量中只有该单词序号对应位置的元素值为1,其它都为0。最近,循环神经网络(RNN)被应用到自然语言处理中,并结合词向量取得了巨大成效。
自然语言处理的目的就是利用计算机对自然语言进行智能化处理。基础的自然语言处理主要围绕语言的不同层级展开,包括音位(语言的发音模式)、形态(字、字母如何构成单词、单词的形态变化)、词汇(单词之间的关系)、句法(单词如何形成句子)、语义(语言表述对应的意思)、语用(不同语境中的语义解释)、篇章(句子如何组合成段落)七个层级。这些基本的自然语言处理技术经常被运用到下游的多种自然语言处理任务中,如机器翻译、摘要、对话、问答和文本分类等。
美国微软公司创始人比尔·盖茨先生曾经表示,“语言理解是人工智能领域皇冠上的明珠”。前微软公司全球执行副总裁沈向洋先生也在公开演讲时说:“懂语言者得天下……下一个十年,人工智能的突破在自然语言的理解……人工智能对人类影响最为深刻的就是自然语言方面”。由于理解自然语言需要关于外在世界的广泛知识以及运用操作这些知识的能力,所以自然语言处理也被视为解决人工智能完备(AI-complete)的核心问题之一。可以说,自然语言处理目前是人工智能领域中的关键技术,对它的研究也是充满魅力和挑战的。
最早的自然语言处理研究工作是机器翻译。1949年,美国著名学者沃伦•韦弗先生提出了机器翻译设计方案。20世纪60年代,许多科学家对机器翻译曾有大规模的研究工作,但他们显然是低估了自然语言的复杂性,加上语言处理的理论和技术均不成熟,所以进展不大。当时的主要做法是存储两种语言的单词、短语对应译法的大辞典,翻译时一一对应,技术上只是调整语言的同条顺序。但日常生活中语言的翻译远不是如此简单,很多时候还要参考某句话前后的意思。
大约90年代开始,自然语言处理领域发生了巨大的变化。这种变化的两个明显的特征是:(1)对系统的输入,要求研制的自然语言处理系统能处理大规模的真实文本,而不是如以前的研究性系统那样,只能处理很少的词条和典型句子。只有这样,研制的系统才有真正的实用价值。(2)对系统的输出,鉴于真实地理解自然语言是十分困难的,对系统并不要求能对自然语言文本进行深层的理解,但要能从中抽取有用的信息。例如,对自然语言文本进行自动地提取索引词,过滤,检索,自动提取重要信息,进行自动摘要等等。
同时,由于强调了“大规模”和“真实文本”,因此两方面的基础性工作也得到了重视和加强:(1)大规模真实语料库的研制。大规模的经过不同深度加工的真实文本的语料库,是研究自然语言统计性质的基础;没有它们,统计方法只能是无源之水。(2)大规模、信息丰富的词典的编制工作。因此规模为几万、十几万,甚至几十万词,含有丰富的信息(如包含词的搭配信息)的计算机可用词典对自然语言处理的重要性是很明显的。
系统的输入与输出这两个特征在自然语言处理的诸多领域都有所体现, 其发展直接促进了计算机自动检索技术的出现和兴起。实际上,随着计算机技术的不断发展, 以海量计算为基础的机器学习、数据挖掘等技术的表现也愈发优异。自然语言处理之所以能够度过“寒冬”, 再次发展, 也是因为计算机科学与统计科学的不断结合,才让人类甚至机器能够不断从大量数据中发现“特征”并加以学习。不过要实现对自然语言真正意义上的理解,仅仅从原始文本中进行学习是不够的,我们需要新的方法和模型。
目前存在的问题主要有两个方面:一方面,迄今为止的语法都限于分析一个孤立的句子,上下文关系和谈话环境对本句的约束和影响还缺乏系统的研究,因此分析歧义、词语省略、代词所指、同一句话在不同场合或由不同的人说出来所具有的不同含义等问题,尚无明确规律可循,需要加强语义学和语用学的研究才能逐步解决。另一方面,人理解一个句子不是单凭语法,还运用了大量的有关知识,包括日常生活知识和专门知识,这些知识无法全部贮存在计算机里。因此一个书面理解系统只能建立在有限的词汇、句型和特定的主题范围内;计算机的贮存量和运转速度大大提高之后,才有可能适当扩大范围。
由于语言工程、认知科学等主要局限于实验室,目前来看数据处理可能是自然语言处理应用场景最多的一个发展方向。实际上, 自从进入大数据时代, 各大平台就没有停止过对用户数据的深度挖掘。要想提取出有用的信息, 仅提取关键词、统计词频等是远远不够的, 必须对用户数据 (尤其是发言、评论等)进行语义上的理解。如果说自然语言处理是人工智能的王冠,那么语义表示和理解技术就是王冠上的明珠。目前人工智能领域的发展态势,在语义这一块已经到了重兵集结的程度。另外,利用离线大数据统计分析的方法进行自然语言处理任务的研究是目前非常有潜力的一种研究范式。
自然语言处理是为各类企业及开发者提供的用于文本分析及挖掘的核心工具,已经广泛应用在电商、金融、物流、文化娱乐等行业客户的多项业务中。它可帮助用户搭建内容搜索、内容推荐、舆情识别及分析、文本结构化、对话机器人等智能产品,也能够通过合作,定制个性化的解决方案。由于理解自然语言,需要关于外在世界的广泛知识以及运用操作这些知识的能力,所以自然语言处理也被视为解决强人工智能的核心问题之一,其未来一般也因此密切结合人工智能发展,尤其是设计一个模仿人脑的神经网络。
训练自然语言处理文本解析人工智能系统需要采集大量多源头数据集,对科学家来说是一项持续的挑战:需要使用最新的深度学习模型,模仿人类大脑中神经元的行为,在数百万甚至数十亿的注释示例中进行训练来持续改进。当下一种流行的自然语言处理解决方案是预训练,它改进了对未标记文本进行训练的通用语言模型,以执行特定任务;它的思想就是,该模型的参数不再是随机初始化,而是先有一个任务进行训练得到一套模型参数,然后用这套参数对模型进行初始化,再进行训练,以获得更好的预测性见解。
当前,我们已经进入了以互联网为主要标志的海量信息时代,这些海量信息大部分是以自然语言表示的。一方面,海量信息也为计算机学习人类语言提供了更多的“素材”;另一方面,这也为自然语言处理提供了更加宽广的应用舞台。例如,作为自然语言处理的重要应用,搜索引擎逐渐成为人们获取信息的重要工具,出现了以美国Google、中国百度等为代表的搜索引擎巨头;机器翻译也从实验室走入寻常百姓家;基于自然语言处理的输入法(如Google、微软、搜狗等输入法)成为计算机用户的必备工具;带有语音识别的计算机和手机也正大行其道,协助用户更有效地工作和学习。
现在,自然语言处理领域已经有了大量的人工标注知识,而深度学习可以通过有监督学习得到相关的语义知识,这种知识和人类总结的知识应该存在某种对应关系,尤其是在一些浅层语义方面。因为人工标注,本质上已经给深度学习提供了学习的目标;只是深度学习可以不眠不休地学习,这种逐步靠拢学习目标的过程,可能远比人类总结过程来得更快。这一点,从Google公司旗下DeepMind研究团队开发的围棋软件AlphaGo短时间内连胜两位人类围棋高手的事实,似乎能够得到验证。
深度学习在自然语言处理中的应用非常广泛,可以说横扫自然语言处理的各个应用;从底层的分词、语言模型、句法分析等到高层的语义理解、对话管理、知识问答等方面都几乎都有深度学习的模型,并且取得了不错的效果。深度学习的兴起离不开两个学科——脑科学和计算机科学的融合,当前深度学习的有关研究已从传统的机器学习算法转变成更有表现力的深度学习模型,如卷积神经网络和回归神经网络。不过,目前的深度学习技术还不具备理解和使用自然语言所必需的概念抽象和逻辑推理能力,还有待今后进一步的研究。
互联网搜索引擎已经有一段时间让人们使用会话语言和术语来在线搜索事物。现在,Google公司的云端硬盘用户已经可以使用这一功能。用户可以搜索存储在Google云端硬盘中的文件和内容,就像使用Google搜索提供的对云端硬盘内置自然语言处理的新支持一样。该功能使用户可以使用通常用词组表达的查询以及在实际对话中将要使用的查询来更轻松地找到所需的内容。Google公司在在线和移动搜索、移动应用程序以及Google Translate等服务中广泛使用自然语言处理;该公司在这一领域的研究是为提高机器阅读和理解人类语言能力所做的更广泛努力的一部分。随着Google调整其算法,自然语言处理应该会随着时间的推移变得更好。
美国哈佛大学医学院的研究人员借助自然语言处理技术在前不久开发出一种工具,可以用于评估新冠肺炎(COVID-19)患者的病例、社交媒体和健康卫生数据。他们率先努力通过使用机器学习技术查看来自各种来源的数据和信息(包括患者记录、社交媒体和公共卫生数据)来寻找新冠肺炎病毒的解决方案。借助自然语言处理工具,他们还可以搜索有关新冠肺炎病毒的在线信息,并了解疫情爆发的当前位置。另外,研究人员还利用自然语言处理技术对新冠病毒、药物和疫苗等密集展开研究,同时包括临床诊断与治疗以及流行病学研究等。
中国阿里达摩院的自然语言处理研究团队前不久提出优化模型StructBERT,能让机器更好地掌握人类语法,加深对自然语言的理解。使用该模型好比给机器内置一个“语法识别器”,使机器在面对语序错乱或不符合语法习惯的词句时,仍能准确理解并给出正确的表达和回应,大大提高机器对词语、句子以及语言整体的理解力。这一技术已广泛使用于阿里旗下阿里小蜜、蚂蚁金服、优酷等业务。阿里达摩院的语言模型和阅读理解技术也被用于行业赋能,推进人工智能技术在医疗、电力、金融等行业的落地。据悉,StructBERT模型最近被评为全球性能最强的自然语言处理系统。
英国剑桥量子计算公司(CQC)最近宣布,他们利用自然语言的“固有量子”结构,开辟了一个全新的可能应用领域。其通过将语法句子翻译成量子线路,然后在量子计算机上实现生成的程序,并实际执行问答。这是第一次在量子计算机上执行自然语言处理。通过使用CQC的一流的、平台无关的可重定目标编译器t|ket?™,这些程序在IBM量子计算机上成功执行,从而朝着实现“意义感知”和“语法信息”的自然语言处理迈出了一大步——这是信息时代早期以来计算机科学家及计算语言学家的梦想。能否实现这一梦想,仍有待于进一步的研究。
总而言之,自然语言处理的研究虽然取得不少成就,但仍存在着巨大的挑战。不过,完全可以相信:随着互联网的普及和海量信息的涌现,作为人工智能技术王冠的自然语言处理正在人们的工作、学习、生活中扮演着至关重要的角色,并将在科技创新的过程中发挥着越来越重要的作用;它的应用优势非常明显,未来发展前景十分广阔。
文/唐越(作者为美国Google公司高级研究员)