2020/3/13第二章知识表示方法2020/3/13内容简介2.2一阶谓词逻辑表示法2.3产生式表示法2.4框架表示法2.6面向对象表示法62342.1概述12.5语义网络表示法52020/3/132.3产生式表示法1943年E.Post第一次提出称为“Post机”的计算模型(《计算理论》)一种描述形式语言的语法又称为产生式规则表示法,它和图灵机有相同的计算能力。目前产生式表示法已成为人工智能中应用最多的一种知识表示方法。产生式知识表示方法1972年纽厄尔和西蒙在研究人类知识模型开发了基于规则的产生式系统。2020/3/132.3.1产生式的基本形式产生式通常用于表示具有因果关系的知识,其基本形式是P→Q或IFPTHENQ其中,P是产生式的前提或条件,用于指出该产生式是否是可用的条件;Q是一组结论或动作,用于指出该产生式的前提条件P被满足时,应该得出的结论或应该执行的操作。P和Q都可以是一个或一组数学表达式或自然语言。谓词逻辑中的蕴含式与产生式的差别:①蕴含式只能表示精确知识;产生式可以表示精确知识,也可以表示不精确知识。②蕴含式要求匹配是精确的;产生式匹配可以是精确的,也可以是不精确的;可以按某种确信度进行匹配。可以把蕴含式看出产生式的一个特例2020/3/132.3.2产生式表示知识方法确定性和不确定性规则知识的产生式表示确定性规则知识可用前面介绍的产生式的基本形式表示即可。不确定性规则知识用如下形式表示P→Q(可信度)或者IFPTHENQ(可信度)其中,P是产生式的前提或条件,用于指出该产生式是否是可用的条件;Q是一组结论或动作,用于指出该产生式的前提条件P被满足时,应该得出的结论或应该执行的操作。2020/3/132.3.2产生式表示知识方法确定性和不确定性事实性知识的产生式表示确定性事实性知识一般使用三元组的形式表示如下(对象,属性,值)或(关系,对象1,对象2)例如:(Lee,Age,35);(Friend,Lee,Zhang)不确定性事实性知识一般用四元组的形式表示如下(对象,属性,值,不确定度量值)或(关系,对象1,对象2,不确定度量值)例如:(Lee,Age,35,0.9);(Friend,Lee,Zhang,0.2)2020/3/132.3.3产生式系统的组成产生式系统通常由规则库、数据库和推理机这3个基本部分组成。推理机规则库数据库产生式系统的基本结构一组产生式在一起互相配合,协同作用,一个产生式生成的结论可以作为另一个产生式的前提,以获得问题的解决,这样的系统为产生式系统。2020/3/13•规则库:产生式的集合–是产生式系统的基础–包含的知识要完整、一直,表达灵活准确;–构建规则库时,应对知识进行合理组织管理;•数据库:包含已知事实–包含的知识是动态变化的;–已知事实常用字符串、向量、矩阵等数据结构表示;2020/3/13•推理机的工作:(1)按一定的策略从规则库中选择规则,并与综合数据库中的已知事实进行匹配。(2)当发生冲突(即匹配成功的规则不止一条)时,调用相应的冲突解决策略予以消解。(3)在执行某条规则时,若该规则的右部是一个或多个结论,则把这些结论加到综合数据库中;若规则的右部是一个或多个操作,则执行这些操作。(4)对于不确定性知识,在执行每一条规则时,还要按一定的算法计算结论的可信度。(5)随时掌握结束产生式系统运行的时机,以便在适当的时候停止系统的运行。2020/3/13产生式系统求解问题的一般步骤(1)初始化综合数据库,把问题的初始已知事实送入综合数据库中。(2)若规则库中存在尚未使用过的规则,而且它的前提可与综合数据库中的已知事实匹配,则继续;若不存在这样的事实,则转第(5)步。(3)执行当前选中的规则,并对该规则做上标记,把该规则执行后得到的结论送入综合数据库中。若该规则的结论部分指出的是某些操作,则执行这些操作。(4)检查综合数据库中是否已包含了问题的解,若已包含,则终止问题的求解过程;否则,转第(2)步。(5)要求用户提供进一步的关于问题的已知事实,若能提供,则转第(2)步;否则,终止问题求解过程。(6)若规则中不再有未使用过的规则,则终止问题的求解过程。2020/3/132.3.4产生式系统推理方式产生式系统推理机的推理方式有正向推理、反向推理和双向推理三种。推理过程从已知事实出发,通过规则求得结论。或称数据驱动方式也称作自底向上的方式。(1)规则集中的规则与数据库中的事实进行匹配,得匹配的规则集合。(2)使用冲突解决算法,从匹配规则集合中选择一条规则作为启用规则。(3)执行启用规则的后件。将该请用规则的后件送入数据库。重复这个过程直至达到目标。正向推理由于可能有多条规则同时与事实匹配,选择哪条规则将影响求解效率,经常会得到与目标无直接关系的推论。2020/3/132.3.4产生式系统推理方式反向推理推理过程从目标(作为假设)出发,反向使用规则,求得已知事实。这种推理方式也称目标驱动方式或称自顶向下的方式。(1)规则库中的规则后件与目标事实进行匹配,得匹配的规则集合。(2)使用冲突解决算法,从匹配规则集合中选择一条规则作为启用规则。(3)将启用规则的前件作为子目标。重复这个过程直至各子目标均为已知事实成功结束。如果目标明确,则效率会比正向推理高得多。2020/3/132.3.4产生式系统推理方式双向推理是一种既自顶向下、又自底向上的推理方式,推理从两个方向同时进行,直至某个中间界面上两方向结果相符便成功结束。这种双向推理较正向或反向推理所形成的推理网络更小,从而有更高的推理效率。双向推理2020/3/13•产生式系统的优点a)自然性:由于产生式系统采用了人类常用的表达因果关系的知识表示形式,既直观、自然,又便于进行推理。b)模块性:产生式是规则库中的最基本的知识单元,形式相同,易于模块化管理。c)有效性:能表示确定性知识、不确定性知识、启发性知识、过程性知识等。d)清晰性:产生式有固定的格式,既便于规则设计,又易于对规则库中的知识进行一致性、完整性检测。2.3.5产生表示法的特点2020/3/13•产生式系统的缺点a)效率不高产生式系统求解问题的过程是一个反复进行“匹配—冲突消解—执行”的过程。由于规则库一般都比较庞大,而匹配又是一件十分费时的工作,因此,其工作效率不高。此外,在求解复杂问题时容易引起组合爆炸。b)不能表达具有结构性的知识产生式系统对具有结构关系的知识无能为力,它不能把具有结构关系的事物间的区别与联系表示出来,因此,人们经常将它与其它知识表示方法(如框架表示法、语义网络表示法)相结合。2020/3/13•产生式系统的适用领域(1)由许多相对独立的知识元组成的领域知识,彼此之间关系不密切,不存在结构关系。如:化学反应方面的知识。(2)具有经验性及不确定性的知识,而且相关领域中对这些知识没有严格、统一的理论。如:医疗诊断、故障诊断等方面的知识。(3)领域问题的求解过程可被表示为一系列相对独立的操作,而且每个操作可被表示为一条或多条产生式规则。2020/3/132.4框架表示法框架理论是明斯基于1975年作为理解视觉、自然语言对话及其它复杂行为的一种基础提出来的;框架表示法是以框架理论为基础发展起来的一种结构化的知识表示,它适用于表达多种类型的知识。框架理论的基本观点是:人脑已存储有大量的典型情景,当面临新的情景时,就从记忆中选择一个称作框架的基本知识结构,其具体内容依新的情景而改变,形成对新情景的认识又记忆于人脑中。框架表示法2020/3/132.4.1框架的构成一般结构<框架名><槽名1><侧面11><值111>…<值11k1><侧面1n1><值1n11>…<值1n1kn1><槽名2><侧面12><值121>…<值1211><侧面1n2><值1n21>…<值1n21n2>…2020/3/13•框架:是人们认识事物的一种通用的数据结构形式。即当新情况发生时,人们只要把新的数据加入到该通用数据结构中便可形成一个具体的实体(类),这样的通用数据结构就称为框架。•实例框架:对于一个框架,当人们把观察或认识到的具体细节填入后,就得到了该框架的一个具体实例,框架的这种具体实例被称为实例框架。•框架系统:在框架理论中,框架是知识的基本单位,把一组有关的框架连结起来便可形成一个框架系统。•框架系统推理:由框架之间的协调来完成。2020/3/132.4.2框架表示知识举例“教师”的框架。框架名:教师类属:知识分子工作:范围:(教学,科研)缺省:教学性别:(男,女)学历:(中专,大学)类别:(小学教师,中学教师,大学教师)例2.4.1分析•框架名:“教师”•含有5个槽,槽名分别为:“类属”、“工作”、“性别”、“学历”和“类别”。槽名后面是其槽值。•槽值“知识分子”又是一个框架名。•“范围”、“缺省”是槽“工作”的两个不同的侧面,其后是侧面值。2020/3/132.4.2框架表示知识举例“大学教师”的框架。框架名:大学教师类属:教师学位:范围(学士,硕士,博士)缺省:硕士专业:学科专业职称:范围(助教,讲师,副教授,教授)缺省:讲师例2.4.2分析•可以看出,这个框架与刚才的框架有一定的关联,是层次关系,前者称为上层框架,后者为下层框架;•框架的上下层关系是相对的,下层框架可以从上层框架继承某些属性或值;•层次结构能有效减少冗余信息;2020/3/132.4.1框架的构成表示对象间关系的常用槽名:用于指出部分和全体的关系。用Part-of槽指出的联系所描述的下层框架和上层框架之间不具有继承性,如汽车和轮胎用来表示AKO槽的逆关系。用Instance槽指出的联系都具有继承性,即下层框架可继承上层框架中所描述的属性或值。用于指出对象间抽象概念上的类属关系,直观意义是“是一个”,“是一种”,“是一只”等。一般用ISA槽指出的联系都具有继承性。用于具体地指出对象间的类属关系。其直观意义是“是一种”。ISA槽Instance槽AKO槽Part-of槽槽名2020/3/13学生框架FrameStudentName:Unit(Last-name,First-name)Sex:Area(male,female)Default:maleAge:Unit(Years)If-Needed:Ask-AgeAddress:S-AddressTelephone:HomeUnit(Number)MobileUnit(Number)If-Needed:Ask-TelephoneS-Address也是一个框架,在这里是本框架的一个槽2020/3/13硕士生框架FrameMasterAKO:StudentMajor:Unit(Major)If-Needed:Ask-MajorIf-Added:Check-MajorField:Unit(Direction-Name)If-Needed:Ask-FieldAdvisor:Unit(Last-name,First-name)If-Needed:Ask-VisorProject:Area(National,Provincial,Other)Default:NationalPaper:Area(SCI,EI,Core,General)Default:Core在Master框架中,用到了一个系统预定义槽名AKO。所谓系统预定义槽名,是指框架表示法中事先定义好的可公用的一些标准槽名。当AKO作为下层框架的槽名时,其槽值为上层框架的框架名,表示该下层框架所描述的事物比其上层框架更具体。并且,由AKO所联系的框架之间具有属性的继承关系。2020/3/13作为一个例子,假设有硕士生柳青,当把他的具体情况分别添入Master框架后,可得到实例框架Master-1。这个实例框架可表示如下:硕士生-1框架:FrameMaster-1ISA:MasterName:YangYeSex:femaleMajor:ComputerField:Web-IntelligenceAdvisor:LinHaiProject: