使用字符串相似性技术记录链接

Record linkage using String similarity Techniques

我们正在进行记录联动项目。 我们正在观察所有标准技术的奇怪行为,如 Jaro Winkler、Levenshtein、N-Gram、Damerau-Levenshtein、Jaccard 指数、Sorensen-Dice

说, 字符串 1= 迷你研磨机套件
字符串 2= Weiler 13001 迷你研磨机附件套件,适用于小型直角研磨机
字符串 3= Milwaukee 视频管道镜,旋转检查范围,系列:M-SPECTOR 360,2.7 英寸 640 x 480 像素高分辨率 LCD,塑料,Black/Red

在上述情况下,字符串 1 和字符串 2 与所有方法的分数相关,如下所示。
杰罗·温克勒 -> 0.391666651
编辑 -> 75
N-Gram, -> 0.9375
达梅劳 -> 75
杰卡德指数 -> 0
索伦森骰子 -> 0
余弦 -> 0

但是字符串 1 和字符串 3 完全没有关系,但是距离方法给出了很高的分数。
杰罗·温克勒 -> 0.435714275
编辑 -> 133
N 元语法,-> 0.953571439
达梅劳 -> 133
杰卡德指数 -> 1
索伦森骰子 -> 0
余弦 -> 0

有什么想法吗?

所有距离计算分数均区分大小写。因此,将所有这些都带到同一个案例中。然后你就可以正确地看到分数计算了。

我相信您的目标是检查这两种产品是否相同。我想这些数据来自不同的来源,如果是这样的数据,你需要找出最重要的值得比较的地方是什么?!品牌名称、规格等...

这些指标遵循非常粗略的相似性概念!不要只是那样提供数据。

所以首先清理(删除标点符号,不重要的词),标记化(打断单个单词的句子)然后也许你可以使用 fuzzywuzzy 来帮助找到更好的匹配。