Back to blog

同一个候选人的五份简历,系统到底该不该自动合并?

同一个候选人的五份简历,系统到底该不该自动合并?

同一个候选人可能从官网、招聘网站、内推和猎头渠道进入人才库,留下不同邮箱、不同手机号和不同版本的简历。自动去重可以减少重复联系和数据污染,但错误合并的代价更大:两个人的经历、联系方式和面试记录一旦串在一起,后续搜索、匹配、沟通和个人信息权利处理都会出错。

候选人去重不是找两个字符串有多像,而是在不完整、会变化、可能冲突的证据下判断两条记录是否指向同一个自然人。可靠系统必须允许“不确定”,并把自动合并与人工复核的边界公开出来。

确定性规则只能解决最容易的部分

完全相同的经过验证邮箱或手机号,是很强的匹配证据,但也不是永远正确。家庭共用号码、公司公共邮箱、号码回收、录入错误和测试数据都会制造例外。姓名更弱:同名普遍存在,英文名、曾用名、拼音顺序和错别字又会让同一个人看起来不同。

规则系统通常很快变成一串条件:邮箱相同则合并;否则姓名和生日相同;否则姓名相似、学校相同且工作时间重叠。规则越多,覆盖越高,但冲突、优先级和维护难度也同步增加。更关键的是,二元规则难以表达证据强弱。

Splink 对确定性与概率记录链接的说明展示了这一差别:概率方法综合多个字段在“同一人”和“不同人”条件下出现的可能性,为每一对记录产生匹配权重或概率,而不是只给真或假。

先阻塞,再比较,避免全库两两计算

一百万条候选人记录如果全部两两比较,会产生近五千亿个记录对。实体消歧的第一步通常是 blocking:用一个或多个宽松条件只生成可能匹配的候选对。

阻塞条件可以包括标准化邮箱、手机号后若干位、姓名拼音首字母加毕业年份、姓名加城市等。多个规则取并集,以减少单一字段缺失造成的漏召回。

阻塞不是最终判断。它的目标是高召回地缩小计算范围,因此要单独评估“真实重复记录有多少进入候选对”。阻塞过严会让后续模型永远看不到正确配对,过松则增加成本和误合并风险。

候选人实体消歧要把阻塞、字段比较、概率评分和处置分开
候选人实体消歧要把阻塞、字段比较、概率评分和处置分开

每个字段提供的证据并不等价

Fellegi–Sunter 模型的核心思想,是比较某个观察在匹配记录和非匹配记录中出现的概率。两个罕见邮箱完全相同比两个常见姓氏相同提供更强证据;两个名字不同可能是反对证据,也可能只是别名或 OCR 错误。

字段比较应结合:

  • 完全一致、规范化一致或相似度区间;
  • 字段缺失,不把缺失机械视为不一致;
  • 取值频率,罕见值通常更有区分力;
  • 字段可靠性,已验证邮箱与简历 OCR 文本权重不同;
  • 时间变化,地址和公司会变化,生日相对稳定;
  • 来源关系,同一渠道的重复提交与跨渠道导入先验不同。

还要防止相关证据被重复计算。姓名中文、拼音和英文转写来自同一原始字段,不能假设完全独立后把权重相乘,否则一个姓名会被算成三份证据。

一对一分数不等于正确聚类

去重最终通常要给同一个人分配统一 ID。即使每对记录的分数合理,聚类仍可能发生“链式污染”:A 与 B 高度相似,B 与 C 高度相似,但 A 与 C 明显冲突;如果只按边阈值取连通分量,三者可能被合成一人。

Splink 的图模型指南也提醒,匹配阈值会直接改变最终簇。生产系统应增加簇级约束,例如同一簇中不能出现两个同时有效且不同的强验证邮箱,关键人口属性不能互相矛盾,簇规模异常增长时暂停自动合并。

合并还应可逆。统一候选人 ID 可以指向多条原始来源记录,而不是物理删除和覆盖。任何字段都要保留来源、时间和选择规则;拆分时能够恢复原记录。

阈值要对应三种动作,而不是一个开关

实体消歧应使用自动合并、人工复核和保持分离三段阈值
实体消歧应使用自动合并、人工复核和保持分离三段阈值

与其设一个阈值决定合并,不如设置两个边界:

  • 高阈值以上:证据充分且无强冲突,允许自动建立关联;
  • 中间区域:进入人工复核;
  • 低阈值以下:保持分离。

高阈值应根据错误代价设置。错误合并会泄露或串联个人数据,通常比保留少量重复记录严重,因此自动合并区应追求高 Precision;人工区再提高 Recall。

复核界面不能只显示总概率。应展示字段级证据、罕见度、原始来源、时间线和冲突项,让复核者知道为什么系统怀疑相同。人工结果也要记录原因,用于更新比较规则和困难样本集。

评估必须同时看配对和聚类

配对层可以报告 Precision、Recall、F1 和不同阈值下的曲线。由于真实非匹配对数量巨大,普通准确率几乎没有意义:系统把所有记录都判为不同人,也可能获得接近 100% 的 accuracy。

聚类层还要测:错误合并的簇数量、被拆散的真实实体、簇纯度、异常大簇、拆分和回滚次数。评测集应覆盖同名、双胞胎、夫妻共用联系方式、姓名变更、多语言姓名、号码回收、猎头改写简历和 OCR 错误。

黄金集不能只从系统认为相似的记录中抽样,否则看不到阻塞漏失。应混合已知重复、人工发现案例、随机记录对和主动构造的困难负例。

隐私与权限不能等到合并后处理

实体消歧本身就在扩大数据关联:原本分散在不同渠道的信息被连接到一个人。应明确处理目的、访问角色和保存期限,并限制模型使用不必要的敏感字段。

更正或删除请求需要传播到所有来源记录、统一实体、搜索索引和派生特征。只删除主档却保留被链接的旧简历,既会让数据重新出现,也无法证明请求已经落实。

上线检查清单

  1. 阻塞召回是否在独立黄金集上测量?
  2. 字段比较是否考虑频率、来源可靠性、缺失和时间变化?
  3. 是否识别重复证据,避免把同一字段多算几次?
  4. 自动合并、人工复核和保持分离是否使用不同区间?
  5. 聚类是否有冲突和异常规模保护?
  6. 合并是否保留全部原始记录并可逆?
  7. 复核者能否看到字段级证据,而非只有一个概率?
  8. 更正和删除是否传播到所有关联与派生数据?

候选人去重的目标不是让人才库看起来更整洁,而是在减少重复的同时不把两个人变成一个人。把证据、概率、聚类、人工边界和可逆性设计完整,系统才有资格自动建立身份关联。

资料来源

Back to blogRequest a trial