1、2018/11/5,史忠植 高级人工智能,1,高级人工智能,第五章 案 例 推 理,Advanced Artificial Intelligence,史忠植中国科学院计算技术研究所,2018/11/5,史忠植 高级人工智能,2,第三章 案例 推理,5.1 概述 5.2 流程 5.3 案例表示 5.4 案例检索 5.5 相似性 5.6 案例复用 5.7 案例推理工具 5.8 案例推理应用,什么是案例 ?,“案例 是对某个过去发生的事件的真实描述,目的是引发对一个特殊情境的讨论和分析。”,案例 是事件。案例 是含有问题或疑难情境在内的事件。案例 是典型的事件。案例 是真实发生的事件。,2018/1
2、1/5,史忠植 高级人工智能,4,5.1 概 述,“案例(case)是一段带有上下文信息的知识,该知识表达了推理机在达到其目标的过程中能起关键作用的经验”。具体来说,一个案例应具有如下特性:案例表示了与某个上下文有关的具体知识,这种知识具有可操作性。案例可以是各式各样的,可有不同的形状和粒度,可涵盖或大或小的时间片,可带有问题的解答或动作执行后的效应。案例记录了有用的经验,这种经验能帮助推理机在未来更容易地达到目标,或提醒推理机失败发生的可能性有多大等等。,2018/11/5,史忠植 高级人工智能,5,5.1 概 述,人们为了解决一个新问题,先是进行回忆,从记忆中找到一个与新问题相似的案例,然
3、后把该案例中的有关信息和知识复用到新问题的求解之中。,在基于案例推理 (Case-Based Reasoning, 简称CBR)中,把当前所面临的问题或情况称为目标案例 (target case),而把记忆的问题或情况称为源案例 (base case)。粗略地说,基于案例推理就是由目标案例的提示而获得记忆中的源案例,并由源案例来指导目标案例求解的一种策略。,2018/11/5,史忠植 高级人工智能,6,5.1 概 述,基于案例推理中知识表示是以案例为基础,案例的获取比规则获取要容易,大大简化知识获取。对过去的求解结果进行复用,而不是再次从头推导,可以提高对新问题的求解效率。过去求解成功或失败的
4、经历可以指导当前求解时该怎样走向成功或避开失败,这样可以改善求解的质量。对于那些目前没有或根本不存在可以通过计算推导来解决的问题。如在法律中的判例,基于案例推理能很好发挥作用。,2018/11/5,史忠植 高级人工智能,7,5.1 概 述,2018/11/5,史忠植 高级人工智能,8,5.1 概 述-案例 推理发展简况,History of CBR in U.S.A. Roger Schank, Yale University: Cognitive Science1977 Scripts for knowledge representation (Schank, Abelson)1983 Dy
5、namic Memory Theory, Memory Organization PacketsCYRUS: First implemented CBR-System (Kolodner)1983-1988: Other System,e.g.: JUDGE, SWALE, CHEF Bruce Porter, Austin Texas: Concept Learning1986-89: System PROTOS (Exemplar-based concept representation) Edwina Rissland, U. of Massachusetts: Cases in Law
6、 (since 1983)1990-92: Systems HYPO (Ashley) and CABARET (Skalak) Jaime Carbonell & Manuela Veloso, Camegie Mellon U.: Analogysince 1990 Prodigy/Analogy: Case-based Planning using analogy Interest in CBR is increasing in USA (new research groups)since 1988 several DARPA and AAAI Workshops,2018/11/5,史
7、忠植 高级人工智能,9,5.1 概 述-案例 推理发展简况,History of CBR in Europe Michael M.Richter Schank, Yale University: Cognitive Science1988-1991 Systems MOLTKE and PATDEX (technical diagnosis)since 1991 Case-Based Planning: Systems Caplan/CbC, PARISsince 1992 European Projects INRECA, INRECA-II Ramon Mantaras, Enric Pl
8、aza, IIIA Blanes, Spain: CBR and ML1990 Case-Based Learning for medical diagnosis Agnar Aamodt, U. Trondheim, Norway: CBR and Knowledge Acquisition1991 Systems CREEK: Integration of Cases and general knowledge Mark Keane, Trinity College, Dublin: Cognitive Sciencesince 1988 Theory of analogical reas
9、oning Since 1991 Increasing interest in Europe (Several new research groups)1991 First German CBR Workshop (AKCBR, GWCBR)1993 First Europe CBR Workshop (EWCBR)1995 First International CBR Workshop (ICCBR),2018/11/5,史忠植 高级人工智能,10,5.1 概 述-案例 推理发展简况,中国科学院计算技术研究所智能信息处理开放实验室在基于案例推理方面进行了一系列研究。 1991年提出了记忆网
10、模型和案例检索算法。 1993年研制了基于案例学习的内燃机油产品设计系统EOFDS。 1994年开发了基于案例推理的天气预报系统。 1995年开发了基于案例推理的轧钢规程系统。 1996年开发了基于案例推理的淮河王家坝洪水预报调度系统FOREZ。 2000年研制了渔情分析专家系统,获国家科技进步二等奖,2018/11/5,史忠植 高级人工智能,11,5.2 类比的形式定义,用类比求解问题,往往在提出或遇到某一问题时,回忆以前相似的老问题,通过对两种情况进行匹配,经过推理获得新知识。也可以通过对老问题解法的检索和分析、调整,得出新问题的解决办法。因此,计算模型除了记忆和新问题相似的老问题的解法外
11、,还应具有获取技能的过程,即必须学会根据过去有用的经验,来调整问题求解方法。当人们对存在相似解进行更为直接的回忆和修改后仍不能得出问题的解答时,再反过来用弱方法求解。因此,类比学习是一种基于知识(或经验)的学习。类比求解问题的一般模式如图5.1所示。,2018/11/5,史忠植 高级人工智能,12,5.2 类比的形式定义,类比问题求解的形式可描述为:已知问题A,有求解结果B,现给定一个新问题A,A与A在特定的度量下是相似的,求出问题A的求解结果B。如图5.1,反映B与A之间的依赖关系,称作因果关系。表示源领域A与目标领域A之间的相似关系。由此可以推出, B与A之间的依赖关系。,A,B,A,B,
12、图5.1 类比求解问题的一般模式,Question,Result,Target domain,Source domain,New Question,? Result,2018/11/5,史忠植 高级人工智能,13,5.2 类比的形式定义,定义5.1 相似形 P1、P2是谓词的有限集,谓词名q1P1、q2 P2是相同谓词,则对pair在P1P2中存在相似关系。定义5.2 部分匹配 sS,tT,s和t是包括公共常数的元文字的有限集。对于Q,设Q s st, Q和v(Q)存在一对一的对应关系,则(Q,)称作对s和t一般部分匹配。定义5.3 大小程度 设(Q,)、(Q,)是对于st的部分匹配。如果存在
13、替换,使QQ,对于任何Wv(Q)W=W,(Q,)是大于(Q,) ,可以写成(Q,)(Q,) 。定义5.4 最大部分匹配 在st中,对于(Q,)、(Q,)部分匹配,如果(Q,)(Q,) ,那么(Q,)称作在st中的最大部分匹配定义5.5 类比学习 对于s1,s2S,t1T,在SS中 ,s1s2 ,m在s1t1是最大部分匹配。 根据t1t2和m在 s2t2中是最大部分匹配,将得到t2T,这就是类比学习。,2018/11/5,史忠植 高级人工智能,14,5.3 相似性关系,类比推理中很关键的一个环节是发现相似案例。案例相似是相似比较的基础上进行的,要检索到相似的案例,完全靠“什么程度才算相似”的定义
14、了。如果定义得不好,检索的结果就不理想,也就谈不上应用的成功。反映相似性关系的相似度定义十分重要。案例的表示表明,案例的情境是由许多属性组成,案例间的相似度就是根据属性(或变量)之间的相似度定义的。目标案例与源案例之间的相似性有语义相似、结构相似、目标相似和个体相似。,2018/11/5,史忠植 高级人工智能,15,5.3 相似性关系,1.语义相似性两案例之间是可以类比的,首先必须满足语义上具有相似性关系。相似性关系是类比问题求解的基础。两实体的类比可以区分为正类比、反类比、不确定类比。 正类比是由相似性关系所确定的两实体之间的可类比部分, 反类比则是已被确定为两实体间不相似的部分,不确定类比
15、是两实体之间尚未确定是否可类比的部分。两个实体可类比的条件之一是:模型的本质性质和因果关系不构成反类比的一部分。不确定类比使得类比具有一定的预见性,这种预见可能是正确的,也可能是错误的。在类比求解中,目标案例的本质特征和源案例 的本质特征必须具有相似性关系,才能使类比有了基础。,2018/11/5,史忠植 高级人工智能,16,5.3 相似性关系,2.结构相似性如果在两个结构之间存在某种对应关系,且这种对应关系能够保持结构一致性,则认为两个结构是同构的。结构对于类比检索的意义是重大的。首先,表面上并不相似的案例由于在结构上具有相似性,从而使类比成为可能。其次,子结构间的同构或相似形可以使我们只需
16、见树木,而不必顾及森林。,2018/11/5,史忠植 高级人工智能,17,5.3 相似性关系,3.目标特征问题求解的最终目的是要实现问题本身所提出的目标。人们求解问题时,都是向着这个目标而竭尽其力。在相似的一组源案例中,那些对实现目标案例的目标具有潜在的重要作用的源案例,较之那些不具有目标相关性的源案例,更应该得到优先考虑。目标特征会增加我们对源案例选择的可靠性。同时,它还可以帮助我们限制对源案例进行搜索的范围。,2018/11/5,史忠植 高级人工智能,18,5.3 相似性关系,4.个体相似性在我们的模型中强调的另一重要约束是个体的类别信息。从不严格的意义上讲,如果两个个体之间具有一些 (或
17、一个) 相似的属性,则它们是属于同一类别的。在概念聚类中,我们使用概念 (或客体) 间的相关性或紧致性来对概念 (客体) 集进行分类。相关性是指概念的属性之间相似度的平均值。但在这里,我们将把电线和绳索看作是同一类别的,因为它们均可以用来绑缚物体。,2018/11/5,史忠植 高级人工智能,19,5.3 相似性关系,5. 相似度计算1) 数值性属性的相似度 sim(Vi,Vj)1d(Vi,Vj)1dij dij ViVj 其中,Vi、Vj是某个属性V的两个属性值。2) 枚举性属性的相似度 只要两个属性值不同,就认为两者之间的相似度为0,否则为1;(质上 / 定义通用) 针对不同的属性值间不同的
18、关系给以具体的定义。(量上 / 人来预定义,与领域知识相关)3) 有序属性的相似度有序属性介于数值和枚举型属性之间,也介于定性和定量之间。属性值有序,可以赋予不同等级值间有不同的相似度。,2018/11/5,史忠植 高级人工智能,20,5.3 相似性关系,其中 Vik和 Vjk分别表示案例i和案例j的第k个属性值。,5. 相似度计算我们计算案例之间的相似度,必须考虑组成一个案例的各个属性相似度综合在一起形成的效应。案例的相似度经常通过距离定义的。常用的典型距离定义有:,1) 绝对值距离(Manhattan):,2) 欧氏距离(Euclidean),3) 麦考斯基距离,2018/11/5,史忠植
19、 高级人工智能,21,实际案例,A Simple Example: Whats a Case ? A case describes one particular diagnostic situation A case records several features and their specific valuesoccurred in that situation A case is not rule !,Feature,Value,2018/11/5,史忠植 高级人工智能,22,实际案例,A Case Base withTwo Cases Each case describesone p
20、articular situation All cases areindependent fromeach other,史忠植 高级人工智能,23,案例 问题求解,Solving a New Diagnostic Problem A new problem must be solved We make several observations in the current situation Observations define a new problem Not all feature values must be known Note: The new problem is a case
21、 without solution part !,2018/11/5,史忠植 高级人工智能,24,案例 问题求解,2018/11/5,史忠植 高级人工智能,25,案例 问题求解,2018/11/5,史忠植 高级人工智能,26,案例 问题求解,2018/11/5,史忠植 高级人工智能,27,案例 问题求解,2018/11/5,史忠植 高级人工智能,28,基于案例 学习的一般过程,2018/11/5,史忠植 高级人工智能,29,5.4 基于案例推理的工作过程,基于案例推理是类比推理的一种。在基于案例推理中,最初是由于目标案例的某些(或者某个)特殊性质使我们能够联想到记忆中的源案例。但它是粗糙的,不
22、一定正确在最初的检索结束后,我们需证实它们之间的可类比性,这使得我们进一步检索两个类似体的更多的细节,探索它们之间的更进一步的可类比性和差异。在这一阶段,事实上,已经初步进行了一些类比映射的工作,只是映射是局部的、不完整的。这个过程结束后,获得的源案例集已经按与目标案例的可类比程度进行了优先级排序。接下来,我们便进入了类比映射阶段。图5.2给出了基于案例推理的一般框架。,2018/11/5,史忠植 高级人工智能,30,5.4 基于案例推理的工作过程,图5.2 基于案例推理的一般框架,2018/11/5,史忠植 高级人工智能,5.4 基于案例推理的工作过程,检 索,建议解方案,修 正,辩 护,评
23、 审,实际评估,存 储,图5.3 用作辩护的案例推理过程,基于案例推理有两种形式:问题求解(problem-solving CBR 利用案例以给出问题的解答)和解释型(interpretive CBR 把案例用做辩护的证据)。用作辩护的案例推理过程见图5.3。,2018/11/5,史忠植 高级人工智能,32,5.4 基于案例推理的工作过程,在案例推理中,关心的主要问题如下:(1) 案例表示:基于案例推理方法的效率和案例表示紧密相关。案例表示涉及这样几个问题:选择什么信息存放在一个案例中;如何选择合适的案例内容描述结构;案例库如何组织和索引。对于那些数量达到成千上万、而且十分复杂的案例,组织和索
24、引问题尤其重要。(2) 分析模型:分析模型用于分析目标案例,从中识别和抽取检索源案例库的信息。(3) 案例检索:利用检索信息从源案例库中检索并选择潜在可用的源案例。基于案例推理方法和人类解决问题的方式很相近。碰到一个新问题时,首先是从记忆或案例库中回忆出与当前问题相关的最佳案例。后面所有工作能否发挥出应有的作用,很大程度上依赖于这一阶段得到的案例质量的高低,因此这步非常关键。一般讲,案例匹配不是精确的,只能是部分匹配或近似匹配。因此,它要求有一个相似度的评价标准。该标准定义得好,会使得检索出的案例十分有用,否则将会严重影响后面的过程。,2018/11/5,史忠植 高级人工智能,33,5.4 基
25、于案例推理的工作过程,(4) 类比映射:寻找目标案例同源案例之间的对应关系。(5) 类比转换:转换源案例中同目标案例相关的信息,以便应用于目标案例的求解过程中。其中,涉及到对源案例的求解方案的修改。把检索到的源案例的解答复用于新问题或新案例之中。它们分别是,源案例 与目标案例间有何不同之处;源案例中的哪些部分可以用于目标案例 。对于简单的分类问题,仅需要把源案例的分类结果直接用于目标案例 。它无需考虑它们之间的差别,因为实际上案例检索已经完成了这项工作。而对于问题求解之类的问题,则需要根据它们之间的不同对复用的解进行调整。(6) 解释过程:对把转换过的源案例 的求解方案应用到目标案例 时所出现
26、的失败做出解释,给出失败的因果分析报告。有时对成功也同样做出解释。基于解释的索引也是一种重要的方法。(7) 案例修补:有些类似于类比转换,区别在于修补过程的输入是解方案和一个失败报告,而且也许还包含一个解释,然后修改这个解以排除失败的因素。,2018/11/5,史忠植 高级人工智能,34,5.4 基于案例推理的工作过程,(8) 类比验证:验证目标案例和源案例进行类比的有效性。(9) 案例保存:新问题得到了解决,则形成了一个可能用于将来情形与之相似的问题。这时有必要把它加入到案例库中。这是学习也是这是知识获取。此过程涉及选取哪些信息保留,以及如何把新案例 有机集成到案例库中。修改和精化源案例 库
27、, 其中包括泛化和抽象等过程。在决定选取案例 的哪些信息进行保留时,一般要考虑以下几点:和问题有关的特征描述;问题的求解结果;以及解答为什么成功或失败的原因及解释。把新案例加入到案例 库中, 需要对它建立有效的索引,这样以后才能对之作出有效的回忆。索引应使得与该案例 有关时能回忆得出,与它无关时不应回忆出。为此,可能要对案例库的索引内容甚至结构进行调整,如改变索引的强度或特征权值。,2018/11/5,史忠植 高级人工智能,35,5.5 案例的表示,知识在大脑中的记忆机理现在仍是个悬而未决的问题。虽然在目前的知识系统中使用了产生式、语义网、框架、面向对象等诸多的知识表示方法,但它们在学习系统中
28、,尤其在类比学习系统中却显得有些难于胜任了。原因在于,知识的记忆不仅要使知识成为有结构和有组织的体系,还应保证记忆的知识是易于检索和存取的,而且 ,还应该是易于学习的。,2018/11/5,史忠植 高级人工智能,36,5.5 案例的表示,在生理学、心理学等领域,已经广泛开展了关于记忆的研究。心理学的研究者们注重研究记忆的一般理论,已经提出了许多记忆模型,典型的包括情景记忆(episodic memory),语义记忆(semantic memory),联想记忆(associative memory)、Schank的动态记忆理论(dynamic memory)等。知识是有结构的体系。在某些任务的执
29、行过程中,专家采用语义记忆来存储信息。这种信息记忆方法具有下列优点: 有利于检索。 易于组织。可以把它们连接成树形层次或者网络。 易于管理。知识的改变只对局部产生影响。 有利于知识的共享。,2018/11/5,史忠植 高级人工智能,37,5.5 案例的表示,1. 语义记忆单元语义记忆单元,是指在学习、分析、理解、记忆知识的过程中所着重关注的其中那些概念、模式、主题等,以及据此形成的关于知识的概念性认识。换言之,这些语义记忆单元是系统对知识经“计算”之后,抽取其中最能反映知识本身特征且可以很好地使知识内在地联系在一起的那些因素而获得的。,2018/11/5,史忠植 高级人工智能,38,5.5 案
30、例的表示,2. 记忆网我们所记忆的知识彼此之间并不是孤立的,而是通过某种内在的因素相互之间紧密地或松散地有机联系成的一个统一的体系。我们使用记忆网来概括知识的这一特点。一个记忆网便是以语义记忆单元为结点,以语义记忆单元间的各种关系为连接建立起来的网络。,2018/11/5,史忠植 高级人工智能,39,5.5 案例的表示,网络上的每一节点表示一语义记忆单元,形式地描述为下例结构:SMU= SMU_NAME slot constraint slots taxonomy slots causality slots similarity slotspartonomy slots case slots
31、theory slots ,2018/11/5,史忠植 高级人工智能,40,5.5 案例的表示,(1) SMU_NAME slot:简记为SMU槽。它是语义记忆单元的概念性描述,通常是一个词汇或者一个短语。(2) constraint slots:简记为CON槽。它是对语义记忆单元施加的某些约束。通常,这些约束并不是结构性的,而只是对SMU描述本身所加的约束。另外,每一约束都有CAS侧面(facet)和THY侧面与之相连。(3) taxonomy slots:简记为TAX槽。它定义了与该 SMU相关的分类体系中的该SMU的一些父类和子类。因此,它描述了网络中结点间的类别关系。(4) causa
32、lity slots:简记为CAU槽。它定义了与该SMU有因果联系的其它SMU,它或者是另一些SMU的原因,或者是另外一些SMU的结果。因此,它描述了网络中结点间的因果联系。,2018/11/5,史忠植 高级人工智能,41,5.5 案例的表示,(5) similarity slots:简记为SIM 槽。它定义了与该SMU 相似的其它SMU,描述网络中结点间的相似关系。(6) partonomy slots:简记为PAR槽。它定义了与该SMU具有部分整体关系的其它SMU。(7) case slots:简记为 CAS 槽。它定义了与该SMU相关的案例 集。(8) theory slots:简记为T
33、HY槽。它定义了关于该SMU 的理论知识。上述8类槽可以总地分成三大类。一类反映各SMU之间的关系,包括TAX槽、CAU槽、SIM槽和PAR槽;第二类反映SMU自身的内容和特性,包括SMU槽和THY槽;第三类反映与SMU相关的案例信息,包括CAS槽和CON槽。,2018/11/5,史忠植 高级人工智能,42,5.6 案例的索引,案例组织时由两部分组成,一是案例的内容,案例应该包含哪些有关的东西才能对问题的解决有用;二是案例的索引,它和案例的组织结构以及检索有关,反应了不同案例间的区别。,案例内容一般有如下三个主要部分组成:问题或情景描述:案例发生时要解决的问题及周围世界的状态;解决方案:对问题
34、的解决方案;结果:执行解决方案后导致的结果(周围世界的新状态)。问题或情景描述和解决方案是必不可少的部分,而结果部分在有的系统中没有。,2018/11/5,史忠植 高级人工智能,43,5.6 案例的索引,(1) 问题或情景描述是对要求解的问题或要理解的情景的描述,一般要包括这些内容:当案例 发生时推理器的目标,完成该目标所要涉及的任务,周围世界或环境与可能解决方案相关的所有特征。(2) 解决方案的内容是问题如何在一特定情形下得到解决。它可能是对问题的简单解答,也可能是得出解答的推导过程。(3) 结果记录了实施解决方案后的结果情况,是失败还是成功。有了结果内容,CBR在给出建议解时有能给出曾经成
35、功地工作的案例 ,同时也能利用失败的案例 来避免可能会发生的问题。当对问题还缺乏足够的了解时,通过在案例 的表示上加上结果部分能取得较好的效果。,2018/11/5,史忠植 高级人工智能,44,5.6 案例的索引,建立案例索引有三个原则:索引与具体领域有关。数据库中的索引是通用的,目的仅仅是追求索引能对数据集合进行平衡的划分从而使得检索速度最快;而案例索引则要考虑是否有利于将来的案例检索,它决定了针对某个具体的问题哪些案例 被复用;索引应该有一定的抽象或泛化程度,这样才能灵活处理以后可能遇到的各种情景,太具体则不能满足更多的情况;索引应该有一定的具体性,这样才能在以后被容易地识别出来,太抽象则
36、各个案例之间的差别将被消除。,2018/11/5,史忠植 高级人工智能,45,5.7 案例的检索,案例的检索从案例库(case base)中找到一个或多个与当前问题最相似的案例;CBR系统中的知识库不是以前专家系统中的规则库,它是由领域专家以前解决过的一些问题组成。案例库中的每一个案例包括以前问题的一般描述即情景和解法。一个新案例并入案例库时,同时也建立了关于这个案例的主要特征的索引。当接受了一个求解新问题的要求后,CBR利用相似度知识和特征索引从案例库中找出与当前问题相关的最佳案例,由于它所回忆的内容,即所得到的案例质量和数量直接影响着问题的解决效果,所以此项工作比较重要。它通过三个子过程,
37、即特征辩识、初步匹配,最佳选定来实现。,2018/11/5,史忠植 高级人工智能,46,5.7 案例的检索,(1)特征辩识:指对问题进行分析,提取有关特征,特征提取方式有:从问题的描述中直接获得问题的特征,如自然语言对问题进行描述并输入系统,系统可以对句子进行关键词提取,这些关键词就是问题的某些特征。对问题经过分析理解后导出的特征,如图象分析理解中涉及的特征提取。根据上下文或知识模型的需要从用户那里通过交互方式获取的特征,系统向用户提问,以缩小检索范围,使检索的案例 更加准确。,2018/11/5,史忠植 高级人工智能,47,5.7 案例的检索,(2)初步匹配:指从案例库中找到一组与当前问题相
38、关的候选案例。这是通过使用上述特征作为案例库的索引来完成检索的。由于一般不存在完全的精确匹配,所以要对案例之间的特征关系进行相似度估计,它可以是基于上述特征的与领域知识关系不大的表面估计,也可以通过对问题进行深入理解和分析后的深层估计,在具体做法上,则可以通过对特征赋于不同的权值体现不同的重要性。相似度评价方法有最近邻法、归纳法等。,2018/11/5,史忠植 高级人工智能,48,5.7 案例的检索,(3)最佳选定:指从初步匹配过程中获得的一组候选案例中选取一个或几个与当前问题最相关的案例。这一步和领域知识关系密切。可以由领域知识模型或领域知识工程师对案例进行解释,然后对这些解释进行有效测试和
39、评估,最后依据某种度量标准对候选案例进行排序,得分最高的就成为最佳案例 ,比如最相关的或解释最合理的案例可选定为最佳案例 。,2018/11/5,史忠植 高级人工智能,49,5.7 案例的检索,标准的检索和更新过程如图5.4所示。此过程的输入为源案例,它由当前情景和推理目标构成。通过情景分析,情景描述得到细化;如果在案例库中有与源案例相似的案例,那么源案例与案例库中相似案例相关的索引应该能够通过细化过程计算出来。,分析情景; 细化源案例的描述; 计算新情景的可能有的索引,检索组织好的案例库, 找出(部分)匹配的目标案例,检索案例,选择一个或一组最佳案例,分析情景; 细化源案例的描述; 计算新情
40、景的可能有的索引,检索组织好的案例库, 找出(部分)匹配的目标案例,插入新案例,图5.4 检索和更新过程,检索,更新,(b),(a),2018/11/5,史忠植 高级人工智能,5.7 案例的检索,检索过程有三个核心部分组成:检索算法、匹配函数和情景分析。下面重点讨论检索算法。CBR中已形成了一系列的案例组织和检索策略和算法。有串行和并行的;有平面型的和层次型的;有在细粒度级上的和粗粒度级上建立索引以区别不同案例的。用得最多的则是倒排索引之类的方法,它既可以采用串行也可用并行策略来检索。最常用的检索方法有如下三种:近邻法:近邻法采用特征间的加权匹配来估计案例之间的相似度。此方法关键的问题是,如何
41、确定特征的权重。缺点是,检索的时间复杂度会随着案例库中的个数增多而线性增长。归纳法:采用归纳法可以确定哪个特征在区分案例时最好,此方法能生成一棵决策树。它可以有效地组织案例。模板检索:与SQL查询类似,模板检索能返回在一定参值范围内的所有案例。,2018/11/5,史忠植 高级人工智能,51,5.8 案例的复用,把检索到的旧案例的解答复用到新问题或新案例之中。通过所给问题和案例库中案例比较得到新旧案例之间的不同之处,然后回答哪些解答部分可以复用到新问题之中。对于简单的分类问题,仅需要把旧案例的分类结果直接用于新案例,它无需考虑新旧案例之间的差别。而对于问题求解类的问题,则需要对领域知识的深入理
42、解,根据案例之间的不同对问题进行调整,可以是对整个解的某项作一些调整,也可以对整个解的进行微调。,2018/11/5,史忠植 高级人工智能,52,5.8 案例的复用,从复用的信息内容来看,主要有结果的复用和方法的复用两种。当复用阶段产生的求解结果不好时,需要对其进行修正。修正有四类方法:替换法、转换法、特定目标驱动法、派生重演法。 1. 替换法(substitution)(1)重新例化(reinstantiation):这是一种很简单的替换操作,仅仅是用新的个体替换旧解中的个体。例如,川菜设计系统CHEF,在根据牛排炒甘蓝菜来设计一道鸡肉炒雪豆菜,它就是把该菜谱中的所有牛排替换成鸡肉,把甘蓝替
43、换成雪豆。(2)参数调整(parameter adjustment):这是一种处理数值参数的启发式方法。它和具体的输出与输入参数间的关系模型(输入发生什么变化,会导致输出产生怎样的相应变化)有关。,2018/11/5,史忠植 高级人工智能,53,5.8 案例的复用,(3)局部搜索(local search):使用辅助的知识结构来获得替换值。例如,设计点心时缺少桔子,则可使用此法在一个水果语义网知识结构中搜索一个与桔子相近的水果如苹果来代替。 (4)查询(query):用带条件的查询在案例 库或辅助知识结构中获取要替换的内容。(5)特定搜索(specialized search):同时在案例 库
44、和辅助知识结构中进行查询,但在案例 库中查询时使用辅助知识来启发式指导如何搜索。(6)基于案例的替换(case-based substitution):使用其它的案例 来建议一个替换。,2018/11/5,史忠植 高级人工智能,54,5.8 案例的复用,2.转换法(transformation) 转换法包括: (1)常识转换法(common-sense transformation) ,即使用明白易懂的常识性启发式从旧解中替换、删除或增加某些组成部分。(2)典型的常理转换法是,即删去次要组成部分。(3)模型制导修补法(model-guided repair) ,即通过因果模型来指导如何转换,故
45、障诊断中就经常使用这种方法。,2018/11/5,史忠植 高级人工智能,55,5.8 案例的复用,3.特定目标驱动法(special-purpose adaptation and repair)这种方法主要用于完成领域相关以及要做结构修改的修正。该法使用的各种启发式需要根据它们可用的情景进行索引。特定目标驱动的修正启发式知识一般通过评价近似解作用,并通过使用基于规则的产生式系统来控制。,2018/11/5,史忠植 高级人工智能,56,5.8 案例的复用,4.派生重演(derivational replay)上述方法所做的修正是在旧解的解答上完成的。重演方法则是使用过去的推导出旧解的方法来推导出
46、新解。这种方法关心的是解是如何求出来的。同前面的基于案例替换相比,派生重演使用的则是一种基于案例的修正手段。,2018/11/5,史忠植 高级人工智能,57,5.9 案例存储,Store the New ExperienceIf diagnosis is correct:store new case in the memory.,2018/11/5,史忠植 高级人工智能,58,5.9 案例存储,新案例插入到案例库的过程类似检索过程(图5.4(b)。“remember”有两种含义: “记住”和“回忆”。回忆即检索,记住即存储或插入。插入要调用索引选择过程,以决定案例被索引的方式。插入算法使用这些
47、索引来把案例插入到案例库中适当的地方。一般来说,插入工作所做的搜索和检索相同。插入算法搜索的目的是找到一个可插入案例的地方,而检索的目的是为了找到相似的案例。当检索算法找到了相似的案例后就进行案例排位,而插入算法则是插入源案例并根据需要重新组织案例库结构。,2018/11/5,史忠植 高级人工智能,59,5.9 案例存储,新问题得到了解决,则形成了一个可能用于将来情形与相似的问题。这时有必要把它加入到案例库中,这是学习也是知识获取。在决定选取案例的哪些信息进行保留时,一般要考虑以下几点:和问题有关的特征描述、问题的求解结果以及解答为什么成功的原因及解释。把新案例加入到案例库中时,需要对它建立有
48、效的索引,这样以后才能对它作出有效的回忆。在上述检索(retrieval)、重用(reuse)、修正(revise)和保存(retain)四个过程是基于案例推理的关键步骤。由于它们的英文都是以“”开始的,因此,CBR的推理过程也称为“4R过程”。,2018/11/5,史忠植 高级人工智能,60,5.10 基于例示的学习,基于例示的学习(instance-based learning,IBL),是一种与基于案例的学习紧密相关的归纳学习。基于例示的学习算法思想是,存储有过去的已分类的例示,当对新来的输入进行分类时,算法在已分类例示中寻找与输入情况最相似的例示,然后把该事例的类别作为对新例示的分类结
49、果。IBL没有用到复杂的索引,仅仅使用特征-值表示方法,也不做案例修正操作,但它却是一种非常有用的方法。,2018/11/5,史忠植 高级人工智能,61,5.10 基于例示的学习,新 范 例,修正范例,解答范例,新问题,历史范例,检索,建议解,范 例 库,确认解,修正,保存,复用,图5. 基于案例学习的一般过程,2018/11/5,史忠植 高级人工智能,62,CBR 工具,CBR Design Explorer - Diagnostic & Design Shell (Artificial Intelligence Applications Institute at University of Edinburgh) CBR Framework for Bioprocessing (Bioprocesses Group at VTT Biotechnology and Food Research) CBR Tools - object oriented software library in JAVA (AID research group at INRIA Sophia Antipolis) CBR-Works product family - CBR shell (research licenses available) (tec:inno GmbH ),