知识工程

来自中文百科专业版
跳转至: 导航搜索

  知识工程汉语拼音:Zhishi Gongcheng;英语:Knowledge engineering),在计算机上建立专家系统的技术。知识工程这个术语最早由美国人工智能专家E.A.费根鲍姆提出。由于在建立专家系统时所要处理的主要是专家的或书本上的知识,正像在数据处理中数据是处理对象一样,所以它又称知识处理学。其研究内容主要包括知识的获取、知识的表示以及知识的运用和处理等三大方面。

  费根鲍姆及其研究小组在20世纪70年代中期研究了人类专家们(而不是万能博士们)解决其专门领域问题时的方式和方法,注意到专家解题的4个特点:①为了解决特定领域的一个具体问题,除了需要一些公共的知识,例如哲学思想、思维方法和一般的数学知识等之外,更需要应用大量与所解问题领域密切相关的知识,即所谓领域知识。②采用启发式的解题方法或称试探性的解题方法。为了解一个问题,特别是一些问题本身就很难用严格的数学方法描述的问题,往往不可能借助一种预先设计好的固定程式或算法来解决它们,而必须采用一种不确定的试探性解题方法。③解题中除了运用演绎方法外,必须求助于归纳的方法和抽象的方法。因为只有运用归纳和抽象才能创立新概念,推出新知识,并使知识逐步深化。④必须处理问题的模糊性、不确定性和不完全性。因为现实世界就是充满模糊性、不确定性和不完全性的,所以决定解决这些问题的方式和方法也必须是模糊的和不确定的,并应能处理不完全的知识。总之,人们在解题的过程中,首先运用已有的知识开始进行启发式的解题,并在解题中不断修正旧知识,获取新知识,从而丰富和深化已有的知识,然后再在一个更高的层次上运用这些知识求解问题,如此循环往复,螺旋式上升,直到把问题解决为止。由上面的分析可见,在这种解题的过程中,人们所运用和操作的对象主要是各种知识(当然也包括各种有关的数据),因此也就是一个知识处理的过程。

基本概念

  知识工程作为一门学科有以下几个最基本的概念。

  ①数据。定义为客观事物的属性、数量、位置及其相互关系等的抽象表示。而且要特别强调这些属性、数量、位置及其相互关系等都可能是模糊的。如“20岁左右”、“大约20”、“很年轻”、“不太高”、“点A与点B靠得很近”等等词语中虽包含着数量,但这些数量是模糊的。此外,因为任何一张图(精确的或模糊的)都在某种意义上可认为是表示一些对象之间的某种关系,所以在知识处理中也可以把它认为是一种数据。由此可见在知识处理中数据的范围是很广的。但是,不管什么样的数据,它只表示一种数量及关系概念,具体涵义是没有的。

  ②信息。定义为“数据所表示的涵义(或称数据的语义)”。因此也可以说信息是对数据的解释,是加载在数据之上的涵义。所以反过来可称“数据是信息的载体”。如“5”在一种具体场合可以解释为“5个苹果”,而在另一种特定场合又可以解释成“5种思想”、“5个X”等。对模糊的数据也一样,例如“20左右”这个模糊数,既可能代表年龄“20岁左右”,也可代表日期“20日前后”等。可见信息是带具体涵义的数据。

  ③知识。以各种方式把一个或多个信息关联在一起的信息结构。如果把“不与任何其他信息关联”也认为是一种特殊的关联方式(不关联),则单个的信息也可以认为是知识的特例,我们称之为“原子事实”。例如“天很阴且闪电频繁”,“天要下雨”等都是一些孤立的信息或“原子事实”。然而,如果把这两个信息用“如果,则”这种因果关系联系起来就成了一条知识:如果“天很阴且闪电频繁”则“天要下雨”(多半如此)。以上陈述中的“频繁”、“多半如此”等都表示一些模糊概念。

  ④智力。指运用知识解决问题的能力。知识可以存储在书本里,或计算机的磁盘和磁带中等,它是一种静止的死东西。它本身并不会再生知识。然而智力却是一种动态概念。“智力”与“知识”有着密切的关系,但“知识”与“运用知识的能力”是两个不同的概念。

  ⑤智能。指知识的集合与智力的综合(或总和),是静态的知识和动态的智力综合所体现的一种能力。

  ⑥知识库和知识处理器。知识库是指经过分类组织存放在计算机中的“知识的一个集合”。知识处理器(俗称推理机)是指智力在计算机上的一种具体实现机制。一般专家系统中都具有一个存放知识的知识库和一个运用知识的推理机,因此按这种定义就可认为专家系统是一个具有某种智能的系统。

