Dedupe
Github地址:https://github.com/dedupeio/dedupe
Dedupe,基于python的ER工具包。结合试用机器学习、主动学习等技术在结构化数据集上实现快速去重(de-duplication)和实体识别(entity resolution)。
- 记录相似性的衡量:string metric,实际采用Affine Gap Distance(Hamming distance的一个变种)。
- 属性逐步比较。与直接比较整条记录相比,可以为不同属性设置不同权重。比如地址去重任务中,电话号码可能比其他属性更为重要。
- 主动学习用来学习属性权重:人工标注难以判断的记录对(机器判断匹配可能性在50%附近的2条记录),然后机器重新学习属性权重。
- 使用多种Blocking技术并组合blocking规则以减少判断次数。包括属性,token,相同3个前缀字符,相同5个前缀字符,相同的7个前缀字符,4-gram,6-gram及倒排索引blocks等。
- hierarchical clustering with centroid linkage聚类算法用于将不同的匹配对聚成类以表示一个实体。
Limes
Github地址:https://github.com/dice-group/LIMES
为Entity linking设计的框架,支持超大规模级实体链接。
- 时间优化。Plan技术决定哪些任务优先执行,发现任务之间的中间依赖关系以过滤任务,而非独立执行任务。Plan技术能大量减少执行时间。
- 支持海量的匹配规则,包括字符串,数值,拓扑及时序相似性矩阵度量及自定义距离计算模型
- 与暴力方法相比,Limes不会损失任何匹配精度但能显著减少匹配操作的数量。