知识表示

Views: --

对应 PPT:第2讲 后续所有抽取/融合/推理都依赖”知识怎么写”。期末必考,必背。


1. 知识表示概述

知识表示 = 知识的符号化和形式化过程,是用机器表示知识的可行性、有效性方法。 把人类知识编码成计算机能存储、能处理、能推理的符号集合。

发展脉络

时间流派关键贡献
1934产生式(Post)因果规则
1937一阶谓词逻辑(Frege/Russell)形式化推理
1966语义网络(Quillian)联想记忆模型
1970s框架(Minsky)结构化对象
1980s描述逻辑本体推理
1998RDF(W3C)语义网数据模型
2004OWL本体语言
2000s+属性图工业图数据库
2013+表示学习(TransE)向量化

2. 一阶谓词逻辑(FOPL)

三元素

  • 个体词:具体/抽象个体或变量(姚明、上海、x、y、z)
  • 谓词:刻画个体性质/关系(“是学生”、“出生于”、“大于”)
  • 量词:全称量词 ∀(任意)+ 存在量词 ∃(存在)

表示举例

出生于(姚明, 上海)            — 二元谓词
身高(姚明, 2.26)              — 属性谓词
中国人(x) = 出生于(x, 中国)    — 一元谓词定义

谓词的元数 = 连接几个个体。一元 = 性质,多元 = 关系。

优缺点

优点缺点
严密性:演绎推理结果正确无法表示不确定性(没有概率)
自然性:接近自然语言缺乏组织原则,知识库管理困难
通用性:通用演算和推理规则组合爆炸,规模一大就慢

期末最爱问:“为什么有了谓词逻辑还要语义网络/产生式?“答:谓词逻辑表达能力最强但组织性差,不适合大规模知识库。


3. 语义网络(Semantic Network)

起源

  • 1966 年 Quillian 研究人类联想记忆提出;
  • 心理学模型 → AI 知识表示方法。

结构

  • 有向图:节点 = 概念,边 = 概念间语义关系
  • 边类型:is-a、part-of、has、agent、location…

表示举例

"鸟" ISA 动物;"鸟" HAS 翅膀;"鸟" CAN 飞
"鸵鸟" ISA 鸟  →  鸵鸟 CAN 飞  ✗ 错的(鸵鸟不会飞)

优缺点

优点缺点
联想性:符合人类联想记忆非严格性:无公认公理
易用性:直观处理效率低:图结构检索慢
结构性:组织复杂语义无法表示量化、复杂逻辑

期末考点:语义网络 ≈ 图形式的 FOPL 子集,和一阶谓词逻辑转换容易。


4. 产生式系统(Production System)

起源

  • 1934 年 E. Post 提出;心理学家认为人脑对知识的存储就是产生式;
  • 规则序列形式描述问题求解的思维模式。

两种基本结构

① 事实(Fact)

  • 确定性事实 = 三元组 (对象, 属性, 值) 或 (对象1, 关系, 对象2)
    • 例:乔布斯的性别 = 男
  • 不确定性事实 = 四元组 (对象, 属性, 值, 置信度)
    • 例:手机特性是防水的可能性 = 0.9

② 规则(Rule)

  • 确定性规则:P → Q
    • x 是 y 的老师 → y 是 x 的学生
    • x 出生于 z ∧ y 出生于 z → x 和 y 是同乡
  • 不确定性规则:P → Q (置信度)
    • x 导演电影 y ∧ x 的国籍是英国 → 电影 y 的语言是英语 (0.8)

系统结构(3 部件)

┌──────────┐    ┌──────────┐    ┌──────────┐
│  数据库   │ ←→ │  推理机   │ ←→ │  规则库   │
│ (事实)    │    │ (控制)    │    │ (规则)    │
└──────────┘    └──────────┘    └──────────┘
  • 数据库:初始事实、中间结果、最终结论
  • 规则库:所有相关规则
  • 推理机
    1. 按策略选规则与数据库匹配
    2. 匹配多条时冲突消解
    3. 执行规则后件

两种推理方向

方向别名思路适用
正向推理数据驱动、前向链事实 → 规则 → 结论已知事实,求所有可能结论
反向推理目标驱动、反向链目标 ← 规则 ← 事实已知目标,验证可行性

正向推理例子(动物识别:目标 = “A 是猎豹?”):

