我之前从未构建过匹配算法,也不知道该从哪里开始。这是我的基本设置和我所做的原因,如果我问的问题不正确,请随意纠正。
我有一个人名和唯一标识符的数据库。主要使用由内部生成和第三方生成的多个标识符、姓、名和出生日期。
每年我会多次收到来自第三方的列表,需要导入并与我的数据库中现有的人员相关联,但数据通常没有我的数据干净。标识符可能会更改,出生日期可能会有拼写错误,姓名可能会有拼写错误,姓氏可能会更改等。
每次导入可能会有20000条记录,即使准确率为99%,仍然需要手动匹配200条记录。我认为在将传入的人员与我的用户进行匹配时,应该达到99.9%的准确性。
那么,我如何制定一个算法来解决这个问题呢?
PS即使您没有确切的答案,但知道一些参考资料也会很有帮助。
PPS一些示例类似于m3rLinEz编写的内容:
ID: 9876234 Fname: Jose LName: Guitierrez Birthdate:01/20/84 '- Original'
ID: 9876234 Fname: Jose LName: Guitierrez Birthdate:10/20/84 '- Typo in birth date'
ID: 0876234 Fname: Jose LName: Guitierrez Birthdate:01/20/84 '- Wrong ID'
ID: 9876234 Fname: Jose LName: Guitierrez-Brown Birthdate:01/20/84 '- Hyphenated last name'
ID: 9876234 Fname: Jose, A. LName: Guitierrez Birthdate:01/20/84 '- Added middle initial'
ID: 3453555 Fname: Joseph LName: Guitierrez Birthdate:01/20/84 '- Probably someone else with same birthdate and same last name'