当前位置:文档之家› 正文

正文

文献综述

一概述

人工智能一门正在发展的综合性边缘学科,50多年来,理论研究和实际应用均得到迅速的发展,它所包括的研究领域有专家系统、模式识别、自然语言理解、问题求解、机器人等。其中,专家系统是当前人工智能应用中最为成功的一个领域。专家系统是一种大型复杂的智能计算机程序,被广泛应用于那些非结构化问题的求解。它把专门领域中若干个人类专家的知识和思考、解决问题的方法以适当方式储存在计算机中,使计算机能在推理机的控制下模仿人类专家去解决问题,在一定范围内取代专家或起专家助手作用。

60年代中期,首批专家系统在美国斯坦福大学和麻省理工学院问世。80年代中期,专家系统广泛地应用于化学、数学、医疗、地质、气象、石油勘探、军事、法律、教育等领域, 并取得了重大的社会和经济效益。我国近年来包括863高新技术发展计划“九五”计算机技术科技攻关规划,都把人工智能技术作为重点发展的关键技术之一,在理论研究和实际应用上都有较大的进展。

近十多年来,专家系统获得迅速发展,应用领域越来越广,这是专家系统优良性能以及对国家经济的重大作用决定的。具体的说,包括下列几个方面:(1)专家系统能够高效率、准确、周到、迅速和不知疲倦地进行工作。

(2)专家系统解决问题时不受周围环境的影响,也不可能遗漏忘记。

(3)可以使专家的专长不受时间和空间的限制,以便推广珍贵和稀缺的专家知识与经验。

(4)专家系统能够促进各领域的发展,它使各领域专家的专业知识和经验得到总结和精炼,能够广泛有力的传播专家的知识、经验与能力。

(5)专家系统能够汇集多领域专家的知识和经验以及他们协作解决重大问题的能力,它拥有更渊博的知识、更丰富的经验与更强的工作能力。

(6)军事专家系统的水平是一个国家国防现代化的重要标志之一。

(7)专家系统的研制与应用,具有巨大的经济效益和社会效益。

(8)研究专家系统能促进科学技术的发展,专家系统对人工智能的各个领域

的发展起了很大的作用,并将对科技、经济、国防、教育、社会和人民生活产生极其深远的影响。

二主题

专家系统(expert system)是人工智能应用研究最活跃和最广泛的课题之一。自从1965年第一个专家系统DENDRAL在美国斯坦福大学问世以来,经过20多年的研究开发,到80年代中期,各种专家系统已遍布各个专业领域,取得很大的成功。专家系统属于人工智能的一个发展分支,并且运用于医疗、军事、地质勘探、教学、化学等领域,产生了巨大的经济效益和社会效益。现在,专家系统已成为人工智能领域中最活跃、最受重视的领域。专家系统运用于医疗、军事、地质勘探、教学、化工等领域,产生了巨大的经济效益。但与此同时,专家系统在开发使用中也存在一些缺点:

(1)知识获取“瓶颈”,通常专家系统的知识获取主要靠人工移植,由知识工程师将领域专家的知识归纳为规则加入知识库中,这种知识获取是间接的,因而效率低。另外,领域专家的某些经验往往只会意会,不能言传,很难用一定的规则或数学模型来严格描述,因而这些经验知识在问题求解过程中是相当重要的,这就是专家系统设计开发中的“瓶颈”问题。

(2)另一种知识获取的困难就是多个领域专家的知识之间的互相矛盾的处理。是在这些知识之间做某些折中处理,还是取其中某一种,作为非领域专家的知识工程师在这种情况下也束手无策。

(3)知识“窄台阶”。目前,一般的专家系统只能在相当窄的专家知识领域内求解专门性问题,对于那些可以用相应经验知识完整描述的问题能够得到正确的结论,但是一旦我难题超出系统所拥有的专业领域知识,出现系统未预料到的情况,即使问题所涉及的知识只与现有专业领域知识有细微偏差,系统就得不作出结论甚至还可能得到错误的结果。所以存在知识的“窄台阶”,即只有浅层的、表面的、经验性的知识,缺少深沉的、本质的、理性的知识。

