我有几个来源表与个人数据,这样的:

SOURCE 1
ID, FIRST_NAME, LAST_NAME, FIELD1, ...
1, jhon, gates ...

SOURCE 2
ID, FIRST_NAME, LAST_NAME, ANOTHER_FIELD1, ...
1, jon, gate ...

SOURCE 3
ID, FIRST_NAME, LAST_NAME, ANOTHER_FIELD1, ...
2, jhon, ballmer ...

因此,假设记录ID1,从源1和2,是同一个人,我的问题 是如何确定如果中的记录每源,代表同一个人.此外,肯定不是每一个记录中存在的所有来源。所有的名字都写在西班牙为主。

在这种情况下,的确切匹配的需要放松,因为我们假设 数据来源没有被rigurously检查 对官方主席团的标识的国家。我们也需要承担 拼写错误是常见的, 因为性质的过程中收集的数据。更重要的是,该数额的记录,约有2或3个以百万计的每源...

我们的团队不得不认为在这样的事情:首先,力的确切匹配在选定的领域,如身份证号码和名字知道如何努力的问题即可。第二,放松这匹配的标准,和最多的记录更多的可以匹配,但是在这里产生的问题: 如何做到放松这匹配标准没有产生太噪音既不能限制太多了?

什么工具可以更有效地处理这个?, 例如,你知道关于一些especific扩展在一些数据库引擎,以支持这匹配?你知道喜欢聪明的算法 soundex 处理这一近似匹配,但对西班牙文文本?

任何帮助,将不胜感激!

谢谢。

有帮助吗?

解决方案

问题的关键是计算每对条目之间距离的一个或多个度量,然后当其中一个距离小于某个可接受的阈值时将它们视为相同。关键是设置分析,然后改变可接受的距离,直到达到你认为是假阳性和假阴性之间的最佳平衡。

一次距离测量可以是语音。你可以考虑的另一个是entig的 Levenshtein或编辑距离,这将试图测量错别字

如果您对自己应该拥有多少人有合理的认识,那么您的目标就是找到适合您的人数的最佳位置。让你的匹配过于模糊,你会有太少的。限制性的,你会有太多。

如果您大致知道一个人应该拥有多少条目,那么您可以将其用作指标,以了解您何时接近。或者,您可以将记录数量除以每个人的平均记录数量,并获得您正在拍摄的大量人物。

如果您没有任何数字可供使用,那么您将从分析中挑选出一组记录,并手动检查它们是否与同一个人相同。所以这是猜测和检查。

我希望有所帮助。

其他提示

这听起来像客户数据集成问题。搜索该术语,您可能会找到更多信息。此外,请在数据仓库实体中查看,您也可以在那里找到一些答案。

修改此外,此处您可能会对西班牙语语音匹配感兴趣的文章。

我不得不做一些类似之前和我有没有被使用 双音位 拼音搜索的名称。

之前我比较的名称虽然我尝试过正常化的任何姓名/昵称的差别通过查找该名称在一个昵称表我创造的。(I填表人口普查数据的我在网上找到),使人们叫鲍勃变成了罗伯特,成为亚历克斯亚历山大,法案成为威廉,等等。

编辑:双音位是专门设计更好的比Soundex和工作以外的其他语言的英语。

SSIS,尝试使用模糊查找转换

只是添加了一些细节,以解决这个问题,我找到了这个模块,用于Postgresql8.3

您可以尝试通过将它们与字典进行比较来规范化名称。 这将允许您发现一些常见的拼写错误并纠正它们。

听起来我有一个记录链接问题。您可以使用链接中的引用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top