首页 理论 架构 工程 文档 白皮书 著作 研究 案例 下载 博客 关于 开始使用 →

第16章 关系匹配

第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 空间关系匹配

空间关系匹配需要比较:

  1. 空间关系类型;
  2. 关系方向;
  3. 关系参与对象;
  4. 空间层级;
  5. 空间状态。

例如:

场景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 本章总结

关系匹配是认知匹配体系中连接对象、行为、空间和场景的重要组成部分。它不只是比较两个关系名称是否相同,而是对关系参与对象、关系类型、关系方向以及关系结构进行系统比较。

本章建立了五类主要关系匹配:

对象关系匹配

解决具体对象实例之间的关系对应问题。

类关系匹配

解决对象类别之间的关系结构对应问题。

空间关系匹配

解决对象之间空间位置、方向和包含结构的对应问题。

行为关系匹配

解决行为主体、行为类型和行为对象之间的结构对应问题。

场景关系匹配

解决多个对象关系共同构成的整体场景结构之间的对应问题。

最终形成:

对象识别 → 关系识别 → 关系结构建立 → 对象关系匹配 → 类关系匹配 → 空间关系匹配 → 行为关系匹配 → 场景关系匹配 → 关系认知

由此,关系不再只是对象之间的简单连接,而成为认知系统描述和比较现实结构的基本元素。

Leave a Reply

Your email address will not be published. Required fields are marked *