2. 实体解析基础回顾

2.1 实体解析定义

实体解析(Entity Resolution, ER)是指从一条或多条数据源中识别出指向同一真实世界实体的记录,并将这些记录合并或链接起来的过程。在数据质量领域,ER 是消除重复、构建单一客户视图、实现主数据管理(MDM)的核心技术。

核心目标:给定两条记录,判断它们是否描述同一实体(人、组织、产品等),并输出合并后的干净记录。

ER 在不同场景下有不同的别名:

领域 常用术语 典型场景
数据库 记录链接(Record Linkage) 跨表去重、数据清洗
数据仓库 实体合并(Entity Consolidation) 构建 ODS、EDW 事实表
知识图谱 实体对齐(Entity Alignment) 多源知识融合
客户管理 客户数据集成(CDI) 360° 客户视图

2.2 核心流程:分块 → 匹配 → 合并

标准 ER 流程包含三个核心阶段,每个阶段解决一个关键问题:

  1. 分块(Blocking):将数据集划分为较小的候选块,避免全量两两比较(O(n²) 不可行)。
  2. 匹配(Matching):在块内对记录对进行相似度计算,判定是否指向同一实体。
  3. 合并(Merging):将判定为同一实体的记录合并为一条干净记录,并保留溯源信息。
实体解析核心流程(分块 → 匹配 → 合并) 分块 Blocking 减少比较对数量 匹配 Matching 相似度计算与判定 合并 Merging 生成干净实体 关键原则 分块降低计算复杂度 → 匹配保证准确率 → 合并确保数据完整性

2.3 分块策略详解

分块是 ER 性能的基石。常见分块方法包括:

方法 原理 适用场景 优缺点
标准分块 基于一个或多个关键字段(如姓氏首字母、邮编)哈希分桶 字段质量高、分布均匀 简单高效;对缺失值敏感
滑动窗口 按排序键排序后,在固定窗口内两两比较 数值型或可排序字段 窗口大小难调;漏匹配风险
基于令牌的分块 将记录拆分为令牌(如 n-gram),共享令牌的记录进入同一块 文本型字段、拼写变体多 召回率高;块可能过大
元组分块 使用多个分块键,记录只要满足任一键即进入候选集 多源异构数据 覆盖全面;计算开销大
实践建议:在回放对比评估中,分块策略的选择直接影响后续匹配的候选对数量。建议在评估报告中记录分块键、块大小分布、以及分块后的候选对压缩率。

2.4 匹配算法概述

匹配阶段的核心是计算记录对的相似度,并基于阈值或分类模型判定是否匹配。常用算法分为三类:

2.4.1 基于规则的匹配

  • 精确匹配:字段值完全一致(如身份证号、税号)。
  • 模糊匹配:使用编辑距离(Levenshtein)、Jaro-Winkler、Jaccard 系数等计算字符串相似度。
  • 加权规则:为不同字段分配权重,加权求和后与阈值比较。

2.4.2 基于概率的匹配

  • Fellegi-Sunter 模型:经典概率框架,计算匹配/非匹配的似然比。
  • EM 算法:在无标签数据上估计匹配参数。

2.4.3 基于机器学习的匹配

  • 监督学习:使用标注数据训练分类器(逻辑回归、随机森林、XGBoost)。
  • 深度学习:使用 Siamese 网络、BERT 等模型进行语义匹配。
  • 主动学习:在标注预算有限时,迭代选择最有价值的样本进行标注。
匹配算法分类 匹配算法 基于规则 基于概率 基于机器学习 精确匹配 模糊匹配 Fellegi-Sunter EM 算法 监督学习 深度学习

2.5 合并策略

合并阶段需要解决两个核心问题:

  1. 冲突解决:当多条记录的同一字段值不同时,如何选择最终值(如多数投票、最新时间戳、可信源优先)。
  2. 溯源保留:合并后的实体需要保留原始记录 ID、来源系统、合并时间等元数据,以便回放审计。
常见陷阱:合并时若未正确处理传递闭包(A≈B 且 B≈C 但 A≠C),可能导致实体分裂或过度合并。在回放对比评估中,应记录合并前后的实体数量变化以及冲突解决规则。

2.6 算法选择对比

维度 基于规则 基于概率 基于机器学习
数据需求 无需标注数据 少量标注或先验 大量标注数据
可解释性 高(规则透明) 中(参数可解释) 低(黑盒模型)
泛化能力 弱(需人工调参) 中(依赖分布假设) 强(可迁移学习)
计算开销 低 中 高(需 GPU)
典型场景 小规模、高确定性 中等规模、统计稳定 大规模、复杂语义