当前位置:文档之家› 第8章 专家系统信息处理方法

第8章 专家系统信息处理方法

第8章专家系统信息处理方法8.1引言近三十年来人工智能(Artificial Intelligence,AI)获得了迅速的发展,在很多学科领域都获得了广泛应用,并取得了丰硕的成果。

作为人工智能一个重要分支的专家系统(Expert System,ES)[1]是在20世纪60年代初期产生和发展起来的一门新兴的应用科学,而且正随着计算机技术的不断发展而日臻完善和成熟。

1982年美国斯坦福大学教授费根鲍姆给出了专家系统的定义:“专家系统是一种智能的计算机程序,这种程序使用知识与推理过程,求解那些需要杰出人物的专门知识才能求解的复杂问题。

”一般认为,专家系统就是应用于某一专门领域,由知识工程师通过知识获取手段,将领域专家解决特定领域的知识,采用某种知识表示方法编辑或自动生成某种特定表示形式,存放在知识库中,然后用户通过人机接口输入信息、数据或命令,运用推理机构控制知识库及整个系统,能像专家一样解决困难的和复杂的实际问题的计算机(软件)系统。

专家系统有三个特点,即:启发性,能运用专家的知识和经验进行推理和判断;透明性,能解决本身的推理过程,能回答用户提出的问题;灵活性,能不断地增长知识,修改原有的知识。

8.2专家系统的产生与发展专家系统按其发展过程大致可分为三个阶段[2~4]:初创期(1971年前),成熟期(1972—1977年),发展期(1978年至今)。

2.1初创期人工智能早期工作都是学术性的,其程序都是用来开发游戏的。

尽管这些努力产生了如国际象棋、跳棋等有趣的游戏[5],但其真实目的在于计算机编码加入人的推理能力,以达到更好的理解。

在这阶段的另一个重要领域是计算逻辑。

1957年诞生了第一个自动定理证明程序,称为逻辑理论家。

20世纪60年代初,人工智能研究者便集中精力开发通用的方法和技术,通过研究一般的方法来改变知识的表示和搜索,并且使用它们来建立专用程序。

到了60年代中期,知识在智能行为中的地位受到了研究者的重视,这就为以专门知识为核心求解具体问题的基于知识的专家系统的产生奠定了思想基础。

1965年在美国国家航空航天局要求下,斯坦福大学研制成功了DENRAL系统[6],DENRAL的初创工作引导人工智能研究者意识到智能行为不仅依赖于推理方法,更依赖于其推理所用的知识。

该系统具有非常丰富的化学知识,是根据质谱数据帮助化学家推断分子结构,被广泛地应用于世界各地的大学及工业界的化学实验室。

这个系统的完成标志着专家系统的诞生。

在此之后,麻省理工学院开始研制MACSYMA系统[2],它作为数学家的助手使用启发式方法变换代数表达式,现经过不断扩充,能求解600多种数学问题,其中包括微积分、解方程和方程组,矩阵运算等。

同期,还有美国卡内基-梅隆大学开发的用于语音识别的专家系统HEARSAY[7],该系统表明计算机在理论上可按编制的程序同用户进行交谈。

20世纪70年代初,匹兹堡大学的鲍波尔和内科医生合作研制了第一个用于医疗的内科病诊断咨询系统INTERNIST[8]。

这些系统的研制成功使得专家系统受到学术界及工程领域的广泛关注。

2.2成熟期到20世纪70年代中期,专家系统已逐步成熟起来,其观点逐渐被人们接受,并先后出现了一批卓有成效的专家系统。

其中,最为代表的是肖特立夫等人的MYCIN系统[9],该系统用于诊断和治疗血液感染和脑炎感染,可给出处方建议(提供抗菌剂治疗建议),不但具有很高的性能,而且具有解释功能和知识获取功能。

MYCIN系统是专家系统的经典之作,它的知识表示系统用带有置信度的“IF—THEN”规则来表示,并使用不确定性推理方法进行推理。

MYCIN由LISP语言写成,所有的规则都表达成LISP表达式。

它是一个面向目标求解的系统,使用反向推理方法,并利用了很多的启发式信息。

另一个非常成功的专家系统是PROSPCTOR系统[10],它用于辅助地质学家探测矿藏,是第一个取得明显经济效益的专家系统。

PROSPCTOR的性能据称完全可以同地质学家相比拟。

它在知识的组织上,运用了规则与语义网相结合的混合表示方式,在数据不确定和不完全的情况下,推理过程运用了一种似然推理技术。

除这些成功实例以外,在这一时期另外两个影响较大的专家系统是斯坦福大学研制的AM系统及PUFF系统[8]。

AM是一个用机器模拟人类归纳推理、抽象概念的专家系统,而PUFF是一个肺功能测试专家系统,经对多个实例进行验证,成功率达93%。

诸多专家系统地成功开发,标志着专家系统逐渐走向成熟。

2.3发展期从20世纪80年代初,医疗专家系统占了主流,主要原因是它属于诊断类型且开发比较容易。

但是到了80年代中期,专家系统发展在应用上最明显的特点是出现大量的投入商业化运行的系统,并为各行业产生了显著的经济效益。

其中一个著名的例子是DEC公司与卡内基-梅隆大学合作开发的XCON-R1专家系统[2],它用于辅助数据设备公司(DEC)的计算机系统的配置设计。

它每年为DEC公司节省数百万美元。

专家系统的应用日益广泛,处理问题的难度和复杂度不断增大,导致了传统的专家系统无法满足较为复杂的情况,迫切需要新的技术去支持。

从80年代后期开始,一方面随着面向对象、神经网络和模糊技术等新技术迅速崛起,为专家系统注入了新的活力;另一方面计算机的运用也越来越普及,而且对智能化的要求出越来越高。

