首页 / 章节目录 / 第 2 章
CHAPTER · 02

知识表示

Knowledge Representation

知识是智能的基础,知识表示则研究如何把客观世界的知识"翻译"成计算机可以接受并处理的数据结构。 本章首先讨论知识的定义、特性与分类,随后逐一精讲一阶谓词逻辑、产生式、框架、语义网络四种经典表示法, 最后介绍互联网时代的知识表示形态——知识图谱。

2.1

知识与知识表示

在人工智能中,知识是人们在改造客观世界的实践中积累起来的认识和经验。费根鲍姆(E. Feigenbaum,知识工程奠基人)指出,知识是经过加工的信息,它既包括事实、信念,也包括启发式规则。一个智能系统的能力强弱,首先取决于它拥有知识的数量与质量。

知识的特性与分类

知识具有四个基本特性:相对正确性(在一定条件与范围内成立)、不确定性(可能带置信度或模糊性)、可表示性(可用符号、图形等形式表达)和可利用性(可被存储、推理和反复使用)。

分类角度类别含义与示例
按作用范围常识性知识普遍适用、人人皆知的知识,如"鸟会飞""水往低处流"。
领域性知识特定专业领域的知识,如医学诊断规则、力学公式。
按作用及表示事实性知识描述事物的状态、属性,如"雪是白色的""张三是一名学生"。
过程性知识描述做事的步骤、规则,如"若发烧且咳嗽,则考虑呼吸道感染"。
按确定性确定性知识逻辑值明确(真/假),可精确推理,如"所有金属都导电"。
不确定性知识含随机性、模糊性或不完全性,如"多云时很可能下雨"。
按层次表层知识(零级)经验性的"知其然",常以规则形式存在。
深层知识(一/二级)反映因果机理的"知其所以然",如领域模型、元知识。

知识表示就是为了描述世界所做的一组约定,是知识的符号化、形式化过程。它既要忠实于知识本身,又要便于计算机存储和运用。

知识表示方法的评价标准

◆ 一种好的表示法应当具备
  • 充分表示能力:能将问题所需的各类知识正确、完整地表达出来;
  • 易于推理:支持基于知识的高效推理,避免"表示了却用不起来";
  • 易于维护:便于知识的增、删、改,保持一致性;
  • 可理解性好:结构自然、含义清晰,符合人类阅读习惯;
  • 可获取性强:便于从专家或数据中获取,能被机器自动学习。

没有一种表示法能在所有维度上最优。本章介绍的四种经典方法各有所长:谓词逻辑严密精确,产生式灵活直观,框架善于描述结构化对象,语义网络长于表达关联;而知识图谱则是语义网络在大数据时代的复兴与工程化。

2.2

一阶谓词逻辑表示法

一阶谓词逻辑(First-Order Predicate Logic)是最早用于人工智能、也是最严谨的知识表示方法。它以数理逻辑为基础,把知识表示为谓词公式,推理则等价于逻辑演绎。

谓词、个体与量词

一个谓词公式形如 P(x1, x2, …, xn),其中 P 是谓词名,刻画个体的性质或个体间的关系;括号内是个体(项),可以是常量、变量或函数。例如:

  • Man(ZhangSan):张三是人;
  • Father(ZhangSan, ZhangSi):张三是张四的父亲;
  • Greater(x, 5):变量 x 大于 5。

常用连接词包括:否定 ¬、合取(且)∧、析取(或)∨、蕴含 →、等价 ↔;量词包括全称量词 ∀(对所有个体)和存在量词 ∃(存在某个个体)。

自然语句的形式化 “所有的人都会死”  ⟹  ∀x ( Man(x) → Mortal(x) )

“有的人喜欢数学”  ⟹  ∃x ( Man(x) ∧ Likes(x, Math) )
◆ 实例:机器人取盒子

