知识表示(knowledge representation)是指把知识客体中的知识因子与
知识关联起来,便于人们识别和理解知识。知识表示是
知识组织的前提和基础,任何知识组织方法都是要建立在知识表示的基础上。知识表示有主观知识表示和客观知识表示两种。
结构
知识的表示就是对知识的一种描述,或者说是对知识的一组约定,一种
计算机可以接受的用于描述知识的数据结构。某种意义上讲,表示可视为数据结构及其处理机制的综合:表示= 数据结构+处理机制。因此在ES中知识表示是ES中能够完成对专家的知识进行计算机处理的一系列技术手段。常见的有
产生式规则、
语义网、框架法等。
表示主体
知识是
信息接收者通过对信息的提炼和推理而获得得的正确结论;是人对自然世界、人类社会以及思维方式与运动规律的认识与掌握,是人的大脑通过思维重新组合和、系统化的信息集合。
在KR中,知识的涵义和一般我们认识的知识的涵义是有所 区别的,它是指以某种结构化的方式表示的概念、事件和过程。因此在KR中,并不是日常生活中的所有知识都能够得以体现的,而是只有限定了范围和结构,经过 编码改造的知识才能成为KR中的知识。在KR中的知识一般有如下几类:
有关现实世界中所关心对象的概念,即用来描述现实世界所抽象总结出的概念。
有关现实世界中发生的事件、所关系对象的行为、状态等内容,也就是说不光有静态的概念,还有动态的信息。
关于过程的知识,即不光有当前状态和行为的描述,还要有对其发展的变化及其相关条件、因果关系等描述的知识。
元知识,即关于知识的知识,例如包括知识利用方面的知识。
方法
经过国内外学者的共同努力,已经有许多知识表示方法得到了深入的研究,使用较多的知识表示方法主要有以下几种知识表示方法。
(1)逻辑表示法
逻辑表示法以谓词形式来表示动作的主体、客体,是一种叙述性知识表示方法。利用逻辑公式,人们能描述对象、性质、状况和关系。它主要用于自动定理的证明。逻辑表示法主要分为命题逻辑和谓词逻辑。
逻辑表示研究的是假设与结论之间的蕴涵关系,即用逻辑方法推理的规律。它可以看成自然语言的一种简化形式,由于它精确、无二义性,容易为计算机理解和操作,同时又与自然语言相似。
命题逻辑是数理逻辑的一种,数理逻辑是用形式化语言(逻辑符号语言)进行精确(没有歧义)的描述,用数学的方式进行研究。我们最熟悉的是数学中的设未知数表示。例:用命题逻辑表示下列知识:
如果a 是偶数,那么a2 是偶数。
解:定义命题如下:P:a 是偶数;Q: a2 是偶数,则:原知识表示为:P→Q
谓词逻辑相当于数学中的函数表示。例:用谓词逻辑表示知识:自然数都是大于等于零的整数
解:定义谓词如下:N(x):x 是自然数;I(x):x 是整数;GZ(x):x 是大于等于零的数。所以原知识表示为:(∀x)(N(x)(GZ(x)∧I(x)),∀(x)是全称量词。
产生式表示,又称规则表示,有的时候被称为IF-THEN 表示,它表示一种条件-结果形式,是一种比较简单表示知识的方法。IF 后面部分描述了规则的先决条件,而THEN 后面部分描述了规则的结论。规则表示方法主要用于描述知识和陈述各种过程知识之间的控制,及其相互作用的机制。
例:MYCIN 系统中有下列产生式知识(其中,置信度称为规则强度):
IF 本生物的染色斑是革兰性阴性,本微生物的形状呈杆状,病人是中间宿主
THEN 该微生物是绿脓杆菌,置信度为 0.6
(3)框架表示
框架(Frame)是把某一特殊事件或对象的所有知识储存在一起的一种复杂的数据结构。其主体是固定的,表示某个固定的概念、对象或事件,其下层由一些槽(Slot)组成,表示主体每个方面的属性。框架是一种层次的数据结构,框架下层的槽可以看成一种子框架,子框架本身还可以进一步分层次为侧面。槽和侧面所具有的属性值分别称为槽值和侧面值。槽值可以是逻辑型或数字型的,具体的值可以是程序、条件、默认值或是一个子框架。相互关联的框架连接起来组成框架系统,或称框架网络。
例:用框架表示下述地震事件:[虚拟新华社3月15日电]昨日,在云南玉溪地区发生地震,造成财产损失约10万元,统计部门如果需要详细的损失数字可电询62332931。另据专家认为震级不会超过4 级,并认为地处无人区,不会造成人员伤亡。
(4)面向对象的表示方法
面向对象的知识表示方法是按照面向对象的程序设计原则组成一种混合知识表示形式,就是以对象为中心,把对象的属性、动态行为、领域知识和处理方法等有关知识封装在表达对象的结构中。在这种方法中,知识的基本单位就是对象,每一个对象是由一组属性、关系和方法的集合组成。一个对象的属性集和关系集的值描述了该对象所具有的知识;与该对象相关的方法集,操作在属性集和关系集上的值,表示该对象作用于知识上的知识处理方法,其中包括知识的获取方法、推理方法、消息传递方法以及知识的更新方法。
(5)语义网表示法
语义网络是知识表示中最重要的方法之一,是一种表达能力强而且灵活的知识表示方法。它通过概念及其语义关系来表达知识的一种网络图。从图论的观点看,它是一个“带标识的有向图”。语义网络利用节点和带标记的边构成的有向图描述事件、概念、状况、动作及客体之间的关系。带标记的有向图能十分自然的描述客体之间的关系。
例:用语义网络表示下列知识:
中南大学湘雅医学院是一所大学,位于长沙市,建立时间是1914 年。
(6)基于XML 的表示法
在XML(eXtensible Markup language,可扩展标记语言)中,数据对象使用元素描述,而数据对象的属性可以描述为元素的子元素或元素的属性。XML 文档由若干个元素构成,数据间的关系通过父元素与子元素的嵌套形式体现。在基于XML 的知识表示过程中,采用XML 的DTD(Document Type definitions,文档类型定义)来定义一个知识表示方法的语法系统。通过定制XML 应用来解释实例化的知识表示文档。在知识利用过程中,通过维护数据字典和XML 解析程序把特定标签所标注的内容解析出来,以“标签”+“内容”的格式表示出具体的知识内容。知识表示是构建知识库的关键,知识表示方法选取得合适与否不仅关系到知识库中知识的有效存贮,而且也直接影响着系统的知识推理效率和对新知识的获取能力。
(7)本体表示法
本体是一个形式化的、共享的、明确化的、概念化规范。本体论能够以一种显式、形式化的方式来表示语义,提高异构系统之间的互操作性,促进知识共享。因此,最近几年,本体论被广泛用于知识表示领域。用本体来表示知识的目的是统一应用领域的概念,并构建本体层级体系表示概念之间的语义关系,实现人类、计算机对知识的共享和重用。五个基本的建模元语是本体层级体系的基本组成部分,这些元语分别为:类、关系、函数、公理和实例。通常也把Classes(类)写成Concepts。将本体引入知识库的知识建模,建立领域本体知识库,可以用概念对知识进行表示,同时揭示这些知识之间内在的关系。领域本体知识库中的知识,不仅通过纵向类属分类,而且通过本体的语义关联进行组织和关联,推理机再利用这些知识进行推理,从而提高检索的查全率和查准率。
上面简要介绍分析了常见的知识表示方法,此外,还有适合特殊领域的一些知识表示方法,如:概念图、Petri、基于网格的知识表示方法、粗糙集、基于云理论的知识表示方法等,在此不做详细介绍。在实际应用过程中,一个智能系统往往包含了多种表示方法。
完整过程
从一般意义上讲,知识表示就是为描述世界所做的一组约定,是知识的符号化、形式化或模型化;从
计算机科学的角度来看,知识表示是研究计算机表示知识的可行性、有效性的一般方法,是把人类知识表示成机器能处理的数据结构和
系统控制结构的策略。
一个完整知识表示过程是:首先是设计者针对各种类型的问题设计多种知识表示方法;然后表示方法的使用者选用合适的表示方法表示某类知识;最后知识的使用者使用或者学习经过表示方法处理后的知识。所以,知识表示的客体就是知识;知识表示的主体包括3 类:表示方法的设计者、表示方法的使用者、知识的使用者。具体来说,知识表示的主体主要指的是人(个人或集体),有时也可能是计算机。
知识表示的过程如图1 所示。图1 中的“ 知识Ⅰ” 是指隐性知识或者使用其他表示方法表示的显性知识;“ 知识Ⅱ” 是指使用该种知识表示方法表示后的显性知识。“ 知识Ⅰ” 与“ 知识Ⅱ” 的深层结构一致,只是表示形式不同。所以,知识表示的过程就是把隐性知识转化为显性知识的过程, 或者是把知识由一种表示形式转化成另一种表示形式的过程。
相关示例
假设有这样一个知识需要表示:小潘是计科系的学生,但他不喜欢编程。我们用一阶
谓词逻辑来表示它就需要采用如下的步骤:首先,定义谓词
Computer(x):x是计科系的学生
Like(x,y):x喜欢y
Computer(xiaopan)∧¬Like(xiaopan,programing)
产生式规则:在条件、因果等类型的判断中所采用的一种对知识进行表示的方法。其基本的形式是P→Q,或者是if P then Q。这里这个产生式规则与刚才的谓词逻辑中的“蕴涵(→)式”表示还是有区别的,后者是一种精确的匹配,即如果x,则100%的会是y,而前者则可以表示 一种模糊匹配,有一定的
置信度,即发生概率。
例如:if “咳嗽 and 发烧”,then “感冒”,置信度80%。这里if部分表示条件部,then部分表示结论部,置信度表示当满足条件时得到结论的发生
概率。这整个部分就形成了一条规则,表示的就是这样一类因果知识:“如果病人发烧且咳嗽,则他很有可能是感冒了”。
因此,针对比较复杂的情况,我们都可以用这种
产生式规则的知识表示方式形成一系列的规则。