Como leer los datos del fichero training.dat

Diciembre 1st, 2005

Una de las ventajas de los programas de código abierto es que permiten estudiar su código, sus algoritmos y los formatos de los ficheros que utilizan. Por ello, resulta bastante sencillo hacer un pequeño programa que interprete los datos del fichero training.dat, de forma que podremos ver los valores (igual que hacíamos con el Bayes Junk Tool) o tratarlos nosotros.

Si tenemos interés en las técnicas de detección de spam, este es un fichero interesante de analizar y permite realizar fácilmente pruebas de diferentes algoritmos de detección.

Leer el resto de la entrada »

Guardado en Spam | Comentarios desactivados en Como leer los datos del fichero training.dat

Donde guarda Thunderbird los datos del spam: training.dat

Noviembre 29th, 2005

Para que Thunderbird pueda clasificar nuestros correos en spam y ham necesita tener una lista de tokens con sus probabilidades. Esta lista está inicialmente vacia y se crea entrenando a Thunderbird, es decir, diciendole cuales de nuestros mensajes son ham y cuales son spam. Habitualmente, con repetir este proceso con el correo que recibamos en tres o cuatro días el programa ya será capaz de clasificar con un alto grado de fiabilidad.

Esta lista de palabras se guarda en nuestro directorio de profile (en mi caso “c:Documents and SettingsmadelmanDatos de programaThunderbirdProfilesdefault.ph9”) en el fichero training.dat. Este fichero no es directamente visible ni editable, pero podemos tratarlo gracias a Bayes Junk Tool, una herramienta en Java que permite realizar modificaciones del fichero.

Leer el resto de la entrada »

Guardado en Spam | Comentarios desactivados en Donde guarda Thunderbird los datos del spam: training.dat

Algoritmo de detección de spam en Thunderbird

Noviembre 28th, 2005

En la nota anterior A plan for spam explicaba el algoritmo genérico que propuso Paul Graham para la detección de spam y comentaba que el de Thunderbird es una implementación ligeramente modificada de este. Veamos entonces como funciona.

El algoritmo está implementado en el fichero mozillamailnewsextensionsbayesian-spam-filtersrcnsBayesianFilter.cpp concretamente en la función classifyMessage. Para hacerlo más sencillo de entender lo pasaré a pseudo-código y lo simplificaré. En primer lugar debemos ver cuales son las variables que utiliza:

  • mGoodCount: número de mensajes ham clasificados
  • mBadCount: número de mensajes spam clasificados
  • mGoodTokens: tabla de hash de tokens ham con el número de veces que han aparecido
  • mBadTokens: tabla de hash de tokens spam con el número de veces que han aparecido

Leer el resto de la entrada »

Guardado en Spam | Comentarios desactivados en Algoritmo de detección de spam en Thunderbird

A plan for spam: detectar spam con filtrado bayesiano

Noviembre 27th, 2005

Hace ya bastante tiempo que se proponen soluciones para la detección del spam, pero una de las que más repercusión ha tenido ha sido la propuesta de Paul Graham A plan for Spam. En ella propone utilizar métodos estadísticos para calcular la probabilidad de que un mensaje sea spam o no.

Para poder utilizar estos métodos, en primer lugar es necesario tener un conjunto de mensajes de ejemplo, tanto de spam como de correo ordinario (que él denomina ham, jamón, en contraposición a spam, que además de correo basura también es una carne en lata). Estos mensajes deberán ser trozeados en tokens, trozos de texto, habitualmente palabras. Esta partición del texto es muy importante, ya que dependiendo de como la hagamos el algoritmo funcionará mejor o peor.

Leer el resto de la entrada »

Guardado en Spam | Comentarios desactivados en A plan for spam: detectar spam con filtrado bayesiano

Ejemplos de tipos de spam

Noviembre 24th, 2005

Comentaba que ultimamente la cantidad de spam no detectado por mi lector de correo es bastante alta y está creciendo. Para saber porque se está produciendo esto, voy a analizar primero las diferencias entre los mensajes de spam que son clasificados correctamente y los que no.

Una vez tengamos ejemplos de como es cada uno de los tipos de spam, estudiaremos el algoritmo de clasificación e intentaremos ver porque estos correos no se están clasificando correctamente.

Leer el resto de la entrada »

Guardado en Artículo, Spam | 1 comentario »