JA
マイツール

レーベンシュタイン距離の計算(編集距離)

2つの文字列のレーベンシュタイン編集距離と類似度を求めます。隣接文字の入れ替え(Damerau)、編集の一覧、DP表、リスト内の候補のランキングにも対応しています。

レーベンシュタイン距離
2
類似度
60%
1 − 2 ÷ 5
1つ目/2つ目の長さ
5/5文字
編集

文字はUnicodeのコードポイント単位で比較するため、絵文字やハングルの音節も1文字として数えます。

1つ目の文字列を2つ目に変える編集(位置は1つ目の文字列基準)
#編集位置変更前変更後
1置換3にば
2置換4ちん
動的計画法の表(セル = 先頭部分どうしの距離)
εこんばんは
ε012345
こ101234
ん210123
に321123
ち432223
は543332
マイツール →
広告

レーベンシュタイン距離は、ある文字列を別の文字列に変えるのに必要な、1文字単位の挿入・削除・置換の最小回数です。スペル候補の提示、あいまい検索、重複検出、DNAのアラインメントなどの土台になる指標です。この計算ツールは、距離と類似度(%)を求め、実際の編集内容を一覧にし、短い文字列には動的計画法の表を表示します。また、候補のリスト全体を、自分の文字列にどれだけ近いかで順位付けすることもできます。

使い方

  1. 2つの文字列を入力します(または、文字列1つと、1行に候補1つのリスト)。
  2. 通常のレーベンシュタインを使うか、隣り合う文字の入れ替えを1回の編集として数えるDamerauを選びます。
  3. 必要に応じて、大文字・小文字や空白を無視するか、単語単位で比較します。
  4. 距離、類似度、編集内容を確認します。表は20文字以下の文字列で表示されます。

計算式

d[i][j] = min(d[i−1][j] + 1, d[i][j−1] + 1, d[i−1][j−1] + (aᵢ ≠ bⱼ)) · 類似度 = 1 − d ÷ max(|a|, |b|)

d[i][j]は、aの先頭i文字とbの先頭j文字の距離で、d[i][0] = i、d[0][j] = jから始まります。隣接入れ替え(最適文字列アラインメント)の変種では、隣り合う2文字が入れ替わっているときにd[i−2][j−2] + 1を加えますが、同じ部分文字列を2回編集することはありません。制限なしのDamerau–レーベンシュタイン距離はこの制限を外します(CA → ABCは3ではなく2)。文字はUnicodeのコードポイントで、単語は空白で区切ります。

計算例

こんにちは → こんばんは = 2です。に → ば、ち → ん の2文字を置換します。どちらも5文字なので、類似度は1 − 2/5 = 60%です。東京 → 東京都は1(都を挿入)です。こんにちはを基準に、リストのこんばんは、こんにちわ、さようなら、こんにちは世界を順位付けすると、距離1のこんにちわが1位になります。

よくある質問

レーベンシュタインとDamerau–レーベンシュタインの違いは何ですか?

Damerauは、隣り合う2文字の入れ替え(teh → the)も1回の編集として数えるため、よくあるタイプミスに合います。通常のレーベンシュタインでは、これに置換が2回必要です。

類似度は標準的な指標ですか?

1 − 距離 ÷ 長いほうの長さが一般的な正規化ですが、ほかの方法(たとえば長さの合計で割る)もあります。スコアを比べるときは、同じ方法を使ってください。

文字列はどのくらいの長さまで扱えますか?

それぞれ数千文字までです。計算量は2つの長さの積に比例して増えます。ステップごとの表は、20文字以下の文字列で表示されます。

出典

最終更新:

このツールを引用する
APA

kakaoCalc. (2026, November 8). レーベンシュタイン距離の計算(編集距離). https://kakao.mobile/ja/tools/levenshtein-distance-tool/

MLA

“レーベンシュタイン距離の計算(編集距離).” kakaoCalc, 8 Nov. 2026, kakao.mobile/ja/tools/levenshtein-distance-tool/.

広告