第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 再负责根据这些匹配结果形成真正的结构化理解。