テキスト類似度チェッカー
n-gram Jaccard類似度と語単位のLCS重複スコアという、本格的な手法で二つのテキストを比較します。一致箇所を並べてハイライト表示します。
🔒 ブラウザ内で完全に処理されます。ここに入力した内容はアップロードされません。
結果
このツールは、貼り付けた二つのテキストを、「なんとなく似ている」といった漠然とした方法ではなく、よく知られた独立した二つの本格的なアルゴリズムで比較します。一つ目はn-gram Jaccard類似度です。各テキストを単語に分割し、連続するn個の単語のまとまり(n-gram、デフォルトは3でトライグラム、1から5まで調整可能)に分解します。得られた二つのn-gram集合のJaccard指数(積集合の大きさを和集合の大きさで割った値)は、情報検索や重複検出の分野で広く使われる、集合に基づく標準的な類似度です。nが大きいほど、より長い共通表現を検出し、厳密な表現を重視します。nが小さいほど寛容になり、文構造が異なっていても単語のゆるやかな重なりをとらえます。
二つ目のアルゴリズムは、語単位の本物の最長共通部分列(LCS)です。二つの単語列に対して、教科書通りの動的計画法のテーブルをO(n·m)で構築して計算します。diffツールなどで使われる正統な手法であり、近似ではありません。n-gramスコアとは異なり、LCSは一致する単語が連続している必要がないため、共通するフレーズの間に文章の並び替えや軽微な編集が入っている場合でも重なりをとらえることができます。重複率は、両方のテキストの平均的な長さに対するLCSの長さの比率から算出します。そして、このツールの特筆すべき点として、DPテーブルをバックトラックし、最長の共通部分列に含まれる各テキストの単語を正確に特定し、それらを元のテキスト(元のスペース、改行、句読点を保持したまま)にマッピングし、ハイライト表示された範囲として並べて表示します。これにより、数値だけを信じるのではなく、どの部分が重なっているかを具体的に確認できます。
ここで重要なのは、対象範囲と正直さです。これは二つのテキストを比較するツールであり、剽窃検出ツールではありません。インターネット接続、検索インデックス、他者のコンテンツを照合するデータベースは一切ありません。可能なのは、貼り付けた二つのテキスト同士がどの程度似ているかを示すことだけです。そのため、草稿の改訂比較、パラフレーズや書き換えで実際にどの程度変わったかの確認、自身のページ間での重複コンテンツの発見などに適しています。単語の比較は大文字小文字を区別せず、O(n·m)のLCSテーブルは数百万単語ペアを上限としています。非常に大きなテキスト(合計で数千語程度)の場合、正確なLCSとハイライト表示はスキップされ、その旨が平易な言葉で表示されます。一方、線形時間で計算できるn-gram Jaccardスコアは、常に全文で計算されます。すべての処理はお使いのブラウザ上でローカルに実行され、テキストがデバイスの外に出ることは決してありません。