




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第17章 对话代理的定义,本章讨论对话代理(Conversational Agent)的一些概念。这里的对话代理是指能够完全参与正常对话的代理,实现这种代理的系统可以用于任何需要用语言进行人机交互的应用中,如问答系统、决策支持系统等。 17.1 什么是建立对话代理所必需的 17.2 语言是多行为者的活动 17.3 认知状态的表示:信念 17.4 认知状态的表示:愿望、意图和计划 17.5 说话动作与交谈动作 17.6 交谈动作的设计 17.7 交谈动作与意图的识别 17.8 对话中意图的来源 17.9 非语法动作的识别 17.10 篇章结构设计,17.1 什么是建立对话代理所必需的 问题 为什
2、么代理能说话?是什么促使它去说,或者去尝试理解那些对它说的话? 答案 只需编写程序使它这样做就可以了。 例如,一个数据库问答代理的行为可以用一个交替执行下列两个步骤的程序来定义: 1、把输入的问题分析并理解为表示查询的逻辑形式; 2、对数据库执行该查询,并根据返回的结果产生输出。 如果你给它的不是关于该数据库的问题,它可能就无法恰当地做出反应。而且,它表现不出任何能让人认为它是智能化的独立的行为。 不足:不够智能化,或者说,不太善于交谈。 解决方法:采用一种更能反映人类行为动因的表示法,将某些智能逐步灌输到系统的行为中。,人的行为 人类之所以有所行动是因为他们有自己想要达到的目标。而且,人类会
3、注意到他们所处的境况,并对这个境况有各种积极的或消极的感觉。在某种意义上,他们通常是为了获得更好的境况而行动的。 例如,如果你发现自己正站在高速公路上,你很可能会离开。 这个行为虽然简单,但需要设定一个复杂的认识结构才能很好地解释: 基于视觉,你相信自己在高速公路上 经过推断得出往回走比继续往前能更快离开高速公路 往回走离开高速公路,智能代理的重要组成部分 知觉(perception):代理必须能够感知它周围的世界 信念(beliefs):代理必须具有表示世界当前状态的方法 愿望/需要(desires/wants):代理必须对世界的各种状态有积极的或消极的反应,并创建一种比较状态理想程度的方法
4、 计划/推理(planning/reasoning):代理必须能够对达到其它状态的各种方法进行推理 提交(commitment):代理必须能够决定是否为达到一个不同的状态而行动 意图(intentions):代理必须能够坚持已经确定的行动过程 行动(acting):代理必须能够采取行动从而改变它的状态,知觉、计划、提交和行动是过程,而信念、愿望和意图是代理认知状态的一部分。这样的模型有时称为BDI(信念、愿望和意图)模型。 本章的焦点是语言代理,它唯一的知觉来自对它说的话,它唯一的动作是产生对话。,计划 知觉 行动,信念,愿望,意图,提交,图17.1 智能代理的BDI模型 方框表示认知状态的某
5、个方面,其它的标记指出同时进行的行为过程。代理根据知觉不断地更新信念,并用信念推理各种可能的计划,同时根据信念和愿望提交一定的意图,并通过行动实现这些意图。,说话动作(speech acts) 为了将上述模型用于语言,代理必须能清楚地做说出句子的动作。这种涉及语言的动作称为说话动作。 在对话代理的研制中起着重要作用。 可以用英语动词来命名,例如:询问ask、要求request、告知inform、否认deny、祝贺congratulate、确认confirm和允诺promise。 我们必须能够定义并推理说话动作。 然而,结果证明说话动作的定义比其它动作的定义复杂多了,这是因为它们涉及不止一个代理
6、,即它们是相互交谈的动作;而且,它们是根据代理的认知状态来定义的,而不是根据世界的物理性质。,返回,17.2 语言是多行为者的活动 交流的必要条件 必须涉及多个行为者 你无法在一个没有其他人的房间里通过说话来交流。其它形式的交流,诸如书写,可以延长交流的时间。你现在写的东西可能十年后才被看到。但在所有情况中,交流的意图是使一个人可以影响其他人的认知状态。 如果其中一个行为者没能识别出其他人的交流意图,交流无法进行 例如,假设Jack和Sue参与了间谍活动,他们制定出一个方案,就是当Sue来见Jack是安全的时候,Jack就把他的窗户打开。由此,Jack可以利用窗户跟Sue交流。他打开窗户,当S
7、ue看到它时就明白现在去见Jack是安全的。,假设有一天Jack因为天气热而打开窗户,Sue看到了并断定现在去见Jack是安全的。这是一个误会,因为这个打开的窗户并不表示现在是安全的,因为Jack不是出于这个意图打开窗户的。相反地,假设尽管天气很热,但Jack确实是为了向Sue发信号才打开窗户的。然而,当Sue看到时她断定是因为天气太热,Jack为了凉快些才打开窗户的。这样Jack的交流意图失败了,因为Sue没能识别出他打开窗户的意图。 因此,只有当一个行为者试图交流并且其他行为者识别出这个意图时,交流才能进行。 要求对一致的含义有一致的约定 上例子中,只需要两个约定的信号-窗户打开(表示安全
8、)而窗户关闭(表示不安全)。Jack和Sue定义了他们自己的私人语言,并且只要Jack在炎热的天气里小心些,这个语言运用的还是相当好的。,这些必要条件同样也是语言交流的基础。但它们在语言中根深蒂固以至于我们往往没有注意到它们。实际上,对我们来说,只要看到由一系列单词组成的句子就足以断定它是交流意图。这是因为,与窗户的例子不同,说话和写字这样的身体动作很少用于交流之外的其他目的。 注意,窗户这个例子的关键恰恰是利用了歧义。打开窗户的动作可以被用于两种不同的目的-与Sue交流和获得一些新鲜空气。这个例子说明了身体动作与交谈动作是有重大区别的。,说话时将完成的三个动作: 语法动作(locutiona
9、ry act)-说出一系列单词的动作 语义动作(illocutionary act)-说话者在说这些单词时实现的动作 准效果动作(perlocutionary act)-作为说话结果的动作。 窗口语言的例子举例说明了这些不同动作。Jack打开窗户是locutionary act,并且正如我们看到的它可能有也可能没有交流的意图。当Jack为了发出一切顺利的信号而打开窗户时,他同时也完成了一个illocutionary act,它标志着一切顺利。如果Sue看到这个打开的窗户并识别出Jack的意图,从而知道一切顺利,那么一个perlocutionary act,即使Sue相信一切顺利,也发生了。,有
10、些动词可以描述illocutionary act,而另一些则描述perlocutionary act。 illocutionary act可以用在那些明确地命名了被执行的动作的句子中。这样的用法称为明确执行的(explicit performative)。 例1:I hereby promise to mow the lawn. 例2:I hereby inform you the your bank account is overdrawn. perlocutionary act是说话时估计将会发生的事情,但它的发生并不受说话者的控制。 例3:*I hereby convince you t
11、hat your bank account is overdrawn. perlocutionary act也可能在没有任何行为者识别出任何交流意图的情况下完成。 例如,Sue可以将Jack的银行财务报告书留在桌上,这样当Jack看到它时,尽管Sue不在附近,但仍然可以使Jack相信他的银行账目透支了。,识别说话者的illocutionary act的意图是语言理解中的一个难题。因为同样的locutionary act 可能产生不同的 illocutionary act。 例如,在句子Do you know the time?中可能产生表一般疑问的illocutionary act,或者询问时
12、间的动作,或者试图告诉听者时间的动作,这取决于说话者的意图。 语言中有许多方法可用于明确地表明意图。利用明确执行就是实现这一点的一种方法,虽然它将使语言变得非常正式和死板。另一种方法是使用please。如果我们把please加到这个句子中,它可以理解为一般疑问或者提供的意图。不幸的是,这类明确的信号在英语中相对较少,因而从上下文来识别意图是识别正确解释过程中的一个重要问题。,语言交流需要协调和监督 参与语言交流的多个行为者之间需要一些可协调他们的交谈动作和监督他们是否理解的方法。在对话中,行为者利用各种技巧来表明他们理解对方所说的,例如: 诸如I understand之类的明确声明 诸如OK之
13、类的简单确认 其他策略,如重复先前的部分谈话 例如,人们交换电话号码时,典型地,第一个行为者说出号码,然后其它的行为者重复这个号码,最后第一个行为者确认它。 对于两个行为者有各种方法可用于确认他们对所交流的事物取得一致意见。确认彼此认同对于任何对话都是一个重要的方面。,返回,17.3 认知状态的表示:信念 有很多方法可以用来表示代理的信念,本节主要介绍基于知识库(KB)的信念空间模型。 用知识库来表示代理的信念,即代理相信且仅相信KB中的事物。 缺点: 产生的是一个有限的代理,很难用于交流。例如,它无法表示关于其它行为者的信念的信息。 没有自己的意识,因为它不能区别它所相信的与那些它通过观察认
14、为是真的。因此,它很难利用感知进一步了解世界。,信念空间(belief spaces) 把KB划分为不同的区域,称为信念空间。每个空间只是一个命题的集合,独立地指明一个KB。每个空间均可以用于表示某个行为者的信念。 对于两个派别之间的谈话,我们可能需要两个空间分别表示两派各自的信念。但这不是一个非常直观的单个行为者的信念模型,因为它似乎使得行为者可以直接访问其它行为者的信念。相反地,如果所有的信念都是相对于我们正在构造的这个行为者的会更好些。 谓词BEL 谓词BEL将一个行为者与一个信念空间联系起来,并且如果该空间表示了这个行为者的信念的特性,则这个谓词为真。利用这个谓词,命题可以出现在其它空
15、间中,它允许我们定义一个嵌套的信念空间的层次结构。,BEL(Jack1, BS1) BEL(Jack1, Dog(Fido1) BEL(Jack1, x : Dog(x).Bark(x) BEL(Jack1, BEL(Sue1, Dog(Fido1) BEL(Jack1, BEL(Sue1, x : Dog(x).Bark(x) BEL(Jack1, BEL(Sue1, x : Dog(x).Bark(x) Fierce(x) 逻辑形式的叙述 使用信念空间的叙述,BS1: Jacks beliefs Dog(Fido1) x : Dog(x).Bark(x) BEL(Sue1, BS2),BS
16、1:Jacks beliefs about Sues beliefs Dog(Fido1) x : Dog(x).Bark(x) x : Dog(x).Bark(x) Fierce(x),图 17.2 信念空间中信念的表示 这是一个简单的例子。图的两边所示的是相同的命题集合,使用了8.3中描述的表示信念的情态运算符Bel,以及信念空间方法。这个KB声称空间BS1描述了Jack的信念,BS1中的命题有:Fido是狗,狗会叫。空间BS2描述了Sue的信念。空间BS2描述了Jack相信Sue相信的所有命题:Fido是狗,狗会叫,所有会叫的狗都是凶恶的。,明确信念与隐含信念 相信某事有两种不同的含义:
17、 明确信念(explicit beliefs):指那些罗列在其专属空间中的命题。 隐含信念(implicit beliefs):指那些可以通过某些推理过程从明确信念中推导出来的命题。 当我们说某人相信某事时,比如Jack相信世界是平的,我们通常的意思是某事与明确信念的观念极其相似,也许只允许极其有限的推理形式。但考虑另一种情况,即Jack有一个信念集合可以逻辑地推出世界是平的,尽管Jack从来没有从这些推理中认识到这一联系。在这种情况中,虽然他有“世界是平的”这样的隐含信念,但我们通常不会说Jack相信世界是平的。,区分“你所相信的”与“你相信其他人相信”,对交流的理解是很重要的,尤其是当两个
18、交谈者有不同的信念时。 例:假设Jack认为他的橱柜上用的是把密码锁,但他相信Sue认为这个橱柜用的是把钥匙锁。当Sue向他要钥匙时,他应该识别Sue的计划是要打开橱柜,尽管就他的观点而言,用钥匙打开他的橱柜是一个错误的计划。 信念模型对于确定名词短语的预期指代对象是十分重要的。 例:假设Sue知道某一本书-比如,The Revenge of Mrs.Smith-在Jack的办公室里,但她相信Jack以为这本书在休息室的桌上。那么,如果Jack问她,Have you read the book on the table in the lounge?,她应该意识到他指的是The Revenge
19、of Mrs.Smith,尽管Jack用于指代这本书的描述并不准确。,信念嵌套与共享知识 行为者关于其它行为者的信念的信念在语言理解中起着重要的作用。问题是为了理解所有语言,需要多深的信念嵌套。 例:假定Jack相信当Sue说外面在下雨时,Sue以为自己成功地欺骗了Jack。在这种情况中,Jack相信下列事情: Jack相信:没下雨。 Jack相信Sue相信:没下雨。 Jack相信Sue相信Jack相信:下雨了。 Jack和Sue都相信没下雨,但Jack也相信Sue相信他以为下雨了,因为他认为Sue以为她的谎言成功了。,解决这个问题的一种方法是引入共享知识的概念。 共享知识(shared kn
20、owledge)是指所有行为者都知道并且知道对方也知道的信息。共享知识来自行为者所处的共同的背景和境况,并且包含了世界的一般知识(如:常见的动作是如何做的,对象的标准类型层次分类,我们所生活的社会的一般事实,等等)。互相认识对方或有共同职业的行为者,由于他们之间的互相影响和他们在该领域中所受的教育,也具有相当可观的共享知识。 如果行为者仅利用共享知识来构造他们的计划,他们就可以确信这个计划可以成功地被识别。因此,共享知识在成功的交流中起着重要的作用。然而,交谈内容中的个别信念却可能起着中心作用,这些知识中的大部分运用于理解他人的知识时,也将成为共享知识。,关于其它人的信念的知识 形式(Know
21、Ref):你知道其它行为者知道某件事,但你并不知道他们知道的具体是什么。 例:Jack可能相信Sue知道她母亲的名字,尽管Jack并不知道这个名字。 不能将这个情况简单地表示为将一个事实添加到恰当的信念空间中,因为Jack不知道Sue的母亲的名字,因而就不存在可以添加到恰当空间中的形如 NameOf(Mother(Sue1),xxx)的公式。如果我们使用一个Skolem常量比如,Sk33 并把 NameOf(Mother(Sue1),Sk33)添加到Sue的信念空间中,它仅表明Sue相信她母亲有名字,这根本不是正确的事实。在模型逻辑中,这等价于公式 1、Bel(Sue,$!x. NameOf(
22、Mother(Sue1),x),在模型逻辑中,该问题的一般解决方法是允许量词出现在信念运算符的外面。 例: 公式1意味着Sue相信她母亲有名字,而 2、$!x. Bel(Sue, NameOf(Mother(Sue1),x) 则意味着它确实知道这个名字是什么。 不幸的是,大部分知识表示法都用Skolem化来处理存在量词,而在简单的Skolem化过程中,作用域覆盖情态运算符的量词不会被保留。然而,我们可以通过创建这些Skolem和变量的信念空间来索引它们,从而获得这些作用域的区别。 例:把对应于公式1的事实添加到KB中,将产生一个基于信息空间BS2的Skolem(即,Jack相信Sue所相信的)
23、,并将得到事实: 3、NameOf(Mother(Sue1),Sk1BS2) 并将其添加到BS2中。,添加对应于公式1的事实,将创建一个基于信念空间BS1的Skolem(即,Jack所相信的),并将 4、NameOf(Mother(Sue1),Sk2BS1) 添加到BS1中。 这种保留存在量词作用域的方法必须有相应的证明方法来验证存在性描述,并区分诸如Does Sue believe that her mother has a name?与Does Sue know her mothers name?的询问。为此,推理系统必须能够限制变量,以便它们仅匹配那些在恰当的信息空间中定义的对象。 例:
24、假设公式1是断言,并由此得到公式3添加到BS2中。现在假设询问公式2。利用这种标准公式,公式2将被翻译成如下形式的询问: 5、Bel(Sue,NameOf(Mother(Sue1),?x),这将在BS2中得到询问公式 NameOf(Mother(Sue1),?x)。但这将与公式3 (对应于断言1)合一。这个问题之所以产生是因为变量?x只能匹配BS1中定义的对象,但Sk1却是在BS2中定义的。如果变量是按照空间索引的,问题就可以避免。 可以扩展合一,使得在空间X中定义的变量只能匹配那些在可以访问X的空间中定义的对象。这种可访问关系将用信念空间的嵌套层次来定义。 例:在BS1中定义的常量在BS2中
25、是可访问的,但反之不成立。,KBVariable Jack?XBS1?XBS2 BS1Constant SueMaryKBsucceedsucceed BS2sk1BS1succeedsucceed sk2BS2 failsucceed,图17.3 根据信念空间索引的变量与常量的匹配 为了方便,我们可以定义一个新的运算符KnowRef,用来表示一个对象知道唯一一个满足某描述的对象,该对象用-表达式来表示。特别地, 6、KnowRef(A,xPx) $!y. Bel(A,(xPx)y) $!y. Bel(A, Py) 例:公式2就等价于 KnowRef(Sue1, xNameOf(Mother(
26、Sue1),x),形式(KnowIf):知道某人知道某个事实是否为真,但行为者本身并不知道它是否为真。 例:Jack可能相信Sue知道她是否拥有Fido。这在模型逻辑中可以表示为信念的析取即,Jack相信Sue相信自己拥有Fido,或者,Sue相信自己不拥有Fido。 析取是在信念运算符内的 7、Bel(Sue1, Own(Sue1, Fido)Own(Sue1, Fido) 那么,Sue相信自己拥有Fido或者自己不拥有Fido。很显然,Sue和其他任何理智的行为者都会相信这一点。 析取在信念运算符外的情况 8、Bel(Sue1, Own(Sue1, Fido) Bel(Sue1, Own(
27、Sue1, Fido) 表示Sue知道自己是否拥有Fido。,公式8很难根据信念空间来表达。这里我们引进一个新的运算符KnowIf,它可以表达公式8中所表示的意思: 9、KnowIf(A, P)Bel(A, P)Bel(A, P) 利用信念空间将其化简为一个表达式,需要引进额外的机制,以便使你可以明确地声称某个特定公式在某信念空间中。那么,根据这种析取关系,需要定义Know。然而,我们在这种表示法中将直接使用KnowIf运算符,而不再进一步分解为更基本的形式。,形式(KnowHow):知道某人知道某个动作应该怎么做,但行为者本身并不了解这些。 这是最难处理的,但从根本上说,却又是比我们迄今为止
28、讨论过的这两种形式更重要得多。实际上,前面这两种型号可以看作是关于其它人所知道的知识的有限的特定情况。 例如,你的立体声坏了,而你又想得到如何修理方面的帮助。你知道某人,比如Joe立体声修理点的Joe,可以帮助你。Joe知道如何修理立体声并且可以告诉你你需要知道些什么。但你所知道的不足以知道用于表示这些建议的词汇。然而,你确实有关于Joe的信念的信念,以及使你能够推理出Joe就是那个可以询问的人的知识。,对于这个问题,到目前为止仅使用了非常专用的和有限的方法。典型地,这些知识中嵌入了为该系统的预期用户手工制作的启发式知识。比如,对于每一个动作集,系统可以明确地描述用户要知道什么才足以执行这个动
29、作。那么该系统就可以引入那些只是部分描述了的动作类。 例如,对于动作集FixStereo可以定义一系列(可能只是部分)前提和效果,但该系统可能并没有分解该类动作。然后她可以声称,Joe知道如何执行该FixStereo动作。因此,给定一个目标Working(S1),其中S1是一个立体声。该系统可以找到FixStereo是相关的,因为它的效果匹配这个目标,但它不能分解这个动作。那么就查找它认为知道如何执行这个动作的行为者。 这种关系可以称为KnowHow。,返回,17.4 认知状态的表示:愿望、意图和计划 在文献中有许多术语看起来似乎与愿望、意图有关,例如:计划、目标、需要和目的。本章节试图为这些
30、术语提供定义,以便获得建立对话代理模型时所必需的概念范围。当然,并不是所有研究人员都会以这里定义的这种方式来使用这些术语,但这里给出的是比较一般的解释。 愿望(desire)与意图(intention)的区别 愿望反映世界的什么状态会使这个行为者觉得愉快或不愉快。典型地,一个行为者有许多愿望,它们通常是相互矛盾的。相反地,意图一般是不矛盾的。 例:你可能希望休息一天到海边去。但另一方面,你可能也希望你的期终考试能考好,并且要做到这点你必须呆在家里学习。,这两个愿望相互矛盾,你的行为必须是这两者的某种折衷结果。你不可能同时既打算去海边又打算留在家里学习。意图与行为的关系紧密,因此你每次只能作其中
31、一件事。 愿望似乎是下意识地产生的,并使你能对特定的状态作出评价。而意图来自于对动作必须遵循的过程的深思熟虑。再看一看图17.1,你可以看到愿望和信念被看作是某个思考过程的输入,这个思考过程最终提供了动作的一种执行过程,作为你的意图。 动作意图与指向未来的意图 动作的意图(intention in action):指的是故意行为的性质。 指向未来的意图(future-directed intention):反映的是对未来的行为作出的决定。,例1:你骑自行车是无意撞到某人与你有意撞到某人,这两种情况是有很大区别的。后一种情况,你可能会因袭击而被起诉;但前一种情况则只是一个不幸的事故。 例2:如果
32、你经过深思熟虑决定忘却考试到海边去,那么你就采纳了去海边这个指向未来的意图。 具有指向未来的意图往往导致故意的行为。 例3:因为你打算去海边,那么你可能故意地选择骑自行车去(我们希望避免步行)。但指向未来的意图不是必须实现的。当你走出自行车棚的时候,可能正巧碰见你的朋友们正要去学习,你觉得很内疚以至于改变了你的想法。在这种情况中,你可能依然有去海边的意图,但你放弃它了,你现在有了学习的意图。,运算符Intend Intend把行为者与他打算要做的动作联系起来。下面给出了合理的行为者所具有的意图应该满足的一些要求: 合理性限制1-一个行为者不能打算去做两个被认为是相互排斥的动作。 合理性限制2-
33、一个行为者不能打算去做一个被认为是不可能完成的动作。 要在形式逻辑中表达这些限制是很复杂的。相反地,我们将依赖于计划过程和计划的选择,从程序上保证除非意图被认为是可完成的否则不予采纳。,计划(plan) 例:Jack has a plan for robbing the bank. 可能有两种完全不同的意思: 。Jack intends to rob the bank. “having a plan”似乎是描述Jack的指向未来意图的一种方法; 。Jack has worked out a scheme by which someone could rob the bank. “having
34、a plan”似乎则是说Jack原则上知道如何抢银行。 在后面这种意思中,一个计划指明了一个可以实现某个特定效果的动作系列,就像是一个食谱。一个食谱给出了一些系列的动作(烹调步骤),它们将导致某个结果(一道菜)。有一个食谱并不意味着你打算做这道菜。,菜谱式计划(plan-as-recipe) 菜谱式的计划的含义似乎与AI文献中计划的概念一致,正如第15章中描述的:当一个制订计划的系统构造出一个计划时,并不意味着行为者必须执行这个计划。相反地,这个工作只是简单地找到一个可以实现这个目的状态的“菜谱”。注意,与“have a plan”的这两个概念相对应,术语目标也有两个概念。这其中一种含义中目标
35、很像是意图。在另外一种含义中目标仅仅作为菜谱式计划的结果状态的名字。 有了这些约定之后,为这些不同的术语选择一些解释。术语计划(plan)将始终用于菜单式计划这个意思。换句话说,一个计划就是一个具有某特定效果的动作序列,这个效果称为该计划的目标。,计划的目标(plans goal)既可以是一个由该计划的动作序列实现的命题,也可以是一个将要由该计划的动作序列完成的动作。因此,术语计划识别(plan recognition)指的是这样一个任务,它构造一个菜谱式计划用于解释被观察的动作序列。 意图结构(intentional structure) 为了避免混淆,术语计划将永不用于指向未来的意图这个意
36、思。相反地,我们将使用行为者的意图结构这一术语。一个行为者的意图结构,如同它的信念和愿望,是它的思想状态的一部分。当该行为者着手执行一个计划时,该意图结构产生了;并且,该计划的结构与得到的意图结构将十分一致。,例:假设Jack知道一个非常单的去海边的计划,就是骑他的自行车去。这个计划仅仅是一系列信念,它表明如果Jack朝正确的方向骑,他将到达海边。后来,Jack有了去海边的愿望。,Bel(Jack1, Intends(Jack1, RideBike(Jack1)& Generates(RideBike(Jack1), Intends(Jack1, GoToBeach(Jack1) & GoTo
37、Beach(Jack1) Intends(Jack1, Generates(RideBike(Jack1), GoToBeach(Jack1) 知道一个去海边的计划打算去海边,图17.4 Jack has a plan to go the beach的两种解释 注意,“骑车去海边”这个意图必须包括这两个动作以及它们之间的产生关系。如果你删除了骑自行车这个动作,那么Jack将打算去海边,但没有特定的到达那里的,方法。如果你删除了去海边这一动作,那么Jack将打算骑自行车,但并不是必须最终到达海边。如果你删除了这个产生关系,那么Jack可能分别完成每一个动作,比如先骑自行车然后走路去海边。 “知道
38、一个计划”与“有一系列意图”之间的区别在本文中有时将被忽略,因为用知识表示法表示它们的一种自然的方法是对它们采用非常相似的表示法。 图17.5对比了Jack知道一个菜谱式计划与Jack有一个意图的表示法。它使用的是第15章提出的图表示法,并把该图放在一个空间中,表示Jack认为该计划是可行的。另一方面,表示意图结构的一种自然的方法也是使用一种新型的空间,它作为Intend运算符的参数。产生混淆是因为除了空间解释的不同外,在这两种情况种都采用了相同的计划图。,BS1: Jacks beliefs BS1: Jacks beliefs ValidPlan(PS1) Intend(Jack1, IS
39、1) PS1: A plan to accomplish IS1: Jacks intentional state GoToBeach(Jack1) generates generates GoToBeach(Jack1) GoToBeach(Jack1),RideBike(Jack1),RideBike(Jack1),Jack知道一个去海边的计划 Jack打算去海边 图17.5 知道一个计划与打算实施一个计划,小结 下面列出的是本章节中讨论的所有概念以及它们在我们的BDI模型中的相互关系。 信念(belief):运算符Bel及信念空间。 指向未来的意图(futrue-directed int
40、ention):运算符Intend及意向的状态空间。 动作意图(intention-in-action):执行一个动作,因为它是在该意向空间中。 菜谱式计划(plan-as-recipe):一个计划,在计划空间中典型地表示为一个计划图。 在意图意义上有一个计划(having a plan in the intentional sense):与指向未来的意图相同。 (行为者的)目标(goal(of an agent):一个指向未来的意图。 (计划的)目标(goal(of a plan):计划图中的一个最终效果。 愿望(desires):未分析的;在创造目标和评价计划的决策过程中意识到。 需要(w
41、ants):愿望的同义词。,返回,17.5 说话动作与交谈动作 正如前面描述的,说话动作就是由谈话来完成的动作,并且我们希望能用第15章中提出的动作模型来表示它们。然而,由于交谈动作本质上是多行为者的,而且它们的效果是根据行为者认知状态的改变来定义,因此较为复杂。下面先考虑其中的一些复杂性。 对制定计划而言,最重要的是预期的perlocutionary act,因为它们描述了行为者说话时所具有的预期效果。例如,行为者将根据如何使其它行为者确信某事实为真或者如何使其它的行为者确信必须执行某一动作来构造一个计划。为了完成这样的一个动作,该行为者将执行一个illocutionary act(例如主张
42、或要求),并希望其他行为者也做这件事,以便完成这个perlocutionary act。当然,为了完成这个illocutionary act,行为者将执行一个包括说出恰当的句子在内的locutionary act。,这里研究的动作模型也涉及交谈动作,它与由illocutionary act产生的perlocutionary act是一致的。例如,交谈动作ConvinceByInform涉及通过叙述某一命题为真使其它行为者相信它。考虑这个交谈动作的成功执行应涉及什么是非常有益的。 例:考虑对于Sam成功地ConvinceByInform Helen下雨了,必须为真的步骤是: 1)Sam出于告诉H
43、elen事实的意图说Its raining 2)Helen听到句子Its raining并识别出Sam想告诉她这一事实的意图。因此,Helen断定Sam打算让她相信下雨了 3)Helen考虑下雨了这一事实的证据,包括Sam告诉她下雨了这一事实 4)Helen终于相信下雨了 所有这些步骤都是必不可少的。为了证明这一点,考虑删除任意一个步骤。, 删除步骤1中的locutionary act,那么Sam没说任何东西,因此必定没有告诉Helen下雨了。 删除步骤1中的意图条件,那么得到的是Sam只是在随意地说话(比如,Sam处于催眠状态)这样一个不可信的情节。即使Helen被骗了,并执行了剩下的所有步
44、骤,此后Sam仍然可以否认她告诉Heln说下雨了。他可以声称他并不知道自己说了什么,因此Helen不能给Sam说的话附上任何含义。 删除步骤2中Helen听到这句话这个条件,那么Helen根本没听到这句话,因此不可能执行剩下的步骤。 删除步骤2中Helen识别出Sam的意图这一条件,那么Helen虽然听到Sam说话,但不明白Sam为什么要对自己说这些,即她无法识别这个illocutionary act。即使她执行了剩下的的那些步骤,并最终相信下雨了,她仍可以否认Sam告诉过她这一事实。, 删除了步骤3,那么尽管Helen识别出Sam试图告诉她某事,Helen完全忽略了Sam告诉她的信息。这说起
45、来至少是不礼貌的,但假设情况是这样,即使她相信下雨了,这种信念都将与Same所说的无关。 删除步骤4,那么尽管Sam告诉Helen下雨了,但却没能使Helen相信这一点。在这种情况中,illocutionary act Inform成功了,但交谈动作ConvinceByInform却失败了。 尽管对于说话动作的所有三个层次可以有不同的动作表示法,但为行为者的一般推理提供最重要联系的却是交谈动作。图17.6所示的是任何交谈模型中都需要的两个基本交谈动作的定义,它们对应于简单的Inform和Request。,The Action Class ConvinceByInform(e): Roles:
46、Speaker, Hearer, Prop Constrains: Agent(Speaker), Agent(Hearer), Proposition(Prop), Bel(Speaker, Prop) Proconditions: At(Speaker, Loc(Hearer) Effects: Bel(Hearer, Prop) The Action Class MotivateByRequest (e): Roles: Speaker, Hearer, Act Constrains: Agent(Speaker), Agent(Hearer), Action(Act) Procondi
47、tions: At(Speaker, Loc(Hearer) Effects: Intend(Hearer, Act),图17.6 两个交谈动作的定义 这些定义建立在行为者是诚实的这一假设之上。例如,对ConvinceByInform的一个限制是说话者相信所主张的命题。,当然,诚实这个条件在处理诸如说谎的动作时应被丢弃,但这样复杂的动作超出了我们可能建立的大部分对话代理的需要。在此不讨论这个包含illocutionary act的分解。与理解非语法化动作有关的问题将推迟到17.9中讨论。,返回,17.6 交谈动作的设计 例:考虑Jack打算买火车票时的情景。 假设Jack并不知道车票的确切价格
48、,但他知道一个购买的计划,这个计划包括下列两个子步骤(根据图15.4中Buy的定义): 10、Give(Jack1, Clerk1, Price(Ticket1) 11、Give(Clerk1, Jack1, Ticket1) Jack不能简单地将这个计划直接作为一系列意图。 问题: 11涉及到其它行为者的动作,这不能由Jack来直接计划。然而这一步骤又是Jack计划的重要部分,因此不能将其简单地忽略。 实际上,有一些作为11的组成部分的事物是Jack必须做的。因为“给”是一个多行为者的动作,它需要两个行为者:一个供应,另一个接受。因此,我们可以用“给”动作中属于Jack的那部分动作来取代11
49、。,解决方法:动作运算符MyPartOf MyPartOf需要一个行为者和一个涉及多行为者的动作A,并产生一个动作,该动作是这个行为者的任务或者是A的一部分。 例:动作MyPartOf(Jack1,Give(Clerk1, Jack1, Ticket1)可能将包括Jack伸出手,等着车票,然后抓住车票。 动作MyPartOf(Clerk1,Give(Clerk1, Jack1, Ticket1)可能将包括把车票放在Jack的手里,并放开它。 这个函数也可用于单个行为者的动作。如果指定的行为者就是该动作的行为者,那么它是一个等价函数。 例:MyPartOf(Jack1,Grasp(Jack1,
50、Ticket1) = Grasp(Jack1, Ticket1) 如果行为者不同,那么这个函数表示某动作并不妨碍其它行为者也做这个动作。,根据这个计划得到的意图可能要做下列动作: 12、MyPartOf(Jack1, Give(Jack1, Clerk1, Price(Ticket1) 13、MyPartOf(Jack1, Give(Clerk1, Jack1, Ticket1) 这些动作至少可能是Jack打算要做的,但这仍然不是一个非常有用的意图系列。尤其是,如果售票员没完成属于他的那部分动作,那么即使Jack做了自己的那部分动作也是没有用的。到目前为止,Jack的意图中没有涉及到如何使售票
51、员参与到他的计划中来的问题。为此,Jack必须与售票员交流并使他也正好有这个意图。 问题:由于Jack不知道车票的价格,因此他可能根本无法完成第一个动作。 这揭示了一个一般的动作限制,这一点在此之前一直被忽略的。无论执行什么动作,行为者必须知道该动,作的参数值。对于行为者必须知道参数值的动作,这个限制可以看作是这个动作的一个明确的前提集。这有时称为知识前提(knowledge preconditions)。本例中明确的前提是: 14、KnowRef(Jack1, x(Price(Ticket1)= x) 那么这将称为Jack的一个新目标。 直观地,实现这个目标有很多种的方法。它可以查阅车费一览
52、表,或者他可以询问某个知道这个价格的人。后面这种方法涉及语言,因此本例将采用后者。 解决方法:ConvinceByInform动作 假设Jack有理由相信由售票员执行ConvinceByInform动作可以实现他的目标。为了使售票员做这个动作,Jack可能打算请求售票员做这个Inform动作。但他请求售票员做的动作是什么呢?由于Jack并不知道车票的价格,他无法表达售票员必须做的这个动作。这与我们在表达“某人知道某事,,但我们却不知道事情是什么”这类事实时遇到的是同样的问题。解决方法是引入两个额外的用于计划的Inform动作,即使用前面引入的如图17.7所示的KnowRef和KnowIf运算符
53、。,The Action Class ConvinceByInformRef(e): Roles: Speaker, Hearer, Pred Constrains: Agent(Speaker), Agent(Hearer), UnaryPred(Predx), KnowRef(Speaker, Predx) Proconditions: At(Speaker, Loc(Hearer) Effects: KnowRef(Hearer, Predx) The Action Class MotivateByInformIf (e): Roles: Speaker, Hearer, Prop Co
54、nstrains: Agent(Speaker), Agent(Hearer), Proposition(Prop), KnowIf(Speaker, Prop) Proconditions: At(Speaker, Loc(Hearer) Effects: KnowIf(Hearer, Prop),图17.7 可获得信息的ConvinceByInform的变体,小结:迄今为止,Jack的计划存在两个问题: 没理由指望售票员会去完成计划中所需的属于他的那部分动作; Jack也没有足够的信息来完成计划中属于他自己的那部分动作。 如果Jack可以影响售票员的意图结构,使售票员告诉他车票的价格并且参
55、与到“买”这个动作中来,那么这两个问题都可以解决。 尤其是,Jack需要售票员做下列动作: 15、MyPartOf(Clerk1, ConvinceByInformRef(Clerk1, Jack1, x(Price(Ticket1)= x) 16、MyPartOf(Clerk1, Give(Jack1, Clerk1, Price(Ticket1) 17、MyPartOf(Clerk1, Give(Clerk1, Jack1, Ticket1),解决方法:MotivateByRequest动作 Jack无法仅凭自己的意愿使这些动作发生,但他可以尝试使售票员获知完成这些动作的意图。具体地,他可
56、以针对其中的每一个动作分别执行MotivateByRequest动作。首先,他可以计划执行下面的动作: 18、MotivateByRequest(Jack1, Clerk1, ConvinceByInformRef(Clerk1, Jack1, x(Price(Ticket1)= x) 如果成功,将达到下面这个效果: 19、Intend(Clerk1, ConvinceByInformRef(Clerk1, Jack1, x(Price(Ticket1)= x) 注意,这些动作实际上都需要加上一个MyPartOf运算符,用于表明谁做了什么,但目前当意思清楚的时候我们将去掉这种形式。,18这个请
57、求动作可以通过一个诸如询问What is the price of a ticket to Toronto?的语法动作来实现。类似地,Jack可能试图通过提出另外两个请求来使售票员做动作16和17。但是这将得到非常蹩脚的对话,例如: What is the price of a ticket to Toronto? Please take this money I am offering you. Please give me a ticket. 如果每次两个行为者相互作用时都必须这么做的话,恐怕很少能真正完成的。但Jack是怎样知道他不需要说这么多的呢?答案就在于售票员也是一个智能的行为者并
58、且他将使用世界的一般知识来理解动作。而且,根据售票员所观察到的动作,他将能够识别出Jack正打算做什么。这方面将在下一个章节中更具体地探究。但让我们先来考虑一些Jack可以依靠售票员来完成的可能的推理思路。,假定对于如“买”这样的一般动作,他们有共享知识,Jack可以依赖售票员运用这些信息来理解他的动作。 例1:假定知道价格后Jack说OK, please give me a ticket。这是针对动作17的请求。Jack将依赖售票员自己去完成下列过程:售票员运用他们共有的关于购买东西的知识进行推理后,也期待着动作16的发生并形成恰当的意图。 例2:Jack可以只说OK,然后把钱递过去。在这种
59、情况中,Jack依赖售票员自己发现他正在做购买计划中属于他的那部分动作,并且期待着售票员执行属于售票员的那部分动作。然而,这类例子已经离开了语言,因此不再继续下去。 例3:Jack可能仅仅表明了购买车票的更抽象的目标,而依赖售票员自己去识别细节。他可以说OK, Id like to buy one。这个句子表明Jack的意图是完成这个联合动作,并依赖售票员自己获得所需的补充意图以便成功该动作。,总之,在所有这些推理之后Jack可能打算执行的最终动作序列可能如下: 20、MotivateByRequest(Jack1, Clerk1, ConvinceByInformRef(Clerk1, Jack1, x(Price(Ticket1)= x) 21、MyPartO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年江苏省盐城市东台市物理高一第二学期期末统考模拟试题含解析
- 冬春季传染病防治
- 2025年山西省风陵渡中学物理高二第二学期期末经典模拟试题含解析
- 2025届甘肃省白银市二中物理高一第二学期期末综合测试模拟试题含解析
- 2025版:文化娱乐产业合作补充协议文化娱乐权益拓展
- 2025年度高端不锈钢厨具加工定制服务合同范本
- 二零二五版太阳能光伏发电项目施工安装合同样本
- 二零二五年藏式建筑装修合作协议
- 二零二五年度森林资源调查与测绘服务合同
- 二零二五年体育设施PPP项目特许经营合同
- DB11T 2442-2025 学校食堂异物管控规范
- 企业防汛培训课件模板
- 2025年武汉市汉阳区社区干事岗位招聘考试笔试试题(含答案)
- 接警调度培训课件
- 药企批生产记录培训
- 2025年高考语文全国卷试题评析-教育部教育考试院
- 吉林:用水定额(DB22-T 389-2019)
- 疼痛护理规范化管理
- 调价合同协议书怎么写
- 企业招聘授权委托书范本
- 2025年智慧校园市场分析报告
评论
0/150
提交评论