2つの文字列を入力するだけで編集距離を即時計算。挿入・削除・置換の操作手順をステップごとに表示し、DPテーブルの可視化やバッチ比較にも対応。すべてブラウザ内で完結します。

編集距離
類似度
0 挿入
0 削除
0 置換
類似度
バッチ比較

1行に1ペア、カンマ区切りで入力してください:文字列1,文字列2


開発・研究ツールの経費管理もかんたんに

freee会計なら、ソフトウェア・サーバー費用の経費精算もクラウドで一元管理。確定申告もスムーズに。無料トライアル実施中。 freeeを無料で試す →

レーベンシュタイン距離とは?

レーベンシュタイン距離(編集距離)とは、ある文字列を別の文字列に変換するために必要な挿入・削除・置換の最小操作回数です。1965年にロシアの数学者ウラジーミル・レーベンシュタインが考案しました。

有名な例:“kitten”“sitting” に変換するには3回の操作が必要 → 編集距離 3

操作コスト
置換k → s(kitten → sitten)1
置換e → i(sitten → sittin)1
挿入sittin → sitting1

類似度(%)(1 − 距離 / max(len_A, len_B)) × 100 で計算します。


動的計画法による計算の仕組み

サイズ (m+1) × (n+1) の行列を構築します(m, n は各文字列の長さ)。各セル dp[i][j] は「文字列Aの最初のi文字」と「文字列Bの最初のj文字」の間の最小編集距離を保持します。

漸化式:

  • A[i] == B[j] の場合:dp[i][j] = dp[i-1][j-1](コストなし)
  • それ以外:dp[i][j] = 1 + min(dp[i-1][j-1], dp[i-1][j], dp[i][j-1])(置換・削除・挿入)

dp[m][n] からトレースバックすることで、具体的な操作手順を復元します。


主な活用例

分野活用方法
スペルチェッカー辞書内の最近傍単語を特定
DNA配列解析遺伝子配列の類似度を計測
あいまい検索検索結果を類似度でランク付け
盗用検出ほぼ同一の文章を発見
データ統合重複レコードの名寄せ
自動補正ユーザーの意図した単語を推定
自然言語処理テキスト類似度の特徴量として利用

使い方・ヒント

  • 大文字/小文字の区別 — デフォルトは区別なし。コード識別子やパスワード比較時は有効化してください。
  • DPテーブル表示 — 「DPテーブルを表示」を有効にすると、動的計画法の行列と最適経路(ハイライト)を確認できます。20文字以内の文字列のみ対応。
  • バッチ比較文字列1,文字列2 の形式で複数ペアをまとめて比較できます。しきい値の検証などに便利です。
  • 入れ替え — AとBを一発で入れ替えます。レーベンシュタイン距離は対称なので d(A,B) == d(B,A) です。
  • 日本語対応 — ひらがな・カタカナ・漢字も1文字単位で計算します。

テキストを行単位で比較する → テキスト差分比較ツール

文字数・単語数をカウントする → 文字数カウンター


確定申告・会計をもっとラクに? freee会計 なら、フリーランスの経費管理もクラウドで簡単。まずは無料で試してみましょう。