计算机能理解自然语言吗?
http://www.newdu.com 2024/11/24 11:11:00 《科学中国人》2001年第 陈保亚 参加讨论
自从计算机问世以来,人类一直希望能让计算机理解和合成人类的自然语言,即人类的日常语言,这就是“自然语言理解”,机器翻译、人机对话、语音识别和语音合成、汉字的识别,都是自然语言理解关心的问题。其中最核心的目标是让计算机理解和合成自然语言,即教会计算机听话和说话。如果这一核心目标能够达到,人类将从人工翻译、计算机编程语言的学习等大量工作中解放出来,人类也将从计算机理解和合成自然语言的过程中观察到人类心智活动的机制。不少专家曾经估计,实现计算机理解和合成自然语言不会是一个遥远的路程。 但是,当专家们着手展开研究的时候,发现自然语言的理解和合成机制比专家们最初设想的要困难得多,这种困难主要不在计算机方面,而在自然语言方面。计算机科学近几十年己经取得了重要进展,但自然语言理解的工作进展并不显著,原因就在于我们对自然语言的运转规律认识远远不够,我们平时司空见惯的言谈说话,实际上是一个相当复杂的心智活动过程。 人们最初想用马尔柯夫过程(Markov process)来理解和合成自然语言。马尔柯夫过程是一类重要的随机过程,其原始模型为马尔柯夫链,由俄国数学家马尔柯夫1907年提出的。马尔柯夫过程的基本思想是:一个事件在己知的目前(现在)状态下,它未来的演变(将来)不依赖于它以往的演变(过去)。 荷叶池中一只青蛙的跳跃过程是马尔柯夫链的典型实例。青蛙没有记忆,依据瞬间的念头跳跃,它从片荷叶跳到另一片荷叶与它以往走过的路程无关。可以描写为: 其连接关系处于相邻数字之间。 马尔柯夫过程论理对信号串的理解是相当可行的,是信息论的重要论理基础之一。自然语言句子有些也可以用马尔柯夫过程来处理。比如: “他”和“去”相连,有动作和行为的关系,“去”和“北京”相连,有动作和目标的关系。但是,自然语言中有很多句子不是相邻的单位都可以发生关系的。比如: “他”和“很”是相邻的,但它们之间并没有直接的联系。二十世纪三四十年代,美国结构主义语言学家发现,自然语言的词在组成句子的时候不是按照相邻原则组合的,而是按照层次组合的。“他很胖”的组合层次应该是左边的分析而不是右边的分析: 因此,自然语言的组合过程比马尔柯夫过程要复杂。在自然语言的理解和合成过程中,要求计算机能够识别组词成句的层次。当一个句子有两个不同的层次时,就存在歧义,比如: 计算机要通过层次分析把歧义反映出来。在上面的句子中,前一个层次是指学生来自于三个英语班,后一个层次指英语班的三个学生。 (责任编辑:admin) |