规则库:
  R1: 有毛发 → 哺乳动物
  R2: 吃肉 → 食肉动物
  R3: 哺乳动物 ∧ 食肉动物 ∧ 黄褐色 ∧ 暗斑点 → 猎豹

数据库:
  A 有毛发 ✓ → 触发 R1 → 数据库新增"哺乳动物"
  A 吃肉 ✓ → 触发 R2 → 数据库新增"食肉动物"
  A 黄褐色 ✓,A 暗斑点 ✓ → 触发 R3 → "A 是猎豹"

优缺点

优点缺点
自然性:符合 IF-THEN 思维效率低(规则多时匹配慢)
模块性:规则独立,易增删不适合结构化知识
不确定性:可加置信度难以维护规则间一致性
可解释性强规则冲突难消解

重点:产生式 = 专家系统的”灵魂”;专家系统 = 知识库 + 推理机 + 综合数据库。


5. 框架(Frame)

起源

  • 1975 年 Minsky 在论文 “A Framework for Representing Knowledge” 中提出;
  • 灵感来自视觉感知:人看到新场景时用”框架”去匹配。

结构

框架 = 带**槽位(slot)和侧面(facet)**的数据结构:

框架名: 鸟类
  ISA: 动物
  槽1: 翅膀
      值: 有
      继承: 默认
  槽2: 飞行能力
      值: 能
      继承: 默认
  槽3: 体色
      值: 默认(灰)

关键机制

  • 继承:子框架继承父框架的槽值
  • 鸵鸟继承”鸟”的”翅膀=有”,但可重定义”飞行能力=不能”——解决语义网络的”鸵鸟会飞”问题
  • 匹配:新场景和框架匹配,填槽
  • 侧面:每槽多个侧面(值类型、默认值、继承规则)

优缺点

优点缺点
结构性:知识组织成结构化单元缺乏形式化语义
继承性:支持默认值和例外难以处理动态变化
自然性:符合人类认知不适合过程性知识

对比记忆:语义网络 = 平面的图;框架 = 带结构的”对象模板”。


6. 描述逻辑(Description Logic,DL)

定位

  • 一阶谓词逻辑的可判定子集(为本体推理设计)
  • 1980s 提出,是 OWL、Protégé 的逻辑基础
  • 解决 FOPL 不可判定 + 语义网络无严格语义的中间路线

核心构件

构件含义例子
概念(Concept) = 类对象的集合人物学生
角色(Role) = 属性/关系二元关系有孩子教授课程
个体(Individual)具体实例姚明知识图谱课
构造算子构造复杂概念合取 ⊓、析取 ⊔、非 ¬、存在 ∃、全称 ∀

表示示例

自然语言DL 形式
”人”Person
”有孩子的男人”Man ⊓ ∃hasChild.Person
”有至少 3 个孩子的人”Person ⊓ ≥3 hasChild
”母亲”Woman ⊓ ∃hasChild.Person

