第16章 关系匹配
16.1 关系匹配的提出背景
在认知过程中,对象本身并不能完整描述一个现实场景。一个对象通常会与其他对象发生联系,例如“人—拿着—杯子”“汽车—停在—车位”“员工—属于—公司”“手—抓住—鸡蛋”。
因此,当认知系统完成对象识别以后,还必须进一步判断对象之间的关系。
例如,系统已经识别出两个对象:
对象A:人
对象B:杯子
仅仅知道存在“人”和“杯子”,还不能确定当前场景。还需要进一步判断:
人 → 拿着 → 杯子
与
人 → 看着 → 杯子
虽然两个关系都连接“人”和“杯子”,但它们代表完全不同的认知结构。
因此,关系匹配可以定义为:
关系匹配(Relation Matching)是认知系统对两个或多个认知结构中的对象关系进行识别、比较、对应和判断的过程。
关系匹配的核心不是单独比较对象,而是比较:
对象 → 关系 → 对象
以及更高层次的:
类 → 关系 → 类
对象 → 空间关系 → 对象
对象 → 行为关系 → 对象
对象集合 → 场景关系 → 对象集合
由此形成完整的关系认知。
16.2 关系的基本结构
一个基本关系可以表示为:
R = (O₁, T, O₂)
其中:
- R:关系实例;
- O₁:关系起点对象;
- T:关系类型;
- O₂:关系终点对象。
例如:
人 → 持有 → 手机
可以表示为:
R₁ = (Person, Hold, Phone)
关系不仅具有类型,还具有方向。
例如:
人 → 拥有 → 汽车
与:
汽车 → 属于 → 人
在现实意义上存在对应关系,但它们的关系方向不同。
因此,关系匹配至少需要考虑:
关系对象 + 关系类型 + 关系方向 + 关系属性
进一步可以表示为:
RM = Match(O₁, T, O₂)
当两个关系满足规定的匹配条件时:
RM = 1
否则:
RM = 0
如果系统允许部分匹配,则可以使用离散等级表示:
RM ∈ {0, 1, 2, 3}
其中:
- 0:关系不匹配;
- 1:弱关系匹配;
- 2:关系基本匹配;
- 3:关系完全匹配。
16.3 对象关系匹配
16.3.1 对象关系的定义
对象关系是具体对象实例之间形成的关系。
例如:
张三 → 持有 → 手机A
这里:
“张三”是具体对象实例;
“手机A”也是具体对象实例;
“持有”是两个对象之间的关系。
因此:
对象关系 = 对象实例 + 关系类型 + 对象实例
对象关系具有很强的具体性。
例如:
人A → 推动 → 箱子B
和:
人C → 推动 → 箱子D
虽然参与关系的对象不同,但关系结构可能相同。
因此,对象关系匹配需要区分两个层次:
对象实例是否相同
以及:
对象之间的关系结构是否相同
16.3.2 对象实例关系匹配
对象实例关系匹配首先判断关系两端的具体对象。
例如:
关系A:
人A → 抓取 → 鸡蛋A
关系B:
人A → 抓取 → 鸡蛋A
两个关系的起点对象、关系类型和终点对象全部一致,因此属于完全匹配。
而:
人A → 抓取 → 鸡蛋A
与:
人B → 抓取 → 鸡蛋B
对象实例不同,但关系结构相同。
因此不能简单认为“不匹配”,而应该进一步进入结构关系匹配。
16.3.3 对象关系结构匹配
对象关系可以抽象为:
对象A → 关系R → 对象B
当两个关系中的具体对象不同,但对象类别、关系类型和关系方向一致时,可以形成结构匹配。
例如:
人A → 推动 → 箱子A
人B → 推动 → 箱子B
可以得到:
人 → 推动 → 箱子
因此,对象关系匹配具有两个重要结果:
实例匹配
→ 两个关系由相同对象实例构成。
结构匹配
→ 两个关系由不同对象实例构成,但关系结构一致。
16.4 类关系匹配
16.4.1 类关系的定义
类关系是对象类别之间形成的关系。
例如:
人 → 操作 → 设备
员工 → 属于 → 公司
汽车 → 行驶于 → 道路
类关系不是针对某一个具体对象,而是描述一类对象之间可能存在的关系。
因此:
类关系 = 类 + 关系类型 + 类
例如:
Person → Operate → Device
表示“人类对象可以操作设备类对象”。
16.4.2 类关系与对象关系的区别
对象关系:
张三 → 操作 → 机器A
类关系:
人 → 操作 → 机器
前者描述具体事实,后者描述结构规则。
因此认知系统可以建立:
对象关系 → 类关系
例如:
张三 → 操作 → 机器A
经过对象类别识别:
张三 → 人
机器A → 机器
最终形成:
人 → 操作 → 机器
这使系统能够从具体对象关系中建立关系结构。
16.4.3 类关系匹配过程
类关系匹配可以表示为:
对象识别 → 类识别 → 关系识别 → 类关系建立 → 类关系匹配
例如:
场景A:
人A → 拿取 → 杯子A
场景B:
人B → 拿取 → 杯子B
经过类转换:
人 → 拿取 → 杯子
两个场景最终得到相同的类关系结构。
因此:
类关系A = 类关系B
可以判定两个关系具有结构一致性。
16.5 空间关系匹配
16.5.1 空间关系的定义
空间关系描述对象之间的位置、方向、距离和空间包含关系。
常见空间关系包括:
左 → 右
上 → 下
前 → 后
内 → 外
近 → 远
包含 → 被包含
相邻 → 相隔
例如:
汽车A → 位于 → 车位A
杯子A → 位于 → 桌面A
这些关系不仅说明对象存在,还说明对象在空间中的位置结构。
16.5.2 空间关系匹配
空间关系匹配需要比较:
- 空间关系类型;
- 关系方向;
- 关系参与对象;
- 空间层级;
- 空间状态。
例如:
场景A:
杯子 → 在 → 桌子上
场景B:
手机 → 在 → 桌子上
虽然对象不同,但是空间结构相同:
对象 → 位于 → 支撑面
因此可以形成空间关系结构匹配。
16.5.3 空间方向匹配
空间关系具有明显的方向性。
例如:
A → 左侧 → B
与:
B → 左侧 → A
不能直接认为相同。
它们之间存在反向关系:
左侧 ↔ 右侧
因此关系匹配系统需要保存关系方向。
可以表示为:
R(A,B) ≠ R(B,A)
对于具有反向关系的类型,则可以建立:
Left(A,B) → Right(B,A)
这样,系统不仅能够判断“是否相同”,还能够判断“是否为反向对应”。
16.6 行为关系匹配
16.6.1 行为关系的定义
行为关系描述对象在行为过程中产生的作用关系。
例如:
人 → 推动 → 箱子
手 → 抓取 → 鸡蛋
汽车 → 撞击 → 障碍物
员工 → 操作 → 设备
行为关系具有明显的动态性质。
它不仅包含:
谁
对谁
还包含:
做什么
因此:
行为关系 = 行为主体 + 行为 + 行为对象
16.6.2 行为关系的结构
一个行为关系可以表示为:
B = (Actor, Action, Target)
其中:
- Actor:行为主体;
- Action:行为类型;
- Target:行为对象。
例如:
人 → 抓取 → 鸡蛋
可以表示为:
B₁ = (Person, Grasp, Egg)
另一个行为:
人 → 推动 → 箱子
则:
B₂ = (Person, Push, Box)
虽然两个行为都有“人”作为主体,但行为类型和对象不同,因此不能直接匹配。
16.6.3 行为关系结构匹配
如果:
人A → 抓取 → 鸡蛋A
与:
人B → 抓取 → 鸡蛋B
进行匹配,可以忽略具体实例,保留行为结构:
人 → 抓取 → 鸡蛋
于是:
B₁ ≈ B₂
这里的匹配不是对象实例相同,而是行为关系结构相同。
这对于认知系统具有重要意义。
系统可以通过这种匹配发现:
不同对象 → 相同行为结构
从而形成行为经验。
16.7 场景关系匹配
16.7.1 场景关系的定义
单个关系只能描述局部结构,而场景关系描述多个对象、多个关系共同构成的整体结构。
例如:
人A → 坐在 → 椅子A
桌子A → 位于 → 人A前方
杯子A → 位于 → 桌子A上
三个关系共同形成一个场景关系结构:
人 → 椅子
桌子 → 人
杯子 → 桌子
因此,场景关系实际上是多个关系共同构成的关系网络。
可以表示为:
Scene = {O, R, S}
其中:
- O:场景对象集合;
- R:对象关系集合;
- S:场景状态集合。
16.7.2 场景关系网络
一个场景可以形成:
对象A → 关系1 → 对象B
对象B → 关系2 → 对象C
对象C → 关系3 → 对象D
从而形成:
A → R₁ → B → R₂ → C → R₃ → D
这种结构不是单一关系,而是关系链。
如果另一个场景存在:
X → R₁ → Y → R₂ → Z → R₃ → W
那么即使:
A ≠ X
B ≠ Y
C ≠ Z
D ≠ W
只要关系结构一致,就可能形成场景关系匹配。
16.8 场景关系整体匹配
场景关系匹配需要同时比较多个层次:
对象匹配
→
对象关系匹配
→
关系类型匹配
→
关系方向匹配
→
关系网络匹配
→
场景结构匹配
因此:
场景关系匹配 ≠ 单个关系匹配
而是:
多个对象 + 多个关系 + 多个关系方向 + 整体结构
之间的综合匹配。
例如两个场景:
场景A:
人A → 拿取 → 杯子A
杯子A → 位于 → 桌子A
场景B:
人B → 拿取 → 手机B
手机B → 位于 → 桌子B
虽然对象不同,但可以抽象为:
人 → 拿取 → 物体
物体 → 位于 → 桌子
因此两个场景具有相同的关系结构。
16.9 关系匹配条件
关系匹配不能只依赖关系名称,而需要建立明确条件。
设两个关系:
R₁ = (O₁, T₁, O₂)
R₂ = (O₃, T₂, O₄)
则关系匹配条件可以定义为:
M(R₁,R₂) = M_O × M_T × M_D × M_S
其中:
- M_O:对象关系匹配;
- M_T:关系类型匹配;
- M_D:关系方向匹配;
- M_S:关系结构匹配。
当所有必要条件满足:
M(R₁,R₂) = 1
表示关系完全匹配。
如果只满足部分条件,则可以产生部分匹配结果。
16.10 关系匹配的层次
关系匹配可以形成五级结构:
第一层:对象实例关系匹配
具体对象 → 关系 → 具体对象
判断两个具体关系是否一致。
第二层:对象类别关系匹配
对象类 → 关系 → 对象类
判断两个关系的类别结构是否一致。
第三层:空间关系匹配
对象 → 空间关系 → 对象
判断对象的空间位置和空间结构是否一致。
第四层:行为关系匹配
行为主体 → 行为 → 行为对象
判断行为结构是否一致。
第五层:场景关系匹配
对象集合 → 关系集合 → 场景结构
判断多个关系共同构成的场景结构是否一致。
由此形成:
对象关系 → 类关系 → 空间关系 → 行为关系 → 场景关系
这是关系认知从局部到整体的扩展过程。
16.11 关系匹配的认知过程
关系匹配可以形成完整认知流程:
对象识别
↓
对象属性识别
↓
关系识别
↓
关系类型确定
↓
关系方向确定
↓
关系参与对象确定
↓
对象关系匹配
↓
类关系匹配
↓
空间关系匹配
↓
行为关系匹配
↓
场景关系匹配
↓
形成关系认知结果
因此,关系匹配并不是一个孤立函数,而是连接对象认知与场景认知的重要过程。
16.12 关系匹配结果
关系匹配最终产生的不是单纯的“是”或“否”,而可以形成结构化认知结果。
例如:
匹配对象:人A / 人B
关系类型:抓取
关系对象:鸡蛋A / 鸡蛋B
关系方向:一致
行为结构:一致
场景结构:部分一致
最终结果:
关系结构匹配
这种结果可以继续进入后续认知过程:
关系匹配 → 结构判断 → 场景判断 → 状态判断 → 目标判断 → 决策
因此,关系匹配是后续认知的重要输入。
16.13 关系匹配的工程表示
在认知工程中,可以将关系定义为独立的数据对象。
例如:
Relation
├── relationId
├── relationType
├── sourceObject
├── targetObject
├── direction
├── attributes
└── state
对象关系可以进一步形成:
ObjectRelation
类关系形成:
ClassRelation
空间关系形成:
SpatialRelation
行为关系形成:
BehaviorRelation
场景关系形成:
SceneRelation
这些对象最终进入:
RelationMatcher
由关系匹配器完成:
Relation → Compare → Match → Result
形成:
关系读取 → 关系解析 → 关系比较 → 关系匹配 → 匹配结果
16.14 关系匹配与认知网络
对象本身可以构成对象集合,而关系使对象集合形成认知网络。
没有关系:
A B C D
只有对象集合。
加入关系:
A → R₁ → B
B → R₂ → C
C → R₃ → D
就形成:
A → B → C → D
关系因此成为认知网络中的连接结构。
进一步:
对象 + 属性 + 关系 + 状态
形成:
认知结构
多个认知结构再通过关系匹配进行比较:
认知结构A → 关系匹配 → 认知结构B
由此可以发现两个结构之间的对应关系。
16.15 关系匹配的核心意义
关系匹配解决的是“对象之间如何对应”的问题。
对象匹配回答:
“这是什么?”
属性匹配回答:
“它具有什么特征?”
关系匹配回答:
“它与其他对象之间是什么关系?”
场景匹配进一步回答:
“这些对象和关系共同构成了什么结构?”
因此可以形成:
对象 → 属性 → 关系 → 场景
而关系匹配位于其中的核心连接位置。
如果没有关系匹配,认知系统只能获得孤立对象。
有了关系匹配,孤立对象才能形成:
对象结构
→
关系结构
→
场景结构
→
认知结构
因此,关系匹配是从“对象认知”进入“结构认知”的重要机制。
16.16 本章总结
关系匹配是认知匹配体系中连接对象、行为、空间和场景的重要组成部分。它不只是比较两个关系名称是否相同,而是对关系参与对象、关系类型、关系方向以及关系结构进行系统比较。
本章建立了五类主要关系匹配:
对象关系匹配
解决具体对象实例之间的关系对应问题。
类关系匹配
解决对象类别之间的关系结构对应问题。
空间关系匹配
解决对象之间空间位置、方向和包含结构的对应问题。
行为关系匹配
解决行为主体、行为类型和行为对象之间的结构对应问题。
场景关系匹配
解决多个对象关系共同构成的整体场景结构之间的对应问题。
最终形成:
对象识别 → 关系识别 → 关系结构建立 → 对象关系匹配 → 类关系匹配 → 空间关系匹配 → 行为关系匹配 → 场景关系匹配 → 关系认知
由此,关系不再只是对象之间的简单连接,而成为认知系统描述和比较现实结构的基本元素。