Spam Filtering with gzip
Loosely speaking, the LZ (Zip) and the related gzip compression algorithms look for repeated strings within a text, and replace each repeat with a reference to the first occurrence. The compression ratio achieved therefore measures how many repeated fragments, words or phrases occur in the text.
A related technique allows us to measure how much a given, "test" text has in common with a corpus of possibly similar documents. If we concatenate the corpus and the test text, and gzip them together, the test text will get a better compression ratio if it has more fragments, words, or phrases in common with the corpus, and a worse ratio if it is dissimilar. Since the LZ algorithm scans the entire input for repetitions, it tends to map pieces of the test text to previous occurrences in the corpus, thereby achieving a high "appended compression ratio" if the test text is similar to what it's appended to.
In this case, we wish to compare an incoming email message against two possible corpora: spam and non-spam (ham). If we maintain archives of both, we can compare the appended compression ratios relative to each, to judge how similar a new message is to spam or ham.
[ Read more ]
- Software: MailScanner
- Software: Xyria:DNSd
- Software: Super Webscan
- Software: SpamPal
- Software: Revelation
- Software: Mail Snoop Pro
- Article: WorldCom Announces their Anti-Spam Solution (9 December 2002)
- Article: Network Associates Fights Spam (30 October 2002)
- Article: Spam Wars - Rise of the Spam (16 May 2002)
- Article: Spam: The problems with junk e-mail (8 April 2002)
- Article: The six headed spam monster (1 April 2002)