设在一个房间里,机器人 Robot 在 A 处,盒子 Box 在 B 处,桌子 Table 在 C 处。可用谓词描述状态:AT(Robot, A)、AT(Box, B)、AT(Table, C)、EMPTY(Robot)(机械手为空)。
规则"机器人若空手且与物体同处一地,则可抓起该物体"可表示为:

∀x ∀y ( AT(Robot, x) ∧ AT(y, x) ∧ EMPTY(Robot) ) → HOLDS(Robot, y)

谓词逻辑表示知识的一般步骤是:① 定义谓词及个体,确定每个谓词的含义;② 用连接词、量词把事实和规则写成谓词公式;③ 借助推理规则(第 3 章的归结反演)从已知公式推出新公式。

谓词逻辑表示法的特点

优优点

具有严格的形式定义和自然性,接近自然语言;推理有完备的逻辑体系保证,结论精确可靠;知识与推理程序分离,易于模块化。

劣局限

只能表示确定性知识;对启发式、不确定性知识无能为力;推理过程随事实增多易发生组合爆炸,效率较低;不便表达过程性知识。

2.3

产生式表示法

产生式(Production)表示法由波斯特(Post)于 1943 年提出,因形式贴近人类"条件—结论"式的经验思维而被广泛使用,MYCIN 等著名专家系统都建立在产生式之上。

事实与规则的表示

产生式系统中,知识分为两类:

  • 事实:表示静态知识,通常用三元组 (对象,属性,值) 或 (关系,对象1,对象2),如 (动物,类别,鸟类)。
  • 规则:表示过程性知识,基本形式为 P → Q 或 IF P THEN Q,其中 P 是前提(条件),Q 是结论或动作。不确定性规则还可附加可信度,如 IF 发烧 AND 咳嗽 THEN 感冒 (CF=0.6)。
产生式规则示例 IF  动物有毛发  THEN  该动物是哺乳动物
IF  动物会飞 AND 会下蛋  THEN  该动物是鸟

产生式系统的基本结构

综合数据库(Global Database)

又称事实库/上下文,存放求解过程中的当前事实、中间结果与目标,是规则的操作对象。

规则库(Rule Base)

存放所有产生式规则,是领域知识的载体。规则的完备性、一致性与灵活性直接决定系统性能。

控制系统(推理机)

负责"匹配—冲突消解—执行"三步循环:把规则前提与数据库匹配,从多条被触发的规则中按策略选一条(冲突消解),执行其结论并把新事实写入数据库,如此反复直到得出结论。

按推理方向可分为正向推理(由事实推出结论,数据驱动)、反向推理(由假设寻找证据,目标驱动)和双向推理,第 8 章将给出可交互的完整实例。

◆ 实例:动物识别规则库(节选)

R1:IF 有毛发 THEN 哺乳动物  R2:IF 有奶 THEN 哺乳动物
R3:IF 有羽毛 THEN 鸟  R4:IF 会飞 AND 下蛋 THEN 鸟
R5:IF 哺乳动物 AND 吃肉 THEN 食肉动物
R6:IF 食肉动物 AND 黄褐色 AND 有黑条纹 THEN 老虎
当用户输入"有毛发、吃肉、黄褐色、有黑条纹",系统经 R1 推出"哺乳动物",经 R5 推出"食肉动物",再经 R6 识别出"老虎"。

特点评价

优优点

形式直观、符合人类因果思维;规则相互独立、模块化程度高,便于增删和解释推理过程;既可表示确定性知识,也可附加可信度表示不确定性知识。

劣局限

规则间关系隐含,规则库庞大时匹配代价高,效率下降;难以表达事物固有的结构与层次关系;知识获取仍依赖专家,存在获取瓶颈。

2.4

框架表示法

框架(Frame)表示法由明斯基(M. Minsky)于 1975 年提出。其心理学依据是:当人们遇到新事物时,总会从记忆中调用一个典型情境的结构化框架(如"走进一间教室"时头脑中已有的房间模式),再根据细节填充、修改。框架正是对这种"以原型理解新事物"认知方式的模拟。

