自然语言处理第13章 自然语言理解ppt课件.ppt
《自然语言处理第13章 自然语言理解ppt课件.ppt》由会员分享,可在线阅读,更多相关《自然语言处理第13章 自然语言理解ppt课件.ppt(70页珍藏版)》请在三一办公上搜索。
1、自然语言理解第十三章 知识表示和推理, 关于上下文知识的两个重要方面是:关于世界的普遍知识及语言交流时的专业知识。 知识表示为了对上下文进行分析,你需要有表示知识和进行推理的一种形式。对于这个领域的研究就是知识表示(knowledge representation)。 对于不同的研究者知识表示意味着不同的事情:对一些人来说,知识表示关心的是用来表示知识的语言的结构或者是逻辑形式、语意网络、框架,或者是其他特殊设计的表示形式。而对另一些人来说,知识表示关心的是句子的内容需要什么样的前提及句子是如何组织的。这两个问题都是很重要的。有时,看起来是一场关于知识表示的激烈争论事实上是争论的双方都只注意到
2、了知识表示的其中一方面而忽略了另一方面。,这一章没有对知识表示的形式进行更广泛的讨论。相反地,主要讨论的是知识表示和推理是如何被用来方便语言理解的。因此,将采用的是一种基于谓词演算的抽象表示。以便使有关知识表示的问题的讨论以最少量的新资料和符号来介绍。这并不意味着用在一个系统中的基本的知识表示必须采用逻辑公式或定理证明的方法做为推理的模型。 基本的知识表示系统可以是语意网络、逻辑描述、基于框架的系统、相互连接的模型或是其他形式,只要系统有起码的表示能力进行描述。,知识表示和推理 13.1 知识表示 13.2 一种基于谓词演算的知识表示 13.3 框架:描述事物各个方面的信息 13.4 自然语言
3、中的量化的表示 13.5 动词的时态和语态 13.6 基于知识表示的自动推理 13.7 过程语意学和问题的求解 13.8 混合知识表示,13.1 知识表示 在任何知识表示系统中有两种知识十分关键:对于世界的普遍知识和当前情况下的特定知识。对于世界的普遍知识的许多方面已经被认识了, 如:典型的统治阶级、部分和全体的联系等等。 这些组成了对于世界中的普遍限制的信息和语言中某些术语的语意定义。对于绝大多数来说,大部分知识是根据世界中各种各样的目标指定的,并不关心特定个体的信息。 例如,OWN1可以译成人和物之间的一种关系,而不是一个特定的人(如:John,owns a particular car.
4、)。 关于个体的信息在语言理解中同样是很重要的,它是我们称之为特定的被理解的句子系列的一个大的组成部分。事实上所有的知识表示系统支持这两者任何一个方面的推导。, 一般的世界知识对于解决许多语言解释问题是必不可少的,最重要的一个是非歧义。 例如: I read a story about evolution in ten minutes. I read a story about evolution in the last million years. 特定情况下的特定知识对于许多问题来说是很重要的,包括确定被引用的名词短语和非歧义词在当前情况下的意义。 我们往往不是很正规地把知识表示看作是用来
5、翻译知识和理解系统的。但只要引入越来越多的术语知识和规则,那越来越多的专门用语将被更精确地科学定义。一个知识表示系统包括一个称为知识库(KB:knowledge base)的句子数据库和一序列可以根据当前知识库组成新句子的推理规则集(inference techniques)。当规则集中的原始句子都是正确的时候它仅能生成正确的新的句子时,我们说这个规则集是好(sound)的。然而并不是要求所有的推理规则都必须是好的,就象我们后面将会看到的一样。,知识表示语言 由知识库中的句子定义的语言称为知识表示语言(KRL)。它很象逻辑形式语言,但有许多实际原因使他们经常不同。这两种语言是根据不同的需要被使
6、用的。逻辑形式语言是为了简化语意解释过程和有效地解决歧义,所以要有很好的表达能力。而知识表示语言在一个特定的领域内必须支持高效的预测推理。换句话说,它必须是相对简单以至可以定义从特定知识库中推导出的句子集,并建立在合理的时间内执行这些推理的计算模型。 例如:对处理数量词而言。 在逻辑形式语言中引入了大范围的数量词,与英语数量词的不同词义严密相对称。这使得非歧义技术(例如当要确定数量词范围的时候)就可以应用实际数量词之间的微妙的区别(如在each和every之间)。然而,在许多知识表示语言中,往往是一个结构只允许一些数量词或经常只是一个而已。这样推理过程可以被很简单地定义。通过保持语言的分离性及
7、在他们之间定义一个映射函数,你可以同时拥有这两个优点。当然,这个方法的成功依赖于这个映射函数是否被高效地定义。,在确定一个满足有含义的逻辑形式和高效的知识表示的最佳方法时,需要实际的研究工作。根据现有知识,保持逻辑形式和知识表示的分离看起来好象是最好的妥协办法。 当根据知识库中的公式知道一个公式P是真的时,或根据公式表示一个句子的意义时,我们说这个知识库(或句子)继承给了P。然而,通过理解语言而得出的许多结论却不是继承的产物,而是句子的隐含的东西。隐含的东西是指可以从句子中典型地推出,但在其他特定的情况下却被明确地被否定的那些结论。 例如,Jack owns two cars. In fact
8、, he owns three cars. 推理的形式 为了理解自然语言需要许多不同的推理形式。推理方法可以被分成演绎和非演绎形式。由逻辑概念的继承性证明了演绎推理形式的正当。由事实的集合,演绎推理过程可以逻辑地从这些事实得出结论。, 非演绎推理分成几类。例如包括从例子中学习一般性的推理规则(归纳推理 inductive inference)和从结论中推出原因的推理规则(展开推理的一种形式 abductive inference)。 展开推理与演绎推理是相反的,可以通过考虑公理 A B。 演绎推理当给定A利用公式可以推出B,展开推理则由B推出A,因为A是B正确的原因。 许多系统允许缺省信息的使
9、用。 缺省规则是一条可能有例外的推理规则,因而它是可废除的。如果你使用表示法 A B 写缺省信息时,那么被缺省的推理规则如下:IF A B,and A is true, and B is not provable, then conclude B. 缺省规则被认为可以对一般的句子提供好的说明。 例如,句子Birds fly可以用FOPC公式描述: xBIRDS(x) FLIES(x),可废除的规则引入了表示法中的新的复杂性。没有这些规则,大多数表示是单调的,因为增加新的断言只是增加必需的公式的数目。特别是,在单调的表示法中,如果知识库KB1推出结论C,并且如果你加入另一个公式到KB1以至形成一
10、个新的一致的知识库KB2时,那么KB2也推出C。然而这对于使用缺省规则的表示法并不适用,因而他们称为非单调的表示法。例如,考虑一个包含以下公式集的知识库K : Cat(Sampson) Sampson is a cat. TabbyCat(Sampson) Sampson is a tabby cat. c.Cat(c) Purrs(c) Cats purr.由这个知识库,你使用缺省规则可以断定Purrs(Sampson) ,因为没有信息和Purrs(s)相矛盾。另一方面,如果你添加一个新的事实:no tabby cats purr.,那么扩展后的知识库就不能再推出Sampson purrs。
11、,除了缺省规则外,有其他有用的方法可以得到非单调的结论。例如,封闭的世界假设(CWA:closed world assumption)声明了知识库KB包含了关于某些谓词的完整信息。例如,对CWA的一个谓词P,如果一个包含P的命题不能从知识库KB中推出,那么它的否定就被认为是真的。对于航空时间表的数据查询应用中,知识库KB存储了关于存在的航班信息如从Rochester到Boston的FDG100航班但它并没有明确包含否定信息即航班FDG100不飞到Chicago或没有航班FDG455。只有推理过程建立在关于航班的封闭世界假定中这样的信息才能被得出。 推理规则在知识表示系统中有两类主要的推理方法:
12、过程式和陈述式。大多数系统在某种程度上混用这两种方法,形成一个从纯粹的陈述式表示法到纯粹的过程式表示法的联合体。联合体的陈述式结果可能是一个基于逻辑的定理证明器。知识库被表示成公式集合,推理则按照演绎推理的定理证明算法执行。在一个强大的陈述式系统中,强调的是把形式语义赋值给独立于推理的表示法中的表达式。,而过程推理系统强调的是表示法中的推论性的方面。特别是它不关心知识库中的表达式在程序中如何处理。关于过程表示法的一个实例是一个使用计算机自己内置的算术过程来计算算术表达式的系统,它没有任何关于数学的明确的知识表示。实际上,过程系统用在那些经过很好的定义过的领域中的特定的推理任务时具有很高的问题求
13、解效率,但常常因为不够形式化而很难进行分析。 举个例子。继承技术在第十章就被用于语义网络中了。这种推理过程可以用过程化或陈述化的表达方法来实现。纯粹的陈述化表达方法将把关于每一个事实的子类和作用建模为一个公式,并且从标准的演绎推导中获得继承属性。如图:,ACTION,ANIMATE,AGENT,OBJ/ACTION,THEME,PHYSOBJ,上图的信息可以用以下的谓词公式来表示: 1、 x . ACTION(x) a . AGENT(x , a) & ANIMATE(a) 2、 a x . ACTION(x) & AGENT(x , a) ANIMATE(a) 3、 x . OBJ/ACTI
14、ON(x) ACTION(x) 4、 x . OBJ/ACTION(x) o . THEME(x , o) & PHYSOBJ(o) 5、 o x . OBJ/ACTION(x) & THEME(x , o) PHYSOBJ(o) 用这些公理,你可以证明类OBJ/ACTION继承了AGENT的角色。换句话说,对任一个对象A,如果OBJ/ACTION(A)是真的,就可以证明A也起了AGENT的作用。即: a.AGENT(A , a)&ANIMATE(a) 用公理3和1。 而过程式的表达方法是一个程序:它开始于某个特定的结点OBJ/ACTION,然后寻找和这个结点相连的所有的作用边。再由弧S向上到
15、子类ACTION,在那得到与之相连的所有作用边。因而任何OBJ/ACTION都有一个从类ACTION继承来的的AGENT作用边。,这两种方法得到的是相同的结果,但陈述式的表达是通过在逻辑公式上应用演绎推导,而过程式的表达则是使用一个执行转换图的程序。第一种方法看起来更加严格定义,但第二种可能更加有效。在这种情况下,你可以证明两种方法获得相同的结果,从而充分利用两种方法的优点,即:一个严格定义的语义和执行推理形式的高效程序。 返 回,13.2 基于FOPC的表示 这本书使用的知识表示语言(KRL)将是一阶的谓词演算的一个扩大的版本。注意通过选择语言,你不必一定要用推理的某一种特别的形式。例如,
16、后面的章节将显示出 KRL是怎么与演绎推理和过程推理两种技术一起使用的。 谓词演算 的语法已被介绍,这里不再描述。我们将集中于对描述自然语言句子意思时需要的标准的的谓词演算进行扩展,并介绍这种语言和逻辑形式语言之间的差别。语言的术语由常量(例如 :John1),函数(例如:父亲( John1 )),及变量(例如: x 和 y)组成。而逻辑形式语言没有使用常量,相反,它是以一对不同的变量来使得描述的上下文互相独立地来表达每件事情。在知识库中,常量被用来代表特定的个体。例如, 逻辑形式项(NAME j1 “John”)是一个短语的意思,它代表其被谈到的人物名为“John”。在给定的上下文中被谈到的
17、真正的人可能被表示成知识库中的常量 John1。,在 KRL 中使用受限量化是很方便的,它与逻辑形式语言中一般量词表示法是很相似的。限制条件由一个冒号隔开接在量词变量后面。正如第八章所提及的,对于存在和全称量词,这种表示法可以进行缩写,但并不扩大语言的表达能力。因而: x : Man(x) Happy(x) is equivalent to x : Man(x)Happy(x) x : Man(x) Happy(x) is equivalent to x : Man(x) Happy(x) 我们也需要等价谓词(a=b),它说明了a和b有同样的指示。给定一个包含常量a 的简单命题Pa ,如果 P
18、a 是真的并且a=b,那么Pb一定也是真的,且 Pb 和 Pa 一样,只不过 a 被 b 替换掉了。 许多知识表示系统没有明确使用量词。就象有广阔辖域的全程量词变量一样,量词中也包括变量。例如,知识库中的一个公式如(P ? x A)在意义上与谓词演算公式 x. P( x , A)是一致的。, skolem 化 存在量词变量用skolem 标准化的的方法来处理,就是用一个以前从未用过的新的常量来替换变量。例如:公式 y x . P(x , y) 在知识库中可能被解释成象 ( P ?x Sk1) 这样的公式,其中Sk1是一个没用过的新的常量,它表示一个已知存在的对象。 量词限定域用Skolem函数
19、来指示。例如:公式 y x . P(x , y) 在知识库中将被解释成象(P( Sk2 ?y) ?y) 这样的公式,其中Sk2 是一个新的函数,对于每一个?y的值都会相应产生一个不同的对象。 公式常常以两种方法的结合的形式来描写,即全称量词仍然存在的,而存在量词已被Skolem化了。例如:公式 y x . P(x , y) 可能被写成 y P(Sk1(y) , y)。 可以证明所有这些不同形式的表示法是等价的。, 对于基本的知识表示语言来说谓词演算在表示的形式上没有过多的限制。特别地,对于谓词代表的意思也没有过多的解释,因而在选择谓词上有很宽的可能性。一方面对于每一个词的意义你可以有一个不同的
20、谓词,必须使用形式逻辑语言中的策略。另一方面你可以预制一谓词的集合,称为原始集,每一个词意都根据原始集来定义。考虑每一种方法的优点,通过一个词义使用一个谓词,就可以抓住语义与词条之间的微妙的区别。例如:你可能有这样的信息,在知识库中定义的动作SAUNTERS1 ,包含慢慢地走,作为一个人的一种无忧无虑的状态。因而句子Jack sauntered down the street.可能与Jack walked down the street.有不同的含义。当然,要拥有大范围的谓词,且绝大多数有相似的公式定义它们,那你必须付出一定代价。尤其是对于SAUNTERS1和WALKS1有一定的重叠。 使用原
21、始集的方法时,两种意义都会产生获得基本动作的谓词或谓词集合,如MOVEBYFOOT。然后推理规则就在原始谓词集上定义。这种方法允许获得非常简洁的词之间的一般性。然而,如果没有词义上的推理规则,就很难获得词义之间微妙的区别。, 可以定义一个新的原始词以区别sauntering 和walking , 我们认为新的原始词与思想状态有关。Sauntering可能被定义成MOVEBYFOOT和CAREFREESTATE。而词义组合越复杂,原始集的表示法就显得越不利,因为原始词的数目会随着例子的增加而绝对增加。更可怕的是,推理规则也不得不建立在复杂的原始集上而不是简单的谓词上了,所以推理过程也不再是简单的
22、定义。 随着许多问题的出现,找到了一个折中的办法。特别是,基于原始集的表示法的许多优点可以通过类型继承而获得。如果你断定SAUNTERS1和WALKS1是更抽象动作MOVEBYFOOT的两个子类,那么他们可以从MOVEBYFOOT继承他们的最一般的属性,而无需额外的公式。因而当你要添加其他的公式以附上特殊的属性给SAUNTERS1时,就变的很方便了。 这种方法允许你对不完全的知识进行处理。如系统只知道SAUNTERS1是WALKING的一种类型,它不知道任何关于这个词的附加信息,但仍然可以用从MOVEBYFOOT继承的信息产生所需的许多推理规则。另外,我们知道两个词多少有些不同,但是当系统需要
23、关于sauntering的额外的知识时,这可被增加进来。, 除了继承关系,知识表示也可以利用定义词义的其他方法。如已知一个词的完整定义。你就可以定义谓词father是male parent ,即 x . FATHER(x) y PARENT(x , y) & MALE(x) 但大多数词没有精确定义。比如说没有一个属性集精确定义大多数自然种类,如dogs,cats,chairs等等。这些可以被归类成类型继承,而描述必要条件的公式可以被说明,但没有绝对的定义是可能的。作为谓词演算公式来说,这意味着这种定义只包含了一个方面的含义。例如:关于DOG1的公式可能是 x . DOG1(x) CANINE(
24、x) & DOMESTIC-PET(x)其中CANINE本身被定义成MAMMAL的子类。这样的公理获得了作为一只狗的许多重要的属性,但没有完整的定义概念。例如:某人可能有一只宠物狼满足作为一只狗的所有属性,但它仍然不是一只狗。 从产生句子的观点来看,在知识表示语言中从语言的词中抽象出来的谓词越多,越难产生基于意思的句子。,如以下的公式: p : (MaleHuman p) & c . Parent(p , c) . MoveByCar(p , L1) & Buildding(L1) & Used-for-teaching(L1) 它很自然的能实现句子All father drove to th
25、e school。为产生这样一个句子,系统不得不识别公式(Male p) & c . Parent(p , c) ,它可能逐字被识别成 male humans who have a child 作为词father 的意思,而命题 MoveByCar(p , L1) & Building(L1) & Used-for-teaching(L1) , 它将逐字被识别成 moved by car to a building used for teaching , 作为短语drove to school 的解释。 很清楚地,这需要关于特定词father 和drive 的意义的实质性知识和一个将KRL中的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自然语言处理第13章 自然语言理解ppt课件 自然语言 处理 13 理解 ppt 课件

链接地址:https://www.31ppt.com/p-1361470.html