文字列類似度
Levenshtein、Jaro-Winkler、コサイン、Jaccard、ハミング、Dice など複数アルゴリズムで文字列類似度を即時比較。100% プライベート。
文字列類似度とは何ですか?
文字列類似度は2つのテキストがどの程度一致しているかを測る指標です。スペルチェック、DNA解析、盗作検出、データの重複排除などに使われます。
レーベンシュタイン距離とは何ですか?
レーベンシュタイン距離(編集距離)は、ある文字列を別の文字列に変換するために必要な最小の単一文字編集(挿入・削除・置換)の数を測ります。例えば "cat" と "bat" の距離は 1 です。
ジャロ・ウィンクラー類似度とは何ですか?
ジャロ・ウィンクラーは共通の接頭辞を持つ文字列に高いスコアを与えます。データベースでの名前・住所の照合や、タイプミスが多い場面で広く使われています。
コサイン類似度はどのように動作しますか?
コサイン類似度は文字列を文字n-gramに分割し、ベクトルに変換して、その間の角度のコサインを測ります。長いテキストに適しており、情報検索でよく使われます。
コサイン類似度とジャッカード類似度の違いは?
コサイン類似度はn-gram頻度ベクトルを使用し角度を測りますが、ジャッカード類似度はn-gram集合の積集合と和集合の比で比較します。ジャッカードは重複を無視しますが、コサインは無視しません。
ハミング距離とは何ですか?
ハミング距離は2つの等長文字列の対応する位置で異なる文字の数を数えます。等長の文字列にのみ機能し、誤り訂正符号でよく使われます。
Sørensen-Dice係数とは何ですか?
Sørensen-Dice係数は、両方の文字列の全バイグラムに対する共有バイグラムの数に基づいて類似度を測ります。ジャッカードより共通要素に高い重みを与えます。
どのアルゴリズムを使うべきですか?
タイプミスを含む短い文字列(名前・コード)にはレーベンシュタインまたはジャロ・ウィンクラーを、長いテキストにはコサイン類似度を、高速な集合比較にはジャッカード推荐使用します。
n-gram解析とは何ですか?
n-gramは文字列から連続して取り出されたn文字の並びです。例えば "hello" のバイグラムは "he"、"el"、"ll"、"lo" です。n-gramは多くの類似度アルゴリズムの基礎です。
ファジーマッチングとは何ですか?
ファジーマッチングはパターンに完全にではなく概ね一致する文字列を検索します。検索エンジン、スペルチェッカー、データクレンジングで使われます。
データはサーバーに送信されますか?
いいえ、すべての計算はブラウザ内でローカルに行われます。テキストがデバイスを離れることはありません。サーバー側の処理やデータ保存はありません。
異なる言語のテキストを比較できますか?
はい、アルゴリズムはあらゆるUnicode文字で動作します。ただし、言語によって文字構造が異なるため、結果が変わる場合があります。
文字列類似度の使い方
2 つの文字列を Levenshtein、Jaro-Winkler、Jaccard、Dice などのアルゴリズムで採点し、どれだけ似ているかを測定します。計算はすべてブラウザ内で行われます。
- 1 つ目の文字列を上の入力欄に、2 つ目を下の入力欄に貼り付けます。
- どちらかのテキストを編集すると、0(類似なし)から 1(完全一致)までの類似度スコアが即座に更新されます。
- Levenshtein は 1 文字単位の編集回数を、Jaro-Winkler は名前のような先頭一致が重要な比較に役立ちます。
- Jaccard や Dice は共通する文字集合の割合、Cosine はベクトル的な重なりを測ります。Hamming は同じ長さの文字列専用です。
アルゴリズムごとに物差しが違うのが前提です。Levenshtein は編集回数、Jaccard は共通部分を数えるため、2〜3 個並べて確認しましょう。
関連ツール
- 行ソート テキスト行をアルファベット順、数値順、長さ順にソート。重複削除と逆順をワンクリックで。
- 数字を文字に 数字を英単語、中国語大文字、ローマ数字、科学記数法に即座に変換。
- ケース変換ツール テキストを大文字、小文字、タイトルケース、キャメルケース、スネークケース、ケバブケースなどに変換
- ランダム大文字小文字変換 テキストの文字をランダムに大文字または小文字に変換します。ブラウザでスポンジボブ風テキストを即座に作成。
- 回文作成 反転した文字列を追加して任意のテキストから回文を作成します。ブラウザで即座に動作する無料のオンラインツールで、複数行サポート付き。
- 回文チェッカー テキスト、単語、文が回文かどうかを即座にチェック。ブラウザで100%動作する無料オンラインツールです。
- 文字列ローテーション テキスト文字を左または右に循環シフト。無料オンラインツール、インストール不要。
- テキスト繰り返し カスタム区切り文字でテキストを指定回数繰り返します。無料・高速、100%ブラウザ内で動作。