框架的基本结构

一个框架由框架名和若干槽(Slot)组成,每个槽描述事物的一个属性;槽又可分为若干侧面(Facet),侧面存放值、默认值、取值约束或计算过程。

<框架名>
    槽名1:  侧面11: 值11
             侧面12: 值12
    槽名2:  槽值2
    ……
    约束条件: ……
◆ 实例:用框架描述"教师"与具体教师
框架名:<教师>
    姓名:  单位(姓,名)
    年龄:  单位(岁)
    性别:  范围(男,女)        默认:男
    职称:  范围(教授,副教授,讲师,助教)
    部门:  单位(系,学院)
    住址:  <教工宿舍框架>

框架名:<教师-1>
    姓名:  张三
    年龄:  32
    性别:  男
    职称:  讲师
    部门:  计算机学院
    住址:  <教工宿舍-302>

代码 2-1 框架结构示例(实例框架继承类框架的槽与默认值)

一组相关框架通过槽值中的框架名(如 <教工宿舍框架>)相互引用,构成框架网络,可以表达整体与部分、类与实例的层次结构。

框架系统的推理

框架系统的推理主要依靠两种机制:

  • 匹配:把观察到的事实与候选框架的槽值约束逐一比较,找到最吻合的框架;若无完全匹配的框架,则按差异线索选择另一个框架重新匹配。
  • 继承:子类(实例)框架自动共享父类(类属)框架的槽名、默认值与约束,这与面向对象程序设计中的继承思想一致,能有效减少冗余。

优优点

结构化程度高,善于表示典型情境和对象类别;槽的默认值与继承机制贴近人类常识推理;附加过程(if-needed、if-added 过程)能灵活处理缺省信息。

劣局限

不易表达过程性与因果性强的知识;框架间关系复杂时,匹配与一致性维护成本上升;不善于刻画跨类别的丰富语义关联。

2.5

语义网络表示法

语义网络(Semantic Network)由奎廉(Quillian)于 1968 年在研究人类联想记忆时提出。它用一张有向图表示知识:节点表示事物、概念、属性或状态,带标记的弧(边)表示节点间的语义联系。

基本形式 (节点 A)   ── 语义关系 ──▶   (节点 B)

常用的语义联系

联系含义示例
ISA / AKO"是一个",实例—类 / 子类—类燕子 ─ISA→ 鸟 ─AKO→ 动物
Part-of部分与整体轮子 ─Part-of→ 汽车
Have / Can拥有属性 / 具备能力鸟 ─Have→ 翅膀;鸟 ─Can→ 飞
Located位置关系书 ─Located→ 书桌
Before/After时间先后日出 ─Before→ 日落
◆ 实例:"小燕是一只燕子,燕子是鸟,鸟有翅膀"的语义网络
        ISA            AKO           Have
小燕 ─────▶ 燕子 ─────▶ 鸟 ────────▶ 翅膀
                          │
                        Can │
                          ▼
                          飞

通过 ISA 链可以回答"小燕是什么";沿 AKO 与 Have 链进行属性继承,可推出"小燕有翅膀、小燕会飞"。

语义网络不仅能表示事实,还能表示带变量的规则与情况、事件(如引入事件节点刻画"张三送给李四一本书"中的施事、受事与时间)。其推理方式主要有两种:匹配(把待证问题构造成网络片段,到知识库中寻找同构子图)与继承(沿 ISA/AKO 链获取祖先节点的属性)。

优优点

直观自然、联想性强,实体间关系一目了然;属性继承减少冗余;特别适合表示事物间的复杂关联和进行关系检索。

劣局限

语义联系没有统一标准,含义依赖约定;推理通过遍历网络完成,规模大时搜索代价高;缺乏严格逻辑体系,可能推出二义结论。

2.6

从语义网络到知识图谱