知识的属性

  人类大脑中存在的知识是人类在其漫长的生活和实践中认识(客观)世界和改造(客观)世界的产物。劳动创造了世界,也创造了知识。因此我们在知识处理中讨论的知识应该是现实中的知识,而不是抽象的定义。所以知识应具有以下具体的属性:真理性、相对性、不完全性、模糊性与不精确性、可表示性、可存储性(可记忆性)。所谓知识的模糊性与不精确性是指知识的真理性往往不总是非真即假,而可能处于某种中间状态,即所谓有真与假之间的某个“真度”。例如在“人老了就可能糊涂”中,“老了”和“可能”都是模糊概念,至于“糊涂”本身当然更是一个模糊和不精确的描述。

知识的分类

  按知识的涵义大体上可分为事实 、规则(或法则)、规律(或定律)、方法和理论等。方法又可分成推理、联想与类比、综合与分析、预测与外延、假设与验证、直觉与灵感,以及解题方法或算法等。而后者并不是知识工程所要研究的对象。

  在知识处理中,更复杂的一类知识被称为理论。理论是一种知识的体系,是由上述各种知识构成的更高一层的知识。理论也称知识空间,形式上,它由一组概念,若干条公理(事实),若干条推理规则(法则)和一组解题方法和环境约束组成。因此,一个理论T,不妨用一个五元组来表示:T={C,A,R,M,E}。其中C,A,R,M和E分别表示一个概念的集合,一个公理的集合,一组推理规则,一组解题方法和一组环境约束。一般说,一个具体的理论总是面向一个特定领域的,因此,其中5个元素,特别是概念与解题方法,都应该反映该领域的特征。

  按知识的应用范围,又可分为通用知识与专门知识(或领域知识)两种范畴。通用知识指一般人们共有的知识,适用于所有领域。例如三段论演绎就属于通用知识范畴,更高一层的哲学知识也属于这一个范畴。专门知识指面向一个专门领域的知识,因而也称领域知识。它又可分成两大门类:即自然科学与社会科学(或人文科学)。哲学是自然科学与社会科学的更高一层的抽象。各种专门知识都不是知识工程所要研究的对象。