(4)推理能力弱。由于推理方法简单,控制策略不灵活,所以容易出现“匹配冲突”,“组合爆炸”及“无穷递归”等问题,推理速度慢,效率低。

(5)智能水平低。专家系统的知识存储是一一对应的,且限定没有冗余性,因而失去了灵活性。一般的专家系统一般不具备自学习能力和联想记忆功能,不能再运行过程中自我完善、发展和创新,不能联想记忆、识别和类比等方式进行推理。这样,系统就不能在实践中不断完善,就不能从环境变化中发展和创新知识。系统的功能取决于系统最初的知识和能力,它的本领只是输入知识的总和。

以上种种都是专家系统发展中存在的一些限制,在未来的年代里,许多今日的专家系统缺失将会被改善,相信未来专家系统应该继续研究的项目有:具有处理常识的能力;发展深层的推论系统;不同层次解释的能力;使专家系统具有学习的能力;分布式专家系统;轻易获取与更新知识的能力。

未来发展的专家系统,就由传感器直接获取外界资料,也可由系统外的知识库获得资料,在推理机中除推理外,能拟定规划,仿真问题状况等。知识库所存的不只是静态的推理规则与事实,更有规划、分类、结构模式及行为模式等动态知识。

人工智能与专家系统的开发标志着计算机系统的发展进入了崭新的阶段,使计算机的性能更科学、更智能。专家们预测,人们在一般的知识系统支持下开发专家系统的日期不会太长,到那时,用户通过本领域的专门知识放入预先设计好的问题求解软件包中,就能获得用于解决领域本领问题的专家系统,甚至可以能从根本上改变传统设计程序的观念。

专家系统具有专业的知识水平。专家系统要解决人类专家才能解决的复杂问题就必须依赖人类专家,所以具有专业知识是专家系统最大的特点,也是所有知识库共同的特点。

专家系统中按知识在问题求解中的作用可以分为三个层次,即数据级,知识库级和控制级。数据级是知识按其问题所提供初始事实,及在求解过程中产生的中间结论、最终结论,也可称动态数据,数据知识通常存在数据库中。知识库级指专家知识,这类知识是构成专家系统的基础,一个系统性能的高低,取决于这种知识的质量和数量。控制级也称为元知识、是如何运用两种知识,如在问题求解中搜索策略、推理方法等.能进行有效的推理。专家系统要利用专家知识来求解领域内的具体问题,而问题的求解过程是个推理过程,所以专家知识来求解领域内的具体问题,而问题的求解过程就是一个推理过程,所以专家系统必须有个

推理机构,能根据用户提供已知的事实,通过运用知识库的知识进行有效的推理以实现问题的求解,专家系统的核心就是知识库和推理机。具有启发性。专家系统具有大量的专业知识外,还必须用经验和判断对问题做多个假设,依据某些假设使推理继续进行。具有灵活性。专家系统的体系结构中,知识库和推理机即相互联系,又相互独立。相互联系保证了推理机利用知识库进行推理的有效性,已实现对问题的求解;相互独立保证了当知识库发生修改时,只要推理策略不变,推理机部分就可以不发生改变。使系统容易修改,具有较大灵活性具有透明性。专家系统一般具有解释机构,所以具有较好的透明性。人们在使用专家系统求解问题的时候,不仅能得出正确答案,还希望给出正确答案的求解过程。即回答用户提问的“WHY”还能给出“HOW”等问题。具有交互性。专家系统一般是交互性系统,具有良好的人机界面。一方面他需要领域专家或知识工程师进行对话来取得知识,另一方面它也不断从用户获得已知知识,并回答用户的提问。下表1是专家系统跟一般传统程序的比较,从中我们可以看出专家系统的优点。

表1 传统程序与专家系统的比较

三总结

一般认为,临床诊断是运用已有的医学知识对疾病的表现进行辨证分析,得出符合逻辑的结论的过程。就是把问诊、体检检查、试验室及其他各项辅助检查所得到的资料,运用医学知识进行辨证分析、综合、推理与判断,从而得出符合

患者病情的诊断结论。其基本环节如下:收集资料以综合分析、推理、作出诊断、治疗。

