人工智能第六部分

上传人:cel****460 文档编号:243374262 上传时间:2024-09-22 格式:PPT 页数:145 大小:534.50KB
返回 下载 相关 举报
人工智能第六部分_第1页
第1页 / 共145页
人工智能第六部分_第2页
第2页 / 共145页
人工智能第六部分_第3页
第3页 / 共145页
点击查看更多>>
资源描述
*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,人工智能第六部分,专家系统是人工智能应用研究的一个重要领域。它实现了人工智能从理论研究走向实际应用,从一般思维方法探讨转入专门知识运用的重大突破。自2,O,世纪7,O,年代专家系统的开发获得成功以来,目前已被成功地运用到科学技术、工业、农业、军事、医疗、教育等众多领域,并已产生了巨大的社会效益和经济效益。,2,专家系统的基本概念,专家系统的基本结构,知识的获取,专家系统的开发与评价,专家系统的开发工具与环境,专家系统实例,MYCIN,剖析,专家系统的进一步发展,内容提要,3,一,.,什么是专家系统,二,.,专家系统的分类,三,.,专家系统的特点,1,.,专家系统的基本概念,4,目前,对什么是专家系统还没有一个严格公认的形式化定义。,作为一种一般的解释,可以认为专家系统是一种具有大量专门知识与经验的智能程序系统,它能运用领域专家多年积累的经验和专门知识,模拟领域专家的思维过程,解决该领域中需要专家才能解决的复杂问题。,一. 什么是专家系统,5,从上述解释可以看出,专家系统包括以下三个方面的含义:,(1)专家系统是一种程序系统,但又具有智能,因此它不同于一般的程序系统,而是一种能运用专家知识和经验进行推理的启发式程序系统。,(2)专家系统的智能来源于领域专家的知识、经验及解决问题的诀窍。为此,专家系统内部必须包含有大量专家水平的领域知识与经验,并且能够在运行过程中不断地增长新知识和修改原有知识。,(3)专家系统所要解决的问题一般是那些本来应该由领域专家才能解决的问题。,6,通常,专家系统都是针对某一应用领域而建立的。不同应用领域的专家系统,其功能、设计方法及实现技术也各不同。为了明确各类专家系统的特点及其所需要的技术和系统组织方法,本小节讨论专家系统的分类问题。,对专家系统的类型,可以有多种不同的划分方法。例如,可以按求解问题的性质分类,也可以按求解问题的要求分类,还可以按系统的体系结构分类。,二. 专家系统的分类,7,1按求解问题的性质分类,海叶斯-罗斯(,FHeyes-Roth),按照求解问题的性质,将专家系统分为十种类型:,(1)解释型专家系统 解释型专家系统的任务是通过对已知信息和数据的分析与解释,确定它们的含义。,主要特点有:第一,系统处理的数据量很大,而且往往是不准确的、错误的或不完全的;第二,系统能够从不完全的信息中得出解释,并能对数据做出某些假设;第三,系统的推理过程可能很复杂和很长,因而要求系统具有对自身推理过程做出解释的能力。 作为解释型专家系统的例子有语音理解、图像分析、系统监视、化学结构分析和信号解释等。例如,卫星图像分析、集成电路分析、石油测井数据分析、染色体分类等。,8,(2)预测型专家系统,预测型专家系统的任务是通过对过去或现在知识状况的分析,推断未来可能发生的情况。,主要特点有:第一,系统处理的数据随时间变化,而且可能是不准确或不完备的;第二,系统需要有适应时间变化的动态模型,能够从不完全和不准确的信息中得出预报,并达到快速响应的要求。,预测型专家系统的例子主要有气象预报、军事预测、人口预测、交通预测、经济预测和作物产量预测等。,9,(3)诊断型专家系统,诊断型专家系统的任务是根据观察到的情况来推断出某个对象机能失常的原因。,主要特点有:第一,能够了解被诊断对象和客体各组成部分的特性,以及它们之间的联系;第二,能够区分一种现象及其所掩盖的另一种现象;第三,能够向用户提出测量的数据,并从不确切信息中得出尽可能正确的诊断。,诊断型专家系统的例子特别多,有医疗诊断、电子或机械故障诊断以及材料失效诊断等。著名的血液病诊断专家系统,MYCIN、,青光眼治疗专家系统,CASNET,等都属于这类专家系统。,10,(4)设计型专家系统,设计型专家系统的任务是根据设计要求,求出满足设计问题约束的目标配置。,主要特点有:第一,善于从多方面的约束中得到符合要求的设计结果;第二,系统需要检索较大的可能解空间;第三,善于分析各种子问题,并处理好子问题间的相互作用;第四,能够试验性地构造出可能设计,并易于对所得设计方案进行修改;第五,能够使用已被证明是正确的设计来解释当前的设计。 设计型专家系统的例子主要有电路设计、土木建筑工程设计、机械产品设计、生产工艺设计等。,11,(5)规划型专家系统,规划型专家系统的任务是要寻找出某个能够达到目标的动作序列或步骤。,主要特点有:第一,所要规划的目标可能是动态的或静止的;第二,所涉及的问题可能很复杂,要求系统能抓住重点,处理好各子目标间的关系和不确定的信息,并通过试验性动作得出可行的规划。 规划型专家系统可用于机器人规划、交通运输调度、工程项目论证、通信与军事指挥以及农作物施肥方案规划等。,12,(6)监视型专家系统,监视型专家系统的任务在于对系统、对象或过程的行为进行不断观察,并把观察到的行为与其应当具有的行为进行比较,以发现异常情况,发出警报。,主要特点有:第一,系统应具有快速反应能力,在造成事故之前及时发出警报;第二,系统发出的警报要有很高的精确性;第三,系统能够随时间和条件的变化而动态地处理其输入信息。 监视型专家系统可用于核电站的安全监视、防空监视与报警、国家财政的监控及农作物病虫害的监视与报警等。,13,(7)控制型专家系统,控制型专家系统的任务是自适应地管理一个受控对象或客体的全面行为,使其满足预期要求。,主要特点是:能够解释当前情况,预测未来可能发生的情况,诊断可能发生的问题及其原因,不断修正计划,并控制计划的执行。也就是说,控制型专家系统具有解释、预报、诊断、规划和执行等多种功能。 控制型专家系统可用于空中交通管制、商业管理、自主机器人控制、作战管理、生产过程控制和生产质量控制等许多方面。,14,(8)调试型专家系统,调试型专家系统的任务是对失灵的对象给出处理意见和方法。它要求专家系统须具有规划、设计、预报和诊断等功能。 调试专家系统可用于新产品或新系统的调试,也可用于被维修设备的调整、测试与试验。,(9)教学型专家系统,教学型专家系统的任务是根据学生的特点、弱点和基础知识,以最适当的教学方案和教学方法对学生进行教学和辅导。,主要特点有:第一,同时具有诊断和调试功能;第二,具有良好的人机界面。,15,(10)修理型专家系统,修理型专家系统的任务是对发生故障的对象(系统或设备)进行处理,使其恢复正常工作。,主要特点是同时具有诊断、调试、计划和执行等功能。,除了上述10种专家系统类型外,还有诸如决策型和管理型的专家系统。,决策型专家系统是对各种可能的决策方案进行综合评判和选优的一类专家系统。它同时具有解释、诊断、预测、规划等功能,并能对相应领域中的问题做出辅助决策和对决策做出解释。,管理型专家系统是在管理信息系统和办公自动化系统的基础上发展起来的一类专家系统。,16,2按求解问题的要求分类,斯特菲克(,MStefike),等人根据专家系统求解问题的要求及其难易程度由低到高将专家系统分为10个不同的层次。,(1)具有可靠知识和数据的小型搜索空间的专家系统,这类专家系统要求解的问题最简单,它所具有的知识和数据都十分可靠,且问题的解空间也比较小。像这类简单任务的专家系统,只需经过穷举搜索方式即可得到问题的解。事实上,对这类问题,也没有研制专家系统的必要。,(2)所用知识和数据不完全可靠的专家系统 这类专家系统所依据的知识是不确定的,所采用的推理方法是启发性知识推理或不确定性推理。,17,(3)所求解问题的推理需要随时间变化的专家系统 这类专家系统所依据的数据是随时间变化的,因此它应该能够描述和模拟各种数据随时间变化的情况。事实上,对预测性、实时性要求高的专家系统,对时变推理的要求就更高,目前研制这类专家系统的难度较大。,(4)所求解的问题是可分解的专家系统 对这类任务的专家系统,可以把解空间划分成一些较小的子空间,并采用剪枝的方法,以减少搜索范围和搜索空间。,18,(5)所求解的问题是不可分解的专家系统 对这类任务的专家系统不能采用分解和剪枝的方法,而只能采用抽象解空间的方法,即先暂时忽略某些细节问题,而集中考虑那些重要的原则性问题的求解方法。,(6)所求解的问题不能划分为固定子问题的专家系统 由于所求解的问题不存在固定的子问题划分或可进行适当抽象的固定子问题序列,因此对这类问题的抽象必须体现规划的可变结构,这就需要专家系统能够采用自顶向下求解的抽象方法来进行问题求解。,19,(8)需要多重推理的专家系统 在许多任务中,单一推理路径的能力较弱,需要采用多重线路推理,综合运用不同推理模型的优点,来扩大专家系统解决问题的能力。,(7)各子问题有相互影响的专家系统 由于自顶向下求解方法缺乏问题求解过程的反馈信息,当各子问题间相互影响时,该方法不能很好地处理这类问题。对此,可采用最小冒险原则,即决策不应在不成熟的情况下随意做出,而应推迟到有足够的信息时再做出。,20,(9)利用多知识源的专家系统 在求解复杂问题时,采用多种知识来源对问题进行综合分析,可取得明显效果。例如,在语音理解专家系统中,往往需要多种知识来源,这些知识通常被放在一个称为黑板的工作区中。,(10)使用统一知识表示方法的专家系统 为便于对系统中的知识进行统一管理、使用和解释,目前专家系统的发展是采用多种知识表示统一的知识表示方法,对日趋庞大的知识库进行有效的管理和组织。在这方面,用面向对象方法统一知识表示已被多数专家系统及其开发工具所采用,并取得了良好的效果。,21,3按系统的体系结构分类 按照系统的体系结构,专家系统可分为4 种类型。 (1)集中式专家系统 这是一种对知识和推理进行集中管理的一类专家系统。目前,得到成功应用的专家系统多属于这一类型。对这类专家系统,又可按照知识及推理机构的组织方式,细分为层次式结构、深-浅双层结构、多层聚焦结构及黑板结构等。,22,层次式结构是指具有多层推理机制,逐层进行推理的专家系统,例如,青光眼诊断专家系统,其推理模型可分为症状层、病变层及诊断层。 深-浅双层结构是指系统分别具有深层知识库(问题领域内的原理性知识)和浅层知识库(领域专家的经验知识),并且相应地有两个推理机分别作用于这两个不同知识库的专家系统。 多层聚焦结构是指知识库中的知识是按动态分层组织的专家系统。它把对当前推理最有用、最有希望推出结论的知识称为“焦点”,并把它置于聚焦结构的最上层,把有希望入选的知识放在第二层,以此类推。 黑板结构是指那种有多个知识库和多个推理机,并通过一个结构化的公共数据区(称为黑板)来交换信息的专家系统。这种专家系统通常用在那些求解问题比较复杂的系统中。,23,(2)分布式专家系统 分布式专家系统是指具有分布处理能力以及多专家系统、多知识元的协同处理能力的专家系统。分布式专家系统的主要特点有:第一,系统中的数据、知识及控制不但在逻辑上,而且在物理上都是分布的;第二,系统中的各机构通过计算机网络实现互连,这些机构之间相互协作,可以求解单个机构难以解决,甚至不能解决的问题。目前,基于多,Agent,的研究是分布式专家系统研究的重点。,(3)神经网络专家系统 这是运行人工神经网络技术建造的专家系统,目前尚处于研究阶段。,24,(4)符号系统与神经网络相结合的专家系统 这是把基于连接主义的神经网络与基于符号处理的专家系统有机结合形成的一种混合型专家系统。这种专家系统可以充分发挥神经网络与符号系统的优点,克服它们的缺点,实现优势互补。,至于神经网络与符号系统的结合,可以有多种方式。例如,为充分发挥神经网络学习能力强的优势,可把它用于知识的自动获取,而推理仍用符号机制。当然,也可以把神经网络作为推理机构中的一个模块,然后用符号机制加以连接,形成一个专家系统。与基于符号处理的专家系统相比,人工神经网络专家系统可以充分利用人工神经网络的学习功能和大规模并行分布处理功能等,实现自动化知识获取和自适应推理,从而提高了专家系统的智能水平。,25,总体上,专家系统具有一些共同特点: (1)可具有一个或多个专家的知识和经验,能以接近于人类专家的水平在特定领域工作。 (2)能高效、准确、迅速地工作,不会像人类专家那样产生疲倦和不稳定。 (3)使人类专家的领域知识突破了时间和空间的限制,专家系统程序可永久保存,并可复制任意多的副本或在网上供不同地区或不同部门的人们使用。 (4)能进行有效推理,包括各种精确性推理和非精确性推理等。 (5)具有透明性,能以可理解的方式解释推理过程。 (6)具有自学习能力,可总结规律,不断扩充和完善系统自身。 (7)能提高生产率,产生巨大的社会效益、经济效益等。 (8)对推动人工智能等其他学科的发展具有重大的作用。 专家系统无论在当前还是未来,都是专家可以信赖和利用的高水平智能助手。,三. 专家系统的特点,26,一,.,知识库,二,.,数据库,三,.,推理机,四,.,解释机构,五,.,知识获取机构,六,.,用户界面,2.,专家系统的基本结构,27,专家系统的结构是指专家系统各组成部分的构造方法和组织形式。不同应用领域和不同类型的专家系统,其体系结构和功能也都不尽相同。通常,一个最基本的专家系统应由知识库、数据库、推理机、解释机构、知识获取机构和用户界面6个部分所组成,如图1所示。,用 户 界 面,解释机构,推理机,知识获取机构,知识库,数据库,用 户,领域专家,AI,专家,图1 专家系统的组成,推理机和知识库完全是分开的,28,在专家系统的实际开发过程中,还可以采用更为理想、先进的专家系统结构,如元级和目标级控制的专家系统,具有黑板结构的专家系统,以及多层次、多专家协同工作的专家系统结构等。对于这些专家系统结构,可根据以后的实际需要逐步了解,本课程主要讨论图1所给出的专家系统的基本结构。,29,用 户 界 面,解释机构,推理机,知识获取机构,知识库,数据库,用 户,领域专家,AI,专家,知识库是专家系统的知识存储器,用来存放求解问题的领域知识。对领域问题的专家知识,首先用相应的知识表示方法将其表示出来,然后再进行形式化,并经编码放入知识库中。通常,知识库中的知识分为两大类型:一类是领域中的事实,称为事实性知识,这是一种广泛公认的知识,即在书本上的知识及常识;,另一类是启发性知识,它是领域专家在长期工作实践中积累起来的经验总结。专家系统开发中的一个重要任务就是要十分认真细致地对专家的这类经验知识进行分析。,一. 知识库,30,领域专家所拥有的经验性、判定性知识,实际上是一种直觉性和诀窍性的知识。,在问题求解过程中,这种知识是最难获得的,原因是不少专家很少意识到自己是如何使用这些知识解决问题的,甚至没有意识到自己在解决问题时究竟使用了多少这样的知识,而且让他们把这些直觉、诀窍、经验讲出来,本身就是一件比较困难的事情。但是,这些知识又恰恰是知识库的核心部分。,31,正如费根鲍姆斯指出的:专家系统的力量来自于它们存在的知识,那些知识本来是存储在专家(人)头脑中的,而要把它取出来,则是,AI,专家所面临的最大难题。,在建立知识库的过程中,,AI,专家要与领域专家很好地合作,认真提取领域专家的知识,并根据计算机对这些知识的表示和使用要求,从领域专家大脑中将这些知识转化成知识库的一个个组成部分。知识库一经建立,便可供专家系统在推理时使用。,32,用 户 界 面,解释机构,推理机,知识获取机构,知识库,数据库,用 户,领域专家,AI,专家,数据库又称全局数据库或综合数据库,用来存储有关领域问题的事实、数据、初始状态(证据)和推理过程中得到的各种中间状态及目标等。实际上,它相当于专家系统的工作存储器,用它存放用户回答的事实、已知的事实和由推理得到的事实。数据库的规模和结构可根据系统的目的不同来确定,而且,随着问题的不同,数据库的内容也可以是动态变化的。总之,数据库存放的是该系统,二. 数据库,当前要处理对象的一些事实。例如,在医疗专家系统中,数据库存放的仅是当前患者的情况,如姓名、年龄、症状等及推理过程中得到的一些中间结果、病情等;在气象专家系统中,数据库存放的是当前气象要素,如云量、温度、气压以及推理得到的中间结果等。,33,专家系统中的数据库只是一个存储量很小的用于暂存中间信息的工作存储器(也称为内涵数据库),而不是通常概念上的用于存放大量信息的数据库(也称为外延数据库),仅从研制专家系统来看,没有必要在其内部建立一个规模庞大、功能齐全的数据库。但是,通常要使专家系统达到实用,并使之为广大信息管理系统工作者所接受,必须解决专家系统对外延数据库的访问问题。,34,用 户 界 面,解释机构,推理机,知识获取机构,知识库,数据库,用 户,领域专家,AI,专家,推理机是一组用来控制、协调整个专家系统的程序。它根据数据库当前输入的数据,利用知识库中的知识按一定的推理策略,去求解当前的问题、解释外部输入的事实和数据,推导出结论并向用户提出问题等。由于专家系统是模拟人类专家进行工作,因此设计推理机时,应使它的推理过程和专家的推理过程尽量相似,并最好完全一致。推理机所采用,的推理方法可以是正向推理、逆向推理、或正逆向结合的双向推理,并且,在这三种推理方式中,都包含有精确推理和不确定推理,。,三. 推理机,35,对大中型专家系统,由于其知识库中的知识数量很多,因此其推理机制由知识库管理系统和推理机两个主要部分组成。,其中,知识库管理系统实现对知识库中知识的合理组织和有效管理,并能根据推理过程的需求去搜索、运用知识和对知识库中的知识做出正确的解释;而推理机则主要用于生成并控制推理的进程和使用知识库中的知识。,目前,在更大的专家系统中,知识库管理系统已从推理机中独立出来,专门用来管理庞大的知识库,它需要解决知识库的一致性、完备性、相容性等问题。,推理机和知识库相分离,是专家系统的一大特点。这不仅便于对知识库的管理,而且还可以实现具有可塑性、通用性的系统。,36,用 户 界 面,解释机构,推理机,知识获取机构,知识库,数据库,用 户,领域专家,AI,专家,专家系统应该能够以用户便于接受的方式解释自己的推理过程。例如,回答用户提出的“为什么?”,给用户说明“结论是如何得出的?”等。通过这种解释,既可以使专家系统更取信于用户,又可以帮助系统建造者发现知识库及推理机中的错误。因此,无论对用户,还是对系统自身,解释机构都是不可缺少的。,四. 解释机构,37,解释机构实际上也是一组程序,它包括系统提示、人机对话、能书写规则的语言以及解释部分程序,其主要功能是解释系统本身的推理结果,回答用户的提问,使用户能够了解推理的过程及所运用的知识和数据。,在设计解释机构时,应预先考虑好:在系统运行过程中,应该回答哪些问题,然后根据这些问题,设计好如何回答。目前,大多数专家系统的解释机构都采用人机对话的交互式解释方法。,在基于规则的专家系统中,系统的解释通常是与某种规则的追踪形式相联系的,当系统进行解释时,那些被追踪的规则将被触发。当然,要对一个结论做出更满意的解释,还需要系统能把推理同领域的基本原理(常识性知识)联系起来。,38,知识获取是专家系统的一种辅助功能,它可为修改知识库中的原有知识和扩充新知识提供相应手段。其基本任务是把知识加入到知识库中,并负责维持知识的一致性及完整性,建立起性能良好的知识库。,用 户 界 面,解释机构,推理机,知识获取机构,知识库,数据库,用 户,领域专家,AI,专家,五. 知识获取机构,39,在不同专家系统中,知识获取的功能和实现方法差别较大:,有的系统首先由知识工程师向领域专家获取知识,然后再通过相应的知识,编辑软件把知识送到知识库中;,有的系统自身就具有部分学习功能,由系统直接与领域专家对话获取知识;,有的系统具有较强的学习功能,可在系统运行过程中通过归纳、总结,得出新的知识。,无论采取哪种方式,知识获取都是目前专家系统研制中的一个重要问题。有关知识获取问题,将在下一节专门讨论。,40,用 户 界 面,解释机构,推理机,知识获取机构,知识库,数据库,用 户,领域专家,AI,专家,六. 用户界面,用户界面是专家系统的另一个关键组成部分,它作为专家系统与外界的接口,主要用于系 统和外界之间的通讯与信息交换。通常,专家系统的使用者包括最终用户、领域专家、知识工程师。,41,在这三种人员中,最终用户和领域专家一般都不是计算机专业人员,因此用户界面必须适 应非计算机人员的需求,不仅应把系统,的输出信息转换为便于用户理解的形式,而且还应使用户能方便地操纵系统运行。,一般来说,用户界面应尽可能地拟人化,尽可能地使用接近于自然语言的计算机语言,并能理解和处理声音、图像等多媒体信息。,42,一,.,知识获取的任务,二,.,知识获取方法的分类,三,.,非自动知识获取,四,.,自动知识获取,3.,知识的获取,43,知识获取一直是专家系统开发中的一个瓶颈问题。尽管已有许多人工智能工作者在这方面做了大量的研究工作,但至今仍无一种可以完全代替知识工程师的自动化方法。事实上,知识的自动化获取是一项非常艰难的工作,要实现这一目标,还有一段漫长的路要走,还有许多理论和技术上的问题需要解决。目前,专家系统的知识获取一般是由知识工程师与专家系统中的知识获取机构共同完成的。,44,一. 知识获取的任务,知识获取一般是指从某个或某些知识源中获取专家系统实现问题求解所需要的专门知识,并以某种形式在计算机中存储、传输与转移。其基本任务是为专家系统获取知识,建立起健全、完善、有效的知识库,以满足领域问题求解的需求。为此,需要做以下几项工作。,1从知识源抽取知识,所谓知识源是指专家系统知识的来源,如领域专家、书本、相关论文、实例研究、经验数据及系统自身的运行实践等。所谓抽取知识是指把蕴含于知识源中的知识经识别、理解、筛选、归纳等处理后抽取出来,以便用于知识库的建立。,45,通常,知识并不是以某种现成的形式存在于知识源中的,为了从知识源中抽取知识还需要做大量的工作。例如,对领域专家,虽然他们可以利用自己的经验解决该领域中的各种困难问题,但他们往往缺少对自己经验的总结与归纳,甚至有些经验是只可意会不可言传的。,另一方面,如果要求系统能够在自身的运行实践中通过机器学习功能从已有知识或实例中演绎、归纳出新知识,则系统自身必须具有一定的“学习”能力。这就对抽取知识提出了一种更高的要求。,2表示知识,通常,知识源中的知识是以自然语言、图形、表格等形式表示的,而知识库中的知识则是用计算机能够识别的形式来表示的,二者之间有很大差别。为使专家系统能够使用从知识源中抽取出来的知识,首先需要把这些知识用适当的知识表示形式表示出来。这一工作,通常是由知识工程师来完成的。,46,3知识输入,把用某种知识表示方法表示的知识经编辑、编译送入知识库的过程称为知识输入。目前,知识的输入一般有两条途径:一条是利用计算机系统提供的编辑软件;另一条是利用专门编制的知识编辑系统。前者的优点是简单、方便,无须编制专门程序即可直接使用;后者的优点是针对性、实用性强,更符合知识输入的要求。,4知识检测,在上述建立知识库的过程中,无论哪一步出现错误,都会直接影响到专家系统的性能。因此,必须对知识库进行检测,以便尽早发现和纠正可能出现的错误。检测的主要任务是知识库中知识的一致性和完整性。,47,二. 知识获取方法的分类,知识获取方法的分类可以有多种方式,例如,按照知识获取的自动化程度,可将知识获取分为非自动知识获取和自动知识获取两种方式;按知识获取所要解决的问题,可将知识获取分为手工知识获取、智能知识编辑、知识发现系统及人工神经网络知识获取4种方式。,1手工知识获取,这是一种通过知识工程师与领域专家长时间接触与多次交谈,直接从领域专家的经验中,或者在领域专家的指导下从其他知识源中提取知识的方法。此外,对获取的知识也需要知识工程师采用某种合适的知识表示形式将它们编入知识库中。,48,所谓知识工程师,实际上是专家系统设计者与领域专家之间的一个中介专家,他既懂得如何与领域专家打交道,能从领域专家或其他知识源中获得专家系统所需要的知识,又熟悉知识处理,能把获得的知识用合适的知识表示方法表示出来。,在实际专家系统的建造中,知识工程师的大多数工作是由专家系统的设计及建造者担任的。知识工程师的主要任务有: (1)与领域专家交谈,阅读有关文献,获取专家系统所需要的原始知识; (2)对获得的原始知识进行分析、归纳、整理,形成用自然语言表达的知识条款,然后交领域专家审查。经反复交流,最后把知识条款确定下来; (3)把最后确定的知识条款用知识表示语言表示出来,交知识编辑器进行编辑输入。,49,2智能知识编辑,这种方法是建立一个智能知识编辑器,让拥有领域知识的专家通过智能知识编辑器直接与专家系统打交道,并由智能知识编辑器自动生成知识库。所谓智能知识编辑器是指那种具有关于知识库结构的知识和会话能力的知识获取机构。这种方法在目前的专家系统开发工具设计中颇受重视。,3知识发现系统,这种方法是建立一个带有归纳、类比或其他高级功能的知识发现系统,是指通过实例或实际问题来总结、发现一些尚未为专家系统掌握或认识的新知识,将其装入知识库,使知识库的知识不断完善丰富。这种知识获取方法已成为机器学习的主要研究内容。,50,4人工神经网络知识获取,人工神经网络是一种具有学习、联想和自组织能力的智能系统。在专家系统中,可利用人工神经网络的学习、联想、并行分布式等功能解决专家系统开发中的知识获取、表达和并行推理等问题。,建立人工神经网络专家系统不需要组织大量的规则,也不需要进行树的搜索,而且,通过神经网络可使机器进行自组织、自学习,不断地充实、丰富专家系统中原有的知识库,使专家系统中最困难的知识获取问题得到很好的解决。在范例十分丰富的情况下,还可以借助人工神经网络的学习机制来解决非精确推理中构造知识库的问题。,51,三. 非自动知识获取,在这种方式中,知识获取可分为以下两步:首先由知识工程师从领域专家或其它知识源获取知识,然后再由知识工程师用某种知识编辑软件把它送到知识库中。在专家系统开发过程中,知识工程师获取领域专家知识的技术包括:,1现场观察,知识工程师要到现场对领域专家在工作中的实际问题求解进行观察,而不是在实验室条件下对设计出的真实问题进行观察。这时,知识工程师不要去干预领域专家,而是充当被动的观察者。这种方法能使知识工程师对问题的复杂性有所了解。,52,2问题讨论,知识工程师选择一些有代表性的问题,然后与专家进行讨论。其目的在于了解专家对每个问题是如何组织知识、如何表示概念和假设、如何处理与问题有关的知识和数据的不一致性和非精确性的。通常,所要提出的问题如下: (1)该问题与典型问题的差别何在? (2)问题需要什么类型的数据? (3)什么样的答案对问题是最合适的? (4)问题能够归结为互不相交的子问题吗? (5)问题求解需要什么样的知识? (6)问题解答的确切解释或正当理由是什么?,在讨论中,领域专家可能引入新术语、新概念和新关系。发生这种情况时,知识工程师可请领域专家来定义这些新概念,并将它们与现有概念和关系相联系。有时,可能需要对知识库中现有的概念进行重新定义和组合。,53,3. 问题描述,知识工程师请领域专家就每类可能产生的答案描述一个典型问题,以便帮助知识工程师对每类答案定义一个原型问题,专家系统可用其帮助选择解答问题的策略或基本方法,同时也为专家系统有层次的组织知识提供了启发。这种方法特别适用于诊断类型的问题。,4问题分析,知识工程师请领域专家解答一系列问题,从中探索专家在求解问题中的推理过程。在专家解决问题的过程中,知识工程师给专家提供所需的其它信息或数据。专家一边解决实际问题,一边描述求解过程,并尽可能多地给出一些中间步骤。知识工程师对每一步提出问题,从中决定其基本原理,包括引入的假设、用来产生假设的策略以及用于指导策略选择的目标。,54,5系统精化,先由领域专家给出一些从易到难的问题,在专家系统投入运行时,知识工程师应先在纸上使用从专家那里学来的概念、形式体系和尚未投入的规则来求解这些问题,以便对从领域专家那里得来的知识的一致性和完整性做快速检查。一旦专家系统能够运行,哪怕能力有限,知识工程师也应当用之求解领域专家提供的问题。,6系统检查 领域专家来检查和评价原型系统中的每条规则,评价选择规则的控制策略。这包含检验每条规则的精确度,说明系统后来用之解释其操作的理由。领域专家应当比较原型系统中的控制策略与自己处理问题的方法是否一致。,7. 系统验证 知识工程师把领域专家及原型系统求解问题的情况交给其他专家验证。这就提供了一条比较不同专家策略,并从中找出基本差别的途径。,55,四. 自动知识获取,所谓自动知识获取是指系统自身具有获取知识的能力,它不仅可以直接与领域专家对话,从专家提供的原始信息中“学习”专家系统所需要的知识,而且还能从系统运行实践中总结、归纳出新的知识,发现和改正自身存在的错误,并通过不断地自我完善,使知识库逐步趋于完整一致。为达到这一目的,它至少应具备的能力包括:,1.,具有语音、文字、图像的识别能力 为了实现知识的自动获取,必须使专家系统能与领域专家直接对话,能阅读相关的科技资料。这就要求系统应具有识别语音、文字及图像的能力。,2,具有理解、分析、归纳的能力 领域专家提供的知识通常是一些处理具体问题的实例,不能直接用于知识库。为了把它变成知识库中的知识,必须在理解的基础上进行分析、归纳、提炼、综合,从中抽出专家系统所需要的知识并送入知识库。,56,3具有从自身运行过程中学习的能力,在知识库建成投入使用后,随着实际应用的需要,知识库的不完善性会逐渐暴露出来。这就要求知识的自动获取系统能不断地总结经验教训,从运行实践中产生新的知识,纠正可能存在的错误,实现知识库的自我完善。,总之,知识的自动获取是一种理想的专家系统知识获取方式,要实现这一目标将涉及到人工智能的诸多研究领域,如模式识别、自然语言理解、机器学习等,甚至对硬件方面也有较高的要求。这些问题目前尚处于研究阶段,实现真正意义上的自动知识获取还任重而道远。,57,一,.,专家系统的开发条件,二,.,专家系统开发的生命周期,三,.,专家系统开发的各个阶段,四,.,专家系统的评价,3.,专家系统的开发与评价,58,前面已经讨论了专家系统的基本结构和有关技术,本节主要从建造专家系统的角度讨论专家系统的开发与评价问题。,一. 专家系统的开发条件,在实际应用中,并非任何领域都适合开发专家系统。除了支撑环境、实现技术等方面应具备的条件外,本节主要讨论问题领域特征、专家及其知识表达方面的一些要求。,59,1问题领域的合适性,选择合适的问题领域是开发专家系统的前提,也是专家系统开发中的一个关键问题。可供参考的用于选择专家系统应用领域的指导性原则包括:,(1)应用领域有使用专家系统的需求,对一个应用领域,是否需要开发专家系统,首先需要看该应用领域是否有应用这项技术的需求。实际上,对任何新技术,需求都是其发展的主要推动力。专家系统也不例外,开发一个没有需求的系统是毫无意义的。因此,应用领域的需求是开发专家系统的首要条件。,60,(2)领域问题适合用专家系统来解决,通常,领域专家是通过思维、启发式的方法解决问题的。专家系统正好适应了领域专家的这种工作方式。它特别适合于那些迄今为止人类还没有彻底掌握的、不存在成熟算法且主要靠专家经验来解决的领域问题。至于那些已存在成熟算法的领域问题,可直接用传统软件设计方法来解决,而不必采用专家系统。,(3)领域问题使用专家系统的合理性,对一个特定的领域问题,是否需要为其开发专家系统,还需要考虑它的合理性。通常,在以下情况下开发专家系统是不合理的:, 问题求解需要很高的代价; 人类专家的知识被遗忘或在知识传递中被损失; 领域专家的知识或经验稀少;,61,(4)领域问题的难度和规模要适中,领域问题的难度和规模是开发专家系统的另一个关键问题。如果领域问题的难度和规模太小,开发专家系统便会失去意义,这样的专家系统根本没有研制的必要。如果领域问题的难度和规模太大,则会使专家系统难以建立,即使建成了,其处理效率也比较低。一般来说,对于一个领域问题,要使人们解决该问题的能力达到专家水平,就需要经过多年的学习和实践,那么,这样的专家系统才有使用价值和实际意义。,从知识库的规模来看,如果处理问题所需知识(规则)的数量在几百条之间,则比较适合用来研制实用的专家系统。相对而言,如果一个专家系统仅有几十条知识,则有点过于简单,这种专家系统只能是一个演示程序,没有什么实用价值;如果一个专家系统需要数千或上万条知识才能解决该领域问题,则此种专家系统就有点过于复杂和庞大了。,62,(5)问题的领域范围不能太宽,受人工智能技术水平的限制,目前在知识获取、知识表示、知识处理与应用等方面还没有一种有效的通用技术。因此,一个实用专家系统所处理的问题一般应限制在一个相对窄的领域内,而不能太宽。例如,在医疗领域,目前要开发一个能医治百病的专家系统还很困难。当然,人们也正在致力于研究分布式、协同式的新一代专家系统。,63,2领域专家的参与和专家知识的可表达性,有高水平领域专家的参与、专家知识的可表达性与可获得性是开发专家系统的重要条件。,64,(1)要有公认的高水平领域专家的积极参与,开发一个实用专家系统的重要条件之一是看在该领域内是否有可合作的真正公认的高水平领域专家的参与。所谓真正公认的高水平领域专家是指在该领域具有杰出成就的第一流专家,他不仅具有广泛的专业知识,而且在解决该领域的专业问题方面比一般人能力更强。一般来说,领域专家的水平越高,与他合作出来的专家系统的性能就会越好,也更容易被别的同行专家和用户所承认。此外,仅有公认的领域专家是不够的,还需要有这些专家的积极参与。,专家系统中强调符合率而不是准确率,例如,一个专家治病的准确率是80,按照该专家开发的专家系统符合率是90,则该专家系统的准确率是90*80=72。因此,开发一个实用专家系统的重要条件之一是看在该领域内是否有可合作的真正公认的高水平领域专家的参与。,65,(2)领域专家的知识应该是可表达的,仅有高水平领域专家的积极参与还不够,专家还必须能够明确表达和理解他们在解决领域问题时所采用的知识、经验、技能和方法。当有多个领域专家时,这些领域专家应该能够在领域问题及其解决方法方面取得一致意见。否则,知识工程师将无法从他们那里获得知识,建立高性能专家系统也将是一句空话。,从专家知识的可表达性可以看出,只有那些专家的知识、经验能用语言表达清楚的领域,才适合开发专家系统。只有这样,知识工程师才能通过与领域专家的交谈把专家的知识整理出来,并加以形式化后存入知识库。而那些全凭专家的感觉和直觉工作的某些领域(如品尝专业)和完全依赖于技能的领域(如外科手术),目前还不太适合建立专家系统。,66,(3)领域专家的经验应该是易获得的,问题领域的选择通常还与专家掌握该问题领域知识的程度有关,即与专家求解问题的准确性和知识好坏程度有关。如果任务非常新、难度又很大,以至于为求解该问题需要做一些基础性研究工作的话,则该任务不宜用专家系统来解决。,67,二. 专家系统开发过程的生命周期概念,专家系统作为一个软件系统,其开发也存在一个生命周期的问题,这种生命周期称为知识工程生命周期。与软件工程生命周期相比,它们之间有相似的地方,也有不同之处。,68,专家系统是一种能够对领域问题给出具有专家水平结论的特殊的复杂软件系统,并且不同系统的开发过程又有着各自的特殊性和侧重点。,因此,不同的专家系统开发人员对知识工程生命周期的划分提出了一些不同的看法。有的划分为:问题(任务)选择与需求分析、概念设计、功能设计、结构设计、知识获取、知识表示模式设计(形式化)、功能模块的详细设计、系统实现、测试与评价、系统集成与维护这样几个阶段;也有简单的划分为问题确定、概念化、形式化、实现和测试五个阶段。但是,这些划分方法都无法解决专家系统建造过程在知识获取及知识的形式化方面存在的瓶颈问题。,原型技术是解决瓶颈问题的一种较好方法,引人原型技术的专家系统开发过程可分为问题选择与任务确定、需求分析、原型化设计、规划与设计、系统实现、系统测试与评价、系统维护这样七个阶段,69,三. 专家系统开发过程的各个阶段,1问题选择与任务确定,选择合适的应用问题是专家系统能否立项和能否开发成功的关键问题。这一阶段的主要工作主要包括以下几个方面。 (1)问题调研 这一步的任务是通过广泛地调查研究和征求意见,列出一切可供考虑的问题。 (2)确定候选问题 这一步的任务是要缩小问题的选择范围,以使剩下的候选问题能够得到详细完整的评价和分析。,70,(3)候选问题分析 这一步的主要任务是对候选问题进行详细分析。它包括:对问题实用性的分析;对专家及其经验的可获得性的分析;确定问题的难度和专家系统的规模;专家系统的费用/效益分析。 (4)确定最终入选的问题 经过详细分析之后,可供选择的问题都适合于开发专家系统,也都与用户需求相吻合,并且有合理的费用/效益比。这时,需要和用户或主管部门一起最终确定一个入选的问题,即确定开发何种专家系统更适合该领域问题求解的目标。,71,2需求分析,要建立一个实用的专家系统,首先应对用户的需求进行详尽的调查和仔细的分析。需求分析的好坏是系统最终成败的关键一步,因此知识工程师在进行构思和设计专家系统之前,必须做好对用户需求的分析。需求分析阶段的主要工作包括:反复地与用户和领域专家进行讨论;写出需求分析报告;选择有代表性的用户和专家对需求报告进行评审;写出专家系统的规格说明书与开发计划。,72,3原型化设计,所谓专家系统的原型化(,Expert System Prototyping),是指对比较大型或难度较大的专家系统的一种研制与开发方法。即在开发一个实用专家系统之前先开发出来一个专家系统原型,然后在对原型开发取得一定经验的基础上,再逐步实现实用的专家系统。 建立原型应注意以下三点:第一,对选定的领域问题而言,知识库中的知识类型应该是齐全的,但一开始知识的数量可能较少,知识库的规模不宜太大;第二,采用一种能快速实现专家系统原型的工具或方法,光追求系统主要功能的实现,而暂不考虑系统的处理效率和那些次要功能;第三,能提供用多种方案或多种知识表示方法实现系统的可能。 构造专家系统原型的主要步骤包括:初步知识获取;基本问题求解方法的确定;推理方式的确定;知识表示方法的确定;工具选择;原型系统开发;原型系统测试;原型系统演示;项目的修正。,73,4规划与设计,这是大型复杂专家系统开发中的一个重要阶段,在专家系统生命周期中具有重要作用。这一阶段的主要目标是:加深对系统的进一步理解;制定好开发规划;确定实施策略;对所有为系统开发提出过建议的人阐明对问题的理解程度,以得到他们的支持和帮助;为项目管理提供直观的检测点,使用户参与系统的开发;合理组织人员,协调项目的进展。 设计与规划的主要任务包括:问题的详细定义;确定项目规划;对系统各个方面进行设计,如基本知识描述、系统体系结构、工具选择、知识表示方式、推理方式、对话模型等;制定测试规划;制定产品规划;提出实施规划等。,5系统实现,这一阶段要对专家系统进行编程,因此应该首先选择适当的语言环境和软件开发工具。系统实现所要完成的主要工作包括:原型系统修改;系统实现;系统集成与验证。,74,6系统测试与评价,这一阶段的目的是要测试与评估整个系统的功能,并进行必要的修改,以达到在任务确定阶段所确立的性能与功能指标。,7系统维护与完善,这是专家系统开发过程的最后一个阶段。对大型的专家系统来说,这一阶段十分重要。维护阶段的主要工作是:不断增加系统功能;不断修改系统,尤其是扩充知识库,增加新的知识,使其更完备;不断扩大系统应用领域,增强系统的问题求解能力;修改系统,使其能够适应外部环境的变化。,75,四. 专家系统的评价,严格地说,评价是贯穿于整个专家系统建造过程的一项工作,只不过在开始阶段进行的评价可以是非正式的,而随着系统开发的深入,其评价工作应该越来越正式。一般来说,当完成了系统原型的建造后,评价工作就必须随之进行,并同时利用评价结果去改进系统;当系统全部完成准备投入实际运行前,还应该对整个系统做最后的评价。,对专家系统的评价是一项十分困难的工作,目前关于如何评价一个专家系统,尚无统一的标准。下面从评价方法、评价内容及评价原则三个方面来讨论这一问题。,76,1评价方法,评价专家系统的基本方法有两种:,(1)“轶事”的方法,这种方法是简单地启发式地使用一些例子来检测系统的工作情况,以评价系统的性能。这是人们在日常生活中经常使用的一种方法,例如,人们往往是用一个医生治愈疑难病症的情况去评价该医生的医术水平。,(2)实验的方法,这种方法强调通过实验来评价系统在处理数据库中的各种问题事例时的性能。要使用这种方法,必须规定某种严格的试验过程,以便把系统产生的解释与相应事例的实际解释进行比较。这种方法看起来比轶事方法优越,但在具体实现方面和得到有代表性的事例方面,常常会遇到一些严重的困难。例如,在医学领域,要得到一些常见病的病例比较容易,但要得到那些非常见病的有代表性的病例就比较困难。,77,2 . 评价内容,评价内容主要侧重于专家系统的正确性与实用性,它包括以下一些主要方面: (1)知识库中的知识是否正确和准确? (2)知识库中知识的一致性和完整性是否满足要求? (3)知识的表达方式是否合适?组织方式是否合理? (4)系统的推理是否正确?对各种问题能否给出正确答案?结果的可信度如何? (5)系统的解释功能是否完全与合理? (6)用户界面是否友好?使用是否方便?能否满足用户需求? (7)系统的解题效率如何?系统的响应速度能否满足用户要求? (8)系统的可扩展性和可移植性如何?,78,3评价原则,概括起来,对专家系统的评价大致有以下原则: (1)评价系统的性能,看其是否达到了领域专家的水平,是否达到了实用的程度; (2)评价系统的灵活性,看是否便于修改和扩充知识库中的知识; (3)评价系统的透明性,看其解题过程及系统本身是否容易被用户和维护人员所理解; (4)评价系统的可用性,包括系统的使用方法是否简单易行,人机通信是否直观,运行效率是否令人满意,能否推广应用等; (5)评价系统的运行效率,看系统能否产生预期的经济效益和社会效益; (6)评价系统的意义,看系统的实现技术是否对促进专家系统的推广和发展有积极意义。,79,一,.,程序设计语言,二,.,知识工程语言,三,.,辅助型工具,四,.,支持工具,五,.,专家系统开发环境,5.,专家系统开发工具与环境,80,不同应用领域的专家系统,虽然其基本结构和工作方式相似,但其领域知识截然不同。前者体现了各种专家系统开发中的共性,后者则体现了不同专家系统中的个性。专家系统开发中的这种共性和个性,为各种开发工具的使用提供了基础。 所谓专家系统开发工具与环境,实际上是一种为高效率开发专家系统而设计的高级程序系统或高级程序设计语言环境。从目前的现状来看,专家系统开发工具和环境可包括五方面的内容:程序设计语言、知识工程语言、辅助型工具、支持工具及开发环境。,81,一. 程序设计语言,程序设计语言包括通用程序设计语言和人工智能语言。它们是开发专家系统的最基础的语言工具。作为通用程序设计语言的主要代表有,C、PASCAL、ADA,等;作为人工智能语言的主要有以,LISP,为代表的函数型语言,以,PROLOG,为代表的逻辑型语言,以及,C+,等。,在上述人工智能语言中,,LISP(LISt Processing Language),是麦卡锡和他的研究小组 1960年研究出来的,在专家系统发展的早期,有许多著名的专家系统都是用这种语言开发出来的,例如,MYCIN,和,PROSPECTOR,等。,PROLOG(PROgramming in LOGic),语言是由科瓦尔斯基(,RKowalski),首先提出,并于1972年由科麦瑞尔(,A Comerauer),及其研究小组研制成功的一种逻辑程序设计语言。由于它具有简洁的文法以及一阶逻辑的推理能力,因而被广泛地应用于人工智能的许多研究领域中。,82,C+,语言既是一种通用程序设计语言,又是一种很好的人工智能语言,它以其强大的功能和面向对象特征,在人工智能中得到了广泛的应用。目前,已有不少人直接用它来开发专家系统或各种专家系统工具。尤其是,Visual C+,的发展,为专家系统对多媒体信息的处理、可视化界面的设计、基于网络的分布式运行等提供了一种很好的语言环境。,此外,对于基于网络的分布式多专家协同专家系统的开发,,Java,语言也是值得考虑的一种语言工具。,83,二. 知识工程语言,知识工程语言是一类专门用来建造和调试专家系统的语言,是为开发专家系统专门设计的一些特殊的高级工具。知识工程语言的种类很多、它们的复杂程度和具有的各种设施也各不相同。根据设计背景的不同,可将其划分为骨架型知识工程语言和通用型知识工程语言两种。,1骨架型知识工程语言,骨架型知识工程语言(,Skeletal Knowledge Engineering Language),也称为专家系统外壳,它是由一些已经成熟的具体专家系统演变来的。其演变方法是:抽去这些专家系统中的具体知识,保留它们的体系结构和功能,再把领域专用的界面改为通用界面,这样,就可得到相应的专家系统外壳。可见,在专家系统外壳中,知识表示模式、推理机制等都是确定下来的。,84,由于专家系统外壳是一个精练出来的空壳,它缺少的只有知识,因此,当用它来建造专家系统时,只须把相应领域的专家知识用外壳规定的模式表示出来并装入知识库,就可以快速地产生一个新的专家系统。,用程序设计语言直接开发专家系统和用外壳型知识工程语言开发专家系统相比,用外壳型知识工程语言具有省时、速度快、效率高等优点,但灵活性和通用性较差,其原因是外壳的推理机制和知识表示方式是固定不变的。此外,用外壳开发专家系统又存在着一定的领域局限性,即一种专家系统外壳只能用在一个比较窄的范围内。,在专家系统发展过程中,发挥了重要作用的专家系统外壳主要有,EMYCIN、KAS,及,EXPERT,等。,85,(1),EMYCIN EMYCIN(Eempty MYCIN),是由美国斯坦福大学的迈尔(,Melle),在,MYCIN,的基础上开发的一个专家系统外壳。该外壳沿用了,MYCIN,的知识表示方式、推理机制及各种辅助功能(如解释、
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!