执行近似重复数据消除时,将重复记录合并为一个记录

2024-10-02 16:28:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些产品名称,其中有一些重复由于一些拼写错误,噪声词等。我使用概率LSH算法来识别每个名称的潜在重复项,然后使用Jaro-Winkler距离,通过为标记为重复项的一对名称定义一个特定的最小阈值距离来找到确切的重复项,否则距离计算操作的数量会非常大,因为名字以百万计

问题是将已识别的重复记录合并为一个。现在,由于我使用概率LSH算法来识别潜在的重复项,并使用Jaro-Winkler距离上的高阈值来找到准确的重复项,因此可能出现如下情况:

name, duplicates
aa battery, [aa battry, aa batteries]
aa battry, [aa batteries, aa bettery]

其中duplicate字段是指标识为重复项的名称。现在我需要创建一个没有任何重复的列表

另外,我面临的另一个问题是在所有已识别的重复项中找出哪一个是正确的名称。目前我正在使用nltk英语单词语料库,选择最合适的英语单词的名字。在冲突的情况下,我选择最长的名称是正确的。我们也欢迎对此提出任何建议


Tags: 名称算法距离情况阈值概率名字aa