文字列類似度
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文字で動作します。ただし、言語によって文字構造が異なるため、結果が変わる場合があります。