知识表示的方式主要有以下四种:
逻辑表示
语义网络表示
帧表示
生产规则
逻辑表示是一种具有一些具体规则的语言,它处理命题并且在表示上没有歧义。逻辑表示是指根据各种条件得出结论。这种表示法规定了一些重要的通信规则。它由支持声音推理的精确定义的语法和语义组成。每个句子都可以使用语法和语义翻译成逻辑。
语法是决定我们如何在逻辑中构建合法句子的规则。
它决定了我们可以在知识表示中使用哪个符号。
这些符号怎么写。
语义是我们可以在逻辑中解释句子的规则。
语义还涉及为每个句子分配一个含义。
逻辑表示主要可以分为两种逻辑:
命题逻辑
谓词逻辑
逻辑表示使我们能够进行逻辑推理。
逻辑表示是编程语言的基础。
逻辑表示有一些限制并且很难处理。
逻辑表示技术可能不是很自然,推理可能没有那么高效。
语义网络是知识表示谓词逻辑的替代方案。在语义网络中,我们可以以图形网络的形式表示我们的知识。该网络由代表对象的节点和描述这些对象之间关系的弧组成。语义网络可以以不同的形式对对象进行分类,也可以链接这些对象。语义网络易于理解且易于扩展。
这种表示主要包括两种类型的关系:
IS-A 关系(继承)
关系类型
示例:以下是我们需要以节点和弧线的形式表示的一些语句。
杰瑞是一只猫。
杰瑞是哺乳动物
杰瑞归普里亚所有。
杰瑞是棕色的。
所有哺乳动物都是动物。
在上图中,我们以节点和弧的形式表示了不同类型的知识。每个对象都通过某种关系与另一个对象相连。
语义网络在运行时需要更多的计算时间,因为我们需要遍历完整的网络树来回答一些问题。在最坏的情况下,遍历整棵树后,我们可能会发现该网络中不存在该解决方案。
语义网络试图模拟人类的记忆(它有 1015 个神经元和链接)来存储信息,但在实践中,构建如此庞大的语义网络是不可能的。
这些类型的表示是不够的,因为它们没有任何等效的量词,例如,对于所有、对于某些、无等。
语义网络对链接名称没有任何标准定义。
这些网络并不智能,取决于系统的创建者。
语义网络是知识的自然表示。
语义网络以透明的方式传达意义。
这些网络简单易懂。
框架是一种类似记录的结构,它由一组属性及其值组成,用于描述世界中的一个实体。框架是 AI 数据结构,它通过表示刻板印象将知识划分为子结构。它由槽和槽值的集合组成。这些插槽可以是任何类型和大小。插槽具有称为方面的名称和值。
Facets:插槽的各个方面被称为Facets。Facets 是框架的特征,它使我们能够对框架施加约束。示例:当需要任何特定插槽的数据时,调用 IF-NEEDED 事实。一个帧可以由任意数量的时隙组成,一个时隙可以包括任意数量的面,面可以具有任意数量的值。框架在人工智能中也称为槽过滤知识表示。
框架源自语义网络,后来演变成我们现代的类和对象。单个框架没有多大用处。框架系统由一组相互连接的框架组成。在框架中,关于一个对象或事件的知识可以一起存储在知识库中。框架是一种广泛应用于各种应用的技术,包括自然语言处理和机器视觉。
让我们以一本书的框架为例
老虎机 | 过滤器 |
---|---|
标题 | 人工智能 |
类型 | 计算机科学 |
作者 | 彼得·诺维格 |
版 | 第三版 |
年 | 1996年 |
页 | 1152 |
假设我们正在获取一个实体,彼得。彼得的职业是工程师,他今年 25 岁,住在伦敦市,国家是英国。因此,以下是此框架的表示形式:
老虎机 | 筛选 |
---|---|
姓名 | 彼得 |
职业 | 医生 |
年龄 | 25 |
婚姻状况 | 单身的 |
重量 | 78 |
框架知识表示通过对相关数据进行分组使编程更容易。
框架表示相对灵活,被 AI 中的许多应用程序使用。
为新属性和关系添加插槽非常容易。
包含默认数据和搜索缺失值很容易。
帧表示易于理解和可视化。
在框架系统推理机制是不容易处理的。
推理机制不能通过帧表示顺利进行。
帧表示有一种非常通用的方法。
生产规则系统由(条件,动作)对组成,意思是“如果条件然后动作”。它主要包括三个部分:
生产规则集
工作记忆
认知-行动-循环
在生产规则代理检查条件,如果条件存在,则生产规则触发并执行相应的操作。规则的条件部分确定可以将哪个规则应用于问题。动作部分执行相关的问题解决步骤。这个完整的过程称为识别-行为循环。
工作记忆包含对当前解决问题状态的描述,规则可以将知识写入工作记忆。此知识匹配并可能触发其他规则。
如果有新的情况(状态)产生,那么多个产生式规则将一起被触发,这称为冲突集。在这种情况下,代理需要从这些集合中选择一个规则,这称为冲突解决。
IF(在公交车站和公交车到达) THEN 行动(上车)
如果(在公共汽车上并且已付钱和空座位)那么行动(坐下)。
IF(在公交车上且未付费) THEN 行动(付费)。
IF(巴士到达目的地) THEN 动作(下车)。
产生式规则用自然语言表达。
产生式规则高度模块化,因此我们可以轻松删除、添加或修改单个规则。
产生式规则系统不展示任何学习能力,因为它不存储问题的结果以供将来使用。
在程序执行期间,许多规则可能处于活动状态,因此基于规则的生产系统效率低下。