在传统的疾病诊断过程中,其综合分析、推理除了从过去的历史资料中得到以外,还主要依据医生的个人经验。因此,其诊断存在一定的片面性和主观性。计量诊断与传统的疾病诊断环节一致,但其分析、推理不是凭经验,而是用一种定量的推理模式代替,再根据一定的法则作出合理的临床判断。因此,计量诊断也成为定量诊断或数值诊断。随着计算机应用的发展,计量诊断过程可由计算机部分或完全实现,所以也称之为计算机辅助诊断。

从计算机科学角度讲,计算机辅助诊断就是利用机械模仿医生的智能。利用机器模仿人类的智能即人工智能。目前,基于神经网络模型人工智能的研究是世界智能技术研究的热点。人工智能技术在医学上的典型应用是专家系统。专家系统的实质是让计算机系统代替专家为患者诊断,换句话说就是利用机器模仿人类专家的智能。

基于人工智能和专家系统的理论,利用CLIPS6.3开发与实现的包括知识库、推理机、数据库、人机对话界面、解释器等的专家系统。系统可以根据用户输入的症状,推理出他中毒就的概率,并对中毒进行分类,以及诊断,并给出治疗方案,从而实现计算机模拟专家医生诊断、治疗人食物中毒的功能是个不错的选择。

四参考文献

[1] Joseph C.Giarratano GaryD.Riley 专家系统原理与编程(英文版.第四版)机械工业出版社2005

[2] 潘全文、艾弘飞、房振旭专家系统的基本原理和基于CLIPS的专家系统设计与实现沈阳飞机设计研究所2004

[3] 所向披靡食物中毒大X推理协会2012-1-15

https://www.doczj.com/doc/7b7704405.html,/forum.php?mod=viewthread&tid=3919

[4] E-power 道客巴巴专家系统概述及其应用人工智能毕业论文http://www. https://www.doczj.com/doc/7b7704405.html,/p-68863359538.html

[5] ID:153893706 道客巴巴PB糖尿病专家系统开发

https://www.doczj.com/doc/7b7704405.html,/p-33770586741.html

[6] 王永庆. 人工智能原理与方法[M].西安:西安交通大学出版社,1998

[7] 吴泉源. 人工智能与专家系统[M].长沙: 国防科技大学出版社,1995

[8] 王万良.人工智能及其应用[M]. 北京高等教育出版社,2008.6

[9] Li DL,Fu Z,Duan Y Q.Fish-Expert :A web-based expert system for fish di sease diagnosis [J]. Expert System with Application,2002,239(3):311

[10] Mary Jane Willshire Ph.D. :A Rule-Based Expert System for the Diagnosi s of Convergence Problems in Circuit Simulation .Department

Of Computer Science Colorado Technical University

[11] Begadano .Inductive Logic Programming. The MIT Press,1996

[12] Dennis Merrit,”Building a Custom Rule Engine with PROLOG”,Dr.Dobb’s Journal,pp.40-45,March 2004

[13] Stuart J.Russell and Peter Norvig,Artificial Intelligenc: A Modern Approac

h 2nd Edition,2002

[14] Sheldon M.Ross,Introduction to Probablility Models,Eighth Edition,pp,188-1 91,Academic Press,2002

[15] Jedea Pearl,Casuality:Models,Reasoning,and Inference,Cambridge University Press,2000

[16] Susan Conway and Char Sligar,Unlocking Knowledge Assets:Solution from Microsoft,Microsoft Press,2002.

[17] Irma Becerra-Fernandez,Avelino Gonzalez,and Rajiv Sabherwal,Knowledge Management,Prentice-Hall,2003.

[18] Jerzy W.Grzymala-Busse,Managing Uncertainty in Expert Systems,Kluwer Academic Publishers,1991.

[19] Morris W.Firebauh,Aritificial Intelligence:A Knowledge-Based Approach, B oyd&Fraser Publisher Co.,pp. 224-226,1988.

[20] songgz CSDN Rete 算法2007-12-21 https://www.doczj.com/doc/7b7704405.html,/songgz/article/det ails/1956901

摘要

专家系统是人工智能的一个分支,其发展速度非常快,目前专家系统应用领域已经渗透到数学、物理、化学、医学等众多领域,几乎所有的专家系统都能至少将人的效率提高10倍左右。

