我有5万家公司的数据库,不断更新(每月200个).
重复内容是一个巨大的问题,因为名称并不总是严格/正确:
“超级1商店”
“超级一店”
“超级1商店”
编辑:另一个例子……可能需要不同的方法:
“Amy’s Pizza”< ---> “Amy and Company的有机披萨”
我们需要工具来扫描数据以寻找相似的名称.
我对Levenshtein Distance和LCS有一些经验,但如果2个字符串相似,它们可以很好地进行比较…
在这里,我必须扫描50 000个名称,每个可能是每个,并在那里计算…整体相似性评级……
我需要建议如何攻击这个问题,预期的结果是有一个列表与10-20组非常相似的名称,并可能进一步调整灵敏度以获得更多结果.
最佳答案
我有一年前左右的类似问题,如果我记得很清楚,我解决了(或多或少)使用similar_text和soundex,正如其他人在评论中所说.像这样的东西:
在我的情况下,使用66%的百分比来确定公司是相同的(在这种情况下,不要插入数据库,但发送电子邮件给我审查,并检查是否正确).
经过几个月的解决方案,我决定为公司使用某种独特的代码(在我的案例中是CIF,因为西班牙的公司是独一无二的).