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

第39章 Matching

第39章 Matching

第39章建立在第38章 Cognition 之上。

第38章解决的是:

信息经过感知以后,ICAI 如何形成认知对象。

第39章解决的是:

两个或多个认知元素、对象、属性、关系和条件之间,如何判断是否匹配,以及匹配程度是多少。

在 ICAI 中,Matching 是认知、记忆、推理和决策之间的重要基础机制。


39.1 Matching 定义

Matching(匹配)是 ICAI 对两个信息单元之间的相同性、相似性、关联性、条件符合程度或状态一致性进行计算和判断的过程。

基本结构:

Input A
   ↓
Matching
   ↑
Input B
   ↓
Match Result

例如:

用户输入:
深圳到香港搬家

已有对象:
深圳 → 香港 → 搬家

系统可以进行:

深圳      → 深圳      = 匹配
香港      → 香港      = 匹配
搬家      → 搬家      = 匹配

形成:

Match = TRUE

如果只有:

深圳 → 香港 → 家具运输

则:

深圳 = 深圳       匹配
香港 = 香港       匹配
搬家 ≠ 家具运输   不完全匹配

于是产生:

Partial Match

所以 Matching 不只有:

TRUE / FALSE

还可以存在:

Exact
Strong
Partial
Weak
None
Conflict
Unknown

39.2 Element Matching

Element Matching 是最基础的匹配层。

元素可以是:

人
物
地点
时间
行为
状态
属性
关系
数字
文字
事实

例如:

A = 深圳

B = 深圳

结果:

Exact Match

如果:

A = 电动牙刷

B = 牙刷

则可以根据系统定义判断:

Partial Match

元素匹配可以使用:

类型
标识
名称
值
单位
上下文

形成:

ElementMatch
{
    source,
    target,
    type,
    value,
    score,
    state
}

核心不是“像不像”,而是:

两个元素是否满足系统定义的匹配关系。


39.3 Object Matching

Object Matching 是对两个完整对象进行匹配。

例如:

Object A

ElectricToothbrush
├── type = product
├── power = rechargeable
├── function = cleaning

与:

Object B

ElectricToothbrush
├── type = product
├── power = rechargeable
├── function = cleaning

可以得到:

Object Match = 1.0

如果:

Object A
ElectricToothbrush

Object B
WaterFlosser

则:

Object Match = low

对象匹配可以由多个元素组成:

ObjectMatch
=
ElementMatch
+
PropertyMatch
+
RelationMatch
+
StateMatch

因此:

对象不是一个字符串。

对象是一个结构。

ICAI 匹配的实际上是对象结构。


39.4 Property Matching

Property Matching 是属性之间的匹配。

例如:

Object A

power = rechargeable

与:

Object B

power = rechargeable

结果:

Property Match = Exact

如果:

A:
power = rechargeable

B:
power = battery

则:

Property Match = Conflict

如果属性是数值:

A:
price = 100

B:
price = 105

则可以根据允许误差计算:

difference = |100 - 105| = 5

再根据规则判断:

difference <= tolerance

是否成立。

所以属性匹配可以处理:

字符串
数字
布尔值
日期
范围
单位
枚举
状态值

39.5 Relation Matching

Relation Matching 用于判断两个对象之间的关系是否一致。

例如:

深圳
   ↓
到
   ↓
香港

另一个结构:

深圳
   ↓
到
   ↓
香港

则:

Relation Match = Exact

如果:

深圳
   ↓
到
   ↓
香港

与:

深圳
   ↓
到
   ↓
广州

则:

Source Match = 1
Relation Match = 1
Target Match = 0

最终只能得到:

Partial Match

关系匹配至少包含:

Source
Relation
Target

即:

A → R → B

匹配:

A1 → R1 → B1

需要判断:

A = A1
R = R1
B = B1

39.6 State Matching

State Matching 判断对象当前状态是否匹配。

例如:

订单 A
state = paid

与:

订单 B
state = paid

结果:

State Match = Exact

如果:

A = paid
B = unpaid

则:

State Match = Conflict

状态可以包括:

new
active
inactive
available
unavailable
paid
unpaid
completed
pending
failed
unknown

状态匹配对于 ICAI 非常重要,因为:

同一个对象
+
不同状态
=
不同认知结果

例如:

库存

在:

available

和:

out_of_stock

状态下,对后续决策完全不同。


39.7 Time Matching

Time Matching 用于判断时间条件之间是否匹配。

时间可以表示为:

时间点
时间段
日期
周期
顺序
持续时间

例如:

A = 2026-09-12
B = 2026-09-12