2012 年,谷歌正式提出知识图谱(Knowledge Graph),用于提升搜索引擎的理解能力——搜索"爱因斯坦"时,右侧直接呈现其生卒年、国籍、成就等结构化信息,背后正是知识图谱。可以说,知识图谱是语义网络思想在互联网规模数据上的工程化实现。

知识图谱的基本组成

知识图谱用三元组(头实体,关系,尾实体)描述世界:

知识三元组(SPO) (爱因斯坦, 提出, 相对论) · (爱因斯坦, 国籍, 美国/瑞士)
  • 实体(Entity):现实世界中的事物,如人、机构、地点,对应网络中的节点;
  • 关系(Relation):实体间的语义联系,对应带标签的边;
  • 属性(Attribute):实体的特征值,如出生日期、身高,可用(实体,属性名,属性值)表示;
  • 大量三元组构成一张巨大的有向网络,即知识图谱;可用 W3C 的 RDF(资源描述框架)或属性图(如 Neo4j)存储。

知识图谱的构建流程

知识建模(本体构建)

定义实体类型、关系类型与属性,确定 schema,相当于先画"世界的分类表"。

知识抽取

利用 NLP 技术从结构化数据库、半结构化网页、非结构化文本中自动抽取实体、关系与属性。

知识融合

进行实体对齐("鲁迅"与"周树人"指同一人)、实体消歧(区分"苹果"公司与水果)、属性合并。

知识加工与质量评估

通过本体推理、规则与表示学习发现隐含知识、补全缺失关系,并评估置信度。

知识更新与服务

持续增量更新,通过查询、问答、推理接口支撑搜索、推荐、风控等上层应用。

代表性的开放知识图谱包括 Wikidata、DBpedia、Freebase,以及中文的 CN-DBpedia、OpenKG 开放社区。在大模型时代,知识图谱与大语言模型的结合(GraphRAG、知识增强生成)正在成为缓解大模型"幻觉"问题的重要方向。

◆ 四种经典表示法对比一览
  • 谓词逻辑:精确严密,长于确定性推理;弱在效率与不确定性。
  • 产生式:规则独立、贴近经验,是专家系统的主力;弱在结构表达。
  • 框架:擅长描述典型对象与默认继承;弱在关系的丰富性。
  • 语义网络/知识图谱:擅长关联刻画与关系检索;弱在标准统一与大规模推理效率。
2.7

自测与思考

用一阶谓词逻辑表示:"每个人的父亲都是男人。"
先定义谓词 Father(y, x) 表示 y 是 x 的父亲,Man(y) 表示 y 是男人,则可写为:
∀x ∀y ( Father(y, x) → Man(y) )。也可使用函数 father(x) 写成 ∀x Man(father(x))。
产生式系统由哪三部分组成?"匹配—冲突消解—执行"循环的含义是什么?
由综合数据库、规则库、控制系统(推理机)组成。推理机先将规则前提与数据库事实匹配,触发所有可用规则;当多条规则同时满足时,按冲突消解策略(如专一性优先、新鲜事实优先等)选择一条;执行其结论部分并更新数据库,循环往复直到问题求解完成或无规则可用。
框架表示法中的"继承"和语义网络中的"继承"有何异同?
二者都让下层概念复用上层概念的信息:框架中子框架(实例)继承父框架的槽、默认值与约束;语义网络中实体沿 ISA/AKO 弧继承祖先节点的属性值。区别在于框架的继承发生在结构化的"类—槽"体系内,而语义网络的继承沿图中的语义边进行,路径更灵活但约束更松散。
知识图谱与传统语义网络的关系是什么?
知识图谱继承了语义网络"节点—边—节点"的表示思想,以三元组刻画实体与关系;区别在于它面向互联网规模,强调数据的结构化标准(RDF/OWL/属性图)、自动化构建(抽取、对齐、融合)、海量存储与工程化应用,是语义网络在大数据时代的复兴。