28 de Diciembre, 2004

Los filtros bayesianos y los falsos positivos

Aunque parezca que hay dos casos distintos, estrictamente no es así. Un falso positivo es, en general, cuando un correo que no es spam se toma como tal. El resto son falsos negativos ;).

Bueno, el problema es que ningún sistema de filtrado es 100% efectivo. Así que si todos, más o menos, están por debajo de un razonable 10% con una tasa de falsos negativos de un 5%, eso podría significar perder 10 correos de cada 100 (o 100 de cada 1000), las matemáticas no fallan... pero la estadística puede jugar malas pasadas.

Esos valores pueden no ser significativos. Siempre dependerán de lo que es para nosotros spam y qué es ham. No se puede asumir que tendremos una pérdida de 10 correos cada 100, porque probablemente no sea cierto.

Si nuestro filtro está correctamente entrenado, cuando un correo que tiene la estructura de lo que hemos clasificado como spam, sus cabeceras son similares, las palabras, etc; parece spam, pero no lo es. ¿Qué factor no tenemos en cuenta? El fondo, algo que por ahora no puede tratar un filtro bayesiano (que se queda en el análisis de la forma).

Así que en realidad el filtro bayesiano no se equivoca, en realidad el correo es el problema.

Ahora habría que valorar cuantos correos de ese 10% son injustamente clasificados como spam, porque, insisto, si el filtro está adecuadamente entrenado, los electroduendes no hacen de las suyas.

Algún motivo tendrá esta disertación, ¿no? Si filtramos el correo entre spam y ham, pero nos vemos obligados a revisar el clasificado como spam a la caza de falsos positivos, ¿qué sentido tiene todo el esfuerzo de clasificar?

Los falsos negativos son molestos, pero le damos un toque de atención al filtro y mejoramos su entrenamiento. Probablemente no vuelva a pasar. Pero la realidad de los falsos positivos es otra, aunque tengamos una directorio con el spam marcado para revisarlo, luego nadie lo hace. No es práctico.

Así que mi conclusión es que, insisto, una vez llegado a un nivel aceptable de efectividad, bien merece la pena perder algún correo de vez en cuando, que además probablemente parece spam, y recuperar la utilidad de eso que llamamos correo electrónico.

Anotación por Juan J. Martínez.

Hay 4 comentarios

Gravatar

Brrr segundo intento de mandar el comentario.

Decía que si te aburres, podrías escribir un post contando los pasos para instalar el bogofilter, que el del otro día te quedó muy genérico.

por Goatse, en 2004-12-28 18:38:11

Gravatar

Tengo el artículo casi a punto, solo me falta darle un poco de forma.
A ver esa inventiva... seguro que un título se te ocurre (instalación bogofilter, guía bogofilter, o algo así :D).

por Juanjo, en 2004-12-28 18:41:48

Gravatar

... nunca sé que poner, y lo dejo para el final en todo lo que escribo.

Mmm no puede ser ni con "Returns" ni con "La venganza" porque es el primero...

Bueno, a lo que yo volvía ¡pero como pones las ips así por las buenas en los comentarios!?!? Si quieres que nos cortemos de hacer chorradas aprovechando el anonimato, haz como en osnews:

[i]hehe
By Kevin (IP: ---.oc.oc.cox.net) - Posted on 2004-12-28 10:12:30[/i]

(El nombre del host pero quitando un trocito)

Si usas PHP... vale, jeje, este fichero se llama 415.php así que imagino que lo usas... deberia ser algo como esto (de cabeza, perdón por las erratas):

$host = explode(".",gethostbyaddr($ip));
$host[0]="???";
echo implode(".",$host)."\n";

por Goatse, en 2004-12-28 19:13:42

Gravatar

Ya me lo habían requerido un par de veces, pero es la primera que me aportan código :o
A partir de ahora enmascaro parte de la IP, aunque yo sigo teniendo esa IP, y no me da miedo utilizarla :D
Seguro que te puedes esforzar en buscar un buen título. Más o menos como yo me esfuerzo en no borrar los (pocos) comentarios que me ponen :P

por Juanjo, en 2004-12-28 19:35:51

Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 30 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.