AZ Tools

文字列距離計算機

テキスト

2 文字列を入力 — いくつかの編集距離指標でどれだけ離れているかを確認。**Levenshtein** は挿入・削除・置換をカウント — 古典的なスペルチェック指標。**Damerau-Levenshtein** は隣接 transposition も 1 編集としてカウント — タイピングのタイポにより適合。**Hamming** は位置ごとの差異をカウント(同じ長さの時のみ定義)。**類似度 %** は `(1 - levenshtein / max_length) * 100` — レコード重複削除のファジーマッチ閾値として有用。

類似度

57.1%

Levenshtein

3

Damerau-Lev.

3

Hamming

n/a

Damerau-Levenshtein は `ab → ba`(transposition)を 1 編集として扱う;通常の Levenshtein は 2 でカウント。Hamming は同じ長さの文字列にのみ動作。

使い方

  1. 2 文字列を入力/貼り付け。
  2. 各距離指標と類似度 % を確認。
  3. ファジー重複削除の開始閾値 ~85%+、タイポ許容検索はより低く。

よくある質問

どの指標を使う?
人間が隣接文字を入れ替えるタイプ済みテキストには Damerau-Levenshtein を使う。タンパク質配列や固定長コードには Hamming。それ以外すべて(URL スラッグ・名前・自由テキスト)は Levenshtein が安全なデフォルト — ほとんどのスペルチェックライブラリが内部で使っている。
類似度 % と距離の関係は?
正規化された Levenshtein: 100% は同一・0% はすべての文字を置換する必要。分母は 2 文字列のうち長い方 — `cat` 対 `dog` は 0%(3 編集/3 文字)・`cat` 対 `catt` は 75%(1 編集/4 文字)。
Hamming が時々 'n/a' の理由は?
Hamming 距離は同じ長さの文字列にのみ定義。長さが異なれば意味のある対ごとの位置比較は不可 — Levenshtein を使う。
大文字小文字を区別する?
はい。`Cat` 対 `cat` は Levenshtein 距離 1。大文字小文字を区別しない比較が欲しいなら、両入力をまず小文字化。

関連ツール