1. 题目与适用场景
这道题考察数据工程师处理实体解析(entity resolution)或记录链接(record linkage)的能力。公开面试题要求从多个来源合并带噪声的人员记录,并关注标准化、冲突处理、数据质量以及精确率和召回率。题目适用于数据平台、主数据管理和客户数据整合岗位。
2. 面试官考察点
- 能否先定义“同一个人”的业务规则,再选择匹配信号。
- 能否用候选生成降低全量两两比较的成本,并说明漏掉候选的风险。
- 能否用自动合并、人工复核和拒绝匹配三个区间控制误合并。
- 能否保留来源、证据和版本,让主记录可以回溯、纠正和重放。
- 能否用标注集分别衡量 precision 与 recall,而不是只报一个准确率。
3. 回答前需要澄清的问题
- 哪些字段具备稳定标识?邮箱和电话是否已验证,姓名是否允许同音或不同语言写法?
- 误合并和漏合并哪个代价更高?结果用于营销、付款、合规还是客户支持?
- 需要一次性回填历史,还是每天增量接入?源系统是否提供更新时间和删除事件?
- 冲突时谁拥有更高可信度?是否必须展示每个字段的原始值和来源?
4. 30 秒回答框架
我会先定义匹配对象、错误代价和可审计输出。接着按字段做确定性标准化,用邮箱、电话或复合键生成候选块,避免全量两两比较。对候选计算带正负证据的匹配分数,设自动合并、人工复核和不匹配三个阈值。合并后用来源优先级、验证状态和新鲜度生成主记录,同时保留所有源值。最后用人工标注集测 precision、recall 和复核量,并监控增量漂移和误合并。
5. 分步骤深入解答
第一步:定义记录与规范化
为每条源记录保留 source、source_id、到达时间和原始字段。姓名统一 Unicode、大小写、空白和标点;邮箱去除首尾空白并按业务规则处理大小写;电话转换为统一国家码格式。规范化结果要可重放,不能覆盖原始值。不同字段的缺失应表示为未知,不能把空字符串当成相同证据。
第二步:候选生成与匹配评分
为规范化邮箱、电话或姓名加邮编建立索引,并使用多个 blocking pass 覆盖不同缺失模式。候选生成后再比较编辑距离、共享字段、验证状态和负证据;例如两个已验证的不同电话应降低分数。仅在同一候选块内评分,可将全量 O(n²) 比较降为接近候选数的成本,但必须抽样检查 blocking 漏召回。
第三步:阈值与安全合并
把分数划成自动合并、人工复核和拒绝匹配三段。阈值应从带标签的正负样本和错误代价中确定,而不是凭感觉。自动合并记录匹配规则和分数;复核任务展示冲突字段及证据;拒绝结果保留原因,防止下次又重复计算。使用并查集或连通分量时,要阻止一串低置信度边把多个不同的人串成一人。
第四步:主记录、增量与监控
主记录按已验证来源、业务优先级和更新时间选择字段,并保留每个字段的 provenance、旧值和生效时间。新记录只与相关块比较,规则或源数据变更时支持重跑。定期抽样人工复核,按源、语言、地区和时间窗口监控 precision、recall、复核率及组件大小,发现误合并上升就冻结自动发布并回溯受影响主键。
6. 高质量示范回答
我会先把每条记录设计为“原始值加规范化值”,并记录来源、源主键、验证状态和事件时间。姓名、邮箱、电话按可解释规则标准化,再用邮箱、电话和姓名加地区的多路 blocking 生成候选。候选之间计算共享字段、编辑距离、验证状态和冲突惩罚,分成自动合并、人工复核和不匹配三个区间。阈值用人工标注集和业务错误代价校准。
合并时我不会只保留一行。主记录的每个字段都记录选取的来源、规则版本、生效时间和被舍弃的值;强证据形成的连通分量才能合并,弱边只能进入复核。离线评估同时报告 precision、recall、F1、复核率和误合并样本,增量运行则监控各来源和时间窗口的漂移。这样既能扩展到新源,也能在发现误合并时定位规则、拆分实体并重放结果。
7. 常见错误
- 直接用姓名相等判断身份,忽略同名、转写、别名和共享联系方式。
- 对所有记录做两两比较,未说明候选生成和漏召回监控。
- 把模糊分数当成事实,缺少人工复核区间和冲突惩罚。
- 只输出一行主记录,丢失源值、规则版本和可追溯证据。
- 只看 accuracy;在类别不平衡时没有分别报告 precision、recall 和错误代价。
- 用一条弱匹配边连接大型连通分量,造成不可逆的过度合并。
8. 追问及应对
追问一:为什么不直接训练一个分类器?
有足够标注数据时可以学习匹配分数,但仍需可解释特征、阈值校准、人工复核和版本化回溯。规则、模型和人工决策都应输出证据,便于处理新来源和合规申诉。
追问二:precision 和 recall 如何取舍?
把误合并与漏合并的业务损失写成可比较的成本,再用验证集观察阈值曲线。付款或合规场景通常先保护 precision,客户去重可能接受更高 recall,但都要保留人工复核带和抽样审计。
追问三:如何发现过度合并?
监控连通分量大小、低分边比例、跨来源冲突和人工拆分率;对异常大组件抽样展开证据图。发现问题后暂停自动合并,按规则版本拆分受影响实体并重放增量结果。