2.1 概述
2.1.1 什么是知识
在人们日常生活及社会活动中,“知识”是常用的一个术语。例如,人们常说“我们要掌握现代科学知识”,“掌握的知识越多,你的机会就越多”,等等。人们所涉及的知识也是十分广泛的,例如,有的知识是多数人所熟悉的普通知识,而有的知识只是有关专家才掌握的专门领域知识。但是,到底什么是知识?知识有哪些特性?它与一般所说的信息有什么区别和联系?在这里做一些简单的讨论。
现实世界中每时每刻都产生着大量的信息,但信息是需要用一定的形式表示出来才能被记载和传递的,尤其是使用计算机来做信息的存储及处理时,更需要用一组符号及其组合进行表示。像这样用一组符号及其组合表示的信息称为数据。
数据与信息是两个密切相关的概念。数据是记录信息的符号,是信息的载体和表示。信息是对数据的解释,是数据在特定场合下的具体含义。只有把两者密切地结合起来,才能实现对现实世界中某一具体事物的描述。另外,数据和信息又是两个不同的概念,相同的数据在不同的环境下表示不同的含义,蕴涵着不同的信息。比如,“100”是一个数据,它可能表示“100元钱”,也可以表示“100个人”,若对于学生的考试成绩来说,可能表示“100分”。同样,相同的信息也可以用不同的数据表示出来。
如上所述,在现实生活中,信息是要以数据的形式来表达和传递的,数据中蕴涵着信息,然而,并不是所有的数据中都蕴涵着信息,而是只有那些有格式的数据才有意义。对数据中的信息的理解也是主观的、因人而异的,是以增加知识为目的的。不同格式的数据蕴涵的信息多少也不一样,比如,图像数据所蕴涵的信息量就大,而文本数据所蕴涵的信息量就少。
信息在人类生活中占有十分重要的地位,但是,只有当把有关的信息关联到一起的时候,它才有实际的意义,一般把有关信息关联在一起所形成的信息结构称为知识。知识是人们在长期的生活及社会实践、科学研究及实验中积累起来的对客观世界的认识与经验,人们把实践中获得的信息关联在一起,就获得了知识。
综上所述,知识、信息和数据是3个层次的概念。有格式的数据经过处理、解释过程会形成信息,而把有关的信息关联到一起,经过处理过程就形成了知识。知识是用信息表达的,信息则是用数据表达的,这种层次不仅反映了数据、信息和知识的因果产生关系,也反映了它们不同的抽象程度。人类在社会实践过程中,其主要的智能活动就是获取知识,并运用知识解决生活中遇到的各种问题。
2.1.2 知识的特性
知识是人们把实践中获得的信息关联在一起所形成的信息结构。正是由于知识来自于人们对客观世界的认识,所以知识具有以下一些特性。
1.相对正确性
知识是人们对客观世界认识的结晶,并且受到长期实践的检验。任何知识都是在一定环境和条件下产生的,所以知识的正确性也是在一定的前提下才成立的。世界上没有任何永远正确的知识,都是相对正确的,比如,“1+1=2”是一条妇孺皆知的正确知识,但它也只是在十进制的前提下才是正确的,如果在二进制体系中就不正确了。再比如,“在同一平面内,两条永不相交的直线叫做平行线”,这是一条极为普通的知识,但它的前提是“在同一平面内”,若没有这一前提,即使是两条永不相交的直线,也不能称做平行线。
2.不确定性
知识是有关信息关联在一起形成的信息结构,“信息”与“关联”是构成知识的两大要素。由于现实世界的复杂性,信息可能是精确的,也可能是不精确的、模糊的;关联可能是确定的,也可能是不确定的。这就使得知识不总是只有真和假两种状态,而是在真和假之间存在有很多状态,即存在“真”的程度问题。知识的这一特性称为不确定性。例如,当观察某种动物的颜色时,这种动物的颜色看起来可能是白色的,或可能是灰色的。再看看你眼前的课桌,它是什么颜色呢?你可能说是米黄色,另一个同学会说是橘红色,到底是什么颜色呢?实际上,这就说明你的观察中带有某种程度的不确定性。
3.可表示性
知识是可以用形式化的东西表示的,比如可以用语言、文字、图形、公式等来表达知识,正是由于知识的这一特性,才能将知识数据化,才能用计算机来存储知识、传播知识和利用知识。
4.可利用性
我们每时每刻都在利用所掌握的知识来解决现实世界中的各种问题,如果知识不具有可利用性,我们就不能积累知识,世界就不会前进。
2.1.3 知识的分类
对知识从不同的角度划分,可得到不同的分类方法。
(1)以知识的作用范围来划分,知识可分为常识性知识和领域性知识。
常识性知识是通用性知识,是人们普遍知道的知识,可用于所有的领域。领域性知识是面向某个具体领域的知识,是专业性知识,只有相应专业领域的人员才能掌握并用来求解领域内的有关问题。比如,“夏天热,冬天冷”、“万物生长靠太阳”就是通用性的知识;而“1个字节由8个位构成”、“1个扇区有512个字节的数据”是计算机领域的知识。
(2)就知识的作用及表示来划分,可分为事实性知识、规则性知识、控制性知识和元知识。
①事实性知识是指有关领域内的概念、事实、事物的属性、状态及其关系的描述,包括事物的分类、属性、事物间关系、科学事实、客观事实等。常以“……是……”的形式出现。事实性知识是静态的、可为人们共享的、可公开获得的公认的知识,在知识库中属低层的知识。比如,雪是白色的,鸟有翅膀,张三李四是好朋友,这辆车是张三的,太阳是红的,等等,都是事实性知识。
②规则性知识是指有关问题中与事物的行动、动作相联系的因果关系知识,这种知识是动态的、变化的。常以“如果……,则……”的形式出现。例如,人们经过多年的观察发现,在北方地区,每当春天来临的时候,就有大批的小燕子飞来,于是就把“春天来了”,“小燕子马上就要飞回来了”这两条信息关联在一起,就得到如下一条知识:
如果春天来了,则小燕子马上就要飞回来了。
计算机专家系统的知识库中,通常使用的就是规则性知识,是由专家提供的专门经验知识。
③控制性知识是指有关问题的求解步骤、技巧性知识,告诉该怎么做一件事。也包括当有多个动作同时被激活时,应选择哪一个动作来执行的知识。
④元知识是指有关知识的知识,是知识库中的高层知识,包括怎样使用规则、解释规则、校验规则、解释程序结构等知识。元知识与控制知识是有重叠的,对一个大的程序来说,以元知识或者元规则形式体现控制知识更为方便,因为元知识存在于知识库中,而控制知识与程序结合在一起出现,从而不容易修改。
(3)以知识的确定性来划分,可分为确定知识和不确定知识。
确定知识就是指那些其逻辑值为“真”或“假”的知识,它是精确性的知识;不确定知识是指那些逻辑值的真假不能完全确定的知识,其逻辑值的真假由一个概率值确定。
(4)按照人类的思维及认识方法来分,可分为逻辑性知识和形象性知识。
逻辑性知识是反映人类逻辑思维过程的知识,这种知识一般都具有因果关系及难以精确描述的特点。形象思维是人类思维的另一种方式,通过形象思维所获得的知识称为形象性知识。比如,关于牛的模样的知识,如果有人问“牛是什么样的”,若让你用文字来描述,可能很难让没有见过牛的人获得关于牛的知识,但是若拿来一张牛的照片或牵来一头真牛,告诉他牛就是这个样子,相信他会立即获得关于牛的模样的知识。这种关于牛的模样的知识就是形象性知识。
2.1.4 知识的表示
人工智能研究的目的是要建立一个模拟人类智能行为的系统,为达到这个目的就必须研究人类智能行为在计算机上的表示形式,只有这样才能把知识存储到计算机中去,供求解现实问题使用。
知识表示是研究用机器表示知识的可行性、有效性的一般方法,是一种数据结构与控制结构的统一体,既考虑知识的存储,又考虑知识的使用。知识表示实际上就是对人类知识的一种描述,以把人类知识表示成计算机能够处理的数据结构。对知识进行表示的过程就是把知识编码成某种数据结构的过程。
按照人们从不同角度进行探索以及对问题的不同理解,知识表示方法可分为陈述性知识表示和过程性知识表示两大类。但两者的界限又不十分明显,也难以分开。
(1)陈述性知识表示
这种表示方法主要用来描述事实性知识,它告诉人们,所描述的客观事物涉及的“对象”是什么,知识表示就是将对象的有关事实“陈述”出来,并以数据的形式表示。这类表示法将知识表示与知识的运用(推理)分开处理,在表示知识时,并不涉及如何运用知识的问题,是一种静态的描述方法。陈述性知识表示模式的优点是灵活简洁,每个有关事实仅需存储一次,演绎过程完整而确定,系统的模块性好。其缺点是工作效率低,推理过程不透明,不易理解。
(2)过程性知识表示
这种表示方法主要用来描述规则性知识和控制性知识,它告诉人们“怎么做”,知识表示的形式是一个“过程”,这一“过程”就是求解程序。它将知识的表示与运用(推理)相结合,知识就寓于程序之中,是一种动态的描述方法。过程性知识表示模式的优点是推理过程直接、清晰,有利于模块化,易于表达启发性知识和默认推理知识,实现起来效率高。其缺点是不够严格,知识间有交互重叠,灵活性差,知识的增、删极不方便。
在上述两类知识表示方法中,包含了多种具体的方法,目前用得较多的知识表示方法有十余种,如一阶谓词逻辑表示法、产生式表示法、框架表示法、语义网络表示法、面向对象表示法、状态空间表示法、脚本表示法、过程表示法等。
对同一知识,一般都可以用多种方法进行表示,但不同的方法对同一知识的表示效果是不一样的,因为不同领域中的知识一般都有不同的特点,而每一种表示方法也各有自己的长处与不足,因而,有些领域的知识可能采用这种表示模式比较合适,而有些领域的知识可能采用另外一种表示模式比较合适,有时还需要把几种表示模式结合起来,作为一个整体来表示领域知识,达到取长补短的效果。