人工智能问题的求解是以知识为基础的。如何将已获得的有关知识以计算机内部代码形式加以合理地描述、存储,以使有效地利用这些知识便是知识表示。知识表示方法的提出,常模仿人脑的知识存储结构,心理学家对知识表示方法的研究做出了重要的贡献。这一章将介绍逻辑的、产生式的、语义网络的和框架的知识表示方法。 4.1 概述 4.1.1 知识及其表示 人们所涉及到的知识是十分广泛的。有的属多数人所熟悉的,有的只是有关专家才掌握的专门领域知识。对于“知识”难以给出明确的定义,只能从不同侧面加以理解。 Feigenbaum 认为知识是经过削减、塑造、解释和转换的信息、简单地说,知识是经过加工的信息。 Bernstein 说知识是由特定领域的描述、关系和过程组成的。 Hayes-Roth 认为知识是事实、信念和启发式规则。 从知识库观点看,知识是某论域中所涉及的各有关的方面、状态的一种符号表示。 知识可从(范围、目的,有效性)加以三维描述。其中知识的范围是由具体到一般,知识的目的是由说明到指定,知识的有效性是由确定到不确定。例如"为了证明A→B,只需证明A∧~B是不可满足的"这种知识是一般性、指示性、确定性的。而像"桌子有四条腿"这种知识是具体的、说明性、不确定性的。 知识表示是研究用机器表示知识的可行性、有效性的一般方法,是一种数据结构与控制结构的统一体,既考虑知识的存储又考虑知识的使用。知识表示可看成是一组描述事物的约定,以把人类知识表示成机器能处理的数据结构。 4.1.2 人工智能系统所关心的知识 一个智能程序高水平的运行需要有关的事实知识、规则知识、控制知识和元知识。 事实 是有关问题环境的一些事物的知识,常?quot;…是…"的形式出现。如事物的分类、属性、事物间关系、科学事实、客观事实等,事实是静态的为人们共享的可公开获得的公认的知识,在知识库中属低层的知识。如雪是白色的、鸟有翅膀、张三李四是好朋友、这辆车是张三的。 规则 是有关问题中与事物的行动、动作相联系的因果关系知识,是动态的,常以"如果…那么…"形式出现。特别是启发式规则是属专家提供的专门经验知识,这种知识虽无严格解释但很有用处。 控制 是有关问题的求解步骤、技巧性知识,告诉怎么做一件事。也包括当有多个动作同时被激活时应选哪一个动作来执行的知识。 元知识 是有关知识的知识,是知识库中的高层知识。包括怎样使用规则,解释规则、校验规则、解释程序结构等知识。元知识与控制知识是重迭的,对一个大的程序来说,以元知识或说元规则形式体现控制知识更为方便,因为元知识存于知识库中,而控制知识常与程序结合在一起出现,从而不容易修改。 4.1.3 陈述性知识与过程性知识 70年代以来陈述性知识表示与过程性知识表示一直是有争论的。知识表示可分为陈述性和过程性表示两大类,但两者的界限也不十分明显又难以分开。 陈述性表示 描述事实性知识,给出客观事物告诉所涉及的对象是什么,知识表示与知识的运用(推理)分开处理是静态的。每个有关事实仅需存储一次,尽管这一事实有多处使用。这种方法较严格、模块性好。 过程性表示 描述规则和控制结构知识,给出一些客观规律,告诉怎么做,知识表示就是求解程序,表示与推理相结合,是动态描述。有的事实需多次存储。易于表达启发性知识和默认推理知识。这种表示法不够严格、知识间有交互但求解效率高。 实际上任一种知识表示方法都是陈述与过程观点的结合。像逻辑表示法是表示与求解分离的属陈述性表示,像语义网络表示法从继承性推理看是属过程性表示。 4.1.4 对知识表示方法的衡量 首先需说明,以自然语言作为知识表示语言是困难的。人表示知识处理知识均使用自然语言,如以这种表示直接引入计算机是最理想了。但是自然语言有二义性、语法语义也难于有完善的描述,从而给机器内部表示带来难以克服的困难,需另行考虑知识表示方法。 建立一种知识表示方法,要求有较强的表达能力和足够的精细度。其次,相应于表示方法的推理要保证正确性和效率。从使用者观点看,常希望满足可读性好,模块性好等要求。 |