第8章自然语言理解人工智能史忠植王文杰编著依照课本补正版2第8章自然语言理解8.1语言及其理解的基本概念8.2词法分析8.3语法分析8.4语义分析自然语言是指人类日常交流所使用的语言。自然语言理解主要研究如何使计算机能够理解和生成自然语言。自然语言理解既是人工智能研究较早的一个领域,同时也是现代计算机的一个必备特征。38.1语言及其理解的基本概念自然语言是音义结合的词汇和语法体系。词汇是语言的基本单位,它在语法的支配下可构成有意义和可理解的句子,句子再按一定的形式构成篇章等。其结构如图8.1所示:语言词汇语法词熟语词法句法词素构形法构词法词组构造法造句法词汇是语言的基本单位。熟语是指一些词的固定组合,如汉语中的成语。词又由词素构成,词素是构成词的最小有意义的单位。如“学生”是由“学”和“生”这两个词素构成的。语法是语言的组织规律。词法是用词素或熟语构成词的规则,可分为构形法和构词法。构形法是指单数复数等。造句法是用词和词组构造句子的规则。语言词汇语法词熟语词法词素句法构形法构词法词组构造法语言词汇语法词熟语词法词素造句法句法构形法构词法词组构造法语言词汇语法词熟语词法词素4其主要任务是要找出词汇的各个词素,从中获得语言学信息,并确定单词的词义。以英语为例,其词法分析的基本算法如下:repeatlookforwordindictionaryifnotfoundthenmodifytheworduntilwordisfoundornofurthermodificationpossible其中,word是一个变量,其初始值就是当前词。例8.1用上述算法分析catches。解:其分析过程如下:catches词典中查不到catche修改1:去掉scatch修改2:去掉e可以看出,在修改2时就查到了catch。当然,这只是一个很简单的例子,完整的词法分析还应该包括复合词的切分等。8.2词法分析58.3句法分析句法分析:一是对句子和短语的结构进行分析,目的是要找出词、短语等的相互关系,以及他们在句子中的作用等,并用一种层次结构加以表达;二是对句法结构规范化,对一个句子分析各个成分间的关系的推导过程用树形图表示,这种图称为句法分析树。8.3.1短语结构语法8.3.2乔姆斯基形式语法8.3.3句法分析树8.3.4转移网络8.3.5扩充转移网络8.3.1短语结构语法•短语结构语法和乔姆斯基语法是描述自然语言和程序设计语言强有力的形式化工具,可用于在计算机上对被分析的句子的形式化描述和分析。•短语结构语法G的形式化定义:G=(T,N,S,P)式子中,T是终结符的集合,N是非终结符的集合,显然T和N不相交,T和N共同组成了符号集V,因此有:V=T∪N,T∩N=空集;S是起始符,它是集合N的一个成员;P是产生式规则集,形式如下:a→b由一部短语结构语法定义的语言L(G)就是可以从起始符S推导出的符号串W的集合。即一个符号串属于L(G)必须满足:(1)该符号串只包含终结符;(2)该符号串能根据语法G从起始符S推导出来。•例8.1•the/amankilledthe/adeer•the/amanlikethe/adeer•The/Amanlikethe/adeer.•经词法分析得到上面类型的符合语法G详见转移网络语法。8.3.2乔姆斯基形式语法•根据形式语法中所使用的规则集,乔姆斯基定义了4种类型的语法:•(1)无约束短语结构语法,又称0型语法;•(2)上下文有关语法,又称1型语法;•(3)上下文无关语法,又称2型语法;•(4)正则语法,又称3型语法;型号越高所受约束越多,生成能力月若,能生成的语言集越小,也就是说它的描述能力越弱。ATN就是基于上下文无关思想实现的一直自然语言句法分析技术。正则语法又称有限状态语法,只能生成非常简单的句子。有2种形式:左线型语法和右线型语法。9上下文无关文法(Context-freeGrammars)是乔姆斯基提出的一种对自然语言语法知识进行形式化描述的方法。在这种文法中,语法知识是用重写规则表示的。作为例子,下面给出了一个英语的很小的子集(图8.4)。语句→句子终标符句子→名词短语动词短语动词短语→动词名词短语名词短语→冠词名词名词短语→专用名词冠词→the名词→professor动词→wrote名词→book动词→trains专用名词→Jack终标符→..这就是一个英语子集的上下文无关文法在该文法中,“语句”是一个特殊的非终极符,称为起始符。8.3.2句法规则的表示方法上下文无关文法(1/2)108.3.2句法规则的表示方法上下文无关文法(2/2)例8.2利用上述上下文无关文法,给出如下语句的分析树。TheprofessortrainsJack.语句句子终标符动词短语名词短语Theprofessor.trains冠词名词动词专用名词名词短语Jack解:如图8.5118.3.3句法分析树一个句子是由各种不同的句子成分组成的。这些成分可以是单词、词组或从句。句子成分还可以按其作用分为主语、谓语、宾语、宾语补语、定语、状语、表语等。这种关系可用一棵树来表示,如对句子:Hewroteabook可用图8.2所示的树形结构来表示一个句子又是由若干个词类构成的,如名词、动词、代词、形容词等。若从句子的词类来考虑,一个句子也可用一棵树来表示,这种树称为句子的分析树,如图8.3所示。句子主语谓语动词宾语Hewroteabook句子代词动词短语动词名词短语Hewroteabook8.3.4转移网络•转移网络在自动机理论中用来表示语法。句法分析中的转移网络有借点和带有标记的弧组成,节点表示状态,弧对应于符号,基于该符号,可以实现从一个给定的状态转移到另一个状态。•Themanlaughed8.3.5扩充转移网络•ATN语法属于一种增强型的上下文无关语法,即用上下文无关文法描述句子文法结构,并同时提供有效的方式将各种理解语句所需要的知识加到分析系统中,以增强分析功能,从而使得应用ATN的句法分析程序具有分析上下文有关语言的能力。•ATN主要是对转移网络中的弧附加了过程而得到的。148.3.N句法规则的表示方法变换文法(1/2)上下文无关文法反映的仅是一个句子本身的层次结构和生成过程,而自然语言是上下文有关的。为此,乔姆斯基又提出了变换文法(TransformationalGrammar)。该文法认为,句子的结构有深层和表层两个层次。例如:Shereadmeastory和Shereadastorytome的表层结构不一样,但它们的深层结构则是一样的。再如,主动句和被动句也只是表层结构不同,其深层结构则是相同的。在变换文法中,句子深层结构和表层结构之间的变换是通过变换规则实现的,如图8.6给出了一条把主动句变换为被动句的变换规则。句子介词短语1句子名词短语1动词短语动词名词短语2名词短语2动词被动语态动词介词动词的过去分词名词短语1句子介词短语句子名词短语1动词短语动词名词短语2名词短语2动词被动语态158.3.N句法规则的表示方法变换文法(2/2)助动词介词动词的过去分词名词短语1句子介词短语句子名词短语1动词短语动词名词短语2名词短语2动词被动语态冠词名词专用名词上下文无关文法变换规则冠词名词TheprofessorJacktrainsJack专用名词istrainedbytheprofessorprofessor例8.3利用变换文法,将前述主动句变为被动句。解:其变换过程是:先从非终极符“句子”开始产生一个主动句:TheprofessortrainsJack然后再应用图8.6所示的变换规则把它变为被动句(图8.6):Jackistrainedbytheprofessor动词冠词名词Theprofessor名词短语2专用名词trains动词冠词名词TheprofessorJack名词短语2专用名词trains动词冠词名词Theprofessor168.3.N自顶向下与自底向上分析自顶向下分析法自顶向下分析,是指从起始符开始应用文法规则,一层一层地向下产生分析树的各个分支,直至生成与输入语句相匹配的完整的句子结构为止。例如,图8-4所示的上下文无关文法,采用自顶向下分析方法对语句:TheprofessortrainsJack.进行分析的过程是:首先从起始符“语句”开始,正向运用规则:语句→句子终标符把分析树的根节点“语句”替换为它的两个子节点“句子”和“终标符”。然后再对新生成的节点“句子”使用规则:句子→名词短语动词短语将其替换为两个子节点“名词短语”与“动词短语”。对于“名词短语”,有两条规则可用,若按规则的排列顺序,则选用名词短语→冠词名词将“名词短语”被替换为“冠词”和“名词”,生成两个新节点。对“冠词”使用规则:冠词→The对名词使用规则:名词→professor以此进行…,得到如图8.8所示的自顶向下的分析树(略)。178.3.N自顶向下与自底向上分析自底向上分析法自底向上分析,是以输入语句的单词为基础,首先按重写规则的箭头指向,反方向使用那些最具体的重写规则,把单词归并成较大的结构成分,如短语等,然后对这些成分继续逆向使用规则,直到分析树的根节点为止。仍以语句TheprofessortrainsJack为例,逆向使用图8.4中的那些具体规则后,可得到图8.9所示的部分分析树。继续逆向使用规则,一步步归并,直到根节点“语句”为止,最后即可生成如图8.5所示的完整的分析树。自顶向下分析方法与自底向上分析方法虽然思路清晰,但分析效率不高。为了提高分析效率,可采用自顶向下与自底向上相结合的分析方法。Jack名词短语专用名词trains动词冠词名词Theprofessor终标符.188.4句义分析语义分析就是要识别一句话所表达的实际意义。即弄清楚“干什么了”,“谁干的”,“这个行为的原因和结果是什么”以及“这个行为发生的时间、地点及其所用的工具或方法”等。语义文法是将文法知识和语义知识组合起来,以统一的方式定义为文法规则集。语义问法是上下文无关的,形态上与面向自然语言的常见文法相同,只是不采用NP、VP、PP等表示句法成分的非终止符,而是使用能表示语义类型的符号,从而可以定义包含语义信息的文法规则。格文法由费尔蒙提出,主要是为了找抽动词和跟它处在结构关系中的名词的语义关系,同时也扩及动词或动词短语与其他的各种名词短语之间的关系。也就是说,格文法的特点是允许以动词为中心构造分析结果。8.4.1语义文法8.4.2格文法198.4.1语义文法语义文法是在上下文无关文法的基础上,将“名词短语”、“动词短语”、“名词”等这些不含有语义信息的纯语法类别,用所讨论领域的专门信息,像“山”、“水”、“动物”、等这些具有很强语义约束的语义类别来代替。利用语义文法进行语义分析,就可以排除像“论文收到教授”这类无意义的句子。例如,下面是一个关于舰船信息的语义文法的例子:S→PRESENTtheATTRIBUTEofSHIPPRESENT→whatis|canyoutellmeATTRIBUTE→length|classSHIP→theSHIPNAME|CLASSNAMEclassshipSHIPNAME→Huanghe|ChangjiangCLASSNAME→carrier|submarine在上述重写规则中,用大写英文字母的单词表示非终极符,小写英文字母表示终极符,竖线表示“或”的意思。利用上述语义文法进行语义分析,可以从语义上识别以下的输入:whatisthelengthoftheHuanghe?CanyoutellmetheclassoftheChangjiang?208.4.2格文法格和格框架(1/3)格文法是以句子的中心动词为主导,并用格来表示其它成分与此中心动词之间的语义关系的一种描述方法。“格”这个词来源于传统语法,但它与传统语法中的格有着本质不同。在传统语法中,格仅表示一个词或短语再句子中的功能,如主格、宾格、等,反映的也只是词尾的变化规则,故称为表层格。在格文法中,格表示的是语义方面的关系,反映的是句子中所包含的思想、观念等,