TBox vs ABox(期末高频

  • TBox(Terminology Box)模式层——定义概念和角色
    • Mother ≡ Woman ⊓ ∃hasChild.Person
  • ABox(Assertion Box)实例层——具体个体的断言
    • Mother(Alice)hasChild(Alice, Bob)

TBox = 类定义,ABox = 类实例化。和”概念层 vs 实例层”完美对应。

推理任务(DL 核心价值)

任务含义例子
概念可满足(Satisfiability)概念能否有实例”既是 Man 又是 Woman”不可满足
概念包含(Subsumption)A 是否包含 BMother ⊑ Woman
实例检测(Instance Checking)个体是否属于概念Mother(Alice) 是否成立
一致性(Consistency)ABox 是否矛盾Alice 既是 Man 又是 Woman 矛盾

优缺点

优点缺点
可判定性:算法保证终止表达力弱于 FOPL
形式化语义难处理不确定性
支持自动推理实现复杂
OWL 标准化

7. 本体(Ontology)

定义

  • 起源于哲学(“存在的本质”)
  • AI 视角:本体是特殊类型的术语集,具有结构化特点,更适合计算机处理
  • 作用:把领域知识用共享的、形式化的、明确的概念集描述出来

本体的构成(5 元组)

本体 O = (C, R, I, A, X)
  C = 概念集(Class)
  R = 关系集(Relation)
  I = 实例集(Instance)
  A = 属性集(Attribute)
  X = 公理集(Axiom)

关系类型

关系含义例子
part-of部分与整体翅膀 part-of 鸟
kind-of / subClassOf继承鸟 kind-of 动物
instance-of实例与类姚明 instance-of 体育人物
attribute-of属性年龄 attribute-of 人

本体 vs 知识图谱

维度本体知识图谱
概念层 / 模式层概念层 + 实例层(包含本体)
内容类、关系、属性、公理大量实例三元组
规模通用本体数千概念,领域更少实例可达数十亿
推理描述逻辑推理本体推理 + 图结构推理 + 表示学习

本体是 KG 的”骨架”,KG 是本体的”血肉”。KG = 本体(schema)+ 实例(data)。


8. RDF(Resource Description Framework)

定位

  • W3C 推荐标准
  • KG 的最基本数据模型
  • 三元组 (Subject, Predicate, Object) 描述资源

三个组成

  • 资源(Resource):用 URI 标识任何事物
    • 例:http://www.w3.org/People/Berners-Lee/card#i
  • 属性(Property):资源的特征或关系
  • 陈述/语句(Statement):一个三元组 = 一个事实

数据模型

  • 本质是有向标记图
  • 节点 = Subject 或 Object(URI 资源 + literal + blank node)
  • 边 = Predicate(有方向)

表示方式

方式例子
三元组(ex:Beijing, ex:locatedIn, ex:China)
RDF/XML<rdf:Description rdf:about="ex:Beijing"><ex:locatedIn rdf:resource="ex:China"/></rdf:Description>
Turtleex:Beijing ex:locatedIn ex:China .
N-Triple<ex:Beijing> <ex:locatedIn> <ex:China> .

命名空间(Namespace)

@prefix ex: <http://example.org/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
  • rdf::RDF 核心词汇
  • rdfs::RDF Schema(类、属性、子类、子属性)
  • owl::Web 本体语言
  • xsd::XML Schema 数据类型

RDF Schema(RDFS)核心词汇

词汇含义例子
rdfs:Class声明一个类ex:Person rdf:type rdfs:Class
rdf:type声明实例属于类ex:姚明 rdf:type ex:人物
rdfs:subClassOf子类ex:体育人物 rdfs:subClassOf ex:人物
rdfs:subPropertyOf子属性ex:身高 rdfs:subPropertyOf ex:属性
rdfs:domain属性定义域ex:身高 rdfs:domain ex:人物
rdfs:range属性值域ex:身高 rdfs:range xsd:decimal
rdfs:label标签ex:姚明 rdfs:label "姚明"@zh
rdfs:comment注释ex:姚明 rdfs:comment "中国篮球运动员"@zh

RDF 局限性 → 引出 OWL

RDF/RDFS 表达不了:

  • 类的不相交(DisjointWith)
  • 属性的特征(传递、对称、函数性)
  • 基数约束(最小/最大)
  • 枚举类

OWL 解决。


9. OWL(Web Ontology Language)

定位

  • W3C 推荐标准
  • 在 RDF 之上,基于描述逻辑
  • 弥补 RDF 表达能力不足

OWL 子语言(期末必背 4 层次

子语言描述逻辑基础表达能力可判定性适用
OWL LiteSHIF(D)最弱最高简单分类
OWL DLSHOIN(D)完整 DL 推理
OWL Full不受限 RDF最强不可判定极端灵活
OWL 2SROIQ(D)可判定现代标准

OWL 三大子语言递进关系:OWL Lite ⊂ OWL DL ⊂ OWL Full(表达力递增,可判定性递减)。

OWL 核心构造

# 类的等价与不等价
ex:母亲 owl:equivalentClass ex:女性 ⊓ ∃ex:有孩子.owl:Thing
ex:男人 owl:disjointWith ex:女人

# 属性特征
ex:有配偶 rdf:type owl:SymmetricProperty    # 对称
ex:祖先 rdf:type owl:TransitiveProperty      # 传递
ex:身高 rdf:type owl:FunctionalProperty      # 函数性
ex:父母 rdf:type owl:InverseOf ex:孩子       # 互逆

# 基数约束
ex: ⊓ ≥2 ex:有孩子                        # 至少 2 个孩子
ex: ⊓ ≤1 ex:有配偶                        # 至多 1 个配偶

# 枚举类
ex:性别 owl:oneOf (ex: ex:)

OWL 推理机

  • HermiTPelletFaCT++
  • 自动做:概念分类(subsumption)、一致性检查、实例分类、属性推理

10. 属性图(Property Graph)

定位

  • 和 RDF 并列的另一套 KG 数据模型
  • 图数据库(Neo4j、JanusGraph、OrientDB)的标准模型
  • 工业界更常用

三要素

  • 节点(Node):实体,有类型标签 + 属性键值对
  • 边(Relationship):定向、有类型 + 属性键值对
  • 属性(Property):键值对,节点和边都可以有

示例

// 节点
(姚明:Person {姓名:"姚明", 身高:2.26, 出生年份:1980})
(上海:City {名称:"上海"})

// 边
(姚明)-[:出生于 {时间:1980}]->(上海)

属性图 vs RDF(期末必考对比

维度属性图RDF
边/点是否有属性✅ 原生支持❌ 无(要属性必须加一个中间节点)
标准化无 W3C 标准(de facto Neo4j)W3C 标准
推理支持弱(无内置描述逻辑)强(OWL)
工业落地主流(Neo4j 用户多)学术 / 政府 / 出版业多
查询语言Cypher(Neo4j)SPARQL(W3C)
数据规模千亿级(JanusGraph)万亿级(专用三元组库)
Schema 灵活性灵活,不强制OWL 严格,RDF 自由

一句话:RDF 偏学术标准化,属性图偏工程实用。两者可互转。

RDF 的”中间节点表示属性”

<姚明> <身高> _:b1 .          ← blank node
_:b1 <数值> "2.26" .
_:b1 <单位> "米" .

属性图直接:

(姚明 {身高: "2.26 米"})

期末常考:RDF 增加信息就要增加节点,是它最显著的缺陷之一。


11. 知识表示学习(KRL)— 概念引入

为什么需要

传统表示痛点:

  • 稀疏性:one-hot,百万实体 = 百万维
  • 语义鸿沟:符号相似 ≠ 语义相似
  • 难以融入 DL:符号不能直接喂给神经网络

目标

  • 实体/关系表示成稠密低维实值向量
  • 向量之间有语义距离(cosine 距离近 = 语义相似)
  • 可直接用于神经网络下游任务

经典代表:TransE(2013)

  • 核心假设:h + r ≈ t(头实体 + 关系 ≈ 尾实体)
  • 例:Vec(姚明) + Vec(出生于) ≈ Vec(上海)
  • 损失函数:让正样本距离小、负样本距离大

详细在第 11 讲展开,先留印象:把 KG 嵌成向量空间,让推理变成向量运算


12. 各表示方法对比总结(期末必背大表

表示方法形式优点缺点适用
一阶谓词逻辑符号 + 量词严密、自然、通用无不确定性、组织性差、组合爆炸形式化推理、小规模
语义网络有向图直观、联想、结构化非严格、效率低、无法量化早期 AI、NLU
产生式IF-THEN 规则自然、模块化、可解释、不确定性效率低、难维护专家系统、规则引擎
框架槽-侧面结构继承、默认值、结构化缺乏形式化语义视觉、对象识别
描述逻辑DL 语法可判定、形式化、OWL 基础表达力受限本体推理
本体5 元组共享、明确、形式化构建成本高领域知识建模
RDF三元组标准化、灵活、可融合无属性、表达弱语义网、数据交换
OWLDL + RDF强表达、可推理复杂、性能差复杂本体建模
属性图节点+边+属性工业实用、查询高效无 W3C 标准、推理弱图数据库应用
表示学习向量可融 DL、语义平滑不可解释、需训练DL+KG 融合

13. 本章脑图

知识表示
├── 发展时间线
│   ├── 1934 产生式 → 1937 FOPL → 1966 语义网 → 1975 框架
│   ├── 1980s 描述逻辑 → 1998 RDF → 2004 OWL
│   ├── 2000s+ 属性图 → 2013+ 表示学习

├── 传统表示(5 种)
│   ├── 一阶谓词逻辑 FOPL
│   ├── 语义网络
│   ├── 产生式(IF-THEN 规则)
│   ├── 框架(槽+侧面+继承)
│   └── 描述逻辑(FOPL 可判定子集)

├── 本体
│   └── 5 元组(C,R,I,A,X)

├── 标准化表示(3 套)
│   ├── RDF(三元组+命名空间+RDFS)
│   ├── OWL(Lite/DL/Full)
│   └── 属性图(Neo4j/Cypher)

└── 表示学习
    └── 把 KG 嵌成向量;h+r≈t