gpt4 book ai didi

c# - 个人人口统计信息的模糊数据匹配

转载 作者:太空狗 更新时间:2023-10-30 01:11:09 25 4
gpt4 key购买 nike

假设我有一个数据库,里面装满了具有以下数据元素的人:

  • PersonID(无意义的代理自动编号)
  • 名字
  • 中间字
  • 姓氏
  • 名称后缀
  • 出生日期
  • AlternateID(例如 SSN、军人 ID 等)

我从各种格式中获取大量数据馈送,其中包含您能想到的这些信息片段的各种合理变化。一些例子是:

  • 全名,出生日期
  • 全名,最后 4 个 SSN
  • 名字,最后,出生日期

当这些数据进来时,我需要写一些东西来匹配它。我不需要,也不期望获得超过 80% 的匹配率。自动匹配后,我会将不确定的匹配项显示在网页上,供其他人手动匹配。

一些复杂的是:

  1. 一些数据匹配比其他匹配更好,我想为它们分配权重。例如,如果 SSN 完全匹配但名字不对,因为有人使用他们的中间名,我想为该匹配分配一个比名字完全匹配但 SSN 不对的情况更高的置信度值。
  2. 名字匹配有一些困难。 John Doe Jr 与 John Doe II 相同,但与 John Doe Sr. 不同,如果我得到 John Doe 而没有其他信息,我需要确保系统不会选择一个,因为无法确定选择谁。
  3. 名字匹配真的很难。你有 Bob/Robert、John/Jon/Jonathon、Tom/Thomas 等。
  4. 仅仅因为我有一个带有 FullName+DOB 的 Feed 并不意味着 DOB 字段已为每条记录填写。我不想因为不匹配的 DOB 扼杀了匹配的分数而错过一个链接。如果缺少某个字段,我想将其从可用于匹配的元素中排除。
  5. 如果有人手动匹配,我希望他们的匹配影响所有 future 的匹配。因此,如果我们再次获得完全相同的数据,下次就没有理由不自动匹配它。

我看到 SSIS 有模糊匹配,但我们目前没有使用 SSIS,而且我发现它很笨拙,几乎不可能进行版本控制,所以它不是我的首选工具。但如果它是最好的,请告诉我。否则,您是否使用过任何(最好是免费的,最好是基于 .NET 或 T-SQL 的)工具/库/实用程序/技术来解决此类问题?

最佳答案

有很多方法可以解决这个问题,但是在我继续之前做过这类事情之前,我会在这里提出,你在人与人之间进行“不正确”匹配时会冒很大的风险。

您的输入数据非常稀疏,如果不是所有值都存在,那么您所拥有的数据并不是最独特的。

例如,对于您的名字、姓氏、出生日期的情况,如果您拥有所有记录的所有三个部分,那么匹配工作就会变得容易得多。如果不是,尽管您会面临很多潜在的问题。

您可能会采取的一种方法,在事情的更“粗略”方面是使用一系列查询简单地创建一个流程,这些查询简单地识别和分类匹配的条目。

例如,首先检查姓名和 SSN 是否完全匹配,如果存在则标记它,将其记为 100% 并继续进行下一组。然后,您可以明确定义模糊的地方,以便了解匹配的潜在后果。

最后,您将得到一个列表,其中包含指示匹配类型的标志(如果该记录有的话)。

关于c# - 个人人口统计信息的模糊数据匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3265563/

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