コンテンツへスキップ
uencoder

SimHash

SimHash は Charikar が提案した局所性敏感ハッシュ(LSH)である。テキストを固定長ビット列へ写像し、類似テキストほどハミング距離が小さくなる。

目的

大規模テキストコレクションで O(1) の比較によりほぼ重複した文書を発見し、重複除去やクラスタリングを支える。

メカニズム

テキストの各特徴(N-gram など)を独立にハッシュ化し、ハッシュビットの 0/1 に応じて特徴の重みを加算・減算する。最終的な符号ビットが SimHash フィンガープリントを成し、類似度が高いほどハミング距離が小さくなる。

ユースケース

  • 大規模なウェブページの重複除去
  • 近重複文書のクラスタリング
  • 剽窃を検出する

関連ツール

References