专家系统及其应用

来源:百度文库 编辑:神马文学网 时间:2024/04/20 12:25:34
林雪芬
(浙江师范大学 教育技术系)
摘  要 专家系统是人工智能领域中较为成熟的一个分支。本文在阐述专家系统的基本概念及基本结构的基础上,介绍了一个简单的专家系统实例和专家系统外壳,并简要分析了专家系统的网上资源及其教学方式。
关键词 专家系统 知识库 专家系统工具  InterModeller
在日常生活与工作中,我们经常会遇到一些需要“专家”水平才能解决的复杂问题,这时我们会希望得到该领域专家的具体帮助与指导,但这往往需要大量的时间和不菲的费用。如何才能花较少的时间、较低的费用和便捷的方式来求得所需的答案呢?伴随着人工智能技术与应用的发展,我们将目光投向了专家系统。
1.什么是专家系统
(1)专家系统的概念
所谓“专家”,一般都拥有某一特定领域的大量知识,以及丰富的经验。在解决问题时,专家们通常拥有一套独特的思维方式,能较圆满地解决一类困难问题,或向用户提出一些建设性的建议等。
那么,什么是专家系统呢?简单地讲,专家系统就是一个具有智能特点的计算机程序,它的智能化主要表现为能够在特定的领域内模仿人类专家思维来求解复杂问题。因此,专家系统必须包含领域专家的大量知识,拥有类似人类专家思维的推理能力,并能用这些知识来解决实际问题。例如,一个医学专家系统就能够像真正的专家一样,诊断病人的疾病,判别出病情的严重性,并给出相应的处方和治疗建议等。
目前,专家系统在各个领域中已经得到广泛应用,并取得了可喜的成果,例如个人理财专家系统、寻找油田的专家系统、贷款损失评估专家系统、各类教学专家系统等。
(2)专家系统的构造
专家系统的基本结构如图1所示,其中箭头方向为数据流动的方向。专家系统通常由人机交互界面、知识库、推理机、解释器、综合数据库、知识获取等6个部分构成。
图1 专家系统结构图
知识库用来存放专家提供的知识。专家系统的问题求解过程是通过知识库中的知识来模拟专家的思维方式的,因此,知识库是专家系统质量是否优越的关键所在,即知识库中知识的质量和数量决定着专家系统的质量水平。一般来说,专家系统中的知识库与专家系统程序是相互独立的,用户可以通过改变、完善知识库中的知识内容来提高专家系统的性能。
人工智能中的知识表示形式有产生式、框架、语义网络等,而在专家系统中运用得较为普遍的知识是产生式规则。产生式规则以IF…THEN…的形式出现,就像BASIC等编程语言里的条件语句一样,IF后面跟的是条件(前件),THEN后面的是结论(后件),条件与结论均可以通过逻辑运算AND、OR、NOT进行复合。在这里,产生式规则的理解非常简单:如果前提条件得到满足,就产生相应的动作或结论。
例如,在“动物识别”专家系统中有这样一条规则:
IF 能做单腿跳吗 = 否 AND
在苏格兰吗 = 是 AND
高度 = 大
THEN 动物 = 马
在这条规则当中,IF后面的前件中包含三个条件,只有三个条件都得到了满足,才能得出该动物是“马”。反之就得不出这个结论。产生式专家系统的知识库中包含了大量的规则,换言之,这里的知识库就是一个规则集。
推理机针对当前问题的条件或已知信息,反复匹配知识库中的规则,获得新的结论,以得到问题求解结果。在这里,推理方式可以有正向和反向推理两种。正向推理是从前件匹配到结论,反向推理则先假设一个结论成立,看它的条件有没有得到满足。由此可见,推理机就如同专家解决问题的思维方式,知识库就是通过推理机来实现其价值的。
人机界面是系统与用户进行交流时的界面。通过该界面,用户输入基本信息、回答系统提出的相关问题,并输出推理结果及相关的解释等。
综合数据库专门用于存储推理过程中所需的原始数据、中间结果和最终结论,往往是作为暂时的存储区。解释器能够根据用户的提问,对结论、求解过程做出说明,因而使专家系统更具有人情味。
知识获取是专家系统知识库是否优越的关键,也是专家系统设计的“瓶颈”问题,通过知识获取,可以扩充和修改知识库中的内容,也可以实现自动学习功能。
2.专家系统如何工作
(1)专家系统的工作过程
专家系统的基本工作流程是,用户通过人机界面回答系统的提问,推理机将用户输入的信息与知识库中各个规则的条件进行匹配,并把被匹配规则的结论存放到综合数据库中。最后,专家系统将得出最终结论呈现给用户。
在这里,专家系统还可以通过解释器向用户解释以下问题:系统为什么要向用户提出该问题(Why)?计算机是如何得出最终结论的(How)?
领域专家或知识工程师通过专门的软件工具,或编程实现专家系统中知识的获取,不断地充实和完善知识库中的知识。
(2)专家系统实例
这里,我们以一个简单的“动物识别专家系统”为例,初步认识专家系统的工作机制及系统特点。该系统的知识库是一个产生式规则的集合,图2显示了其中的2条规则。从原则上来讲,规则之间相互独立,任何两条规则的“前件”一般都不能重复,也不具有包含关系。小型专家系统的规则可以是几条几十条,大型专家系统的规则可达上千条,像这个动物专家系统知识库的规则就只有六条。该“动物识别专家系统”的6条规则也可以采用决策树方式来表示,如图3所示。
图2专家系统中的部分规则
图3 动物识别专家系统的决策树
图4 专家系统的人机对话过程            图5 专家系统的解释机制
运行动物专家系统时,系统将通过人机界面向用户提问,人机对话的一个界面如图4所示。用户选择答案做出相应的回答,然后按“确定”键,再回答下一个问题。
专家系统具备“Why(为什么)”和“How(怎样)”的解释功能。图5就是计算机对“为什么会问‘能做单腿跳吗’”这个问题的回答,其解答是:系统为了匹配第一条规则,因此向用户提出该问题。
同理,最后得出结论之后,用户还可以通过“How”来查看该结论是如何得出来的。计算机的回答也是对该结论的推理过程的重现。
(3)专家系统外壳
在上面的例子中,我们使用了专家系统外壳InterModeller,这是一个适合中学人工智能教学与应用的简易型专家系统外壳,学习者可以通过它来建造各种主题的专家系统,同时,它还提供了各种知识表示方法之间的转换。该软件的详情请参见网站:http://www.parlog.com/intermodeller.html。
3.专家系统的资源与教学
专家系统在人工智能领域享有很高的声誉,曾被认为“是人工智能从幻想到实践,再由实践到理论的主角”。随着网络技术的发展,专家系统逐渐吸收了新的技术和思想,出现了基于网络的专家系统等。国外网站上的专家系统教学资源较为丰富,例如expertise2go网站(http://www.expertise2go.com)提供了大量的在线专家系统,用户可以直接进行咨询或学习,它还提供了专家系统外壳,将其下载下来之后就可以建造自己的专家系统;EXSYS专家系统网站(http://www.exsys.com/demomain.html)也是一个不错的专家系统学习资源,在该网站上提供了众多的实例、教程及专家系统工具。相对于国外网站来说,中文网站中有关专家系统的资料相对欠缺,因此,可以通过国外的一些网站来认识和了解专家系统。
大部分的专家系统都是作为一种咨询工具来应用,回答用户的疑难问题,提出一些建议,并根据推理过程为用户展现一个理性的分析思路。随着专家系统本身技术的不断成熟以及信息社会对学生信息素养要求的不断提高,它也逐渐地走进了大学课堂并延伸至高中信息技术教材当中。在教育部最新颁布的普通高中信息技术课程标准中,就设置了《人工智能初步》选修模块,要求将专家系统作为一个重要内容来进行教授。因此,对于这方面的研究也逐渐开始被人们所重视,例如,如何利用专家系统进行教学,关于专家系统的教学设计研究等。
目前被大多数人认可的专家系统教学方式主要有两种:一种是通过专家系统应用,使学生充分体验到人类专家问题求解的思路和推理风格,这有助于提高学生的分析、判断和反思能力;另一种是让学生借助专家系统工具自行建造专家系统,包括知识库的构建和环境的建设。专家系统外壳、在线专家系统等网络资源为学生的创造能力的发展提供了广阔的空间。自己亲手建构简单的专家系统,其好处在于让学生专注于学习,用自己的思维方式将原本零碎的知识条理化,并对其进行深层思考,有利于长久记忆。著名的建构主义专家David H. Jonassen认为,学习者建造自己的现实,至少是基于以往的经验来解释现实的。因此,一个人的知识是在个人经验、思维结构以及对事物的不断摸索的基础上形成的,建造自己的专家系统就是这样一种集三者于一体的有效的探究方式。这种积极、开放的学习方式避免了死记硬背,隐含着知识的创造,同时培养了学生的协作能力、探索精神和责任心。由此可见,不管采用何种教学方式,对于中学生信息素养的提高都具有积极的促进作用。
参考文献
1.          廉师友 人工智能技术导论(第二版) 西安电子科技大学出版社 2002
2.          张剑平 关于人工智能教育的思考 《电化教育研究》 2003年第1期
3.          王申康 专家系统的结构和应用 浙江大学出版社 1994
4.          专家系统方法 http://gcs.zju.edu.cn/software/es.htm
5.          InterModeller软件来源:http://www.parlog.com/intermodeller.html
Expert System and It’s Application
[Abstract] Expert system is a branch of Artificial Intelligence. This thesis simply presents Expert System’ conception and it’s makeup, and cites an expert system shell names InterModeller in order to make teachers and students understand expert system in sensibility. At last we analysis it’s application in instruction.
[Key Words] Expert System  Knowledge Base  InterModeller