自然语言理解和处理

三、自然语言理解和处理

自然语言理解和处理是计算机科学领域与人工智能领域中的一个重要方向,研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法,主要应用于机器翻译、舆情监测、自动摘要、观点提取、文本分类、问题回答、文本语义对比等。

自然语言能力是人类自然智能的一个重要表现方面。半个世纪以来关于图灵测试的讨论验证了这一点。自然语言在教学系统中至关重要。教师要回答学生的问题,激发学生的学习兴趣,乃至因材施教,实施个性教学,必须通过自然语言,要么是口语,要么是书面语。在计算机辅助教学系统中,计算机要能够回答学生的问题,而不仅仅是呈现教学材料,必须通过自然语言,当然最好是口语,也可通过书面语言。而在基于网络的远程教学系统中,学生和教师数量的比例很大,教师和学生直接面对面的机会很少,教师的释疑解惑作用受到很大限制,教学效果就会受到影响。一个成功的自动答疑系统将对计算机辅助教学系统和基于网络的远程教学系统起到很好的推动作用。

(一)自然语言理解

要让计算机具备理解和产生自然语言的能力,首先要了解人类的自然语言理解和产生机制。人类对自然语言的理解和产生机制是生理学家、语言学家、心理学家、哲学家、计算机科学家等长期以来研究的一个领域。这些不同的学科大都定义了一套涉及自身的问题,并有其自己的解决方法。语言学家研究语言本身的结构,考虑为什么特定词语的组合能形成句子而其他的词语组合则不能,为什么一个句子可能具有某种意义而不是另外一种意义等。心理学家研究人类生成和理解语言的过程,考虑人类如何识别一个句子的合理结构,何时确定词语的合理意义等。哲学家考虑的是词语如何能够表示事物和现实世界中的实体,也考虑拥有信仰、目标和意图意味着什么,以及这些认知能力和语言是如何联系的。计算机科学家的目标是利用计算机科学中的算法和数据结构,建立一种自然语言的计算理论。当然为了建立计算模型,必须利用其他学科的研究成果。

自然语言是如此复杂,以致任何传统学科至今没有提供足够的理论和工具来全面处理语言的理解和产生问题。为此,需要语言学家、心理学家、哲学家和计算机科学家的通力合作。这种跨学科的合作已经促成了一个新的交叉学科的产生,它通常被称为认知科学。

自然语言处理(Natural Langauge Processing,NLP)是人工智能的一个重要研究领域,也称计算语言学(Computer Linguistics)。它有两方面的用途:作为科学研究的目的,可以探索语言交流的本质;作为实用的目的,能够实现有效的人机交互。这个研究领域从20世纪50年代诞生以来,主要沿着三条技术路线发展:符号主义(认知主义)、连接主义(人工神经网络)和基于语料库的统计方法。

连接主义用现有的计算机技术(主要是程序和算法)来模拟人脑神经网络的结构和功能。主要特征是并行计算、容错性、学习能力;语义蕴含于网络结构中,而不是一串串的符号中。连接主义诞生于20世纪40年代,60—70年代有些消沉,80年代以来随着Hopfield、BPN等新的网络结构的提出和成功应用而兴起。它被应用于句子的语法和语义分析、语音和光学符号识别等领域。但是因为人工神经网络仍然依赖于传统的串行计算机的算法模拟,应用范围比较有限。

统计分析技术是要分析语料库中的数据,以便从中获取信息。它借助于对语料库中词汇的概率分析,而不是依靠事先规定好的语法规则,实现对语句的语法分析。概率统计方法也广泛应用在语音和光学(如手写体、印刷体)识别上,如隐含马可夫模型的应用。其诞生于20世纪60年代,80年代以来随着计算机运算能力的大幅度提高而得到一定程度的应用。

符号分析方法诞生于20世纪50年代,是最早的也是迄今为止应用最广泛和最成功的一种自然语言处理方法。符号分析主义的核心思想是:语义蕴含于符号之中。符号分析方法的里程碑是乔姆斯基(N.Chomsky)的产生式语法体系(Generative Grammar)。按照乔姆斯基的说法,产生式意味着这个语法应该能够结构性地描述和产生一种自然语言中的所有表达式。乔姆斯基语法体系不仅是现代语言学的一个重要基础,也是当代理论计算机科学和计算语言学的一块重要基石。

