Skip to content

SCP 规范:Raw Data → Canonical Attribute 映射规范

SCP Raw Data Canonicalization Specification (CN)

版本:v1.0 状态:Production-Level Technical Specification 语言:中文


一、文档目标

本规范定义:

如何将任意原始数据(Raw Data) 确定性地映射为 SCP Canonical Attribute。

目标要求:

  • 完全确定性(Deterministic)
  • 可重现(Reproducible)
  • 可扩展至 100M+ Attribute
  • 支持语义升级机制
  • 支持版本治理

二、整体流程

Raw Data → Canonical Attribute 的完整流程如下:

  1. 数据接入(Data Ingestion)
  2. 字段提取(Field Extraction)
  3. 字段规范化(Normalization)
  4. Domain 判定(Domain Routing)
  5. 规则匹配(Rule-based Mapping)
  6. 语义相似度匹配(Embedding Matching)
  7. Canonical Attribute ID 确定
  8. 类型与单位标准化
  9. CanonicalRecord 构建
  10. Commitment 生成

三、数据接入(Data Ingestion)

输入数据类型包括:

  • JSON
  • CSV
  • 表单数据
  • 日志数据
  • 设备数据

所有数据必须在 Vault 本地处理。 禁止将原始数据发送至外部服务。


四、字段提取(Field Extraction)

从原始数据中提取:

  • 字段名
  • 字段值
  • 字段类型(初步推断)

示例:


五、字段规范化(Normalization)

必须执行:

  1. UTF-8 编码
  2. 转为小写
  3. snake_case 统一
  4. 去除多余空格
  5. 单位表达标准化

例如:

"Grand Total" → "grand_total"


六、Domain 判定(Domain Routing)

使用分层机制:

L1 -- Source Mapping L2 -- Schema Core Signature L3 -- AC 关键词匹配 L4 -- 字段共现模式 L5 -- Tie-break Embedding

输出:

(domain_id, confidence)


七、规则匹配(Rule-based Mapping)

优先使用规则匹配:

  • 精确字段匹配
  • 别名匹配
  • 核心字段子集匹配

例如:

grand_total → receipt_total_amount

若匹配成功: 直接获得 attribute_id


八、语义相似度匹配(Embedding Matching)

当规则无法匹配时进入此步骤。

步骤:

  1. 构造 Semantic Object
  2. 生成固定版本 embedding
  3. 在 Domain 内 ANN 搜索候选
  4. 计算整数余弦相似度
  5. 计算综合相似度 S_total_v2

S_total_v2 公式:

S_total_v2 = w1S_name + w2S_type + w3S_value + w4S_embedding

阈值:

≥ 0.92 → 合并已有 attribute 0.8~0.92 → 拒绝升级 < 0.8 → 创建 LOCAL attribute


九、Canonical Attribute ID 确定

如果匹配成功:

attribute_id = existing_attribute_id

否则:

创建 ext_<domain>_<name>


十、类型与单位标准化

必须统一:

  • 时间 → Unix timestamp (UTC)
  • 金额 → 统一 base_unit
  • 枚举 → 编码化
  • 数值 → 固定精度

十一、CanonicalRecord 构建

结构示例:

{ "schema_version": "1.0", "domain_id": "...", "attributes": [ {"attribute_id": 1001, "value": 52.47} ] }

属性必须按 attribute_id 升序排序。


十二、Commitment 生成

必须生成:

commitment = SHA256(deterministic_serialized_bytes)

用于:

  • 防篡改
  • 可验证性
  • 共识层校验

十三、安全与治理

要求:

  • 所有规则版本化
  • Embedding 模型版本固定
  • 语义参数写入 semantic_version
  • 禁止在线模型依赖

十四、复杂度分析

规则匹配:O(field_count) 共现规则:O(rule_count) Embedding:仅冲突时触发

支持:

100M+ Attribute 千万级 Domain


十五、总结

本规范定义了一套:

  • 确定性
  • 可扩展
  • 可治理
  • 可升级

的 Raw Data → Canonical Attribute 映射体系。

Embedding 仅用于语义补充, 规则系统负责主判定。


文档结束