名称聚类算法

Algorithm for clustering names

我在 db 列中有人名(名字、姓氏和姓氏)。 数据不完整,例如某些行

我需要一种算法来显示一组中的一组行,这将表明它是同一个人,我将去手动删除它们,除了一个。

这个数据非常具体,名字没有重复,所以如果我们有 John、Jonh Smihtm 和 John Smith,这肯定是同一个人,我会去并手动删除除最后一个以外的所有内容。

我需要在可能性组中显示它们。所以应该有一组很可能是同一个人(John Smith,Jonh Smit),那么应该有一组可能 同一个人(约翰、约翰尼),以及一组 可能 同一个人(乔、乔纳森)。

我对数据挖掘和聚类比较陌生,所以请告诉我一些算法和入门知识。

使用集群。它会产生很多误报。它会认为“Sam”和“Pam”高度相似。

改为查看拼写校正,或定义 Levenshtein 距离阈值。但是考虑到拼写错误行为的东西会比这种原生字母方法更好。