知识与知识表示
在人工智能中,知识是人们在改造客观世界的实践中积累起来的认识和经验。费根鲍姆(E. Feigenbaum,知识工程奠基人)指出,知识是经过加工的信息,它既包括事实、信念,也包括启发式规则。一个智能系统的能力强弱,首先取决于它拥有知识的数量与质量。
知识的特性与分类
知识具有四个基本特性:相对正确性(在一定条件与范围内成立)、不确定性(可能带置信度或模糊性)、可表示性(可用符号、图形等形式表达)和可利用性(可被存储、推理和反复使用)。
| 分类角度 | 类别 | 含义与示例 |
|---|---|---|
| 按作用范围 | 常识性知识 | 普遍适用、人人皆知的知识,如"鸟会飞""水往低处流"。 |
| 领域性知识 | 特定专业领域的知识,如医学诊断规则、力学公式。 | |
| 按作用及表示 | 事实性知识 | 描述事物的状态、属性,如"雪是白色的""张三是一名学生"。 |
| 过程性知识 | 描述做事的步骤、规则,如"若发烧且咳嗽,则考虑呼吸道感染"。 | |
| 按确定性 | 确定性知识 | 逻辑值明确(真/假),可精确推理,如"所有金属都导电"。 |
| 不确定性知识 | 含随机性、模糊性或不完全性,如"多云时很可能下雨"。 | |
| 按层次 | 表层知识(零级) | 经验性的"知其然",常以规则形式存在。 |
| 深层知识(一/二级) | 反映因果机理的"知其所以然",如领域模型、元知识。 |
知识表示就是为了描述世界所做的一组约定,是知识的符号化、形式化过程。它既要忠实于知识本身,又要便于计算机存储和运用。
知识表示方法的评价标准
- 充分表示能力:能将问题所需的各类知识正确、完整地表达出来;
- 易于推理:支持基于知识的高效推理,避免"表示了却用不起来";
- 易于维护:便于知识的增、删、改,保持一致性;
- 可理解性好:结构自然、含义清晰,符合人类阅读习惯;
- 可获取性强:便于从专家或数据中获取,能被机器自动学习。
没有一种表示法能在所有维度上最优。本章介绍的四种经典方法各有所长:谓词逻辑严密精确,产生式灵活直观,框架善于描述结构化对象,语义网络长于表达关联;而知识图谱则是语义网络在大数据时代的复兴与工程化。
一阶谓词逻辑表示法
一阶谓词逻辑(First-Order Predicate Logic)是最早用于人工智能、也是最严谨的知识表示方法。它以数理逻辑为基础,把知识表示为谓词公式,推理则等价于逻辑演绎。
谓词、个体与量词
一个谓词公式形如 P(x1, x2, …, xn),其中 P 是谓词名,刻画个体的性质或个体间的关系;括号内是个体(项),可以是常量、变量或函数。例如:
Man(ZhangSan):张三是人;Father(ZhangSan, ZhangSi):张三是张四的父亲;Greater(x, 5):变量 x 大于 5。
常用连接词包括:否定 ¬、合取(且)∧、析取(或)∨、蕴含 →、等价 ↔;量词包括全称量词 ∀(对所有个体)和存在量词 ∃(存在某个个体)。
“有的人喜欢数学” ⟹ ∃x ( Man(x) ∧ Likes(x, Math) )
设在一个房间里,机器人 Robot 在 A 处,盒子 Box 在 B 处,桌子 Table 在 C 处。可用谓词描述状态:AT(Robot, A)、AT(Box, B)、AT(Table, C)、EMPTY(Robot)(机械手为空)。
规则"机器人若空手且与物体同处一地,则可抓起该物体"可表示为:
谓词逻辑表示知识的一般步骤是:① 定义谓词及个体,确定每个谓词的含义;② 用连接词、量词把事实和规则写成谓词公式;③ 借助推理规则(第 3 章的归结反演)从已知公式推出新公式。
谓词逻辑表示法的特点
优点
具有严格的形式定义和自然性,接近自然语言;推理有完备的逻辑体系保证,结论精确可靠;知识与推理程序分离,易于模块化。
局限
只能表示确定性知识;对启发式、不确定性知识无能为力;推理过程随事实增多易发生组合爆炸,效率较低;不便表达过程性知识。
优点
具有严格的形式定义和自然性,接近自然语言;推理有完备的逻辑体系保证,结论精确可靠;知识与推理程序分离,易于模块化。
局限
只能表示确定性知识;对启发式、不确定性知识无能为力;推理过程随事实增多易发生组合爆炸,效率较低;不便表达过程性知识。
产生式表示法
产生式(Production)表示法由波斯特(Post)于 1943 年提出,因形式贴近人类"条件—结论"式的经验思维而被广泛使用,MYCIN 等著名专家系统都建立在产生式之上。
事实与规则的表示
产生式系统中,知识分为两类:
- 事实:表示静态知识,通常用三元组
(对象,属性,值)或(关系,对象1,对象2),如(动物,类别,鸟类)。 - 规则:表示过程性知识,基本形式为
P → Q或IF P THEN Q,其中 P 是前提(条件),Q 是结论或动作。不确定性规则还可附加可信度,如IF 发烧 AND 咳嗽 THEN 感冒 (CF=0.6)。
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 识别出"老虎"。
特点评价
优点
形式直观、符合人类因果思维;规则相互独立、模块化程度高,便于增删和解释推理过程;既可表示确定性知识,也可附加可信度表示不确定性知识。
局限
规则间关系隐含,规则库庞大时匹配代价高,效率下降;难以表达事物固有的结构与层次关系;知识获取仍依赖专家,存在获取瓶颈。
框架表示法
框架(Frame)表示法由明斯基(M. Minsky)于 1975 年提出。其心理学依据是:当人们遇到新事物时,总会从记忆中调用一个典型情境的结构化框架(如"走进一间教室"时头脑中已有的房间模式),再根据细节填充、修改。框架正是对这种"以原型理解新事物"认知方式的模拟。
框架的基本结构
一个框架由框架名和若干槽(Slot)组成,每个槽描述事物的一个属性;槽又可分为若干侧面(Facet),侧面存放值、默认值、取值约束或计算过程。
<框架名>
槽名1: 侧面11: 值11
侧面12: 值12
槽名2: 槽值2
……
约束条件: ……
框架名:<教师>
姓名: 单位(姓,名)
年龄: 单位(岁)
性别: 范围(男,女) 默认:男
职称: 范围(教授,副教授,讲师,助教)
部门: 单位(系,学院)
住址: <教工宿舍框架>
框架名:<教师-1>
姓名: 张三
年龄: 32
性别: 男
职称: 讲师
部门: 计算机学院
住址: <教工宿舍-302>
代码 2-1 框架结构示例(实例框架继承类框架的槽与默认值)
一组相关框架通过槽值中的框架名(如 <教工宿舍框架>)相互引用,构成框架网络,可以表达整体与部分、类与实例的层次结构。
框架系统的推理
框架系统的推理主要依靠两种机制:
- 匹配:把观察到的事实与候选框架的槽值约束逐一比较,找到最吻合的框架;若无完全匹配的框架,则按差异线索选择另一个框架重新匹配。
- 继承:子类(实例)框架自动共享父类(类属)框架的槽名、默认值与约束,这与面向对象程序设计中的继承思想一致,能有效减少冗余。
优点
结构化程度高,善于表示典型情境和对象类别;槽的默认值与继承机制贴近人类常识推理;附加过程(if-needed、if-added 过程)能灵活处理缺省信息。
局限
不易表达过程性与因果性强的知识;框架间关系复杂时,匹配与一致性维护成本上升;不善于刻画跨类别的丰富语义关联。
语义网络表示法
语义网络(Semantic Network)由奎廉(Quillian)于 1968 年在研究人类联想记忆时提出。它用一张有向图表示知识:节点表示事物、概念、属性或状态,带标记的弧(边)表示节点间的语义联系。
常用的语义联系
| 联系 | 含义 | 示例 |
|---|---|---|
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 链获取祖先节点的属性)。
优点
直观自然、联想性强,实体间关系一目了然;属性继承减少冗余;特别适合表示事物间的复杂关联和进行关系检索。
局限
语义联系没有统一标准,含义依赖约定;推理通过遍历网络完成,规模大时搜索代价高;缺乏严格逻辑体系,可能推出二义结论。
从语义网络到知识图谱
2012 年,谷歌正式提出知识图谱(Knowledge Graph),用于提升搜索引擎的理解能力——搜索"爱因斯坦"时,右侧直接呈现其生卒年、国籍、成就等结构化信息,背后正是知识图谱。可以说,知识图谱是语义网络思想在互联网规模数据上的工程化实现。
知识图谱的基本组成
知识图谱用三元组(头实体,关系,尾实体)描述世界:
- 实体(Entity):现实世界中的事物,如人、机构、地点,对应网络中的节点;
- 关系(Relation):实体间的语义联系,对应带标签的边;
- 属性(Attribute):实体的特征值,如出生日期、身高,可用(实体,属性名,属性值)表示;
- 大量三元组构成一张巨大的有向网络,即知识图谱;可用 W3C 的 RDF(资源描述框架)或属性图(如 Neo4j)存储。
知识图谱的构建流程
知识建模(本体构建)
定义实体类型、关系类型与属性,确定 schema,相当于先画"世界的分类表"。
知识抽取
利用 NLP 技术从结构化数据库、半结构化网页、非结构化文本中自动抽取实体、关系与属性。
知识融合
进行实体对齐("鲁迅"与"周树人"指同一人)、实体消歧(区分"苹果"公司与水果)、属性合并。
知识加工与质量评估
通过本体推理、规则与表示学习发现隐含知识、补全缺失关系,并评估置信度。
知识更新与服务
持续增量更新,通过查询、问答、推理接口支撑搜索、推荐、风控等上层应用。
代表性的开放知识图谱包括 Wikidata、DBpedia、Freebase,以及中文的 CN-DBpedia、OpenKG 开放社区。在大模型时代,知识图谱与大语言模型的结合(GraphRAG、知识增强生成)正在成为缓解大模型"幻觉"问题的重要方向。
- 谓词逻辑:精确严密,长于确定性推理;弱在效率与不确定性。
- 产生式:规则独立、贴近经验,是专家系统的主力;弱在结构表达。
- 框架:擅长描述典型对象与默认继承;弱在关系的丰富性。
- 语义网络/知识图谱:擅长关联刻画与关系检索;弱在标准统一与大规模推理效率。
自测与思考
用一阶谓词逻辑表示:"每个人的父亲都是男人。"
Father(y, x) 表示 y 是 x 的父亲,Man(y) 表示 y 是男人,则可写为:∀x ∀y ( Father(y, x) → Man(y) )。也可使用函数 father(x) 写成 ∀x Man(father(x))。