SpamBayes [5]

Il programma si basò inizialmente sull' algoritmo proposto da Paul Graham in ``A Plan For Spam'' (come Bogofilter, cfr. 2.8.6), ma presenta fin da subito una caratteristica nuova: un messaggio in arrivo può essere catalogato oltre che come spam o ham, anche come unsure, ad indicare che il filtro non è sicuro del suo contenuto.

Dopo aver usato l' algoritmo originale di Paul Graham, fu usato l' algoritmo elaborato da Gary Robinson [31]. Il suo approccio è basato sul teorema del limite centrale [32], il che consente di ottenere dei punteggi interni sulla spammmosità oppure no di un messaggio in ingresso. Se tali punteggi sono entrambi troppo bassi o troppo alti, allora il messaggio non può essere catalogato con certezza.

In seguito tale approccio fu scartato, in favore di uno nuovo sviluppato oltre che dal solito Gary Robinson, anche da Tim Perens e Rob Hooft. Il nuovo schema combinatorio (che è quello attualmente usato di default da spambayes), è il chi-squared-distribution [33]. Questo approccio produce due numeri: la ham probability (*H*) e la spam probability (*S*). Un tipico messaggio spam avrà *S* alto e *H* basso; un ham avrà esattamente il contrario. Se invece *H* e *S* sono entrambi molto bassi o molto alti, significa che il sistema di filtraggio non è in grado di stabilire con esattezza la categoria del messaggio, o perchè contiene un vocabolario di termini assai poco frequenti sia nel corpus spam che in quello ham, o perchè il messaggio assomiglia molto a un messaggio legittimo ma anche a uno non legittimo.

SpamBayes è scritto in Python ed è rilasciato sotto la Python Software License. Esiste un plugin per utilizzare il programma anche con Microsoft Outlook 2000 2.3.

Alessio Pace 2004-03-26