您的位置:首页 > 理论基础

计算机自然语言理解中的三个基本问题和两条技术路线

2005-03-19 11:49 676 查看
周锡令:2000年5月31日

[/b]计算机自然语言处理的过程可以分成两大阶段:理解[/b] 和 加工[/b]。例如,在机器翻译过程中,对源语言的分析属于“理解”阶段,而目标语言的产生则属于“加工”阶段。在按照内容对文件分类的过程中,对文件内容的分析属于“理解”阶段,而产生分类结果则属于“加工”阶段。
本文仅讨论“理解”过程中的的三个基本问题和两条技术路线

自然语言理解中的的三个基本问题

l 有限对无限[/b]:自然语言处理需要引用知识(除了语言知识以外、还需要语境知识、生活常识、专业知识)。然而,知识是无边无垠、又是在不断扩展之中的。吾生有涯,而知也无涯。以有限的计算机资源企图去对付不受限制、漫无边际的“自然语言处理”问题,当然是会遇到难以解决的困难的。l 无自知之明[/b]:人类翻译家的知识也是有限的,但是他在听别人讲话的时候,基本上能够分清那些话自己听得懂,那些话自己听不懂。遇到不懂或者翻译不出来的话时,他可以要求对方换一种说法,或者请教别人。然而,传统的计算机翻译软件不是“基于对内容的理解”的,因而没有这种自知之明。在进行翻译的时候,常常不分青红皂白,不管对错,一股脑儿翻译下去。而由于不知道错在文章中的那些部分,最后必须由懂得双语的人[/b]来从头到尾[/b]检查一遍,这大大减低了机器翻译的实际效益。l 用户怎样判断计算机的理解是否正确?[/b]如果计算机能够把“自认为懂了的[/b]”和“自认为不懂的[/b]”分开,也还有一个用户来判断的问题。因为,即便是人,也有“自以为懂了,实际上却没有懂”的时候。对计算机,当然也有同样的问题。

两种技术途径

根据以上分析,我们可以把以机器翻译为代表的计算机自然语言处理的技术途径[/b]分为两大类:
l 第一类技术途径允许计算机的处理出错。并且要求用户在计算机处理所得结果的另一端[/b]去进行检查与矫正。换言之,这种方式认为计算机只不过是对人工处理起辅助作用。l 第二类技术途径则要求计算机尽可能不要出错。(至少要求计算机把处理结果中有把握的部分和没有把握的部分分开。)为了达到这一效果,要求用户在源语言这一端[/b]自我约束。换言之,这种方式是以“对源语言适当加以限制”的方式为代价,为只懂得母语的用户服务。
我们把第一种方式叫做:在这一头对计算机讲话,在那一头对计算机的行为进行检查[/b]。但是在有些应用中,不能采取这种方式,例如:使用汉英翻译软件的用户只懂自己的母语,根本不懂英文;或者计算机作的工作不是事后可以进行纠正的翻译结果,而是“按照用户所讲的话立即采取某种行动”,因此如果理解错误,已经产生错误的后果,无法挽回了。这是就要采用第二种在这一头对计算机讲话,就在这一头对计算机是否正确理解进行检查[/b]的方式。
传统的“全自动化机器翻译”代表了第一种技术途径。它们是为懂得双语(源语言和目标语言)的用户服务的。在这种技术途径中,计算机对于用户所讲的话“理解”得是否正确,要在“目标语”的另一方去判定。同样地,如果把这种技术途径用于“文件分类”,“编写摘要”等用途,则用户必须对“分类”、“摘要”所得的结果进行人工检查。
第二种途径要求:用户对于计算机是否正确“理解”的所有检查工作都在用户的“母语”这一方进行。对于机器翻译的用户而言,他只要求用户懂得自己的母语即可。

什么是理解