本系统是根据人工智能和专家系统的理论知识,利用CLIPS6.3开发研制而成的,主要用于实现人食物中毒和治疗方法的功能,从而利用计算机模拟人类医学专家进行诊断人食物中毒的目的。

本文以人食物中毒诊断和治疗的知识为基础,论述了专家系统开发的基本原理、结构、方法和过程,详细阐述了知识库、推理机、数据库、人机对话界面、解释器的设计和实现方法,力求将所学到的知识在专家系统开发中得以全面的应用,并使系统在实际的操作中能按照设计的要求安全、有效、正确的运行。

关键字:专家系统人工智能CLIPS 人食物中毒

Abstract

The expert system is an branch of Artificial Intelligence,it develops so fast that,its application domain already spread to methematics,physics,chemistry,medic ine and so on,nearly all expert system could enhance at least 10 times human’s efficiency.

This system is based on the theory of artificial intelligence and expert syste ms, developed by CLIPS6.3 .It’s mainly used to diagnose food poisoning and give corresponding treatment .It takes advantage of computer to simulate huma n medical specialists to diagnose food poisoning.

The article is based on knowledge of diagnosing human food poisoning and its treatment,it also talk about the fundamental principle ,structure,method, and procedure of developing expert system,which include knowledge library,inferen ce engine,database,GUI,design of interpreter and method to implement.I try my best to use all knowledge I learned about expert system to make the system r un as designed so as to run safely ,efficiently and correctly.

Keyword: expert system Artificial Intellegence human food poisioning CLI PS

目录

第1章人工智能概述 (1)

1.1 人工智能定义 (1)

1.2 人工智能应用领域 (1)

1.3 人工智能的研究方法 (1)

第2章专家系统理论 (3)

2.1 专家系统的定义 (3)

2.2 专家系统的产生和发展 (3)

2.3 专家系统的结构、功能和工作原理 (5)

2.4 专家系统的建立 (16)

2.5专家系统求解的问题 (16)

第3章食物中毒诊断与分类 (19)

3.1 食物中毒种类 (19)

3.2 食物中毒症状 (20)

3.3 食物中毒原因 (21)

第4章系统开发 (23)

4.1 系统目标及意义 (23)

4.2开发生命周期 (23)

4.3可行性分析 (24)

4.4 需求分析 (24)

4.5 食物中毒决策树 (25)

4.6 知识与规则定义 (25)

4.7测试 (30)

第5章总结 (32)

附录[A] 其他推理方式 (33)

附录[B] 食物中毒种类图 (35)

附录[C] 部分代码 (39)

参考文献 (40)

致谢 (42)

第1章人工智能概述

1.1 人工智能定义

智能可以理解为:知识如何获取、表达和存储;智能行为如何产生和学习;动机、情感和优先权如何发展和运用;传感器信号如何转换成各种符号;怎样用各种符号执行逻辑运算、对过去进行推理以及对未来进行规划;智能机制如何产生幻觉、信念、希望、畏惧、梦幻甚至善良和爱情等现象。广义地讲,人工智能是关于人造物的智能行为,而智能行为包括知觉、推理、学习、交流和在复杂环境中的行为。人工智能的一个长期目标是发明出可以像人类一样或能更好地完成以上行为的机器;另一个目标是理解这种智能行为师傅存在于机器、人类或其他动物中。因此,人工智能包含了科学与工程的双重目标。

1.2 人工智能应用领域

人工智能的研究领域非常广泛,而涉及的学科也很多。目前人工智能研究领域为以下几个方面

专家系统(Expert System)

自然语言处理(Natural Language Processing)

机器学习(Machine Learning)

自动定理证明(Automatic Theorem Proving)

分布式人工智能(Distributed Artificial Intelligence)

机器人(Robots)

模式识别(Pattern Recognition)

博弈(Game Playing)

计算机视觉(Computer Vision)

人工神经网络(Artificial Neural Network)

1.3 人工智能的研究方法

人工智能就是模拟人类的智能水平。正因为如此,就选择人工智能研究的最

佳方法。既为人工智能的最终研究目标打好基础,又能创造出短期效益-存在大量的讨论和争辩。这样,在过去的四十年里涌现出大量方法,每一种均有其拥护者,有些甚至有趣的令人爱不释手。也许所有这些方法应该综合起来运用。种子所有这些拥护者都认为自己的研究方法具有突破性进展,值得特别关注。其中的一些方法可分为两大类。