知识工程三要素

  人工智能与计算机技术的结合产生了所谓“知识处理”的新课题。即要用计算机来模拟人脑的部分功能,或解决各种问题,或回答各种询问,或从已有的知识推出新知识等等。为了进行知识处理,当然首先必须获取知识,并能把知识表示在计算机中,能运用它们来解题。因此,知识的获取、知识的表示和知识的运用也就成了知识工程的三大要素或主要研究内容。

  ①知识的获取。在建立一个具体的专家系统时,人们往往要花很多人力和财力在知识获取上,它被公认为是知识处理的一个“瓶颈”。知识获取要研究的主要问题包括:对专家或书本知识的理解、认识、选择、抽取、汇集、分类和组织的方法;从已有的知识和实例中产生新知识,包括从外界学习新知识的机理和方法;检查或保持已获取知识集合的一致性(或无矛盾性)和完全性约束的方法;尽量保证已获取的知识集合无冗余的方法。知识获取分主动式或被动式两大类。主动式知识获取是知识处理系统根据领域专家给出的数据与资料利用诸如归纳程序之类软件工具直接自动获取或产生知识,并装入知识库中。所以也称知识的直接获取。而被动式知识获取往往是间接通过一个中介人(知识工程师或用户)并采用知识编辑器之类的工具,把知识传授给知识处理系统,所以亦称知识的间接获取。按知识处理系统获取知识的工作方式,可以分成交互式和自主式(或非交互式)两种。交互式知识获取在获取过程中要不断与人进行交互,或提供解释,或要求输入信息,或提问求答,或请求验证等等。交互式的知识获取,对用户或知识工程师有较大的透明度和控制能力,比较适合于从专家大脑中获取知识。自主式知识获取则在获取过程中完全由知识处理系统自主完成,例如输入的是一段讲话,一本书或资料,输出的便是从中抽取出来的知识。这里即便不考虑诸如语声识别,文字识别,自然语言理解和认知科学等方面的许多难题,解决起来仍是十分困难的。按知识获取的策略或机理,可分为:死记硬背式(或称机械照搬式)获取;条件反射式知识获取;教学式(或传授式)知识获取;演绎式知识获取;归纳式知识获取;解释式知识获取;猜想证实式知识获取;反馈修正式知识获取;类比和联想式知识获取;外延式知识获取等。

  ②知识的表示。要将知识告诉计算机或在其间进行传递,必须将知识以某种形式逻辑地表示出来,并最终编码到计算机中去,这就是所谓的知识的表示问题。不同的知识需要用不同的形式和方法来表示。它既应能表示事物间结构关系的静态知识,又应能表示如何对事物进行各种处理的动态知识;它既要能表示各种各样的客观存在着事实,又要能表示各种客观规律和处理规则;它既要能表示各种精确的、确定的和完全的知识,还应能表示更加复杂的、模糊的、不确定的和不完全的知识。因此一个问题能否有合适的知识表示方法往往成为知识处理(解题)成败的关键。而且知识表示的好坏对知识处理的效率和应用范围影响很大,对知识获取和学习机制的研究也有直接的影响。知识表示的方法很多,例如,谓词逻辑表示,关系表示(或称特性表表示),框架表示,产生式表示,规则表示,语义网表示,与或图表示,过程表示,Petri网表示,H网表示,面向对象表示,以及包含以上多种方法的混合或集成表示等。这些表示方法各适用于表示各种不同的知识,从而被用于各种应用领域。对于“知识面”很窄的专家系统一类的应用,往往可以根据领域知识的特点,从中选择一种或若干种表示方法就可以解决问题。但是为了开发具有较宽领域知识的系统,例如多专家系统的聚合系统(或称协同式专家系统)和分布式多功能知识处理系统等,仅用互不相干的知识表示方法便难以适应要求。

  ③知识的运用和处理。为了让已有的知识产生各种效益(包括社会、经济、政治、军事和科学等方面的效益),使它对外部世界产生影响和作用,必须研究如何运用知识的问题。运用知识来设计机器、建造水坝、推断未来、探索未知、管理社会,乃至运用知识来作曲、绘画或写文章等都是用知识来解决问题和改造世界的活动。显然,知识处理学不能研究这些具体运用知识的过程或方法,而是要研究在上述各种具体的知识运用中都可能用到的一些方法(或模式)。它们主要包括推理、搜索、知识的管理及维护、匹配和识别。推理指各种推理的方法与模式的研究。研究前提与结论之间的各种逻辑关系及真度或置信度的传递规则等。搜索指各种搜索方式与方法的研究。研究如何从一个浩翰的对象(包括知识本身)空间中搜索(或探索)满足给定条件或要求的特定对象。知识的管理及维护包括对知识库的各种操作(如检索、增加、修改或删除),以保证知识库中知识的一致性和完整性约束等的方法和技术。匹配和识别指在数据库或其他对象集合中,找出一个或多个与给定“模板”匹配的数据或对象的各种原理和方法,以及在仅有不完全的信息或知识的环境下,识别各种对象的原理与方法。