模糊列表匹配器

将CRM导出数据与发票客户电子表格进行比对,或匹配两个不同ERP系统中的供应商名称时,几乎总会因细微差异而出错,例如“Acme Corp.”、“ACME Corporation”或“acme corp.”。粘贴两份列表并设置相似度阈值,该工具便会为列表A中的每个条目推荐列表B中最匹配的选项,并将低于阈值的项标记出来供人工审核。

如何匹配两个杂乱的列表

  1. 1

    粘贴列表 A

    每行记录一条信息,包括客户姓名、产品代码和街道地址。

  2. 2

    粘贴列表 B

    候选列表。大小写、间距和拼写错误的差异均可接受。

  3. 3

    设置阈值

    相似度百分比超过该值即视为匹配(70%为合理的默认值)。

  4. 4

    阅读报告

    每个A项均与最佳B候选项及置信度评分配对;低于阈值的项目将被标记以供审查。

相似性如何衡量

该工具采用PHP的similar_text(最长公共子序列得分)算法,并以百分比形式呈现结果。数值越高越好;完全匹配为100%。

阈值 行为
≥ 95% 几乎完全相同,仅存在大小写或空格差异
80–94% 错字、标点符号缺失、词尾截断
60–79% 词序变化、缩写形式与完整形式的差异
< 60% 很可能并非真实匹配项,需人工审核

小贴士

  • 如果您熟悉常见的格式错误,请先进行标准化处理:使用小写字母、去除标点符号、压缩空白字符,这样评分会更理想。
  • 若“公司类型后缀”(“Inc”、“Ltd”、“GmbH”)只在其中一份列表中不一致地出现,而在另一份列表中不存在,请将其删除。
  • 拆分长地址:分别匹配“街道”和“城市”比直接匹配整行内容更为有效。
  • 注意一对多匹配情况。 该工具会为每个A条目选择最佳的B匹配项;但不会阻止同一B与多个A行同时匹配。

何时使用更严格的算法

在大规模数据去重任务中,Levenshtein距离或Jaro-Winkler距离算法的表现优于similar_text算法,尤其在字符位置至关重要的名称识别场景下。若模糊匹配涉及计费或数据合并操作,在大规模应用前需对20组随机样本进行抽查验证。

常见问题

70%的阈值能捕获大多数合法匹配项,同时标记出真实的误判结果。若列表B数据纯净且无法容忍假阳性结果,则可将阈值调至85%;若两个列表均存在噪声且需手动逐一审核,则可放宽至55%。

是的,但首先需要进行标准化处理,去除空格、连字符和国家代码前缀,并将电子邮件地址转换为小写形式。对原始数据进行模糊匹配时,结构完全相同的条目会得到较低的匹配分数。

该工具在内部比较前会将两侧内容均转换为小写形式,因此“Apple”和“apple”均获得100%的评分。

会,匹配在服务器端进行,因此你的两份列表会被发送到本工具进行比对。它们仅在这一次请求期间于内存中处理,之后不会被存储或记录。

相关工具

此工具还提供其他语言版本