Overview
Invented by Moses Charikar and popularized by Google for web-scale crawler deduplication, SimHash hashes each document token/shingle to a b-bit (typically 64-bit) value, adds +weight to accumulator V[i] when bit i is 1 and -weight when bit i is 0, and sets fingerprint bit i to 1 iff V[i] > 0. Two documents that differ in only a few words produce 64-bit fingerprints within a small Hamming distance (e.g. <= 3 bits).