一类包括符号处理的方法。它们基于Newell和Simon的物理符号系统的假说。尽管不是所有人都赞同这一假说,但几乎大多数都被称为“经典的人工智能”均在其指导之下。

第二类包括所谓的“子符号”方法。它们通常采用自下而上的方式,从最低阶段向上进行。在最低阶段,符号的概念就不如信号这一概念确切了。由之符号派制造的著名样品机器包括所谓的“神经网络”。受到生物学方法的启示,这些系统主要因其学习的能力而十分有趣,根据模拟生物进化方面的进程,一些有趣的机器应运而生。

介于自上而下和自下而上之间的方法是一种动机“环境自动机”的方法。Kael bling和Rosenschein建议编写一种程序设计语言来说明agent的高水平上所要求的行为,并编写一编译程序,以从这种语言编写的程序中产生引发行为的线路。

第2章专家系统理论

2.1 专家系统的定义

什么是专家系统,目前尚无统一精确的定义。专家系统的奠基人,费根鲍母认为:专家系统是一种智能程序,它运用知识和推理步骤来解决只有专家才能解决的问题。也就是说,专家系统提供一个新型的程序设计方法,可以解决传统程序设计方法难以解决的困难。

专家系统是基于知识系统,用于在某种特定领域中运用领域专家积累的经验和专业知识,求解决需要专家才能解决困难问题。专家系统便于保存和大面积推广各种专家的宝贵知识,更有效的发挥各种专业人才的作用,克服人类专家供不应求的矛盾专家系统还可以综合许多专家的知识和经验。从而博采众长。专家系统作为一个计算机系统,继承了计算机的准确性,在某些方面比人类更可靠、更灵活、可以不受时间、地域、即人为因素的影响。所以专家系统的专业水平能达到,甚至超出人类的专业水平。

2.2 专家系统的产生和发展

专家系统的发展史可分为五个时期:

1 孕育期(~1965)

1937年,图灵(Turing)发表了理想计算器的论文。

1943年,Post产生式规则。

1954年,控制规则执行的Markov算法。

1956年,人工智能(Artificial Intelligene , AI)一词在美国一次学者聚会中诞生。

1957年,Rosenblatt,Newell 等人提出通用问题求解器GPS(General Problem Solver)。

1960年,MaCarthy研制的LISP 语言诞生。

2 诞生期(1965~1972)

1965年,Stanfond大学开发第一个专家系统DWNDRAL(推论化学结构的专家系统)。

1965年,Robinson 提出Resolution Refutation 理论,使定理证明向前迈进一大步。

1965年,Zadeh 提出模糊逻辑(Fuzzy Logic)理论。

1969年,MIT 开发MACSYMA (数学符号运算专家系统)。

3 开创期(1972~1977)

1972年,Stanfond大学开发MYCIN(传染病诊断系统)。

1972年,Stanfond研究院(SRI)开发Prospector (矿床探测专家系统)。

1972年,法国Colmerauer 与Roussel 开发PROLOG 逻辑程序语言。

1974年,卡内基-美隆大学开发OPS 语言(人工智能与专家系统专用语言)。

1975年,Minsky 提出框架(Frame)知识表示法。

1976年,AM(Artificial Mathematician)人工智能数学家,数学概念的创造性发现。

1977年,Feigenbaum 提出知识工程(Knowledge Engineering)一词。

4 成长期(1978~1990)

1978年,卡内基-美隆大学和DEC 公司合作开发R1(又称XCON),用来依据客户需求,架构适当的计算机系统。

1979年,Forgy 提出Rete 算法,提高Production System 的法则匹配速度。

1980年,LISP 机器开始生产问世。

1982年,日本政府宣布开发第五代计算机,以PROLOG 做为核心语言。

1983年,IntelliCorp 公司推出KEE(结合多样知识表现与推论方法的专家系统建构工具),随后大量的专家系统建构工具问世,如:ART,Knowledge C raft。

1984年,欧洲共同市场订定欧洲信息技术研究发展策略计画。