自从乔姆斯基语法体系诞生以来,出现了许多语法分析工具。比如:FDG(Functional Dependency Grammar),TNG(Transition Network Grammar),Chart-Based Parser,Horn-Clause-Based Parser等,技术相对成熟完善。而逻辑编程语言:如,PROLOG和LISP等则通过命题逻辑和谓词逻辑方法对自然语言进行分析处理。

在语法分析的前提下进行语义分析的理论基础一是弗雷格(G.Frege)的句子分解和组合原理,二是维特根斯坦(L.Wittgenstein)的语言分析哲学。前者指出:“一个句子的意义由组成它的各个部分的意义和它们的连接方式决定。”后者指出:“世界可以分解为事实。事实是由原子事实组成的。一个原子事实是多个对象的组合。对象是简单的(基本的)。对象形成了世界的基础。事实由自然语言所表达。”

自然语言虽然表示成一连串的文字符号或者一串声音,但其内部事实上是一个层次化的结构。从自然语言的构成中就可以看到这种层次性。一个用文字表达的句子的层次是词素、词或词形、词组或句子。一个用声音表达的句子的层次则是音素、音节、音词和音句,其中每个层次均受到语法规则的制约。因此,自然语言的分析和理解过程也是一个层次化的过程。

(二)自然语言的处理

自然语言处理可以分解为一些相互关联的任务,如回答问题、机器翻译、文本摘要和语音识别。

回答问题是自然语言处理研究中最古老的一个难题,它本身可以分解成一些子问题,如基于文本的问答和基于知识的问答。简单的文本问答中,我们只希望从文本中检索出正确的答案。如故事的主人公是谁?故事发生在什么地方?而在基于知识的问答中,我们通常希望从结构化数据库中提取更多的语义信息。

文本检索大会(TREC,自1992年以来每年举办)等大量比赛对问答系统的表现加以评估。许多针对此类竞赛开发的系统,如谷歌等商业搜索引擎已将之用于回答查询。如果以返回事实或列表为目标,最先进的问答系统对简单问题回答的正确率在70%以上。对于封闭式问题的回答,早在20世纪70年代初,问答系统的成绩就颇为可观了。

机器翻译是自然语言处理的另一个问题,它在过去几十年中取得了良好的进展。经历了20世纪60年代和70年代的失望之后,到20世纪80年代至90年代,因为全球互联网络的发展,人们再次对机器翻译产生了兴趣。今天,诸如谷歌翻译等系统表明,如果两种语言的亲缘关系较近,那么机器翻译的准确度是可以接受的。举例来说,谷歌翻译对法语和英语之间的互译相当准确。如果两种语言的关系疏远(如汉语和英语),或是我们想翻译一整段话,那么机器翻译还有很长的道路要走。不过,以机器翻译当前的表现,对许多应用程序来说已经足够了。

最后,语音识别是人工智能进展极其顺利的一个领域。对着设备说话,它能理解我们。近年来取得的许多成果,深度学习仍然是背后的推手。例如,百度硅谷人工智能实验室(SVAIL)的研究成果—新一代深度语音识别系统Deep Speech 2,包含了一个庞大的神经网络,它引入了数以百万计的转录语音。此类系统在语义上并不理解转录的文本,它们的运作建立在纯粹的句法层面上。有时它在识别汉语语音片段方面,要比人为识别更加准确。正是由于Deep Speech 2出色的表现,该系统被美国权威杂志《麻省理工科技评论》列为2016年十大突破技术之一。

尽管取得了上述进展,在一些最基础的领域,自然语言处理仍然面临着挑战。自然语言处理面临四大挑战:在词法、句法、语义、语用和语音等不同层面存在不确定性;新的词汇、术语、语义和语法导致未知语言现象的不可预测性;数据资源的不充分使其难以覆盖复杂的语言现象;语义知识的模糊性和错综复杂的关联性难以用简单的数学模型描述,语义计算需要参数庞大的非线性计算。