对于人来说,自然语言理解[/b] [/b]是[/b] [/b]外来符号信息 [/b]在信息接受者已有知识上的 [/b]嫁接过程。[/b]学生在学习数学课程的时候必须“循序渐进”就是出于这一要求。如果学员对四则运算还没有学通,就去学习代数、三角,他就会“理解、接受不了”。
[/b]
对于计算机来说,也有类似情况。以编程语言的“编译器”为例,编程语言的语法规则就是编译器所掌握的知识。凡是能够通过词法、语法分析的语句,就是编译器能够理解的句子。凡是能够通不过词法、语法分析的语句,就是编译器无法理解的句子。
比较以上两段说法,可以看出:“理解”是有深浅程度之分的。人的理解通常是在“内容[/b]”、“知识[/b]”层面上的理解。而计算机编译器对编程语言的理解则停留在“语法[/b]”的层面上。两者的深度是完全不一样的。
和C语言之类的人工语言不同,自然语言并不是按照某种“先验的”语法规则发展起来的。有许多语言现象可以通过归纳的方法纳入语法规则,然而必定有许多语言现象属于“例外”。因此自然语言的理解一定要有听话人头脑中的知识作为支撑。被认为是“会意”语言的汉语尤其如此。由此可见,计算机对自然语言的处理如果要接近人的水平,当然要达到“内容[/b]”、“知识[/b]”层面上的理解才行。[关于“理解过程中的矫正和扭曲”的进一步的讨论见附件。]

但是,按照当前的计算技术水平,要求把普通人拥有的知识以适当的形式装进计算机,并且要求计算机有运用这些知识的能力是不现实的。因此就要为计算机寻求一种现实的、介于以上两种层次之间的理解深度。

关于受限

许多人觉得受限语言没有用。谁原意讲话受限制?
其实,在日常生活中我们都观察到:说话人或者写作者总是要根据对象的特点、文化和知识水平来调整他所使用的词汇、说话方式和内容。这是顺利完成人际交流起码的要求。在这个意义上说,任何人的一次讲话、一篇文章中所使用的语言都是受限的。[/b]现在的问题是:当我们希望通过自然语言或者准自然语言和计算机交流时,应该如何“受限”[/b]?这当然和我们用什么样的软件来装备计算机的问题有关。
作为一个极端的例子,假定根据某种用途,我们规定计算机只需理解以下几个形式的句子:
我姓__。
我的名字是______。
我于____年__月__日出生于____省____市。
____年__月毕业于______。
专业是____。

结果会怎样呢?

答案是:受限到如此地步,计算机处理起来肯定没有问题。事实上,普遍使用的“表格”就是上述句子的变形。

作为另外一个极端,就是完全不受限:期望任何人写的东西计算机都能理解。这当然是不可能的。

我们现在需要寻求的是某种中间形式,它既被限制到如此地步,使得当前水平的计算机有能力加以处理,又灵活到有足够的表达能力,看起来几乎和真正的自然语言差不多,写起来也不太麻烦,使人类用户能够接受。

基于例句的受限汉语写作器

北京信息工程学院软件工程中心开发的“基于例句的受限汉语写作器[/b]”可以被认为是实现上述要求的一种合适的技术手段。
在这种技术途径中,计算机拥有的知识结构[/b]为:l 3400个左右的中心谓词l 400种左右的句型。它们可以派生出8000句左右的例句。l 每一种例句都可划分为具有一定顺序的、若干个各自具有不同语法性质[/b]和语义功能[/b] [/b]的语块。l 不同语法性质[/b]的语块内部的细节则是按照一定的语法公式进一步分解为更加基本的语法成分。

对三个基本问题的回答

这个“基于例句的受限汉语写作器[/b]”对上述三个基本问题的回答是:
这一写作器要求用户只能利用3400个左右的中心谓词,400种左右的句型,仿照8000句左右的例句来写作。超出这一范围,写作器就会明确表示:您讲的话我不懂。这样就解决了“有限对无限[/b]”和“缺乏自知之明[/b]”的问题。除此之外,用户每写一句话,计算机都会力求判断其中的“中心谓词”,如果判断得不对,用户马上可以发现,并予以纠正。“中心谓词”判断对了,如果例句选得不对,用户也马上可以发现,进行纠正,或者改写自己的句子。这样就解决了“用户怎样判断计算机的理解是否正确?[/b]”的问题。
(待续)