1985年,NASA开发出CLIPS专家系统工具。

1988年,Gallant 提出以类神经网络为基础的专家系统架构。

1989年,日本宣布人类领域科学计划(第六代计算机计划),希望藉由类神经网络突破人工智能的许多瓶颈。

5 成熟期(1990~)

1990 以后,进入商业竞争时代,大量专家系统被广泛应用于各行业。

根据专家系统的发展历史,可见现代专家系统的基础基于几个重要算法基础。基于规则的现代专家系统基础如图2-1所示。

图2-1 基于规则的现代专家系统基础

2.3 专家系统的结构、功能和工作原理

2.3.1专家系统的结构

采用专家系统方法进行软件开发的主要目的是为了解决那些需要借助人类专家知识和经验以及推理分析手段才能解决的问题。为了达到这一目的,相应软件系统必须具备如图2-2所示基本成分。

基于规则的专家系统

推理机 冲突处理 后向产生式 高效模式匹配 Rete 算法

规则 马尔可夫算法

事实

规则右部执行

图2-2 专家系统的一般结构

其中:

知识库: 用于存放从人类专家处获取到的知识和经验。

推理机: 用于应用知识库中的知识对问题进行推理、分析和求解。

数据库: 用于存放问题的信息、求解过程和求解结果。

解释器: 用于对求解过程进行解释,以使用户相信对问题的求解是正确合理的。

知识获取器: 用于补充和完善知识库中的知识和经验。

基于规则的专家系统结构如图2-3所示。

图2-3 基于规则的专家系统

利用专家系统方法开发实现的软件系统与利用其它方法开发实现的软件系统不同的地方主要在于它拥有知识库和推理机两个重要组成部分。因此,设计建知识库

(规则) 推理机 工作内存 (事实)

议程 解释器 知识获取器

用户界面

立知识库、设计建立推理机是专家系统方法的主要工作内容和任务,而系统的其

它成分,包括用户界面等则均可采用结构化方法或面向对象方法中的技术手段设计实现。

用专家系统方法开发实现的软件系统通常称为专家系统,像其它类型的计算机软件系统一样,它能够帮助人们更快更有效地解决问题,但它不可能代替人,它仅仅是能作为人们手中的一个工具。在实际运用中,评价一个专家系统,一般是讲符合率而不是讲准确率。这是因为,专家系统的设计,是根据专家的方法、知识与经验而设计的,所以只要系统的结论与专家的结论相同,那么设计就达到要求了。至于准确率,那就要看专家的水平了。

CLIPS的核心由事实库(工作存储器) 、规则库、推理机三大部分组成。

事实( fact) 及相关命令事实由关系名( relation name) 、后跟零个或多个槽( slot)以及它们的相关值组成, 用来表示已知的数据或信息。可以用自定义模板和自定义事实结构来定义事实,如下所示:

( deftemp late < relation name > [ < op tional -comment > ] <

slot - definition > 3 )

( deffacts < defact name > [ < op tional - comment > ] < fact > 3 )

当CLIPS系统启动推理时,会把所有用def2facts定义的事实自动添加到工作存储器中,并提供如下命令:assert把事实添加到事实库(工作存储器)中retract 删除指定事实;modify修改自定义模板事实的槽值;duplicate复制事实;clear 删除所有事实。

2.3.2 专家系统的功能

用户提供事实或者信息给专家系统,然后接受专家的建议。专家系统内部包含两部分组成。知识库包含推理机得到的结论。这些结论可以反馈给用户。如图2-4 所示。

图2-4 专家系统基本功能

2.3.3专家系统的工作原理

1知识库

知识库主要用来存放领域专家提供的专门知识。知识库的知识来源于知识获

取机构,同时他又为推理机提供求解问题的知识。建立知识库必须解决如何存储知识的问题,这就是所谓的知识表达。

目前常用的知识表示方法是规则、语义网、框架、脚本、逻辑、概念树等表

示方法。

(1)知识的规则表示

规则,又称产生式规则(CLIPS的知识表示形式),是一种借助条件语句IF-TH EN 表示知识的方法。一般表示形式为:

IF < 前提> THEN <结论>

例:是动物识别专家系统中的一条产生式规则。

产生式规则实例:

IF 动物吃肉

THEN 该动物是食肉动物

CLIPS中的规则可用defrule命令来定义, 其格式如下:

( defrule < rule name > [ < comment > ]< patterns > 3

Left - Hand Side (LHS) of the rule

= >

< action > 3

R ight - Hand Side ( RHS) of the rule)

用产生式规则表示知识的优点:1)结构上的模块化。可对单条产生式规则进行增添、删除或修改,而不用考虑它与其它规则的关系。2)形式上的单一性。采用单一的知识表示形式易于被其它人所理解和接受。3)表达上的自然性。表示形

式与人们求解问题时的思维形式非常相似。它的缺点是缺乏灵活性,效率低下,

对复杂、大型以及动态概念不能很好地表示。目前,过程性知识通常用这种表示

方法表示。

(2)知识的语义网表示

语义网或者网,是一种人工智能经典的表示命题信息的方法。语义网有时候叫做命题网,命题是知识的一种表现形式,因为他们声明事实。语义网最早是作为一种表示人类记忆与语言理解而被Quillian在1968开发出来,他用语义网来分析句子中的单词意思。

一个语义网由结点和之间连接的弧组成。结点通常叫做对象,弧线作为连接。连接用来表示联系。而结点用来表示物理对象、概念、或者位置。图2-5是一个语义树的简单示意。

图2-5一个简单的语义网

有两种用来表示连接的关系,他们说IS_A和A_Kind_Of,他们被缩写为I S_A,AKO,下图示意用这些连接的语义树。在图2-6中,IS_A表示一个实例,并且引用了一个类的成员。这就类似于面向对象程序设计中的基类与子类的关系。实例(对象)与类之间的关系是IS_A,而子类与基类的关系就是AKO。

图2-6 一个IS_A和AKO的语义网

另外可以用对象-属性-值三个值来表示语义网的信息。(如表2-1所示)

语义树可以很简单的翻译成PROLOG,例如下面的PROLOG语句,它们表示了下图的一些基本信息。

Is_a(精神号,特别的)

Is_a(空军一号,747)

AKO(喷气式,飞行器)

虽然语义网在表示知识时候很有用,但是他们也有局限性,比如缺乏对连接的命名,这就对于理解网络知识很难。比如,一个结点是椅子,那他代表的是一个特殊的椅子,还是椅子类,还是概念上的椅子,还是一个会议的主席?或者是其他的,让语义网来表示确切的知识还是显得不足。

框架是七十年代初M.Minsky提出来的一种知识表达方法。在该方法中,所要描述的对象是用一种称之为框架的数据结构来表示的。如图1所示,它的顶层是框架名,用于表示所要描述的对象。其下层是由一些称为槽的结构组成,用于表示对象的各个方面。每个槽都有它自己的名字和填入槽的值。槽的下面又可以设侧面,作为对槽的进一步说明。槽或侧面的取值可以是二值逻辑的真或假,可以是实数值,可以是文字或其它形式的定义域。还可以附有一组与它有关的条件或过程(程序附件),当向槽或侧面填值时,必须满足这些条件或调用这些过程。例如说明在填槽时需要干些什么(if-added过程)、填槽时应如何计算槽值(if-n eeded 过程),如果没有填入槽值,默认的槽值是什么(default-value),等等。另外,框架下层的槽或侧面也可以是一种子框架,子框架本身还可以进一步分层。对于实际中的复杂对象,单用一个框架往往是难以表示的,必须借用多个框架来表示,这种由按一定方式联系起来的多个框架组成的系统称为框架系统。如表2 -2所示。

表2-2 框架结构

框架表示方法的主要优点是对问题的抽象概念及其细节描述进行了分层处理和表示,这样有助于减少在知识库中搜索知识的时间。目前,说明性知识通常用这种表示方法表示。

值得一提的是,如果对这种框架表示方法稍作改进,并进一步完善其程序附件的概念之后,那么它与面向对象的方法和手段就基本上没有两样了,因而也就可以借助面向对象的方法和手段对这种知识的框架表示方法进行描述和实现了。换句话说,面向对象方法本身就是一种描述和实现专家系统的很好的方法和手段。

相关主题
文本预览
相关文档 最新文档