刚遇到类似的问题所以谷歌做了一点。找到一个名为“Dedupe Python Library”的库 https://dedupe.io/developers/library/en/latest/
该库的文档详细介绍了重复数据删除时的常见问题和解决方案以及重复数据删除领域的论文。因此,即使您没有使用它,仍然可以阅读该文档。
实际上已经对此进行了大量研究,人们已经为此使用了许多不同类型的机器学习算法。我个人试过了 遗传编程 ,工作得相当好,但我个人仍然喜欢手动调整匹配。
我有一些关于这个主题的研究论文的参考资料。 StackOverflow不需要太多链接,但这里的参考书信息应该足够使用Google:
不过,这都是研究。如果您正在寻找解决问题的实用解决方案,我已经为此类重复数据删除构建了一个开源引擎,称为 公爵 。它使用Lucene对数据进行索引,然后在进行更详细的比较之前搜索匹配项。它需要手动设置,尽管有一个脚本可以使用遗传编程(参见上面的链接)为您创建设置。还有一个人想为杜克制作一个ElasticSearch插件( 看线程 ),但到目前为止还没有做到。
无论如何,这是我在你的情况下采取的方法。