コンテンツへスキップ
uencoder

Edit Distance

編集距離は、ある文字列を別の文字列に変換するのに必要な単一文字編集操作(挿入・削除・置換)の最小回数である。レーベンシュタイン距離が最も一般的な形である。

目的

文字列間の差異の度合いを定量化し、あいまいマッチングや誤り訂正に用いる。

メカニズム

一般枠組み:許容操作集合とコストを定義し、動的計画法で最小総コストを求める。レーベンシュタインは挿入/削除/置換(各コスト 1)を許し、ダメラウ・レーベンシュタインは隣接文字の転置を追加で許し、ハミングは置換のみを許す。

ユースケース

  • スペル訂正
  • DNA 配列アラインメント
  • OCR 誤り訂正
  • あいまい重複排除

例

  • 入力
    cat → cut
    Output
    1 (substituting a→u)

    Levenshtein

よくあるエラー

Confusing different edit-distance variants
Make the operation set and costs explicit

関連用語

関連ツール

References