我将从事一些项目来处理实体重复数据删除。可能包含重复实体的数据集(一个或多个)。在实时中,实体可以以不同的形式表示姓名、地址、国家、电子邮件、社交媒体 ID。我的目标是根据不同实体信息的不同权重确定这些可能是重复的。我正在尝试寻找一个开源的库,最好用 Java 编写。
由于我需要处理数以百万计的数据,我需要关注扩展和性能。此外,性能不应该是 n^2 的数量级。在以下发现中,一些使用 Lucene 的基于索引的搜索,一些使用数据分组。
请倒建议哪个更好?
以下是我迄今为止的发现:
杜克 (Java/Lucene)
点评:使用遗传算法,很灵活。自 2016 年以来,一直有任何更新。
YannBrrd/elasticsearch-entity-resolution(杜克的扩展)
评论:自 2017 年以来,有任何更新。另外,需要检查是否兼容最新的ES和Lucene
重复数据删除/重复数据删除 (Python)
评论:使用数据分组方法。但它是用 Python 编写的。
JedAI 工具包 (Java)
评论:使用数据分组方法。
Zentity(弹性搜索插件)
评论:这是一个很好的。需要检查是否支持去重。到目前为止,在文档中,它谈到了实体身份解析。
Python 记录链接工具包文档
评论:它是在 Python 中的。
bakdata/重复数据删除 (Java)
评论:没有关于如何使用的明确文档
我想知道其他人是否还有其他人。也请说说上面的优缺点。