テキスト類似性チェッカー
実際の N-gram Jaccard 類似性と単語レベルの LCS オーバーラップ スコアを使用して 2 つのテキストを比較し、一致するパッセージを並べて強調表示します。
結果
このツールは、漠然とした「似ている」ヒューリスティックではなく、2 つの独立した実際の十分に文書化されたアルゴリズムを使用して、貼り付けた 2 つのテキストを比較します。 1 つ目は、N グラム Jaccard の類似性です。各テキストは単語にトークン化され、n 個の連続した単語の重複するランに分割されます (N グラム。デフォルトは n=3、トリグラムで、1 から 5 まで調整できます)。結果として得られる 2 つの N-gram セットの Jaccard インデックス (交差部分のサイズを和集合のサイズで割ったもの) は、情報検索と重複に近い検出で使用される標準的なセットベースの類似性尺度です。 n が大きいほど、より長い共有語句が捕捉され、正確な表現がより厳密になります。 n が低いほど寛容であり、異なる構造の文の間でも、緩やかな単語の重複を検出します。
2 番目のアルゴリズムは、本物の単語レベルの最長共通部分列 (LCS) で、2 つの単語シーケンスに対して実際の O(n·m) 動的プログラミング テーブルを使用して計算されます。これは近似ではなく、diff ツールで使用される教科書と同じアルゴリズムです。 N グラム スコアとは異なり、LCS は一致する単語が連続している必要がないため、文が並べ替えられたり、共有フレーズ間で軽く編集されたりした場合でも、重複をキャプチャします。重複パーセンテージは、両方のテキストの平均長に対する LCS 長から導出されます。次に、DP テーブルをバックトラックして、各テキスト内のどの単語がその最長の共通シーケンスに含まれているかを正確に特定します。これが際立った機能です。これらの単語は、元のスペース、改行、句読点をそのままにして元のテキストにマッピングされ、強調表示されたスパンとして並べて表示されるため、単なる数字を信頼するのではなく、どのパッセージが重複しているかを正確に確認できます。
ここでは範囲と誠実さが重要です。これは 2 つのテキストの比較ツールであり、盗作検出ツールではありません。インターネット接続も、検索インデックスも、チェックするための他の人のコンテンツのデータベースもありません。貼り付けた 2 つのテキストが互いにどれだけ似ているかを知ることしかできません。そのため、下書きのリビジョンを比較したり、言い換えやリライトが実際にどの程度変更されたかを確認したり、自分のページ全体でほぼ重複しているコンテンツを見つけたりするのに適しています。単語のマッチングでは大文字と小文字が区別されず、O(n・m) LCS テーブルは数百万の単語ペア セルに制限されます。非常に大きなテキスト (およそ数千単語を組み合わせたもの) の場合、正確な LCS と強調表示のステップは平易なメモで省略されますが、直線的な時間しかかからない n-gram Jaccard スコアは常に全文に対して計算されます。すべてがブラウザ内でローカルに実行されます。どちらのテキストもデバイスから離れることはありません。