gpt4 book ai didi

algorithm - 根据姓名、DoB、地址等匹配人员

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:08:19 25 4
gpt4 key购买 nike

我有两个格式不同的数据库。每个数据库都包含姓名、出生日期和地址等个人数据。它们都相当大,一个约为 50,000 个条目,另一个约为 150 万个。

我的问题是比较条目并找到可能的匹配项。理想情况下,生成某种表示数据匹配程度的百分比。我考虑过涉及生成多个索引或基于 Levenshtein 距离进行搜索的解决方案,但这些似乎都不是最优的。索引很容易错过接近的匹配项,而 Levenshtein 距离对于这种数据量来说似乎太昂贵了。

最佳答案

让我们试着把一些想法放在一起。一般情况太宽泛,这些只是指南/提示/其他。

通常您需要的不是真/假匹配关系,而是每个候选匹配项的得分。那是因为您永远无法完全确定候选人是否真的匹配。

分数是一对多的关系。您应该准备好根据主数据库的几条记录对小型数据库的每条记录进行排名。

每种比赛都应该分配一个权重和一个分数,加起来就是那对的总分。

您应该尝试比较尽可能小的片段以检测部分匹配。不要比较 [address],而是尝试比较 [city] [state] [street] [number] [apt]。

有些领域需要特殊对待,但这个问题对于这个答案来说太宽泛了。只是一些提示。名称和前缀中的中间首字母可以增加一些分数,但应保持在最低限度(因为它们被多次跳过)。电话号码可能有可变的前缀和后缀,因此有时需要进行子串匹配。根据数据质量,名字和姓氏必须转换为 soundex 或类似的。街道名称通常是规范化的,但它们可能缺少前缀或后缀。

如果您需要高质量的输出,请准备好长时间运行。

通常会设置一个百分比阈值,因此如果在部分处理一对后,并且在 y 的最大值中获得小于 x 的分数,则丢弃该对。

如果您知道某些字段必须匹配才能将一对视为候选,这通常会大大加快整个过程。

用于比较的数据结构很关键,但我觉得我的特殊经验不会对你有帮助,因为我总是在大型机上做这种事情:非常高速的磁盘、大量的内存和大量的并行性.我认为与一般情况相关的是什么,如果您觉得对它有帮助可能会有用。

喂!

PS:几乎是个笑话:在几年前我管理的一个大项目中,我们在两个数据库中都有母亲的婚前姓氏,并且我们给两个姓氏匹配的事实打了高分(个人和他母亲的姓氏) ).士气:所有 Smith->Smith 都是同一个人 :)

关于algorithm - 根据姓名、DoB、地址等匹配人员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5536278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com