Skip to content

知识表示

知识表示解决的核心问题是:如何把人类的知识转化为计算机可以存储、检索和推理的形式。这是符号 AI 的工程基础——推理引擎再强大,没有良好的知识表示也只能在空集上推理。不同的表示方法在表达能力、推理效率、维护成本之间做出不同的权衡。

产生式规则

产生式规则(Production Rule)是最直观的知识表示方法,形式为 IF 条件 THEN 动作。条件部分是一组关于当前事实的判断,动作部分可以是得出新结论、添加新事实或触发外部操作。MYCIN 系统就是用产生式规则编码医学知识,每条规则对应一条临床经验。

text
示例规则:
IF   发热 = true
AND  咳嗽 = true
AND  白细胞计数 > 10000
THEN 感染类型 = 细菌性(置信度 0.8)

产生式系统的工作循环包含三个阶段:匹配阶段扫描所有规则,找出条件部分被当前事实集满足的规则(称为冲突集);冲突消解阶段从冲突集中选择一条规则执行,策略包括优先级排序、最近匹配优先、条件最特殊者优先等;执行阶段将选中规则的动作部分应用到事实集,可能添加新事实、修改已有事实或删除过期事实。这个"匹配-选择-执行"循环不断重复,直到没有新规则可以触发或达到终止条件。

产生式规则的优势在于模块化:每条规则相对独立,添加新规则不需要修改已有规则。这在工程维护上是很大的优势。但劣势也很明显:规则之间实际上存在隐含的交互关系,添加新规则可能导致意想不到的推理路径;当规则数量达到数万条时,匹配阶段的扫描成本变得非常高昂,RETE 算法通过构建规则网络的增量匹配机制将匹配复杂度从 O(n) 降低到接近 O(1),成为高性能产生式系统的标准实现。

语义网络

语义网络(Semantic Network)用图结构表示知识。节点表示概念(如"鸟"、"动物"、"企鹅"),边表示概念间的关系(如"是一种"、"有属性"、"是部分")。继承机制是语义网络的核心推理方式:企鹅节点通过"是一种"边连接到鸟节点,自动继承鸟的所有属性,无需重复编码。

语义网络的表达能力主要体现在边的类型上。分类关系(IS-A)建立概念层次,支持继承推理;组成关系(PART-OF)描述部分与整体的关系;属性关系描述概念的特征值,如"鸟-有属性-翅膀"。这些关系类型使得语义网络能够自然地表示分类学知识和本体结构。 语义网络的主要问题是缺乏形式化的语义定义。早期的语义网络没有统一的标准来规定边的含义——同一条"IS-A"边在不同系统中可能表示不同的关系。这个缺陷导致推理结果可能存在歧义和矛盾。后来的描述逻辑和本体论标准(如 OWL)正是为了解决这个问题,给语义网络赋予了严格的数学基础。

框架理论

框架理论(Frame Theory)由 Marvin Minsky 在 1975 年提出,核心思想是用结构化的模板表示典型场景或概念。一个框架包含多个槽位(Slot),每个槽位有名称和值。比如"餐厅"框架可能有槽位:场景(室内)、座位(桌子+椅子)、服务员(有)、菜单(有)、付款方式(现金/刷卡)。

text
框架示例:餐厅就餐场景

[餐厅]
  场景类型: 室内
  参与者: [顾客], [服务员]
  设施: [桌子], [椅子], [厨房]
  事件序列:
    1. 进入 → 找座位
    2. 点餐 → 等待
    3. 用餐
    4. 付款 → 离开

当实际情况偏离框架预设时,槽位可以填入异常值。
比如"外卖"场景中,"座位"槽位为空,"付款"先于"用餐"。

框架理论的精妙之处在于默认值和异常处理机制。默认值表示典型情况下的期望值——餐厅通常有菜单,所以"菜单"槽位的默认值为"有"。当遇到特殊场景时,只需覆盖特定槽位的值,其他槽位自动继承默认值。这减少了知识编码的工作量,同时为处理非典型情况提供了结构化的框架。

框架与面向对象编程中的类有很强的对应关系:框架对应类,槽位对应属性,框架间的继承关系对应类的继承层次。这种对应并非巧合——面向对象范式的很多设计思想都可以追溯到框架理论对知识表示的探索。

本体论与描述逻辑

本体论(Ontology)在 AI 领域指对特定领域概念及其关系的明确定义。与语义网络不同,本体论使用严格的形式化语言定义概念的层次结构、属性约束和关系类型,消除了语义歧义。OWL(Web Ontology Language)是 W3C 制定的本体标准语言,支持定义类、属性、个体以及它们之间的复杂约束。

描述逻辑(Description Logic,DL)是 OWL 的数学基础,是一阶逻辑的可判定子集。描述逻辑的核心设计理念是在表达能力和推理复杂度之间取得精确的平衡。表达能力越强的描述逻辑,推理的计算复杂度越高。OWL 2 的不同子语言(OWL 2 EL、OWL 2 QL、OWL 2 RL)对应不同复杂度级别的描述逻辑,允许用户根据应用需求选择合适的表达力。

描述逻辑的基本构造块是概念(concept,对应类)和角色(role,对应属性)。复杂概念通过构造算子从简单概念组合而成。比如 Person ⊓ ∃hasChild.Student 表示"有一个学生孩子的所有人",其中 ⊓ 是交集算子,∃ 是存在量词算子。推理任务包括概念可满足性(判断一个概念是否可能为空)、概念包含(判断一个概念是否是另一个的子集)、实例检查(判断一个个体是否属于某概念)等。

知识图谱

知识图谱(Knowledge Graph)是语义网络和本体论在工业界的现代化实现。以 RDF 三元组(主语-谓词-宾语)为基本数据单元,比如 (Einstein, birthPlace, Germany) 表示"爱因斯坦出生在德国"。大规模知识图谱如 Wikidata、DBpedia 包含数十亿条三元组,覆盖了人类知识的广泛领域。

知识图谱与大语言模型的结合是当前 AI 工程的前沿方向。大模型通过参数记忆了大量世界知识,但存在幻觉问题——它可能以很高置信度生成错误的事实。知识图谱作为外部知识源可以为大模型提供事实校验,检索增强生成(RAG)技术本质上就是用知识图谱(或向量数据库)的检索结果约束大模型的生成范围。

Google 的 Knowledge Graph 从 2012 年开始在搜索结果中展示结构化知识面板,这标志着知识图谱从学术概念进入了大众视野。国内的百度、阿里也构建了自己的大规模知识图谱,用于智能搜索、推荐系统和智能问答。知识图谱的构建仍然是工程难题:从非结构化文本中抽取三元组需要高精度的命名实体识别和关系抽取模型,跨源知识融合需要解决实体对齐和冲突消解问题。

表示方法的选择

不同的知识表示方法并非互相替代,而是适用于不同场景。产生式规则适合编码专家经验,在业务规则引擎中广泛使用;语义网络和本体论适合构建领域知识体系,在医疗、金融等领域用于标准化知识管理;框架理论适合表示场景化的知识,在自然语言理解中用于上下文建模;知识图谱适合大规模事实存储和检索,是现代智能系统的知识基础设施。

在实际工程中,往往需要组合多种表示方法。一个智能问答系统可能用知识图谱存储事实,用本体论定义概念层次,用产生式规则处理业务逻辑。理解各种表示方法的优劣和适用范围,是设计知识系统的基础能力。