锚定建模(Anchor Modeling)中实体解析的合规处理问询
锚定建模中重复实体的处理方案
锚定建模核心原则是仅插入、仅删除明确错误数据,针对源系统流入的重复实体(如重复的John Smith),可通过以下合规且可落地的方式处理:
1. 模型内新增实体解析关联结构
在现有锚定模型中扩展专门用于实体映射的结构,完全遵循仅插入原则:
- 新增
EntityResolution锚,记录每一次解析任务的唯一标识 - 新增
EntityMatch属性集,关联重复的实体锚ID、匹配置信度、解析时间、规则版本等信息 - 新增
EntityCanonical属性集,标记某一实体为该组重复实体的规范版本
操作逻辑:
- 发现重复时,仅插入关联记录,不修改原有实体数据
- 对外提供数据时,通过关联查询返回规范实体及其所有关联数据
- 后续解析规则更新或发现误匹配,只需插入新的关联记录,保留完整的历史解析轨迹
2. 前置解析+模型内补全校验
针对前置解析可能遗漏的问题,做分层处理:
- 前置ETL阶段完成初步实体解析,过滤大部分明显重复数据
- 在锚定模型的加载逻辑中嵌入轻量校验规则,比如对姓名+手机号/邮箱等组合字段做重复检测
- 发现疑似重复时,插入
SuspectedDuplicate标记属性到对应实体的属性集,后续由人工或自动化任务完成解析并插入关联记录
这种方式既减少了模型内的重复量,又通过模型内的标记机制保留了修正空间,不违反仅插入原则。
3. 基于视图的对外封装
如果不想修改模型结构,可通过只读视图实现对外的去重效果:
- 在视图中根据解析规则(如匹配置信度最高的实体为规范版本),将重复实体的属性和关联关系聚合到规范实体下
- 对外提供数据时直接暴露视图,底层模型依然保留所有原始插入数据
- 后续解析规则更新只需修改视图逻辑,无需改动模型数据
关键注意事项
- 禁止直接删除或修改已插入的实体数据,除非能明确判定为错误数据(如源系统测试数据、格式错误数据)
- 绝对不要在模型层做硬合并,这会破坏锚定建模的时间轨迹和可追溯性,所有关联关系都应通过插入新记录来表达
内容的提问来源于stack exchange,提问作者Pickle
相关产品推荐
相关产品推荐