由于这些技术发展的成熟,并成功运用到专家系统之中,使得专家系统得到更广泛的运用。

在这期间开发的专家系统按其处理问题的类型可以分为:解释型、预测型、诊断型、设计型、规划型、监视型、调试型、修正型、教学型和控制型[11]。

其应用领域也涉及到农业、商业、化学、通信、计算机系统、医学等多个方面,并已成为常用的解决问题的手段之一。

8.3专家系统的研究现状目前已研究的专家系统模型有很多种,其中较为流行的有:基于规则的专家系统、基于案例的专家系统、基于框架的专家系统、基于模糊逻辑的专家系统、基于D-S证据理论的专家系统、基于人工神经网络的专家系统和基于遗传算法的专家系统等。

这些专家系统的优缺点及技术要点如下。

8.3.1基于规则的专家系统基于规则推理(Rule Base Reasoning,RBR)的方法是根据以往专家诊断的经验, 将其归纳成规则, 通过启发式经验知识进行推理。

它具有明确的前提,得到确定的结果。

它是构建专家系统最常用的方法,这主要归功于大量的成功实例和工具的出现。

早期的专家系统大多数是用规则推理的方法,如DENDRAL专家系统、MYCIN专家系统、PROSPECTOR专家系统等。

在转化为机器语言时,用产生式的“IF…AND(OR)…THEN…”表示。

因此这种系统又称为产生式专家系统。

基于规则的方法容易使知识工程师与人类专家合作,易于被人类专家理解。

规则库中的规则具有相同的结构,即“IF…THEN…”结构,这种统一的格式便于管理,同时便于推理机的设计。

但它也有诸多缺点,如规则间的互相关系不明显,知识的整体形象难以把握、处理效率低、推理缺乏灵活性[12,13]。

它对于复杂系统难以用结构化数据来表达,如果全部用规则的形式来表达,不仅提炼规则相当困难,而且规则库将十分庞大和复杂,容易产生“组合爆炸”。

它在实时处理方面的应用也己被证明比较困难,速度是实时性能最根本的要求,而产生式系统在处理实时任务时,其搜索、匹配时间要占全部计算时间的90%。

基于规则的专家系统的特点决定适合的领域为:①系统结构简单,有明确的前提和结论,问题仅仅用有限地规则即可全部包含;②问题领域不存在简洁统一的理论,知识是经验的;③问题的求解可被一系列的相对独立的操作,或者问题的求解可视为从一个状态向另一个状态的转换,一个操作或转换可以被有效地表示为一条或多条产生式语句。

8.3.2基于案例的专家系统基于案例推理(Case Based Reasoning,CBR)的方法就是通过搜索曾经成功解决过的类似问题,比较新、旧问题之间的特征、发生背景等差异,重新使用或参考以前的知识和信息,达到最终解决新问题的方法。

它起源于1982年美国学者Roger Schank(关于人类学习和回忆的动态存储模型的研究工作)。

第一个真正意义上的基于案例的专家系统是1983年由耶鲁大学Janet Kolodner教授领导开发的CYRUS系统。

它以Schank的动态存储模型和问题求解的MOP(Memory Organized Packet)理论为基础,做与旅行相关的咨询工作。

这种类比推理比较符合人类的认知心理。

基于案例的专家系统具有诸多优点: 无须显示领域知识;无须规则提取, 降低知识获取难度;开放体系, 增量式学习, 案例库的覆盖度随系统的不断使用而组建增加[14]。

基于案例的推理方法适用于领域定理难以表示成规则形式, 而是容易表示成案例形式并且已积累丰富案例的领域(如医学诊断系统)[15]。

它的难点还在于案例特征的选择、权重分配以及处理实例修订时的一致性检验(特征变量间的约束关系) 等问题。

传统的基于案例的方法难以表示案例间的联系,对于大型案例库案例检索十分费时, 并且难以决定应选择哪些特征数据及它们的权重[16]。

8.3.3基于框架的专家系统框架(Frame) 是将某类对象的所有知识组织在一起的一种通用数据结构,而相互关联的框架连接组成框架系统。

1975年美国麻省理工学院的著名的人工智能学者明斯基在其论文中提出了框架理论,并把它作为理解视觉、自然语言对话及其他复杂行为的基础。

在框架理论中, 框架被视作表示知识的一个基本单位。

它把要描述的事务各方面的知识放在一起, 通过槽值关联起来。

框架的顶层是代表某个对象的框架名。

其下为代表该框架某一方面属性的若干个槽, 槽由槽名和槽值组成。

槽下还可分为若干个侧面(由侧面名和侧面值组成)。

一个框架系统常被表示成一种树形结构,树的每一个节点是一个框架结构,子节点与父节点之间用槽连接。

当子节点的某些槽值或侧面值没有被直接记录时,可以从其父节点继承这些值。

框架系统中可以推理出未被观察到的事实,它将通过以下三种途径实现[16,17]:①框架包含它所描述的情况或物体的多方面的信息。

这些信息可以被引用,就像已经直接观察到这些信息一样;②框架包含物体必须具有的属性。

在填充框架的各个槽时,要用到这些属性。

建立对某一情况的描述要求先建立对此情况的各个方面的描述。

与描述这个情况的框架中的各个槽有关的信息可用来指导如何建立这些方面的描述;③框架描述它们所代表的概念的典型事例。

如果某一情况在很多方面和一个框架相匹配,只有少部分相互之间存在不同之处,这些不同之处很可能对应于当前情况的重要方面,也许应该对这些不同之处做出解答。

框架表示法最突出的特点是善于表达结构性的知识,且具有良好的继承性和自然性。

因此,基于框架的专家系统适合于具有固定格式的事物、动作和事件。

相关主题