知识是人们在改造世界的实践中所获得的认识和经验的总和,也是机器使用人工智能技术解决问题的依据基础。人类掌握知识通常需要经过“信号—数据—信息—知识”的递进转换过程。其中,信号是用于表示信息的物理量,源于人类的基本感知,在生物学中单独的信号往往是神经细胞在经过一次刺激后的响应;数据是符号化后的信号物理量及其组合,并被作为记录和鉴别客观事实的载体;信息是对数据加工后表示客观事物的符号序列,是数据在特定场合下的具体含义,或是数据的语义。数据和信息的组合实现了对现实世界中某一具体事物的确定性描述,这种描述既包含符号又含有符号之间的关系和涉及符号的规则和过程,往往被人们归纳或抽象化,形成具有特定概念性特征的知识。在这样的递进演化过程中,知识在信息的基础上进行扩充,具备与其相关的上下文信息,并随时间动态变化。由规则和已知知识能够推导出新的知识,提供更多更复杂的含义。
在人工智能范畴,智能系统的运行在本质上是模拟生物体(特别是人)那样能够使用知识来认知和鉴别特定事物,为确保这样的能力,人们规定了至少需要 4 类知识来维持智能系统的基本运作:
(1)事实
事实是关于对象的根本性知识,主要表现对象的基本类型及性质,通常是静态的、共享的、公开的,是知识库最底层的知识。
(2)规则
规则是关于问题中和事物行动相关联的因果关系的知识,通常是动态的、独有的,一般情况下可以用“如果……,那么……”的形式表示。
(3)元知识
元知识是关于知识的知识,处于知识库的高层。例如,使用规则、解释规则、校验规则、解释规则结构等知识,决定了其他事实或规则在哪一个知识库适用。
(4)常识
常识是一类特殊的事实,是普遍存在且广泛认可的客观事实,是人类共有的知识,和事实的区别在于与对象没有直接联系。
按照人们的共识,知识具有以下特点:
(1)相对正确性
在特定条件和环境的约束下,知识必须是正确的。对于智能系统而言,在运行任务时,仅能依据事实、规则、元知识等知识来实施任务理解、分析和执行,而不能判定知识本身是否正确。因此,正确的知识才会使得机器能够按照人类的逻辑作出人们认可的操作,这是人工智能应用的前提。
(2)不确定性
知识来自现实世界的客观事物或现象,受限于获取知识的模糊、随机、不完整,以及这些条件之间的关联,使得知识是辩证的而非二元存在(并不总是只有“真”“假”两种状态)、可能具有某些中间状态;知识的这种特性体现为各领域上的信息不精确、不完整,对客观事物描述的不确定。通常而言,不确定性主要分为由随机性引起的不确定性、由模糊性引起的不确定性、由不完全性引起的不确定性、由经验引起的不确定性等。其中,随机现象发生条件的不充分和流程偶然因素的存在构成了由随机性引起的不确定性;信息所承载的概念指向对象的范围不清晰或认知差异构成了由模糊性引起的不确定性(如人们对具体什么年龄属于“年长者”没有统一标准);信息存在的部分已知和部分未知的状况构成了由不完全性引起的不确定性;决策时存在的主观意识上的不足构成了由经验引起的不确定性等。
(3)可表示性与可利用性
可以被表示出来并能够被利用的知识才是有用的知识,其中,可表示性是指知识能够被适当的形式表示出来,在人工智能中,一切可以被计算机所识别和接受的形式都可以是知识的表示(承载)方式,如电平信号、文字、数值、语言、图像、图形、视频、音频、概率图、超文本和神经元网络等;而知识的可利用性是指特定知识在一个或多个领域中能够被发挥效用并广泛推广。
从古至今,科学技术在不断发展更新,人类将知识构筑成极其复杂的学科体系,并且随着科学研究活动的进一步推进、拓展延伸,如何对知识进行分类成了管理和利用这样浩大的资源的首要条件。
通常人们按照知识的作用效果来进行划分,包括事实性知识、过程性知识和控制性知识等。其中,事实性知识是采用直接表达形式的知识,例如,谓词公式表示,主要用于描述事实、常识、一般性定义等。过程性知识是通过对某一领域的各种问题的比较和分析,得出的规律性信息组合,包含领域内的规则、定律、定理和经验等。过程性知识通常以一组产生式规则或语义网络来表示。在人工智能学科中,过程性知识是智能系统的基础,其完善程度、丰富程度、一致程度将会直接影响智能系统的可靠性、准确性和时效性等指标。控制性知识是有关怎样运用已有知识求解问题的知识,是“关于知识的知识”,表示控制信息的方式有策略级控制、语句级控制和实现级控制,因此也被称为深层知识或元知识。
知识存在其他划分标准,如按照知识的性质,可划分为概念、命题、公理、定理、规则、方法等;按照知识的作用范围,可划分为常识性知识和领域性知识;按照知识的确定性,可划分为确定性知识和不确定性知识;按照知识的结构与表现形式,可划分为逻辑性知识、形象性知识,其中,逻辑性知识反映人类逻辑思维过程的知识,形象性知识通过形象建立知识;按照知识的等级,可划分为零级知识、一级知识、二级知识和三级知识等,这也对应到了对象的层级和颗粒度上。
知识的表示是对知识的描述,或者是一组对知识的约定,将知识以计算机能够接受的数据结构进行表示,使得计算机可以像人类一样运用知识。相应地,知识表示的过程就是将知识编码成某种数据结构的过程。
知识表示的观点可分为陈述性观点和过程性观点。在陈述性观点中,知识按照一定的结构方式存储起来,对知识的调用主要通过过程实现,其优点在于间接灵活、演绎过程完整明确、知识维护方便等,但推理效率相对较低,推理过程不够透明。在过程性观点中,知识存在于使用知识的过程里,将表示与运用相结合,其优点在于推理效率高、演绎过程清晰,但它不够灵活,也不利于知识的维护。
知识需要通过一定的模式表示出来,如使用一阶谓词逻辑表示法、产生式表示法、框架表示法、语义网络表示法等,其目的在于使人们和计算机能够更容易理解和应用。若按照知识的“静态—动态”的区分和关联,通常将知识的表示方法分为符号表示法和连接机制表示法两大类。其中,符号表示法用各种包含具体含义的符号,以各种不同的方式和顺序组合起来表示知识;连接机制表示法通过类似于生物神经网络的方式,将各种物理对象以不同方式和顺序连接起来,并在其之间相互传递和加工各种含有具体意义的信息,用以表示相关的概念和知识。
随着计算机算力和人们对人工智能性能需求的不断增加,不同的知识表示模式会直接在这一对立统一的矛盾中左右其平衡点,相比起来,并不存在一种“更为高级”的知识表示方法。因此,目前根据知识作用的差异,人们在选择知识表示方法时,主要有以下 5 个方面的考量:
①知识表示方法的表示能力:能否高效无误地表示任务所需的各种知识。
②知识表示方法的可理解性:运用该方法来表示知识是否便于计算机和人员的理解。
③知识表示方法的获取:能否支持智能系统的知识增进和维护新旧知识之间不发生逻辑冲突。
④知识表示方法的搜索:其符号结构和推理机制能否支持知识库的快速搜索。
⑤知识表示方法的推理:是否利于计算机层面的推理过程优化。
在接下来的内容中,本书将对几种主要的知识表示方法进行介绍。