关于自然语言计算机处理的几点思考
Posted 关于算法的那些事
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于自然语言计算机处理的几点思考相关的知识,希望对你有一定的参考价值。
一、语言和智能
利用人造物来模仿人类某些智能行为的思想,可以上溯到16、17世纪。语言作为反映人类智能行为最重要的特质和智能的外化,长期以来一直被人们认为是认识和揭开人类智能之谜的一把钥匙。早在计算机问世以前,人们就力图通过计算的或机械的方式来解决只有人才能完成的某些语言处理功能。本世纪40年代计算机作为扩展人类智力的工具问世之后,第一个在人文领域应用的项目——机器翻译——也是与语言有关的。这绝非偶然,而只是人类在这一领域研究探索的必然结果。通过计算机来模仿人类语言处理能力的努力,在计算机科学和语言学中都产生了专门的分支:自然语言处理和计算语言学。二者的本质是基本相同的,区别可能仅仅在于自然语言处理更注重实践,而计算语言学较重视理论。也可以说,计算语言学是建构自然语言处理系统的理论基础,本文为方便起见,在使用时对此术语不作区分。应该说,人们利用计算机处理自然语言几十年来,已取得了一定的成绩,这些成果反过来对于人类了解自己的语言也有极大的帮助。但是其总的进展不容乐观,还有许多问题有待于解决,还有许多的认识需要明辨。为了能够更好地解决这一问题,认识到其症结所在,我们有必要开阔眼界,从多角度、多学科去研究、思考这一问题。
人工智能是利用计算的思想和方法来研究智能的学科,换言之,人工智能是利用计算机等人造物对人类智能行为的仿真研究。目前我们对人类智能的机理还不是很清楚,这便带来对这种行为仿真的困难。人是语言的动物,语言是人区别于其他动物的特征之一,也是人类表达知识、传递知识和交流思想的最重要工具,或者说语言是人类最明显的一种智能行为。因此有的学者提出了“对语言的解析过程就是对人类本身的解剖过程,是对人类智能机理的分析和认识过程"这样一种看法。自然语言处理作为人工智能领域最有意义、同时也是最困难的分支,多年来吸引了众多的研究者们。为了仿真人类的语言处理能力,我们有必要对语言现象作本质的理解,按照我们的理解,一个没有语言学理论作为建构基础的自然语言处理系统很难成为真正意义上的对人类语言处理机制的仿真系统。但是在仔细阅读、分析了大量的语言学及其他相关学科的文献后,我们发现问题不是如此简单,它涉及到大量哲学、逻辑学、心理学等学科。对这一问题的思考,只能将它放入人类认识自己的历史长河中去考虑。
语言和人类思维有着密切的关系,这一点已被大量的有关领域研究所证实。在某些学者看来,语言不仅仅是人类交流知识的工具,而且是知识的主要载体,甚至也是人类的知识界定器。在这里我们不可能讨论这种说法是否过于强调了语言对于人类的重要性,但毫无疑问的是对语言的研究有助于对人类智能奥秘的破译。
二、语言是可以计算的吗
为什么我们认为计算机可以仿真人类的语言处理机制、乃至人类的整个智能行为呢?将计算机作为一种定性的、离散的机器来处理语言材料就必需首先懂得语言的结构及其他特征,这就要求人们能把语言的结构和其他所需的材料精确地改写成计算机可以理解的程序和数据结构。显然这一思想的理论依据可能在于“世界是由大量的离散事实组成的",换言之,有关世界上万事万物的知识可以用所谓的“知识因子"来描述。支持这种说法的哲学论断可以上溯到柏拉图的有关学说,后又有著名的人物莱布尼兹、休谟、罗素和前期的维特根斯坦摇旗呐喊。由于有了理想的处理离散事实的装置(计算机)和这些哲学理论的支持,人们便认为我们可以构造出柏拉图所探索的那一个世界:一个明晰性、确定性和控制都已得到保证的世界。在人工智能研究者的眼中就是一个由数据结构、决策理论和自动化构成的世界。然而,在还没有得到完全明晰表达的这种确定性的时候,哲学家自己已经开始怀疑这些说法了,这其中最具传奇色彩的是维特根斯坦,在其后期的“哲学研究"一书中,他对自己早期在“逻辑哲学论"中所提出的论点进行了深刻的、严厉的批判。维特根斯坦的这种转变是当代哲学研究的“语言转向"中的重要事件。如果哲学界可以开始脱离基于分解、离散的研究导向,根据这一思想发展起来的人工智能(自然语言处理)界是否也应该反思一下自己呢?
对于语言的计算机处理而言,首先我们要问的是“语言是可以计算的吗?”,这是自然语言处理和计算语言学的基本问题。可计算首先需要语言是可分解的,最早观察到语言的这种特性的是德国学者洪堡特,他说:“语言面对的是一个无限的、无边无际的领域,即一切可思维对象的总和,因此,语言必须无限地运用有限的手段,而思维的力量和语言的创造力量的同一性确保了语言能够做到这一点”。事实上,我们今天对于洪堡特这一名言的理解主要是由于乔姆斯基(Chomsky)的推广,乔氏在此基础上构建了闻名于世的生成语法理论。从本世纪50年代开始,乔氏及其追随者推出了许多生成语法理论的变种,其主要的目的之一就是限制生成语法过强的生成能力。由此,我们可以说,语言可以通过有限的规则来生成无限的语句,但我们对于这种生成机理的理解还不是很清楚。我们目前对于语言生成性理解的不足,导致了我们现在构建的自然语言处理系统存在这样那样的问题。借用自动化理论中的说法,就是由于对控制对象理解不透,建立的数学模型不能完全反映实际情况,从而导致系统精度下降。正如我国机器翻译专家刘涌泉先生一篇文章标题所说的那样,“机器翻译归根到底是个语言学问题”,他的这一句话也适合自然语言处理的其他领域。因为机器翻译是集众多自然语言处理技术于一身的研究领域。
虽然乔氏的理论到目前为止,只是部分证明了语言的可计算性。有趣的是,计划语言的历史完全证明了通过有限的语法规则和有限的词汇是可以产生无限的语言文本的。虽然计划语言可以证明这一点,但使用它的是人脑,而非电脑。于是,我们有理由说语言是可以计算的,但如何用人造物来仿真其运作机理还有待于进一步的研究探讨。
三、语义和“分解”
如果说,从“分解”的思想我们得到了语言的“可计算性”,它也在一定程度上阻碍了我们对于语言“可计算性”的进一步理解和实际运用。通过有限的规则产生无限的文本,一般而言指的是语言作为一种符号系统的形式方面,即语言的句法方面。很自然的,人们也将在句法领域有效的“分解”思想用到了语言符号的内容方面,即语义领域。在语言学和计算语言学中,“分解"的思想产生了迄今最大的语义处理方法,即“义素"法。集中于语义分解的理论和方法之实质是利用某些任意的“义素"或“语义标式"来描述意义的深层结构。从理论上说,如果有足够的“义素",就可以描述所有词的全部意义。然而实际上要确定一个词究竟含有多少成分,含有哪些成分,是很困难的。这是由“语义"的根本属性——模糊性和不界定性造成的,除此之外,各人对同一词的理解不同,很难制订出统一的语义标式和义素。一个词形的不同解释应看作一个连续集上的若干点——意义犹如一块没有明显界限的无缝织物。意义的本质是不可分割的,或者说是不可量化的。对一种不能分割的东西采用分割的办法来处理,结果可想而知。语言哲学家普特南说:“自然语言中的词一般说来不能用是与否来划界限:有些东西显然可以称为树,有些东西显然不可以称为树,然而还有一些属于边缘情况。更糟的是显然和边缘的分界本身也是不清楚的"。这可能说明采用语义分解技术本身是难有出路的,至少是不能完全处理语义问题的。
由于"义素"分析法所暴露出的问题和缺陷,语义研究的热点已由过去的“义素"或“成分分析”转向“语义场"。“语义场"研究的本质就是对人类知识的划分和表示,而这种认识自然和表现世界的方法,在计划语言中屡见不鲜。在计划语言中,这种方案被称之为先验及表意型系统。在上百种表意型方案中,加工最为细致的当推英国人 John Wilkins 于 1668 年公布的方案,他将整个世界划分为40个大类。在 40 个大类下,进一步又划分为子类和种。为了表示这些划分出来的概念,他发明了一种称之为 real character 的表意符号。在 Wilkins 之后,出现过许许多多基于人类知识分类的计划语言方案,表示的方法有数字、图像、特制的符号等等。Wilkins 希望自己的方案能成为一种人类通用的知识表达和信息交流工具,但遗憾的是他和其他许多基于知识分类的作者一样失败了。顺便说一下,Wilkins的以上方案一般被认为是17世纪人类企图采用机械的方式来处理语言问题的代表。
人类对于世界的认识是不断变化的,这种变化来自于人类本身的进步和社会的发展。随着时间的推移,人类对知识的分类也是会变化的,我们认为“语义场"理论可能会解决某些语义方面的问题,但一定是有限的。因为和义素分析法一样,也是基于知识是可分解的,是可离散化的基础之上的。同时计划语言的实践证明了这种方法的局限性。
四、歧义和知识
如果我们无法用“分解”的方法来满意地处理语义问题,这也并不意味着语义是完全不可计算的。实际上,我们说自然语言处理的问题是语言问题,那是由于在自然语言的各个层面均存在歧义问题。用一句并非夸张的话来说,自然语言处理界几十年的发展历史就是与歧义斗争的历史。为什么这些歧义问题对于人类没有造成严重的问题,但却让计算机理解语言的研究止步不前呢?
歧义作为影响语言正确理解的最大障碍,理所当然地会成为计算语言学中语义研究的重点。对于语义的研究导致了计算语义学的产生,它的目的在于研究自然语言语义形式化的理论和方法。狭义说计算语义学是将语义分析看作为一种演算过程,它通过逻辑的方法处理语义问题,而从广义上讲,计算语义学研究是利用计算机来处理和仿真人类语义处理机制的方法和理论,特别是歧义问题的处理和消解。
中国计算语言学家冯志伟先生根据歧义结构的特点提出了称之为“潜在歧义论(PA)”的理论,该理论能客观地解释歧义的结构和歧义的消解过程,PA 比以往有关歧义问题的研究更深入了一步。自然语言本身是充满歧义的,但它自己也提供了一定的歧义消解手段,否则语言难以成为人类传递和保存知识的重要工具。PA 理论在进一步细化词类,或者说在词类中引入语义信息的基础上,将原有单从句法结构来描述的歧义格式发展到语义层次,这无疑前进了一大步,因为歧义现象原本就是一种语义层次的现象。一旦涉及到语义,难免会引出一些我们目前还不很清楚的东西,PA理论重视各种句法成分中的语义关系,可以说正是这些语义关系的存在支持着PA理论对歧义问题的新解释。但是计算机如何理解和采用何种方法去处理这些语义关系,还有待于进一步研究。
如果承认计算语义学研究是人类语义处理机制的仿真,那么分析人类对于语义的处理方式和消解过程可能是有益的。人类处理歧义问题的关键在于人的大脑中存有大量的知识,这些知识包括句法的、语义的和其他各类常识,利用这些知识人们可以很容易地理解对计算机来说有歧义的语句,正是这些知识在某种程度上支持了PA理论的正确性和可操作性。与人一样为了较完美地解决这个难题,计算机必然需要大量的各种知识。由于计算机与人有着极大的不同,知识需显式表示出来,然而许多知识是模糊的、难于量化的,换言之,寻求适宜的、有效的知识表示方法是利用现有计算资源实现自然语言处理系统的唯一途径。理论上,我们不难把某些有关外部世界的知识授于计算机,难就难在世上的知识是无穷尽的,而我们还不十分清楚为了消除歧义,系统究竟需要什么样的知识。
语义的不可分解性和隐含性、歧义问题的复杂性、语言理解的无限性、语义的关联性、大规模真实文本处理的迫切性等,所有这些因素交织在一起,使得我们必须寻求新的语义处理方法和机制。我们认为对于有歧义的语句,理解的任务就是从多种结构中选出最适宜的和最可能的结构,注意我们在这里使用了“适宜”和“可能”这两个非绝对的词,目的在于说明在语言理解领域没有什么绝对的正确,而只有相对的“可能”。在这种思想的指导下,我们曾经提出过“意义等于它的语境关系的总和”的语义概念和“基于类比原则”的语义处理机制。目前国际计算语言学界颇为看重的“基于语料库”的语言处理方法,其本质也是一种从定性到非定性的转向。这种转向是否暗合着我们上面所提到的哲学转向?还有待于时间证明。
人类处理语言的能力是一种高度的智能行为,如果把智能理解为一种运用知识解决问题的能力,那么构造任何基于知识的人工系统的过程就是收集知识、整理知识和计划运用知识的策略。以人类现有的理论和技术水平而言,构造一个完全取代人类智能的机器是不可能的。我们认为现阶段比较现实的研究目标是构建一种“人机智能综合体"来解决一些需要人类知识,但又限于某些原因难以实现的问题。在“人机智能综合体"中,人和机器(一般为计算机)能充分发挥各自的长处,共同努力使问题取得最优或可行的解决。这说明构建一种基于“人机合作、互助"的语言自动处理系统的必要性和可行性。于是我们赋予“人是机器"这一名言以新的涵义,人和机器均是欲构建的智能处理系统的组成部分。
语言和知识具有极强的整体性、关联性的这一特质,迫使我们在研究自然语言处理系统时,必须对此予以考虑,否则研制出的系统就会先天不足,难以处理众多复杂的语言现象。语言及其人类语言的产品可以被认为是人类智能行为加工、处理的结果,是研究人类智能行为最大的原始资源。事实上,在人类悠长历史发展中,语言(及其产品)是唯一看得见的知识载体和最重要的延续人类智能的东西。对于人类具体智能处理机制的无知和此机制本身的不可知性,使得我们只能从智能行为的产品和外特性着手,去仿真人类智能系统的处理机制。可以将其看做是一种介于白箱与黑箱之间的灰色仿真系统。语言学诸领域和认知心理学中的研究成果可以被认为是其主要的理论基础,计算语言学中的许多理论和方法是系统实现的手段。
五、结束语
综观人类对语言的研究可以发现,我们对于语言的认识和研究的深度是与社会的发展密切相关的,是与人类对整个世界的认识息息相关的。即:语言研究是有其时代特征的。众多的事实表明我们目前处于一个信息和知识趋于
“爆炸"的时代,这一时期语言研究的特点是语言研究不仅仅考虑人类的需要,而也应该顾及到机器。研究“人机共用"的词典、语法等便成为这一时期的语言研究的重点。计算机的普及和国际互联网的出现,将人类推向一个新的阶段。由于人与人之间的虚拟距离已经变的非常接近,人类不能再满足于传统的语言交流方式。为此,如何利用计算机来解决由于它的出现而变得日益严重的人类语言交流问题,就成为摆在许多学者面前的重要任务。遗憾的是,由于计算机的结构和处理问题的方式与人类有着本质的不同,加之我们人类对于自己处理语言的机理尚有许多不清楚的地方,于是虽然我们极力想通过计算机来仿真人的语言行为,但进展甚微。如果我们不是孤立地看待语言的自动处理问题,而是将它看作人类探索自身过程中的一个环节,我们就会对这一问题有新的认识。本文就是笔者结合其他领域,对语言的计算机处理问题的几点思考。
以上是关于关于自然语言计算机处理的几点思考的主要内容,如果未能解决你的问题,请参考以下文章