美国的结构语言学家已经提出了一套发现句子层次程序,这是在语法分析上的一个重要进展,也是自然语言理解的重要论理基础。自然语言中的层次问题本质上是一个词语组合的顺序问题,这和数学语言中的运算顺序是相当的,在数学中我们有: 3+2*5数学家预先规定了先乘除后加减的顺序,实际上是规定了数学语言的层次。如果我们要先加再乘,就需要用括号: (3+2)*5由于数学语言是人工语言,数学符号的运算顺序或组合层次是有标记的。“先乘除后加减”是规定好的隐性标记,加括号是显性标记。自然语言中词的运算顺序或组合层次就缺乏标记,因此在计算机中,自然语言词语组合层次的切分比数学公式的层次切分要困难得多。 困难还不限于层次切分。在上面数学公式和自然语言句子中,按照层次切分出来的片断都是符合数学规则或有意义的片断,"3+2"是符合数学规则的,“英语班的学生”是有意义的片断。但是,自然语言中有些句子不完全是按照层次的原则组合的。比如:将他的军无论是“将他的”还是“他的军”,都是没有意义的片断,这说明这个句子的第一个层次是没法切分的。这也说明,光有层次分析还不能解释自然语言全部句子的组合机制,自然语言的语法规则比现有的任何人工语言都要复杂。二十世纪五十年代,美国语言学家乔姆斯基(N.Chomsky)在层次的基础上提出了转换规则,主张用层次和转换两种手续来说明自然语言的语法规则,乔姆斯基还把层次和转换形式化了,这就是著名的转换生成语法,这一理论是计算机编译原理的重要论理基础,也是自然语言理解一个重要进展,因为乔姆斯基的理论促使机器语言更接近自然语言的形式,导致高级编程语言的出现。 乔姆斯基的转换生成语法对自然语言的语法规则进行了形式化的描写,但在自然语言理解过程中,光有语法分析是不够的。自然语言理解所面临的另一难题是怎样解决语义问题。在句子只有一种层次的情况下,句子也是有歧义的。比较下面不同的句子: 这些句子都只有一种层次。第一句没有歧义,第二句的“小孩”可以是动作的发出者,也可以是动作的接者。第三句的“小孩”情况更复杂,可以是下面三种情之一:小孩给张三一个东西张三给小孩一个东西张三李四一个小孩要区别这些歧义,计算机还必须从语义掌握动词的性质。二十世纪中叶,法国语言学家特斯尼耶尔(L. Tesniere)和美国语言学家菲尔墨(C. Fillmore C.)分头研究了动词和名词的语义结构关系,认为任何每一个动词在进入句子时都需要和特定数量的名词搭配,才能是表达完整的信息,比如“来、去、跑”这类动词需要一个动作的发出者,“看望、访问、拜访”一类的动词不仅需要一个动作的发出者,而且需要一动作的接受者,“给、借、送”一类的动词不仅需要动作的发出者和接受者,还需要动作的经历者,如果动词要求的特定数量的名词在句子中没有完全出现,句子就会产生歧义。“给”要求和3个名词搭配,但“给的是小孩”中只出现了一个名词,因此可能造成三种歧义。 (责任编辑:admin) |