自然语言理解初步及其语法分析研究摘要•自然语言理解一直是人工智能学科内引人注目而又困难重重的一个核心研究课题,这是一个非常富有挑战性的课题。由于它涉及到计算机科学、数学、语言学和逻辑学等方面的知识,所以对于自然语言理解的研究现在尚未成熟,仍在探索中。因此对于自然语言理解的研究具有重要的应用意义。•本文介绍了自然语言理解技术的特点与发展,先了解了自然语言理解的研究对象及其基本结构,然后主要研究自然语言理解中的语法分析。论文首先介绍了多种语法分析方法,然后着重研究了上下文无关文法,通过建立一种文法规则然后运用该方法成功的完成了对一类简单英语句型的语法分析,并完成其生成过程和分析过程,获得了良好的效果。1绪论1.1自然语言理解研究的背景•机器翻译(MachineTranslation)是自然语言理解最早的研究领域。20世纪40年代中期,人们开始研究根据输入原文用计算机来编制词语索引(词的出处、出现频率),并在此基础上进一步提出了机器翻译问题,目的在于研制能翻译科技文献的实用系统。•20世纪60年代,国外对机器翻译曾有大规模的研究工作,耗费了巨额费用,但人们当时显然是低估了自然语言的复杂性,语言处理的理论和技术均不成熟,所以进展不大。•1970年以来,出现了一定数量的第二代自然语言理解系统,这些系统绝大多数是程序演绎系统,大量地进行语义、语境以至语用的分析。•到80年代一批新的语法理论脱颖而出,具有代表性的有词汇功能语法(LFG)、功能合一语法(FUG)和广义短语结构语法(GPSG)等。•近年来又提出了对多媒体计算机的研究。新型的智能计算机和多媒体计算机均要求设计出更为友好的人机界面,使自然语言、文字、图象和声音等信号都能直接输入计算机。1.2自然语言理解在国内的研究状况•我国自然语言理解的研究起步较晚,比国外晚了17年。国外在1963年就建成了早期的自然语言理解系统,而我国直到1980年才建成了两个汉语自然语言理解模型,都以人机对话的方式来实现。•80年代中期,在国际新一代计算机激烈竞争的影响下,自然语言理解的研究在国内得到了更多的重视,“自然语言理解和人机接口”被列入了新一代计算机的研制规划,研究单位增多了,研究队伍也随之壮大了。2自然语言理解的研究对象•从计算机科学特别是从人工智能的观点来看,自然语言理解的任务是建立一种计算机模型,这种计算机模型能够给出象人那样理解自然语言(即人们日常使用的汉语、英语等)的结果。•对自然语言理解这类重大问题的探索需要多学科协作攻关。除了计算机科学和语言学之外,吸取数学、认知科学、心理学、脑科学、哲学等学科的成果也是必不可少的。3自然语言理解的一般结构•自然语言理解是一个转换过程,它把用自然语言描述的一个受限世界(关于该世界的事实和假设),变换为用机器内部的表示法描述的一个世界模型。这个世界模型用作问题求解器的知识库,来求解各种问题:回答问题、摘要、复述和转译。因此,自然语言理解系统的一般结构如图3.1所示。图3.1自然语言理解系统的一般结构预处理语法分析后处理建立世界模型语言知识世界知识世界模型问题求解器语料用户•预处理模块接受输入语料,产生带标注的词序列。这包含两个过程。词的切分过程,词性标注过程。语法分析模块是根据语法规则将带标注的词序列,转换成语法分析树。后处理模块是分析语句表达的动作和对象之间的关系,以产生一种中间表示。建立世界模型模块是根据世界知识,建立语料所描述的世界的模型,包括为真的事实,背景假设等。问题求解器模块是建立在世界模型表示上的一组过程。如,摘要过程;转译过程,问题求解器(目标语言生成器)将世界模型用目标语言表述;回答问题,一组针对特定类型问题的回答过程。4自然语言理解中的语法分析4.1语法分析在自然语言理解中的地位•语法知识是理解给出句子的需要,语法知识在自然语言理解系统中的应用就是处理文本的结构特性,称为语法分析(SyntacticAnalysis)。除了少数实验模型,大多数自然语言理解系统都包含语法分析这个步骤,其中语法分析词汇组成的各种文法规则,是自然语言理解系统中的关键环节。因此,深入研究自然语言理解中的语法分析问题具有十分深远的意义。下面我们就将语法分析的几种方法作详细地论述。4.2语法分析的主要方法4.2.1转换语法(TransformationalGrammar)•转换语法是以短语结构语法为基础,附加一组能将语句深层结构映射为相应表层结构的转换规则并以此为核心而形成的一种分析自然语言(主要是英语等屈折语)的语法。一个转换语法是由基础部分和转换部分组成。基础部分是一个上下文无关文法,它产生一个深层结构树集合,转换部分是一个树的重写规则集,当应用于一个深层树时,产生一个或者多个表层结构树。表层结构树的前端(终点结点序列)是语言的句子。4.2.2转换生成语法(TransformationGenerativeGrammar)•针对短语结构语法的缺点,美国的N.乔姆斯基(N.Chomsky)于1957年提出了转换生成语法,他利用数字方法定义的人工语言(形式语言)来研究语言学问题,用他的语言生成文法来研究形式语言。在N.乔姆斯基的语法中基本上抛开了语义、语用和语境方面的知识,只局限在一个形式化的机制上,因此较难完整而确切地描述自然语言。4.2.3扩充转移网络(AugmentedTransitionNetwork,简称ATN)•扩充转移网络是美国的人工智能专家伍兹(Woods)根据N.乔姆斯基创建的转换生成语法于1970年提出来的一种多功能自然语言的语法表示理论,已经成为书写自然语言文法的著名方法之一。扩充转移网络的表层结构分析和深层结构生成是同时进行的。上下文无关语法对于描述语言是不完全适用的,于是基于这些需求的转换网络添加了转换规则。结果就产生了扩充转移网络。4.2.4语料库语言学(CorpusLinguistics)•近几年来,在国际范围内掀起了语料库语言学的研究热潮,语料库语料库和语料库语言学成为一门计算语言学的新分支而迅速崛起。语料库语言学的目的是企图通过对大规模真实语料的调查来发现并总结自然语言的各种语言事实和语法规律,语料库的定量分析、词典编纂、作品风格分析、自然语言理解和机器翻译等等。同时语料库语言学希望找到一种新的研究方法。在大量真实语料的基础上实现语言理解,逐渐受到自然语言处理学界的普遍重视。4.2.5上下文无关文法(Context-freeGrammars)•上下文无关文法,一般用于讨论人工语言的处理问题。下面我们就用上下文无关文法来分析形如Theopenboygivethepornographicnoveltothesevereteacher的一类句子。4.2.5.1预备知识•首先我们引入做上下文无关文法分析所必需的语法成分及其记号并对主要单词的类型进行简单的阐述和举例说明,如名词,动词,介词等.另外语法中有一个特殊的符号,我们称之为开始符。本论文中,开始符一律用符号S表示。如果依据一系列的文法规则序列,可以从开始符产生出某个句子,那么就可以说该语法能派生该句子。除此之外还有一些短语,一般有名词短语(NP),动词短语(VP),介词短语(PP),形容词串(ADJS),介词短语串(PPS)等。4.2.5.2文法规则(Grammaticalrules)•上下文无关文法由上下文无关规则(重写规则,叫做语法)组成。例如由限定词加名词构成的名称短语,按照文法表示为:NP--DETNOUN,如thedesk,而由形容词加名词构成的文法则表示为NP--ADJNOUN,如whiteshoe,又比如动词短语由动词跟名词短语构成,则文法表示为VP--VERBNP,如movethedesk。其他类型的短语均可由类似的文法语句来表示,只要有足够的文法序列就可以由这些文法来检验句子的完整性和准确性•现规定文法规则如下:S--NPVP-PPSNP--DETADJS-NOUNADJS-NOUN--ADJADJS-NOUNADJS-NOUN--NOUNVP-PPS--VP-PPSPPVP-PPS--VPVP--VERBNPPP--PREPNPDET--a/the/this/thatADJ--open/pornographic/severeNOUN--boy/novel/teacher/brickVERB--give/move/borrowPREP--to/of/in•其中大写字母表示的成分称为非终结符(nonterminalsymbol),它们不出现在实际的语句中,如NP,VP,S;小写字母表示的成分称为终结符(terminalsymbol),在语法中是不能进一步分解的符号,它们是组成语句的基本单元—-词。这样的语法称为上下文无关的,是因为在每个规则的左部只出现一个非终结符。•在语法分析方面,有两个重要的过程都是基于派生的。第一个过程是句子的生成过程,即根据文法规则派生并构造出合法的句子。•我们可以实现一个简单的句子生成器:从开始符S开始,选取一定的文法规则并进行应用,直到最终生成一个词语序列为止。第二个基于派生的过程是语法分析过程,即在给定语法的前提下,甄别出句子的结构。分析过程有两种基本的搜索策略,自顶向下和自底向上。自顶向下策略从符号S开始搜索,然后通过不同的方式搜索并改写非终结符,直到生成了输入的句子或者遍历了所有可能的句子为止。自底向上策略从句子的词语开始,逆向使用文法规则,逐渐减少符号序列,直到只剩下开始符S为止。在此过程中,我们用每条文法规则左边的符号来改写右边的符号。下面我们就分别加以分析。4.2.5.3生成过程•从仅含一个成分的生成串S开始,正向使用上下文无关文法规则,即使用文法规则的右部改写文法规则左部在生成串中的出现,得到一个新的生成串,重复这一过程,直到最后生成串中不包含非终结符为止。其中生成串是迄今为止所有操作的最终结果,任何一个时刻的分析状态都可以表示为一个生成串。举例来说,语法分析器从状态(S)开始,应用了规则S--NPVP-PPS之后,生成串为(NPVP-PPS)。如果再应用规则NP--DETADJS-NOUN,那么生成串就是(DETADJS-NOUNVP-PPS),依次类推。•具体过程如下:•NPVP-PPS(改写S)DETADJS-NOUNVP-PPS(改写NP)theADJS-NOUNVP-PPS(改写DET)theADJADJS-NOUNVP-PPS(改写ADJS-NOUN)……theopenboygivethepornographicnoveltothesevereADJS-NOUN(改写ADJ)theopenboygivethepornographicnoveltothesevereNOUN(改写ADJS-NOUN)theopenboygivethepornographicnoveltothesevereteacher(改写NOUN)•生成过程:建立一个由非终结符和终结符组成的队列,初始值仅含串S。直到队列中不含非终结符:a)从前往后扫描队列,发现第一个非终结符。b)随机选择以该非终结符为左部的规则。c)用所选规则右部改写队列中的非终结符。上述过程即表明句子“theopenboygivethepornographicnoveltothesevereteacher”可以从给定的文法规则派生而来。同时该派生过程采取的就是自顶向下策略,最终结果也表明句子“theopenboygivethepornographicnoveltothesevereteacher”是合法的。4.2.5.4分析过程•反向使用文法规则,从语句(终结符串)开始,从左到右扫描终结符和非终结符组成的串,若发现与某规则右部匹配的前缀子串,则用规则的左部重写其前缀子串。若有多个规则的右部与前缀子串匹配,则随机选择一个规则。如果没有规则的右部与前缀子串匹配,则回溯,撤消最近一次重写,寻找新的匹配。这个过程重复下去,直到只包含非终结符S。下列的终结符和非终结符串序列例示了上述分析过程:•theopenboygivetheporn