Enlaces accesibilidad

Un sistema de aprendizaje automático para detectar el 'spam' en Twitter

  • Realiza un análisis estadístico del lenguaje empleado en los mensajes
  • Puede detectar los 'mensajes basura' y la manipulación de 'tendencias'
  • Actualmente es capaz de clasificar correctamente más del 90% de los mensajes maliciosos

Por
Un hombre trabajando con su ordenador.
Un hombre trabajando con su ordenador.

Las redes sociales son una fuente inagotable de información interesante pero también de basura. Al igual que sucedió en su día en el correo electrónico, los foros y los blogs, hay quienes las contaminan enviando 'mensajes basura' para manipular sus contenidos, especialmente las 'tendencias' (trending topics) o a veces simplemente con fines maliciosos, como vender productos falsos.

Ahora unos investigadores del departamento de Lenguajes y Sistemas Informáticos de la Universidad Nacional de Educación a Distancia han publicado un trabajo en el que explican cómo crear un sistema automático que separe el grano de la paja, detectando más del 90% de los mensajes basura. Su trabajo se ha publicado en Expert Systems with Applications [puede leerse completo aquí: Detecting malicious tweets in trending topics using a statistical analysis of language, PDF].

Para comprobar que su fórmula funciona han recurrido a probarlo con más de 20 millones de tuits reales que han pasado por los diversos filtros y algoritmos que deciden si un mensaje es basura o no. A esos mensajes iban asociados 34.000 'tendencias' asignadas por el propio Twitter (al considerarlos los temas más relevantes del momento) y también seis millones de direcciones web, enlaces a los que se envía a la gente para que obtenga más información.

El resultado tan solo tuvo un 6% de 'falsos positivos', mientras que clasificó correctamente el 94% de los mensajes maliciosos y el 89% de los válidos. Estos porcentajes se obtuvieron después de analizar los resultados manualmente para comprobar hasta qué punto el software había acertado o fallado.

Eso básicamente quiere decir que si esta idea se implementara como una función más en los programas para leer Twitter (o lo hiciera la propia compañía) podrían eliminarse más de 9 de cada 10 mensajes basura, mientras que tan solo se perderían uno de cada 20 mensajes normales por falsos positivos.

¿Cómo funciona el sistema?

Emplea una amplia variedad de factores para decidir sobre la validez o no de cada mensaje individual. Principalmente se concentra en el análisis estadístico del contenido: el texto del mensaje y su semántica, los enlaces incluidos y el contenido de las páginas de destino. Actualmente deja a un lado el análisis de los perfiles de los autores, dado que como son fáciles de crear con datos falsos no parecen aportar mucho a la solución del problema.

De este modo si la tendencia del momento es un término relacionado con un músico famoso pero aparecen mensajes que no hablan de él, sus canciones o su música, ese tuit ganará 'puntos negativos' de cara a ser considerado basura. Lo mismo si los enlaces a los que apunta no están relacionados con las palabras de la 'tendencia' en cuestión, o incluso si lleva a sitios que venden productos farmacéuticos, una de las formas más típicas del spam.

El resultado es que mediante el análisis estadístico del contenido de los mensajes se puede decidir en tiempo real sobre su autenticidad o no, con un nivel de fiabilidad comparable a la de otros sistemas equivalentes para otros servicios y la ventaja añadida de que no es necesario analizar las cuentas de usuario sino únicamente el lenguaje empleado. Algo así como lo que los seres humanos hacemos automáticamente cuando tras oír una afirmación pensamos aquello de "Mmm... Eso me suena mal...".