《数据库系统与技术(7)--基于知识的数据库技术》由会员分享,可在线阅读,更多相关《数据库系统与技术(7)--基于知识的数据库技术(42页珍藏版)》请在金锄头文库上搜索。
1、1,数据库系统与技术(7) -基于知识的数据库技术,汤 庸 博士,计算机科学系 协同软件研究开发中心,2/26,知识的概念 知识表达与推理 知识库系统 基于知识的数据库技术 主动数据库技术 决策支持系统 数据挖掘技术,知识库技术,3/26,1数据、信息与知识 数据是对事实的一种表达形式,包括数字、字符和图形。数据可以通过人工或自动化装置进行处理。 信息是对人有用的、能够影响人们行为的数据。信息通过对数据加工处理而产生。 知识是人类对客观规律的认识,是系统的有条理的信息。一般地,知识是数据经过一系列加工,如归纳、综合、比较、分类、联想等得到的上层信息。,1. 知识的概念,4/26,例如,摄氏39
2、度是一个数据,如果用来表示一个人体温,则成为一种信息;对于医生或具有保健常识的人来说,如果一个人的体温达到摄氏39度,则其正在发烧,需要及时治疗,这就称为一种知识。,1. 知识的概念,5/26,2. 知识的要素 概念给出知识的最基本内容,是知识的最底层基础,通常以名词形式出现,例如花,红色,太阳,风,雨等。 事实是知识所表示的有关问题涉及到的事物、环境的常识性知识,如事物的分类、属性、事物之间的关系、科学事实和客观事实等。事实建立了概念之间的联系。事实是静态地为人们所共享、最低层次的0层的知识,通常以“是”的形式出现。 规则由事实组成,建立了事实间的联系。规则是有关问题中与事物的行动、动作相联
3、系的因果关系知识,这种知识是动态的,通常以“如果则”的形式出现。例如启发式规则:如果下雨,则出门带伞。,1. 知识的概念 (2),6/26,3知识的类型 过程型知识过程型知识针对特定问题,用一系列过程来表达具体的处理步骤,优点是执行效率高,但它也有不少缺点: 不易表示大量知识,且表示的知识难于理解和修改。 只适合表达完全正确的知识,稍有含糊的知识就难于用程序表达。 只适合于处理完整、准确的数据。 过程型知识表示要求待处理的问题具有成熟的解法和完整、准确的数据,同时这也大大地限制了它的适用范围。 描述型知识 事实知识描述有关对象、事件以及行为等特征。例如“鸟会飞”、“雪是白色的”等。 判断型知识
4、是指对事实的判断和推断的过程,基于主观理解和感情色彩对客观事件的解释和推理过程,例如“他看起来很开心”。,1. 知识的概念 (3),7/26,元知识组织知识的元知识。这种元知识用来刻画知识的内容和一般特征,描述知识的分类、综合信息等。 利用知识求解问题方向的元知识。这类元知识对领域知识的运用起到指导作用。例如,在问题求解中所用到的推理方法,为解决一个特殊任务而完成活动的计划、组织和选择方面的知识。 从知识源获取知识的元知识。这类知识源包括书本、大脑和其他知识系统。,1. 知识的概念 (4),8/26,1谓词逻辑方法 在知识库中目前大都采用“概念-事实-规则”三级层次的知识构造体系。这种体系的知
5、识表示方法也很多,在人工智能和知识工程学科中知识表示方法已经成为一个专门领域。由于谓词逻辑本身很好的一些基本特点,当前的知识库系统中一般采用谓词逻辑表示方法。,知识表达与推理,9/26,2产生式方法 产生式知识表达方法也称为产生式规则知识表示方法,该方法可以方便地描述事实、规则并进行不确定性推理,具有和图灵机一样的表达能力。 产生式表示的特点:产生式表示格式固定,形式单一,规则(知识单位)间相互较为独立,没有直接关系使知识库的建立较为容易,处理较为简单的问题是可取的。另外推理方式 单纯,也没有复杂计算。特别是知识库与推理机是分离的,这种结构给知识的修改带来方便,无须修改程序,对系统的推理路径也
6、容易做出解释。所以,产生式知识表示方法常作为构造专家系统知识表示方法的第一选择。,知识表达与推理,10/26,知识表达与推理,产生式系统结构,11/26,3语义网络表示法 逻辑表示法和产生式表示法常用于表示有关论域中各个不同状态间的关系,然而用于表示一个事物同其各个部分间的分类知识就不方便了。槽(slot)与填槽表示方法便于表示这种分类知识。语义网络和框架表示方法就属于其中的两种。,知识表达与推理,12/26,4框架表示法 1975年Minsky的论文“A framework for representing knowledge”中提出了框架理论。 其基本观点是人脑已存储有大量典型情景,当人面
7、临新的情景时,就从记忆中选择一个以框架形式存放的知识空框,其具体内容依新的情景而改变,对这空框的细节加工修改和补充,形成对新情景的认识又重新记忆于人脑中。框架理论将框架视作知识单位,将一组有关的框架连接起来便形成框架系统。系统中不同框架可以有共同结点,系统的行为由系统内框架的变化来表现。推理过程是由框架间的协调来完成的。 框架表示法是一种适应性强、概括性高、结构化良好、推理方式灵活又能把陈述性知识与过程性知识相结合的知识表示方法。,知识表达与推理,13/26,1Prolog Prolog是一种基于一阶谓词的逻辑程序设计语言,它是由R.Kowalskv和A.Colmerauer首先提出的,它在A
8、I和知识库的实现技术中具有重要作用。Prolog语言作为数据库系统中演绎推理公理系统的语言,具有很强的逻辑描述能力和推理能力。它使数据库系统和知识库系统两者具有共同的坚实的数学基础。实际上,利用Prolog的演绎推理及处理数据库中的检索等过程就是证明定理的过程。因此,在逻辑上Prolog对应于数学的证明论。,知识库语言,14/26,2Datalog Datalog语言是Prolog语言的一种特殊形式,由于prolog语言是一种适应面较为广泛的通用语言,它在数据库、知识库领域中虽然也能适应,但是也存在一定的不足之处,这主要是数据库及知识库领域中具有一定的特殊性。 知识数量有限:在知识库中,知识个
9、数是有限的; 操作受限:在知识库中,一般只有知识操作而很少有计算操作。 因此在实际上需要对prolog进行一定的限制,使其在知识库领域中发挥更大作用,而Datalog即是Prolog的一种适应于知识库的改进形式语言,是一种受限的Prolog语言,适用于知识库。,知识库语言,15/26,3LISP LISP(LISt Processing),由约翰.麦卡锡在1960年创造的一种基于演算的函数式编程语言。约翰.麦卡锡1960年发表了一篇非凡的论文,这篇论文展示了在只给定几个简单的操作符和一个表示函数的记号的基础上, 如何构造出一个完整的编程语言。麦卡锡称这种语言为Lisp, 意为List Proc
10、essing, 因为其主要思想之一是用一种简单的数据结构表(list)来代表代码和数据。经过几十年的发展,LISP有很多种版本,各个实现中的语言不完全一样。1980年代Guy L. Steele编写了Common Lisp试图进行标准化,这个标准被大多数解释器和编译器所接受。在Unix/Linux系统中,还有一种Emacs Lisp非常流行,并建立了自己的标准。由于LISP的符号处理能力非常强,所以也被认为是一种人工智能程序设计语言,经常被用于知识表达和处理系统的开发。,知识库语言,16/26,1知识库 从知识存储的角度来看,知识库可以简单看为是知识的集合。当然,这些知识包括概念、事实与规则。
11、由于概念一般均包含在事实内,实际上知识库中主要包含事实与规则两个部分,而仅由事实组成的知识库只能认为是广义的知识库。 知识库中的事实与数据库中的元组具有相同的含义,它是由若干确定的概念(常值)组成。知识库中的规则具有一定的通用性,比如以下规则:如x和y是兄弟,y和z是兄弟,则x和z是兄弟。 从知识使用的角度来看,知识库是由知识和知识处理机构组成。知识库在形式上是一个知识域,该知识域中除了事实、概念和规则等知识基本要素外,还包含有推理、归纳、演绎等知识处理方法,以及逻辑查询语言、语义查询优化、人机交互界面等。 一般而言,从知识存储角度出发的知识库概念比较常用,也比较符合知识库使用的实际情况。,知
12、识库与知识库系统,17/26,知识库管理系统应当具有以下功能: 支持传统数据库管理系统的一切功能 具有一种对知识进行操纵和处理的描述性语言 这种观点是Ulman在其名著“Principle of database and knowledge system”中提出的。他将KDMS看作是DBMS的扩充,即在功能上KBMS应当包含DBMS,并且在此基础上用一种描述性语言例如逻辑语言来操纵与处理知识数据库中的知识(包括事实与规则)。,知识库与知识库系统(Cont),18/26,知识库与知识库系统(Cont),知识库系统组成,19/26,知识库与知识库系统(Cont),知识库系统,20/26,数据库与知
13、识库,数据库与知识库是关系非常密切的两个概念,正如数据与知识的关系一样,知识库可以看作是数据库的一种特例。本节从数据库与知识库、数据库系统与知识库系统、数据库管理系统与知识库管理系统,以及数据库应用开发与知识库应用开发方面简要的比较数据库与知识库的各自侧重点。,21/26,基于知识的数据库技术,主动数据库 数据挖掘 决策支持系统 ,,22/26,面向外部应用:支持外部应用,为外部应用提供主动服务的方面包括情形监控、报警、支持实时处理、支持合作与协同工作、支持推理、数据交换与配置管理策略的施加等。 面向数据库本身:主动数据库设施还可以用来实现或扩展DBMS本身的一些功能,包括:完整性控制、安全性
14、控制、导出数据处理、面向对象数据模型中继承机制的定义与应用和性能测度。,1.主动数据库的应用需求,23/26,实际应用经常遇到的主动性需求: l MIS中的预警功能 l 系统的实时监控功能 l 例外或错误情况的主动处理和自动恢复功能 l 系统瞬时状态的输出或关键点状态的输出 l 协同工作或协同解决问题 l 灵活而方便的实时处理能力 l 方便而灵活的人机交互接口 l 自适应和学习功能 l 演绎推理功能 l 更强的系统交互性 l 原有数据库功能的加强和集成也需要主动性的帮助,1.主动数据库的应用需求(2),24/26,传统的数据库管理系统只能根据用户的命令被动地完成相应的动作,被动地为用户服务,唯
15、一称得上主动完成的一类工作是对各种约束条件的检查,例如,数据完整性,一致性,安全性等。 主动数据库的一个突出的思想是让数据库系统具有各种主动进行服务的功能,并以种统一而方便的机制来实现各种主动性需求,1.主动数据库的应用需求(3),25/26,功能组成: ADBSDBS+EB+EM l DBS(Database System):等同于一般的传统数据库系统,主要用来存储数据和对数据进行维护、管理与运用; l EB(Event Base):也是一个数据库,用来存储规则和对规则进行维护、管理与应用,是由事件驱动的一组知识组成的集合(规则集合),称为“事件库/规则库”,其中每一项知识表示在相应的事件发
16、生时,如何来主动地执行其中包含的由用户预先设定的动作; l EM(Event Monitor):随时监视EB中的事件是否已经发生的监视模块,一旦监视到某事件已经发生时就主动地触发系统按照EB中指明的相应知识执行其中预先设定的动作。,2 主动数据库组成与结构,26/26,2 主动数据库组成与结构(2),27/26,主动(ECA)规则 事件 条件 动作 事件驱动的“事件条件动作”规则的语义是:“一旦指定的事件发生,计算机就主动触发执行其后的条件判断规则。即如果条件为真,则执行其后的动作。,3.1 ECA规则的构成,28/26,事件是在数据库系统在运行过程当中某特定时刻发生的,对系统有特定意义的事情,包括基本事件和复合事件,复合事件事是有基本事件经过各种事件运算构成的,复合事件是一种表达复杂事件的手段,使用户可以根据实际需要定义复杂事件,方便了规则的设计、维护与传送。 条件是关于当前或某个特定事件的数据库状态的一种假定,用某种逻辑(例如模糊逻辑)中的任意的一个合法的逻辑公式来表示一个条件,对于条件,可以依据逻辑运算将条件定义成简单的条件,也可以构造出很复杂的条件。 动作时数据库可以执行的一组操作序列,这些序列中可以有系统预先定义的一些标准动作,也可以由用户定义复杂的动作,或是用某种程序设计语言表现的一个过程,而这些单个地动作可以组合成动作序列,共同完成更加复杂的操作。,