学习笔记:知识表示与专家系统


本篇笔记基于微软 AI-For-Beginners 课程的第二章:符号人工智能 (Symbolic AI) 进行整理,详细记录了符号 AI 与专家系统、知识表示、推理方法(前向与后向推理)以及本体与语义网的相关概念与核心架构。

一、 知识与信息/数据的区别

在符号 AI(Top-down 自上而下方法)中,核心思想是将人类知识转化为机器可读的形式,以此来解决问题。

1. DIKW 金字塔模型

为了定义什么是“知识”,通常使用 DIKW 金字塔 来对相关概念进行分层:


二、 计算机知识表示 (Knowledge Representation)

知识表示的目标是寻找一种有效的方法,将知识以数据的形式存储在计算机中,使其能够被自动利用。知识表示方法存在一个光谱:

知识表示的分类

1. 网络表示法 (Network Representations)

2. 层次表示法 (Hierarchical Representations)

3. 过程表示法 (Procedural Representations)

4. 逻辑表示法 (Logic)


三、 专家系统 (Expert Systems)

专家系统是符号 AI 早期最成功的应用之一,旨在特定受限领域中扮演人类专家的角色。

1. 系统架构

专家系统的结构模拟了人类的神经与推理系统:

graph TD
    subgraph "专家系统架构"
        KB[知识库 Knowledge Base <br>长期记忆]
        PM[问题内存 Problem Memory <br>短期记忆/工作内存]
        IE[推理引擎 Inference Engine]
        
        IE -->|读取规则| KB
        IE <-->|读写当前状态| PM
    end
    
    User[用户] <-->|交互输入/输出| IE

2. 推理方式

前向推理 (Forward Inference)

从已知的数据出发,主动推导结论。

  1. 冲突集合:寻找所有当前条件被满足的规则。
  2. 冲突解决:采用特定策略选择一条规则执行(如:选第一条、随机选、或选择条件最具体的规则)。
  3. 应用规则:执行规则,将推导出的新事实(三元组)存入工作内存。
  4. 循环:重复上述步骤,直至得到目标属性。

后向推理 (Backward Inference)

由目标(Hypothesis/Goal)驱动,逆向寻找证据。

  1. 确定目标:寻找能够得出该目标的规则。
  2. 验证条件:如果规则的左侧(条件部分)未知,则将这些条件作为“子目标”进行递归证明。
  3. 询问用户:如果某个属性无法通过规则推导且无其他方法,则向用户提问获取。
  4. 回溯:若当前假设证明失败,则尝试其他候选规则。

可解释性是知识型专家系统的重要特点:系统做出的每一项决策,都可以通过其推理链路(应用了哪些规则)被清晰地解释。


四、 本体与语义网 (Ontologies & Semantic Web)

1. 语义网技术栈

在20世纪末,人们尝试用知识表示技术对互联网资源进行标注,以实现精准检索。

2. 本体 (Ontology)

本体是对某一问题域的显式规格说明。最简单的本体是概念分类法,复杂的本体则包含推理规则。

3. 代表性项目

4. 实践案例:家族本体推理 (Family Ontology Inference)

FamilyOntology.ipynb 中,展示了如何使用语义网技术来自动化推理家族关系:


五、 概念图与主题分类 (Concept Graph & Theme Classification)

1. 实践案例:利用概念图进行新闻主题分类

MSConceptGraph.ipynb 中,展示了概念图在自然语言主题分类中的实际应用:

六、 总结与展望

在深度学习和神经网络大行其道的今天,符号 AI 的显式推理 (Explicit Reasoning) 依然不可或缺:

  1. 神经网络通常难以提供决策的可解释性,而符号 AI 可以清晰回溯。
  2. 在需要受控地修改系统行为、或者必须保证100%符合逻辑约束的实际项目中,知识库和推理机依然发挥着关键作用。