结果:

Exact Match

时间段:

A = 09:00 - 12:00
B = 10:00 - 11:00

则:

A contains B

属于时间范围匹配。

还可以判断:

before
after
equal
overlap
contains
within

例如:

事件 A:09:00
事件 B:10:00

得到:

A before B

因此时间匹配不仅是:

时间 = 时间

还包括时间关系。


39.8 Location Matching

Location Matching 用于判断空间位置是否匹配。

例如:

A = 深圳
B = 深圳

得到:

Exact Match

也可以处理层级关系:

中国
 └── 广东省
      └── 深圳市
           └── 南山区

例如:

A = 深圳
B = 广东省

不是 Exact Match,而可能是:

A within B

或者:

B contains A

位置匹配可以包含:

国家
省
市
区
街道
地点
坐标
范围

因此:

Location Matching
=
Identity
+
Hierarchy
+
Distance
+
Containment

具体采用哪一种,需要由 ICAI 的匹配规则决定。


39.9 条件匹配

条件匹配是多个匹配结果组合后的判断。

例如一个任务要求:

Object = Product
State = Available
Location = USA
Time = Current

系统需要同时判断:

Object Match
AND
State Match
AND
Location Match
AND
Time Match

可以表示:

ConditionMatch =
ObjectMatch
×
StateMatch
×
LocationMatch
×
TimeMatch

也可以使用规则:

IF
object_match = true
AND state_match = true
AND location_match = true
THEN
condition = satisfied

因此条件匹配是从:

单项匹配

进入:

组合匹配

的重要一步。


39.10 权重计算

当多个匹配因素同时存在时,需要计算不同因素的重要程度。

例如:

Element      Weight
Object       0.30
Property     0.20
Relation     0.20
State        0.15
Time         0.10
Location     0.05

总权重:

0.30 + 0.20 + 0.20 + 0.15 + 0.10 + 0.05
= 1.00

假设实际匹配结果:

Object      = 1.00
Property    = 0.80
Relation    = 1.00
State       = 0.50
Time        = 1.00
Location    = 1.00

则:

Score =
1.00 × 0.30
+
0.80 × 0.20
+
1.00 × 0.20
+
0.50 × 0.15
+
1.00 × 0.10
+
1.00 × 0.05

得到:

Score = 0.915

即:

91.5%

这里的权重不是神经网络训练出来的参数,而是 ICAI 自身定义、配置或通过经验更新的离散计算参数

可以定义:

MatchScore =
Σ(MatchValue × Weight)

其中:

MatchValue ∈ [0,1]
Weight ∈ [0,1]

并满足:

Σ Weight = 1

39.11 匹配结果

Matching 最终应该产生结构化结果,而不是直接生成自然语言。

例如:

MatchResult
{
    source,
    target,
    element_score,
    object_score,
    property_score,
    relation_score,
    state_score,
    time_score,
    location_score,
    condition_score,
    total_score,
    state
}

结果状态可以定义为:

EXACT

完全匹配。

STRONG

高度匹配。

PARTIAL

部分匹配。

WEAK

弱匹配。

NONE

没有匹配。

CONFLICT

存在冲突。

UNKNOWN

信息不足,无法判断。

最终流程:

                Matching
                   │
       ┌───────────┼───────────┐
       ↓           ↓           ↓
    Element      Object      Property
       ↓           ↓           ↓
    Relation      State       Time
       ↓           ↓           ↓
             Location
                  ↓
              Condition
                  ↓
             Weighting
                  ↓
             MatchScore
                  ↓
             MatchResult

第39章核心结构

因此,ICAI 的 Matching 可以定义成:

Matching
│
├── Element Matching
├── Object Matching
├── Property Matching
├── Relation Matching
├── State Matching
├── Time Matching
├── Location Matching
├── Condition Matching
├── Weight Calculation
└── Match Result

核心计算模型:

输入对象 A
      +
输入对象 B
      ↓
元素匹配
      ↓
对象匹配
      ↓
属性匹配
      ↓
关系匹配
      ↓
状态匹配
      ↓
时间匹配
      ↓
位置匹配
      ↓
条件匹配
      ↓
权重计算
      ↓
MatchScore
      ↓
匹配结果

这样,第39章就形成了从 Cognition → Matching 的基础机制。

而下一层自然可以进入:

第40章 Understanding

即:

Cognition
   ↓
Matching
   ↓
Understanding

Matching 负责判断“是否对应、对应多少、哪里一致、哪里冲突”;Understanding 再负责根据这些匹配结果形成真正的结构化理解。

Leave a Reply

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