sas di Gloriano Rossi & c.
Corso di Porta Nuova 46 - 20121 MILANO (Italia)

La regola di Bayes e lo Spam


Uno dei problemi nati recentemente parallelamente allo sviluppo di Internet risiede nell’uso della posta elettronica.
Lo spam, ovvero la massa di messaggi indesiderati - in genere pubblicitari - che ogni giorno bombarda le nostre caselle di posta elettronica, sta diventando un reale ostacolo al buon funzionamento dei canali comunicativi di rete.
Quali strategie, e quali strumenti, possono aiutarci a eliminarlo o almeno a ridurlo?
Per filtrare i messaggi di spam bastano poche linee di codice che possono essere sufficienti per bloccare 95% della posta indesiderata (messaggi scritti a lettere maiuscole con punti esclamativi, testi relativi all’oggetto che si riferiscono ad opportunità di business, caselle destinatario che vi indirizzano come “Caro amico…”), ma il rimanente 5% è difficile da individuare, e i tentativi di bloccare i messaggi spamming ingannevoli possono portare a dei falsi positivi (cioè della posta normale può venire identificata come “spazzatura” ed eliminata).
Coerentemente con questa impostazione, i filtri bayesiani non partono dall'intestazione o dal mittente del messaggio, come avviene per la maggior parte dei filtri attuali, ma ne esaminano il contenuto attraverso metodi statistici. Per farlo, partono dall'analisi di un campione di messaggi di spam: a ognuno dei vocaboli di tali messaggi è assegnato, in base alla sua frequenza, un particolare valore come 'indice di spam' (ad esempio, la parola 'click' è assai frequente nelle pubblicità di siti o offerte in rete. E la presenza in un messaggio di 'FF0000', il codice numerico usato in HTML per creare uno sfondo rosso brillante, lo è ancor di più). Si passa poi a calcolare la frequenza combinata di tali parole.
Sulla base di questi dati puramente statistici, il filtro bayesiano analizza i nuovi messaggi calcolandone la 'probabilità di spam', e scartando automaticamente quelli che superano una certa soglia. Le caratteristiche di questo tipo di approccio, che non cerca occorrenze di singoli termini o espressioni, ma analizza statisticamente l'insieme del vocabolario del messaggio. La percentuale di successo di questa tecnica è altissima: viene correttamente segnalato il 99,5% dei messaggi di spam, mentre la percentuale di falsi positivi è vicina allo zero.
Come qualunque altra tecnica di filtraggio dello spamming, richiede il coinvolgimento dell’utente, perché quando si giunge al famoso ultimo 5%, quello che per qualcun altro è spamming per te può essere posta corretta.
La statistica Bayesiana è una tecnica per rivedere la tua opinione man mano che acquisti delle certezze, basata su una formula semplice scoperta da Thomas Bayes.
Secondo la regola di Bayes la probabilità di A, dato B, è uguale alla probabilità di A moltiplicata per la probabilità di A, dato B, divisa per la probabilità di B. Nelle statistiche di Bayes, A è la tua ipotesi, ad esempio che un messaggio sia di posta non desiderata (spam), B è la nuova evidenza, e la formula mostra come rivedere la tua opinione sulla probabilità di A, data la nuova prova B. Il filtraggio bayesiano dei messaggi di spam apparentemente funziona molto bene, perché utilizza entrambi i tipi di test - la prova che un messaggio potrebbe essere “spazzatura” e la prova che potrebbe essere legittimo – e rivede le sue valutazioni di conseguenza, utilizzando l'input dell'utente, il tuo input.

Con questo Link potete arrivare alla pagina relativa al DownLoad del plugin per MS-Outlook (non MS-Outlook Express)

http://spambayes.sourceforge.net/windows.html

Si deve semplicemente scaricarlo ed eseguirlo.
In fondo a questa pagina si trovano brevi note per la personalizzazione del plugin caricato


Il reverendo Thomas Bayes (1702-1761)

L'attributo 'bayesiani' collega questi filtri al nome del reverendo Thomas Bayes (1702-1761), uno dei primi studiosi di teoria delle probabilità. Nel suo Essay towards solving a problem in the doctrine of chances, Bayes proponeva, nelle parole del suo amico e collaboratore Richard Price, "a method by which we might judge concerning the probability that an event has to happen, in given circumstances, upon supposition that we know nothing concerning it but that, under the same circumstances, it has happened a certain number of times, and failed a certain other number of times".

Teorema di Bayes

