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