我有一堆人的名字和他们各自的识别号码(例如社会保险号码/国民身份证号码/护照号码)。但是,由于重复,一个身份号码最多可以有100个名字,这些名字可能相似,也可能完全不同。E、 g.ID221可以有名称Richard Parker, Mary Parker, Aunt May, Parker Richard, M@rrrrryy Richard
等等。有些拼写错误,但有些完全不同的名称。在
最初,我只想显示3个(或一个类似的小数目)尽可能不同于其他的名字,以提醒观众,多个名字不能是打字错误,甚至可能是身份盗窃或疏忽数据捕捉或其他任何情况!在
我读过一个检测相似性的算法,现在来看这个one,它允许你计算一个分数,分数为1表示两个字符串是相同的,而分数较低表示它们不同。在我的用例中,我如何通过说出100个名称并显示最不相似的3个名称?因为我觉得我需要一个起点,然后在所有其他算法之间进行比较,然后再循环等等,所以这个算法就从我的脑海中消失了
从https://stackoverflow.com/a/14631287/1082673获取函数,然后迭代列表中的所有组合。如果你没有那么多的条目,这是可行的,否则计算时间会增加得相当快
以下是如何为给定列表生成对:
相关问题 更多 >
编程相关推荐