附件:理解过程中的矫正和扭曲

前面我们曾经把“自然语言理解”定义为:外来符号信息[/b] [/b]在信息接受者已有知识上的 [/b]嫁接过程。[/b]
有些时候,语言符号与知识之间的“嫁接”过程还常常引起对外来符号信息的自动矫正或扭曲现象。
人工智能领域的专家曾经遇到一个问题:在向计算机中的知识库中添加“新知识”时,如果新知识与知识库中已有知识相矛盾[/b],应该如何处理才能保证“知识库完整性”?

一种办法是认为新来的知识是如此权威,一定是正确的。因此只有将知识库中已有知识加以适当改造,使之与新来的知识相容。这种做法叫做“知识顺应(Knowledge accomodate)”。

另一种办法是认为知识库中已有知识是正确的。因此只接纳新知识中的正确部分,或者将新知识加以适当改造,使之与库中已有知识相容。这种做法叫做“知识同化(Knowledge Assimilation)”。

人在接收语言符号信息时,显然也有类似过程。当外来信息与己身的知识或信念发生矛盾时,人们会觉得非常不安乃至觉得痛苦。由于人们总是偏向于认为自己头脑中已有的知识是通过长期的努力和生活经验积累下来的,轻易不会放弃。因此“知识顺应” 这种痛苦的思想改造过程只有在特殊情况下才会出现。 一般在聆听或阅读自然语言携带来的信息时,大量出现的是“知识同化”现象,也就是说,我们总是设法把外来的语言信息尽可能以与自己已有知识和信念相容的方式加以“理解”。下面举两个例子:

例1:
[/b]我们都注意到,听者能够根据自己的生活常识,把说话者所说语句中的不合理处纠正过来。当我们听到有人说:“上午打了一场篮球,累得够呛。洗了一个澡,睡了一小时午觉,才恢复了疲劳”。我们根据生活常识知道,“洗了一个澡,睡了一小时午觉”之后,一定是精神抖擞。因此立即把“恢复了疲劳”矫正为“恢复from疲劳”。 反之,当我们听到某人“经过疗养恢复健康”时,立即理解为:“恢复to健康”。[可见,汉语除了“缺乏形态”之外,在用来表示词与词之间的关系的介词的使用上,也是比较松弛的。需要读者(听者)依据他的知识来猜测。]

例2:
[/b]每当一个新词(例如“面向对象”,“知识经济”,“信息时代”)出现并流行开来,不同领域的专家对同一个名词术语往往有不同的理解,对他所感兴趣的事物全都贴上流行的标签,从而在交流时造成种种障碍。这种全世界普遍出现的现象生动地说明了不同知识背景和生活经历的人对同一语言符号在理解过程中进行了不同的改造。

例3:
[/b]当然也有向误解、曲解方向扭曲的例子。林彪摔死在蒙古温都尔汗以后,各地传达了中央下发的文件。随后在成都市井地区的不识字的老妪之间就流传着如下的故事:

林彪带了一群(叶群)老婆,坐了三个撮箕(三叉戟)飞跑了,结果掉到井里(蒙古境内),捞起来还是温都都的(温都尔汗)。

这样的误解显然和听者十分熟悉旧戏文里有关古代皇帝宫闱轶事和《封神榜》之类的神话故事,而从来没有听说过“三叉戟”“温都尔汗”这些时髦名词有关。

由此可见,人们在理解他人的言语时,时常揉进新知识与已有知识之间的“嫁接、改造”过程。这一点无论是词语义项的判断还是语法方面的分析过程都没有包含进去的。这种新知识与已有知识之间的“嫁接、改造”过程往往带有“猜谜”的性质。我以为,逢年过节时我们常做的“猜谜”游戏,乃是日常生活中语言理解过程的这种特性的夸张与变形。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: