标准化编辑距离公式的说明

时间:2015-06-11 17:05:13

标签: string algorithm levenshtein-distance edit-distance

基于本文: 关于PAITERN分析的IEEE交易:Computation of Normalized Edit Distance and Applications In this paper Normalized Edit Distance如下:

  

在有限字母表中给出两个字符串X和Y,标准化编辑   X和Y之间的距离,d(X,Y)定义为W的最小值(P.   )/ L(P)w,这里P是X和Y之间的编辑路径,W(P)是   P的基本编辑操作的权重之和   L(P)是这些操作的数量(P的长度)。

enter image description here

我可以安全地翻译上面解释的标准化编辑距离算法:

normalized edit distance = 
levenshtein(query 1, query 2)/max(length(query 1), length(query 2))

2 个答案:

答案 0 :(得分:1)

您可能误解了指标。有两个问题:

  1. 规范化步骤是将W(P)除以编辑过程的权重而不是L(P),这是编辑过程的长度,而不是超过字符串的最大长度。你做了;

  2. 此外,论文表明(实例3.1)归一化编辑距离不能用levenshtein距离简单计算。您可能需要实现他们的算法。

  3. 对实施例3.1(c)的解释:

    aaababbb,论文使用了以下转换:

    1. aa匹配;
    2. 在第一个字符串中跳过a;
    3. 在第一个字符串中跳过a;
    4. 在第二个字符串中跳过b;
    5. 在第二个字符串中跳过b;
    6. 匹配最终b s。
    7. 这是6个操作,这就是L(P)为6的原因;从(a)中的矩阵中,匹配的成本为0,跳过的成本为2,因此我们的总成本为0 + 2 + 2 + 2 + 2 + 0 = 8,正好是W(P)W(P) / L(P) = 1.33。对于(b)可以得到类似的结果,我将把它作为练习留给你: - )

答案 1 :(得分:0)

图2(a)中的3表示将“a”改为“b”的成本或将“b”改为“a”的成本。图2(a)中具有lambdas的列表示为了插入或删除“a”或“b”而花费2。

在图2(b)中, W(P)= 6 因为算法执行以下步骤:

  1. 先保留 a (费用0)
  2. 首先将 b 转换为 a (费用3)
  3. 将第二个 b 转换为 a (费用3)
  4. 保持最后 b (费用0)
  5. 步骤的成本总和为 W(P)。步数为4,即 L(P)

    在图2(c)中,步骤不同:

    1. 先保留 a (费用0)
    2. 首先删除 b (费用2)
    3. 删除第二个 b (费用2)
    4. 插入 a (费用2)
    5. 插入 a (费用2)
    6. 保持最后 b (费用0)
    7. 在此路径中有六个步骤,因此 L(P)为6.步骤的总成本为8,因此 W(P)为8因此,归一化编辑距离为8/6 = 4/3,约为1.33。