Supponiamo di avere in una popolazione una malattia molto rara che interessa un soggetto su 1000, purtroppo non disponiamo dei mezzi tecnici perfetti per diagnosticare questa malattia, se il soggetto è affetto dalla malattia il nostro test è in grado di evidenziare il 99%, purtroppo il test ha dei falsi positivi, cioè ci segnala che il 2% dei sani vengono diagnosticati come infetti.
Riassumendo avremo.
A =Soggetto ammalato
B = Soggetto positivo al test
Possiamo riscrivere in termini probabilistici
P(A) = 0.001 Soggetti con malattia
P(B ) = 0.99 Probabilità di avere il test positivo
P(B/non A) = Probabilità di un falso positivo
P (A/B) = Probabilità di avere la malattia con test positivo.
Possiamo dividere lo spazio in quattro eventi mutualmente esclusivi

 

A

Non A

B

A e B

Non A e B

Non B

A non B

Non A non B

Da cui possiamo ottenere

  A Non A Somma
B P (A e B) P (non A e B) P (B)
Non B P (A e non B) P (non A e non B) P (A e B)
  P (A) P (non A ) 1

Effettuiamo i relativi calcoli

P (A e B)
=
P (B/ A) P (A)
=
(0.99) *(0.001)
=
0.00099
P (non A e B)
=
P (B/non A) P (non A)
=
(0.02) (0.99)
=
0.01998

Sostituiamo i valori ottenuti nella tabella

  A Non A Somma
B 0.00099 0.01998 0.02097
Non B P (A e non B) P (non A e non B) P (A e B)
  0,001 0.999 1

Sulla base dei dati ottenuti avremo

  A Non A Somma
B 0.00099 0.01998 0.02097
Non B 0.00001 0.97902 0.97903
  0,001 0.999 1

Sulla base delle probabilità calcolate avremo

P (A/B)
=
P (A e B/Prob B)
=
0.00099 / 0.02097
=
0.0472

Osserviamo come pur disponendo di un test assai preciso otteniamo che per una percentuale del 5% elevata di FALSI POSITIVI.
Consideriamo di avere 1000 pazienti ed utilizzare i dati precedenti avremo una situazione come quella riportata.

  AMMALATI SANI TOTALE
TEST POSITIVO 1 20 21
TEST NEGATIVO 0 979 979
TOTALE 1 999 1000

Si hanno 20 falsi positivi contro un solo vero ammalato, questa situazione è chiamata il paradosso dei falsi positivi. La soluzione è quella di adottare altri test per discriminare meglio fra sani ed ammalati.
ESEMPIO
Supponiamo di avere nel campo della diagnostica la seguente situazione: un cane ha un'ulcera gastrica che corrisponde all'ipotesi Ei. Le radiografie danno una diagnosi positiva al 95% nei soggetti con ulcera e nel 5% nei soggetti sani (falsi positivi). Se il medico attribuisce all'ipotesi Ei una probabilita' a priori dell'80% la probabilita' a posteriori risulta in base al teorema di Bayes:


Personalizzazione del PlugIn SpamBayes

Dopo aver eseguito il DownLoad di SpamBayes.exe e prima di eseguirlo è bene creare una cartella all'interno di Outlook, che chiameremo ad esempio "inTest", nella quale sposteremo tutti i messaggi palesemente spam.Più sono meglio è in questo caso.

Installiamo ora il plugin SpamBayes. Durante questa installazione si attiverà automaticamente un Wizard per facilitare le cose. Confermare tutti i valori e al momento del Training occorre indirizzare la cartella di apprendimento dei messaggi Spam. Istruiamo allora SpamBayes di andare ad esaminare tutti quei messaggi che avremo preventivamente messi nella cartella "inTest".
Fatto ciò il nostro OutLook è protetto in maniera veramente incredibile contro questi messaggi noiosi.

Ma, dove vengono spostati i messaggi Spam?
Il plugin provvede, al momento dell'installazione, a creare due cartelle:
"Junk E-Mail" e "Junk Suspect" ed a aggiungere sulla barra delle icone un nuovo gruppo di icone, il cui contenuto è:

Se sono in Posta in arrivo
"Delete as Spam" serve per agire manualmente su un messaggio Spam di nuovo tipo ed annoverarlo come tale nella relativa cartella
"SpamBayes" serve per la personalizzazione di SpamBayes

Se sono invece in Junk E-Mail
"Recover from Spam" che serve per il recupero di un messaggio erroneamente messo fra le odiate eMail
"SpamBayes" serve per la personalizzazione di SpamBayes

Se infine sono nella cartella Junk Suspect le icone sono tre
"Delete as Spam" che ci permette di confermare il messaggio di tipo Spam
"Recover from Spam" toglie il messaggio dai sospetti e lo ripone nella "Posta in Arrivo"
"SpamBayes" serve per la personalizzazione di SpamBayes


Sito Creato e testato per 800*600
 

©Copyright 2000-2010 - Created by KH Computer System