为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

自然语言理解

2017-10-08 27页 doc 53KB 74阅读

用户头像

is_983143

暂无简介

举报
自然语言理解自然语言理解 第8章 自然语言理解 自然语言理解是人工智能发展早期较活跃的研究领域之一,同时也是新一代计算机的必备特征之一。但由于其难度较大,至今仍未能达到很高的水平。本章主要讨论自然语言理解的基本概念,语法规则的表示方法,语法及语义分析技术等。 8.1 语言及其推理的基本概念 在讨论自然语言理解方法之前,首先介绍一些与自然语言理解有关的概念,如什么是自然语言理解,自然语言理解的发展过程,自然语言理解的层次等。 8.1.1 自然语言与自然语言理解 1(自然语言的含义 语言是用于传递信息的表示方法、约定和规则的集合...
自然语言理解
自然语言理解 第8章 自然语言理解 自然语言理解是人工智能发展早期较活跃的研究领域之一,同时也是新一代计算机的必备特征之一。但由于其难度较大,至今仍未能达到很高的水平。本章主要讨论自然语言理解的基本概念,语法规则的表示方法,语法及语义分析技术等。 8.1 语言及其推理的基本概念 在讨论自然语言理解方法之前,首先介绍一些与自然语言理解有关的概念,如什么是自然语言理解,自然语言理解的发展过程,自然语言理解的层次等。 8.1.1 自然语言与自然语言理解 1(自然语言的含义 语言是用于传递信息的表示方法、约定和规则的集合。例如,人类语言、机器语言等。自然语言则是指人类日常使用的语言,它包括口语、书面语等。每个国家或民族都有自己的语言,例如,汉语、英语、法语、德语等都是不同国家和民族的人民使用的自然语言。自然语言不仅是人民交流思想、传递信息必不可少的工具,同时也是人类生存及社会进步的基本需要。 2. 自然语言的组成 要理解自然语言,首先应该对自然语言的构成有一个基本的认识。 244 自然语言是音义结合的词汇和语法体系。词汇是语言的基本单位,它在语法的支配下可构成有意义和可理解的句子,句子再按一定的形式构成篇章等。从结构上看,词汇可分为词和熟语。熟语是指一些词的固定组合,如汉语中的成语。词又由词素构成,如“学生”是由“学”和“生”这两个词素构成的。词素是构成词的最小有意义的单位。例如,“学”这个词素有获取知识和技能的含义,“生”这个词素有人的含义。 语法是语言的组织规律。 语言 语法规则制约着如何把词素构 词汇 语法 成词,把词构成词组和句子。 词 熟语 词法 句法 语言正是在这种严格的制约关 词素 构形法 构词法 词组构造法 造句法 系中构成的。用词素构成词的图 8-1 语言的组成 规则称为构词规则,如“学”+“生”构成“学生”。一个词又有不同的词形、单数、复数、阴性、阳性等等。这种构造词形的规则称为构形法,如“学生”+“们”构成“学生们”。这里,只是在原来的词的后面加上了一个具有复数意义的词素,所构成的并不是一个新词,而是同一个词的复数形式。构形法和构词法称为词法。 语法中的另一部分是句法。句法可分为词组构造法和造句法两部分。词组构造法是把词搭配成词组的规则,例如,把“新”+“朋友”构成“新朋友”。这里,“新”是一个修饰“朋友”的形容词,它们的组合构成了一个新的名词。造句法则是用词和词组构造句子的规则,如“我 245 们是计算机系的学生”就是按照汉语造句法构造的句子。上述关于语言的内容可用图8-1来表示。 另一方面,语言是音义的结合,每个词汇都有其语音形式。一个词的发音由一个或多个音节组成,音节又由音素构成,音素分为元音音素和辅音音素。音素是指一个发音动作所构成的最小的语音单位。一种自然语言中的音素并不太多,一般只有几十个。 3. 自然语言理解的含义 到目前为止,对自然语言理解还没有一个统一的权威定义。按照考虑问的角度不同,对它有着不同的理解。从微观上讲自然语言理解是一种从自然语言到计算机系统内部形式的一种映射。从宏观上讲,自然语言理解是指计算机能够执行人类所期望的某些语言功能。例如,回答有关提问,提取摘要,不同词语叙述,不同语言翻译等。(EC3电子侦查、手持设备的数据输入,如语音拨号等等,新手机提供100种输入法,但需要一个键盘。) 人类的自然语言有多种多样,并且每一种自然语言都有自己的特点和表现形式,因此,使得对它的研究需要分别作一些不同的工作。但是,由于它们都是人类语言,必然存在许多共同点,尤其是在人类“理解”的机理方面更是这样。目前,英语是世界上最流行的一种自然语言,也是在自然语言理解方面研究得比较多的一种语言,因此后面的讨论多以英语为对象。这些研究方法及有关技术对其它语言也可借鉴。 246 8.1.2 自然语言理解的研究任务 自然语言理解实际上是一种由语言学、逻辑学、生理学、心理学、计算机科学和数学等相关学科发展和结合而形成的一门交叉学科。例如,语言学家致力于制定语言的规则;逻辑学家着重研究语言中的逻辑和推理方法。人工智能工作者则主要研究如何让计算机识别、理解人类的自然语言。在人工智能领域,关于自然语言的理解可分为理论和实践两个方面。在实践方面,它的一个目标是使人们能够直接用自然语言来使用计算机,改变目前用程序设计语言使用计算机的局面;它的另一个研究目标是实现机器翻译,即让计算机能够把一种语言翻译成另一种语言。在理论方面,主要是开展对人类理解语言机理的研究,它是对“理解”的最本质的研究,只有解决了这个问题,上述实践方面的两个目标才能从根本上得到实现。 根据自然语言的不同表现形式,自然语言理解可分为口语理解与文字理解两个方面。所谓口语理解就是让计算机能够“听懂”人们所说的话;所谓文字理解就是让计算机能够“看懂”输入到计算机中的文字资料,并能用文字做出响应。 8.1.3 自然语言理解的发展 关于自然语言理解的研究可以追溯到50年代初期。当时,由于通用计算机的出现,人们开始考虑把一种语言翻译成另一种语言的可能性。在此之后的十多年中,机器翻译一直是自然语言理解中的中心课题。 247 起初,主要是进行“词对词”翻译。当时,人们认为翻译工作只包含查阅词典和语法分析两个过程。对要翻译的文章,可首先通过查阅词典,找出两种语言间的对应词,然后经过简单的语法分析调整词序就可实现翻译。但是,这种方法未能达到预期的效果,闹出了一些阴差阳错、颠三倒四的笑话。1966年,在美国科学院公布的一个报告中指出:在可预见的将来,机器翻译不会获得成功。在这一观点的影响下,研究翻译机器的计划被推迟了,开始转向对语法、语义和语用学等基本问题的研究。之所以出现这种局面,是因为对语言的理解不能只依赖于各个孤立单词的词义及语法知识,必须把它与上下文及环境知识联系起来,才能做到正确的理解,同一单词在不同的上下文及环境下往往会有不同的含义。 1970年,著名的人工智能学者维诺格拉德(Winogand)在计算机上实现了一个能灵活地结合句法、语法、推理以及上下文和世界知识的程序,成功地进行了人同计算机的对话,为自然语言在计算机上处理做出了巨大的贡献。从此以后,关于自然语言的研究又获得了蓬勃发展。 进入80年代之后,自然语言理解在理论上和应用上都取得了突破性进展,出现了许多具有较高水平的实用化系统。80年代提出并进行的智能计算机研究和近几年来提出的多媒体计算机研究,都对自然语言理解提出了新的要求。它们均要求设计出更为友好的人机界面,使自然语言、文字、图像和声音等信号都能直接输入计算机,使计算机能以自 248 然语言直接与人进行对话和交流。此外,自然语言理解的研究又促进了计算机辅助语言教学和计算机语言设计等方面的发展。 8.1.4 自然语言理解的层次 语言虽然可以表示成一连串的文字符号或一连串的声音流,但其组织形式却是一种层次化的结构。这种层次结构可以从前面所讨论过的语言的组成中清楚地看出。一个用文字表达的句子是由词素?词或词形?词组和句子构成的,而用声音表达的句子则是由音素?音节?音句构成的,其中,每个层次都是受到语法规则制约的。因此,自然语言的分析和理解过程也是一个层次化过程。许多现代语言学家把这一过程分为5个层次:语音分析、词法分析、句法分析、语义分析和语用分析。虽然这些层次之间并非是完全隔离的,但这种层次的划分的确有助于更好地体现语言本身的构成。 1. 语音分析 在有声语言中,最小可独立的声音单位是音素。语音分析就是要根据音位规则,从语音流中区分出一个个独立的音素,再根据音位形态规则找出一个个音节及其对应的词素或词。 2. 词法分析 词法分析的主要任务是要找出词汇的各个词素,从中获得语言学信息。在英语等语言中,找出句子中的一个个词汇是一件很容易的事情,因为词与词之间是用空格分割的。但要找出各个词素就复杂得多,如 249 importable,它可以是im-port-able,也可以是import-able。这是因为im,port,import都是词素。而在汉语中要找出一个个词素则是一件很容易的事,因为汉语中的每个字都是一个词素。但要切分出各个词就比较困难。例如,“我们研究所有计算机”,可以是“我们-研究-所有-计算机”,也可以是“我们-研究所-有-计算机”。 通过词法分析可以从词素中获得许多语言学信息。例如,英语中词尾的词素“s”通常表示名词复数或动词第三人称单数;“ed”通常是动词的过去式与过去分词;“ly”是副词的后缀等。另一方面,一个词又可以变化出许多别的词,如work,可以变化出works, worked, working, worker等。这些信息对于词法分析都是十分重要的。 3. 句法分析 句法分析是对句子和短语的结构进行分析。分析的方法有很多种,如短语结构语法、格语法、扩充转移网络、功能语法等。句法分析的最大单位是一个句子。分析的目的是要找出词、短语等的相互关系,以及他们在句子中的作用等,并用一种层次结构加以表达。这种层次结构可以是句子的成分关系,也可以是语法功能关系。 4(语义分析 语义分析就是要通过对句子的分析得出它所表达的实际含义。尽管自然语言中的句子是由词组成的,句子的意义也是与词直接相关的,但是,句子的意义却不是词义的简单相加。例如,“我问他”和“他问我”, 250 词是完全相同的,但表达的意义却是完全相反的。因此,语义分析不仅要考虑词义,而且还需要考虑词的结构意义及其结合意义。 5. 语用分析 语用分析就是研究语言所存在的外界环境对语言使用所产生的影响。它描述语言的环境知识,语言与语言使用者在某个给定语言环境中的关系。 在上述自然语言理解的5个层次中,语音识别属于感知范畴的问题,故不对它进行讨论,本章讨论的重点是句法分析、语法分析、语义分析及语用分析。 8.2 语法规则的表示方法 前面讨论了语言的组成,从图8-1可以看出语言有词汇和语法组成。事实上,任何一种自然语言都有自己的一套语法规则,用来指出词汇之间的正确搭配关系以及句子的合理结构。一个句子,只有当它符合语法规则时才是一个合法的句子。而要让计算机理解自然语言,首先必须使它能够掌握该语言的语法规则,这就需要把自然语言的语法用适合于计算机处理的形式语法规则表示出来。 在自然语言处理中,长期占主导地位的形式语法规则有乔姆斯基(Noam Chomsky)提出的上下文无关文法和变换文法,伍慈(W.Woods)提出的扩充转移网络。本节先讨论乔姆斯基文法,扩充转移网络放到下一节讨论。 251 8.2.1 句子结构的表示 一个句子是由作用不同的各个部分 句子 组成的,这些部分成为句子成分。句子成 主语 谓语 分可以是单词,也可以是词组或从句。在 动词 宾语 句子中起主要作用的句子成分有主语、谓 He wrote a book 图 8-2 句子的树状结构 语,起次要作用的有宾语、宾语补语、定 语、状语、表语等。在自然语言理解中,一个句子及其句子成分可用一棵树来表示。例如,对句子: He wrote a book 可用图8-2所示的树形结构来表示 从另一个角度看,一个句子又是由若干个词类构成的,如名词、动词、代词、形容词等。在上例中,He 是 句子 人称代词,wrote是动词,a是冠词,book 代词 动词短语 是名词。这些词在句子中分别担任了不同 动词 名词短语 的句子成分,构成了一个完整的句子。若 He wrote a book 图 8-3 句子的分析树 从句子的词类来考虑,一个句子也可用一 棵树来表示,这种树称为句子的分析树。分析树是一种常用的句子结构表示方法。上例的分析树如图8-3所示。 8.2.2 上下文无关文法 上下文无关文法(Context-free Grammars)是乔姆斯基提出的一 252 种能对自然语言语法知识进行形式化描述的方法。在这种文法中,语法知识是用重写规则表示的。作为一个例子,下面给出英语的一个很小的子集,这个英语的子集的上下文无关文法如图8-4所示。 在图8-4中,作为终极符的有英语单词“the”,“professor”,“wrote”,“book”,“trains”,“Jack”及终标符“.”,其余均为非终极符。并且,在所有非终极符中,“语句”是一个特殊的非终极符,称为起始符。上述文法之所以称为上下文无关,其原因是这些重写规则的左边均为孤立的非终结符,它们可以被右边的符号串替换,而不管左边出现的上下文。 语句 ? 句子 终标符 句子 ? 名词短语 动词短语 动词短语 ? 动词 名词短语 名词短语 ? 冠词 名词 名词短语 ? 专用名词 冠词 ? the 名词 ? professor 动词 ? wrote 名词 ? book 动词 ? trains 专用名词 ? Jack 253 终标符 ? . 图 8-4 一个英语子集的上下文无关文法 每一个上下文无关文法都定 语句 义了一种语言,这种语言中的所 句子 终标符 有语句均可以从该文法的起始符 名词短语 动词短语 开始,经过有限次使用重写规则 冠词 名词 动词 名词短语 而得到。例如,在图8-4所给出 专用名词 的上下文无关文法中,使用重写 The professor trains Jack . 图 8-5 "The professor trains Jack"的分析树 规则得到的字符串 The professor trains Jack. 就是一个符合该文法所定义语言的语句。这个语句的分析树如图8-5所示。 上下文无关文法反映了自然语言结构的层次特性,用它对自然语言的语法进行形式化描述既严谨,又便于计算机实现,因此已成为一种较方便的自然语言语法规则的表示方法。 8.2.3 变换文法 用上下文无关文法描述自然语言比较方便,但也存在一定的局限性。例如,对谓语动词和主语的一致性,以及对主动语句和被动语句不同结构形式的转换等,上下文无关文法都遇到了许多困难。其主要原因是,上下文无关文法反映的仅是一个句子本身的层次结构和生成过程, 254 它不可能与另外的句子发生联系。而自然语言是上下文有关的,句子之间的关系也是客观存在的。为了解决这一类问题,乔姆斯基提出了变换文法(Transformational Grammar)。变换文法认为,英语句子的结构有深层和表层两个层次。例如,句子 She read me a story 和 She read a story to me 的表层结构不一样,但它们指的却是同一回事,即这两个句子的深层结构是一样的。再如,主动句和被动句也只是表层结构不同,其深层结构则是相同的。 句子 句子 名词短语1 动词短语 名词短语2 动词被动语态 介词短语 动词 名词短语2 助动词be 动词的过去分词 介词be 名词短语1 图 8-6 由主动句变为被动句的变换规则 在变换文法中,句子深层结构和表层结构之间的变换是通过变换规则实现的,变换规则把句子一种结构变换为另一种结构。图8-6给出了一条把主动句变换为被动句的变换规则。 变换文法的工作过程是先用上下文无关文法建立相应句子的深层结构,然后再应用变换规则将深层结构变换为符合人们习惯的表层结构。以图8-4所示的上下文无关文法为例,其变换过程是:先从非终极符“句子”开始产生一个主动句: The professor trains Jack 255 然后再应用图8-6所示的变换规则把它变为被动句:(从主动态句子转换为被动态句子) Jack is trained by the professor 其变换过程如图8-7所示。 上下文无 关文法 句子 变换规则 句子 名词短语1 动词短语 名词短语2 动词被动语态 介词短语 冠词 名词 动词 名词短语2 专用名词 助动词be 动词的过去分词 介词be 名词短语1 专用名词 冠词 名词 The professor trains Jack Jack is trained by the professor 图 8-7 用变换文法将一个主动句变换为被动句的例子 8.3 语法分析 前面从语言结构描述和语法规则的表示方法这两个方面讨论了上下文无关文法和变换文法,本节主要讨论如何利用文法对自然语言进行语法分析。 8.3.1 自顶向下与自底向上分析 使用给定文法对语句进行分析的过程,可以看作是根据输入语句中的单词,找出该语句对应的文法分析树的过程。实现这一分析过程的方法主要有自顶向下和自底向上两种方法。 1. 自顶向下分析法 所谓自顶向下分析,是指从起始符开始应用文法规则,一层一层地 256 向下产生分析树的各个分支,直至生成与输入语句相匹配的完整的句子结构为止。例如,图8-4所示的上下文无关文法,采用自顶向下分析方法对语句: The professor trains Jack . 进行分析的过程是: 首先从起始符“语句”开始,正向运用规则: 语句 ? 句子 终标符 把分析树的根节点“语句”替换为它的两个子节点“句子”和“终标符”。然后再对新生成的节点“句子”使用规则: 句子 ? 名词短语 动词短语 将其替换为两个子节点“名词短语”与“动词短语”。对于“名词短语”,文法规则中有两条规则可用,若按规则的排列顺序来使用规则,则选用 名词短语 ? 冠词 名词 这样,“名词短语”就可被替换为“冠词”和“名词”,生成两个新节点。对“冠词”使用规则: 语句 冠词 ? The 句子 终标符 对名词使用规则: 名词短语 动词短语 名词 ? professor 冠词 名词 动词 名词短语 这就在分析树上生成了两个可 The professor 与输入语句匹配的终极符 图 8-8 自顶向下分析的例子 257 “The”和“professor”。再对“动词短语”运用规则: 动词短语 ? 动词 名词短语 就可得到图8-8所示的分析树。 继续向下分析,节点“动词”也有两条规则可供使用,若按规则的排列顺序,应选用规则 动词 ? wrote 但这会在分析树中生成与输入语句不匹配的终极符“wrote”,致使分析过程失败。此时,可通过回溯再回到“动词”节点,选用下一条适用的规则: 动词 ? trains 从而生成与输入语句匹配的终极符“trains”。当对“名词短语”进行分析时,又遇到了与“动词”相同的问题,它也需要通过回溯来得到可与输入语句匹配的终极符。经过一系列的分析工作,最后可得到图8-5所示的分析树。 由以上分析过程可以看出,自顶向下产生分析树的过程是一个正向使用重写规则的搜索过程。搜索时需要考虑以下两点: (1) 当对一个节点使用重写规则时,往往会有许多规则可用,究竟选用哪一条规则,是一个搜索策略问题,第五章讨论的搜索策略均可使用。在上例中,我们是按照规则在文法中的排列顺序选用规则的。 (2) 在分析过程中,经常会发生需要回溯的情况,何时进行回溯, 258 也存在一个策略问题。在上例中,是优先选择最新生成的节点,一旦发现有不匹配的终极符时,及时进行回溯。 2. 自底向上分析法 所谓自底向上分析,是以输入语句的单词为基础,首先按重写规则的箭头指向,反方向使用那些最具体的重写规则,把单词归并成较大的结构成分,如短语等,然后对这些成分继续逆向使用规则,直到分析树的根节点为止。仍以语句 The professor trains Jack 为例,逆向使用图8-4中的那些 名词短语 具体规则后,可得到图8-9所示 冠词 名词 动词 专用名词 终标符 的部分分析树。继续逆向使用 The professor trains Jack . 图 8-9 自顶向下分析的部分分析树 规则,一步步归并,直到根节 点“语句”为止,最后即可生成如图8-5所示的完整的分析树。 自顶向下分析方法与自底向上分析方法虽然思路清晰,但分析效率不高。为了提高分析效率,实际使用中可采用自顶向下与自底向上相结合的分析方法。 8.3.2 扩充转移网络分析 扩充转移网络分析是指利用扩充转移网络ATN(Augmented Transition Network)文法进行的语法分析。而ATN文法是在基本转移网络BTN(Basic Transition Network)文法的基础上发展起来的一种 259 具有较强表达能力的自然语言描述方法。为了更好地讨论ATN文法的语法分析,需要先简单地介绍一下BTN文法及其语法分析。 1. BTN文法及其分析 BTN文法是一个有向图,图中 ADJ 的节点代表分析状态,用圆圈表示; The N NP NP1 NP2 有向边代表一个状态到另一个状态图 8-10 一类名词短语的BTN文法 的之间的可能转移,用节点之间的有 向弧表示。每一个BTN文法都可以用来识别一种特定的句子或语法类别。作为一个例子,图8-10给出了一个冠词“the”开头的一类名词短语NP的转移网络,它可以含有零个或多个形容词ADJ,最后以一个名词结尾。在此文法中,用单圆圈节点代表分析的非终止状态;用双圆圈代表分析的终止状态,最左边的节点代表分析的起始状态,它与输入单词序列最左边位置相对应;每条有向弧都了从前一个状态通过此弧转移到下一个状态所需要匹配的语法类别。 BTN文法的分析过程是:从起始状态开始,对输入单词序列自左向右依次按其语法类别进行匹配,如果在输入序列分析完毕时,正好达到图的终止状态,就可以判定所输入的单词序列确实符合该BTN文法所联系的语法规则,否则为不符合。 假设输入的短语是“the pretty picture”。从起始状态NP开始,它只有一条标注着“the”的外射弧,由于输入串中的第一个词能同它 260 匹配,因此词“the”从输入串中被删除,过程进入与中的状态NP1。此时,输入串是“pretty picture”,由于第一个词的词类是ADJ,同标注ADJ的弧匹配,于是“pretty”从输入串中被删除,但沿着ADJ弧转移的结果是再次回到这个NP1状态。此时,输入串只剩下最后一个词“picture”,由于它是一个名词,因此发生了沿N弧(名词)前进到结束状态的转移。这时,输入串已成为空串,所以分析成功。 事实上,BTN文法在表达能力上等价于上下文无关文法。例如,图8-10的BTN文法可用上下文无关文法描述如下: 名词短语 ? 冠词 名词 名词短语 ? 冠词 形容词 名词 它定义的是一类以“the”开头的名词短语。 2. ATN文法及其分析 ATN文法是对BTN文法的扩充,其扩充内容至少应该包含以下两个方面:第一,能记住句子中已经出现过的部分;第二,具有关于成分的操作特征。 ATN实现上述扩充的方法是:通过增加寄存器来记忆句子中出现过的成分,通过增加弧线上的序号,并依此序号为索引去检索相应成分的操作特征。因此,ATN的每条弧上除了规定该弧所要识别的语法类别外,还必须再加上一个不与其它弧重复的数字来作为这条弧的代号,此代号用于检索该弧所对应的操作特征。ATN弧上的操作特征由检测 261 条件和执行动作两部分所组成,并由寄存器来实现。ATN的每个寄存器都由两部分所组成,一部分是句法特征寄存器,另一部分是句法功能寄存器。在特征寄存器中,每一维特征都有一个特征名和一组特征值,以及一个缺省值来表示。例如,“数”的特征维可有两个特征值“单数”和“复数”,缺省值可以是空值。功能寄存器则反映了句法成分之间的关系和功能。 ATN是一种网络结构,每个网络都有一个网络名,在特殊情况下, NP ATN弧上的标记也可以是其 5: proper 4: pronoun 它网络的标记名。因此,ATN enter f 1: det g 3: noun h exit 2: jump 是一种递归网络。此外,在 6: pp 图 8-11 NP(名词短语)的扩充转移网络 ATN中还有一种空弧jump, 它不对应一个语法成分,也不对应一个输入词汇。 ATN的语法分析过程就是程序逐步生成相应分析树的过程。在分析树的各个节点上都放上寄存器,用来存放该节点的句法功能和句法特征,程序利用ATN网络中给出的条件和操作不断地对它们进行访问和设置。图8-11是一个简单的NP(名词短语)的扩充转移网络,网络中弧上的数字和该弧所对应的特征操作如下: det NP-1: f g //当前词为限定词,网络状态由f转移到g A:Number=*.Number //使NP的特征“数”的特征值等于当前输入 限定词的特征“数”的特征值 jump NP-2: f g //网络状态直接由f转移到g,不对应任何句 262 法成分和输入词汇 noun NP-3: f h //当前词为名词,网络状态由f转移到g C:Number=*.Number or φ //如果当前名词的“数”与NP的“数”相同,或者NP的“数”为空 A:Number=*.Number //使NP的特征“数”的特征值等于当前输入 名词的特征“数”的特征值 pronoun NP-4: f h //当前词为代词,网络状态由f转移到h A:Number=*.Number //使NP的特征“数”的特征值等于当前输入 代词的特征“数”的特征值 proper NP-5: f h //当前词为专用词,网络状态由f转移到h A:Number=*.Number //使NP的特征“数”的特征值等于当前输入 专用名词的特征“数”的特征值 pp NP-6: f h //进入子网络pp,本层网络状态不变,使网络 具有递归性 该网络主要用来检查NP中数的一致性问题,所用到的特征是Number(数),它有两个值,一个是Singular(单数),另一个是Plural(复数),缺省值为φ(空)。C是弧上的条件,A是弧上的操作,*.Number是当前词的“数”。该扩充转移网络有一个网络名NP。网络NP可以是其它网络的子网络,也可以包含其它网络,例如其中的pp就是一个子网络,它反映了网络的递归性。 在图8-11中,弧NP-1将当前词的Number放入当前NP的Number中,而弧NP-3则要求当前noun的Number与NP的Number是相同时,或者NP的Number为空时,将noum作为NP的Nuber,这就要求det的数与noum的数是一致的。因此,this book, the book, the books, these books都可以顺利通过这一网络。但是,this books, 263 these book, 则是无法通过的。如果当前NP是一个代词(pronoun)或者专用名词(proper),网络就从NP-4或Np-5通过,这时NP的数就是代词或专用名词的数。pp是一个修饰前面名词的介词短语,一旦达到pp弧,就马上转入子网络中。 上面给出的仅是一个极其简单的ATN网络,主要用以说明ATN网络的基本结构和处理方法,但一个能够处理实际语言的完整的ATN是相当复杂的,并且还有许多问题需要解决,如非确定性分析、弧的顺序等。 8.4 语义的分析 上节讨论的语法分析,仅是在句法范围内根据词性信息来分析自然语言中句子的文法结构的。由于它没有考虑句子本身的含义,也就不能排除像 The paper received the professor 这种在语法机构上正确,但实际意义上错误的句子。为了保证句子含义的正确性,还需要对句子再进一步作语义上的分析。 所谓语义分析就是要识别一句话所表达的实际意义。即弄清楚“干什么了”,“谁干的”,“这个行为的原因和结果是什么”以及“这个行为发生的时间、地点及其所用的工具或方法”等。目前,用于语义分析的技术比较多,本节仅讨论其中最基本的两种,即语义文法和格文法。 264 8.4.1 语义文法 语义文法(Semantic Grammar)是在上下文无关文法的基础上, 将“名词短语”、“动词短语”、“名词”等这些不含有语义信息的纯语法类别,用所讨论领域的专门信息,像“山”、“水”、“动物”等这些具有很强语义约束的语义类别来代替。利用语义文法进行语义分析,就可以排除像“论文收到教授”这类无意义的句子。 为了说明语义文法在语义分析方面的作用,下面给出一个关于舰船信息的具体例子: S ? PRESENT the ATTRIBUTE of SHIP PRESENT ? what is | can you tell me ATTRIBUTE ? length | class SHIP ? the SHIPNAME | CLASSNAME class ship SHIPNAME ? Huanghe | Changjiang CLASSNAME ? carrier | submarine 上述重写规则从形式上与上下文无关文法一样。其中,用大写英文 字母的单词表示非终极符,小写英文示终极符,竖线表示“或”的意思。 语义文法的分析过程与上下文无关文法类似,利用上面给出的语义文法,可以从语义上识别以下的输入: what is the length of the Huanghe? 265 Can you tell me the class of the Changjiang? 作为练习,请读者自己完成这两个句子的语义分析过程。 语义文法不仅可以排除无意义的句子,而且具有较高的分析效率。但是,它只能适应于严格限制的领域,当把一个应用领域的文法移植到另一领域时,修改文法的工作量相当大,有的甚至需要完全重写。 8.4.2 、格文法 格文法(Cass Grammar)是以句子的中心动词为主导,并用格来表示其它成分与此中心动词之间的语义关系的一种描述方法。格文法及其分析比较复杂,这里仅讨论格的简单概念,格框架的简化表示,以及格文法分析的大致过程。 1. 格和格框架 “格”这个词来源于传统语法,但它与传统语法中的格有着本质不同。在传统语法中,格仅表示一个词或短语再句子中的功能,如主格、宾格、等,反映的也只是词尾的变化规则,故称为表层格。在格文法中,格表示的是语义方面的关系,反映的是句子中所包含的思想、观念等,故称为深层格。“格”是一个一般的概念,相对于中心动词的不同语义关系,格可以分为许多种。例如,在句子 John gave the book to Sally 中,相对于中心动词gave,John是这个行为的发出者,称为动作格;the book是行为作用的对象,称为受动格;Sally是行为作用对象所到 266 达的目标,称为目标格。 至于一套正确的深层格究竟应包括多少个格,以及这些格的明确含义是什么,目前尚无定论。下面给出一个描述行为的句子,它所涉及的深层各主要有: Agent(施事),动作主格,指行为的施动者; Object(受事),受动者格,指行为作用的对象; Co-Agent(共施事),帮助者格,指行为施动者实施该行为时的合作者; Instrument(工具),工具格,指施事者或共施事者实现行为中所使用的对象; Time(时间),时间格,指行为发生的时间; Source(来源),来源格,指行为作用对象移出的位置; Goal(目标),目标格,指行为作用对象到达的位置; Trajectory(轨迹),轨迹格,指从来源到目标所经过的路径。 在格文法中,每个句子都联系着一个框架。其中,框架名可以是相应句子的中心动词,框架的槽可分别对应于相应句子的各个深层格,每个槽的槽值为该深层格在相应句子中所代表的语义成分。通常,把这种用来描述句子深层格的框架称为格框架。以上述句子为例,其格框架可简化描述如下: [GAVE 267 Agent: John Object: the book Co-agent: Instrument: Time: Source: John Goal: Sally Trajectory: ] 其中,中心动词GAVE是这个格框架的主要概念,并作为此格框架的名字;各种格用大写字母开头的词表示,且作为相应槽的槽名;句子中具有一定语义的词或短语是格的填充物,也作为相应槽的槽值。 2. 格文法分析 应用格文法分析一个句子的过程,包括对该句子格框架空槽的填充过程,即对格框架中的每个深层格都要在输入句子中查找有无相应的格填充物。当框架中的每个深层格都被处理完后,如果输入句子能被全部识别,则分析过程正常结束,其结果将得到一个代表输入句子所含语义的实际格框架。相反,如果输入句子中还有未被识别的部分,则发生错误。其错误原因有以下两种可能,一种是输入句子不合语法,另一种是所使用的格文法不完备。作为一个正常结束的例子,前述句子分析结束 268 时所得到的实际格框架为: [GAVE Agent: John Object: the book Source: John Goal: Sally ] 在对格框架的分析填充过程中,虽然需要用到语法知识,但用到更多的则是语义知识。 上面对格文法分析过程的说明是非常粗略的,若要更详细的描述,还必须为分析过程建立一部辞典,为格框架增加相应的注释信息,还需要为深层格进行某种形式的分类,甚至当格框架递归定义时,还需要对其分析算法进行递归描述,等等。这些都无疑会增加格框架及其分析算法的复杂性。对于这些问题,有兴趣的读者可参考有关文献。 格文法的主要优点有:可以递归地处理关系从句和其它的语言结构;能够综合运用语法和语义知识,从而减少了语法和语义的歧义等。因此,是一种很有用的自然语言分析与理解技术。 269 8.5 自然语言的生成 自然语言生成就是把计算机内部以某种形式存放的需要交流的信息,以自然语言的形式表达出来。目前,开发语言生成系统的主要目的多是作为特定系统的输出接口,以附属模块的形式集成入大型的系统中,如专家系统、机器翻译、数据库系统等。以专家系统为例,语言生成可作为咨询系统或决策系统的解释器,来准确地表述由专家所得出结论。(中医处方与医嘱) 从某种意义上讲,自然语言生成是自然语言理解的一个逆过程。它一般包括以下两步: (1) 建立一种结构,以表达出需要交流的信息。也就是进行“构思”, 确定要“说”的内容; (2) 用适当的词汇和一定的语法规则,把要交流的信息以句子的形式 表达出来。 与自然语言理解相比,语言生成系统的核心任务是“说是么”和“怎么说”,是一个主动过程。在语言生成过程中,从系统的当前目标和知识库到可能的篇章内容与组织结构是一种一对多的关系,同时,从已知的语义表达到符合语法规范的文字串也是一种一对多的关系。如何在可能的选项中识别出符合当前语言环境和语法规范的选项,是语言生成系统设计的核心。 语言生成系统一般包括以下两个部分: 270 (1) 依据用户意图确定输出的语义,称为“规划模块”; (2) 把信息转化为正确的自然语言形式,称为“实现模块”。 根据两个模块间的通信方式与执行顺序的不同,语言生成系统的结构可分为串行和并行两种。串行结构是上述两个模块串行执行的一种结构形式,这种简单分割,在某种意义上是为了适应当前计算机技术的需要,但它不能真正模拟人类生成语言的过程。并行结构是上述两个模块交叉执行的一种结构形式,它符合人类的思维特点,例如,人类通常是在全盘考虑好完整的语句之前就开始说话,并边说边考虑。但是,这种结构方式需要在实现过程中保证每次规划都能围绕同一个通信目标,并且既不发生冲突,又保持文本的既定风格不变,这是相当困难的。这种方式目前还很不成熟。 语言生成系统中使用最广泛的语法是“系统功能语法”。它以语义生成机制为研究对象,重点是研究语言的功能,探讨如何运用语言资源表达意义。系统功能语法的思想核心是:语境、系统、功能,认为语言具有社会性、系统性和功能性。语境指语言的社会特征。语言的社会性认为语言是一种社会行为,具有一定的潜势,语言的行为潜势是指某个语言团体使用语言能力的总和,即说话者用语言表达意义的总和。语言的系统性认为语言是一组由子系统构成的网络,即语言是系统的系统。语言的功能性认为语言是社会交往的工具,其功能与语境和语义相联系,语义受语言的社会应用制约,并通过语言的各种功能来体现。由于系统 271 功能语法是以语义生成机制为研究对象,因此,在自然语言生成方面越来越受到重视。 8.6 自然语言理解系统的层次模型 语言交流是一种基于知识的通讯处理,说话者和听话者都是在做信息处理。目前,人类尚未彻底揭开人脑处理和理解语言的奥秘,要用计算机的符号处理和推理功能来实现自然语言理解,还必须建立相应的语言理解系统。 通常,人们在说话时都有一个明确的目的,如表达一个观点,传递某一信息,或指使对方去做某件事情,然后通过处理生成一串文字或声音送给接收者。其中,说话者除需要选择用词、句子结构、重音、语调外,还必须在话题中融入以前或上一段谈话时所积累的知识。 由于自然语言的构成是层次化的,其处理也应该是一个层次化的过 知识 处理 数据存取 程。分层可以将一个非 语音规则 语音处理 语言声音 常复杂的过程分解为一 语法规则 词法处理 音 素 个个模块化的、模块间 辞典(词条) 词汇处理 词 素 相互独立的、有的 句法规则 句法处理 词 过程。语言理解系统的 辞典(概念) 层次模型如图8-12所 语义规则 语义处理 句法结构 示。 演绎、推理规则 概念逻辑推理 知识表达 图 8-12 语言理解的层次模型 272 在该模型中,左边的知识是长期存储的,而右边的数据则是短期存 储的。这种分层模型提供了一个顺序逐层处理的过程,但遗憾的是,人 类对语言理解过程也并不完全是按照这种模型进行的。人们常常要从语 义的角度来理解句法结构,从语法结构的角度来分析词类,不然的话则 无法理解。例如,我们经常会听到一些完全不符合传统语法的话,但却 同样可以被听懂和理解。因此,如果系统严格的按照这种逐层方式工作 是靠不住的,原因是只要在低层次上稍有问题,整个理解过程就会完全 崩溃。 更为完善的模型可以通过保留上述分层模型,但打破层次界限的方 式来建立。例如,采用“黑板”系统,将所有的数据的存取都放入黑板, 各个处理层既可以从黑板获取信息,又可以将处理结果再放回黑板。这 样,每个处理器不限于只能使用上一级的结果,而可以使用所有层次的 信息。 练 习 题 八 8-1 什么是自然语言和自然语言理解,自然语言理解过程有哪些层次,各层次的功能如 何, 8-2 对下列每个语句给出文法分析树: (1) John wanted to go the movie with Sally. (2) John wanted to go to the movie with Robert Redford. (3) I heard the story listening to the radio. (4) I heard the kids listening to the radio. 8-3 写出识别含有助动词的动词短语的ATN文法。试用此文法来处理下述短语: (1) went (2) should have gone (3) had been going (4) would have been going 273 (5) would go 不希望产生能处理所有动词短语的ATN,但可用适当的结构设计一个处理包括上述短语在内的最普通的动词短语的ATN。 8-4 用格结构表达下列语句: (1) The plane flew above the clouds. (2) John flew to New York. (3) The co-pilot flew the plane. 8-5 什么是自然语言生成,它包括哪两个主要步骤, 274
/
本文档为【自然语言理解】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索