如果我有三个字符串,第一个是string1 = Laptop
,第二个是string2 = Latpop
,第三个是string3 = Lavmop
,那么levenshtein距离算法将返回相同的距离string1
和string2
的相似之处以及string1
和string3
的相似之处。这是因为levenshtein算法只计算操作:插入,删除和替换,这不包括转置操作,例如,我们可以在Latpop
字符串处交换第三个和第四个字符,从而产生Laptop
显而易见的是Latpop
与Laptop
更相似而不是Lavmop
,并且将它们分类为相同的相似性水平是不正确的。
是否存在考虑转置操作的算法?