Objetivo

El sistema desarrollado aborda la detección de spam como un problema que no solo requiere clasificar mensajes, sino también comprender su estructura interna. En lugar de limitarse a una representación textual básica, el modelo parte de una extracción de bigramas, es decir, combinaciones de dos palabras consecutivas, para capturar mejor el contexto local del lenguaje. Esto permite detectar patrones expresivos que suelen repetirse en mensajes de spam y que a menudo se perderían si solo se trabajara con palabras aisladas.

A partir de esa representación inicial, el sistema busca descubrir la organización temática del corpus. Para ello, los documentos se proyectan a un espacio más compacto mediante reducción de dimensionalidad con UMAP, lo que permite conservar relaciones de similitud entre mensajes en un entorno mucho más manejable. Esta etapa es importante porque los datos textuales suelen vivir en espacios muy dispersos y de alta dimensión, donde resulta difícil identificar estructuras útiles de forma directa.

Sobre ese espacio reducido se aplica HDBSCAN, un algoritmo de clustering basado en densidad que permite detectar grupos de documentos similares y, al mismo tiempo, distinguir ruido o mensajes que no pertenecen claramente a ningún grupo. A diferencia de métodos más rígidos, HDBSCAN puede adaptarse a clusters de distinta densidad, lo que resulta especialmente útil en un problema como el spam, donde no todos los patrones tienen la misma frecuencia ni la misma consistencia.

Una vez obtenidos los clusters, el sistema construye prototipos de cluster, que actúan como resúmenes representativos de cada grupo. Estos prototipos permiten interpretar qué caracteriza semánticamente a cada conjunto de mensajes y sirven como referencia para describir la estructura temática descubierta en el corpus. A partir de ahí, cada documento no se representa solo por sus bigramas originales, sino también por su relación con los topics o clusters detectados, generando así una capa de embeddings por documento y por topic que enriquece notablemente la descripción de cada mensaje.

La etapa final de predicción se realiza mediante XGBoost, que actúa como clasificador supervisado capaz de combinar tanto las características textuales iniciales como las nuevas señales derivadas del modelado temático, los prototipos y los embeddings. De esta forma, la decisión final no depende únicamente de la presencia de determinadas palabras, sino de una representación mucho más estructurada, en la que se integran contexto local, afinidad temática y pertenencia relativa a patrones globales del corpus. Esto dota al modelo de una mayor capacidad para discriminar entre mensajes legítimos y spam de manera robusta.

Por último, el sistema incorpora una capa de explicabilidad, con el objetivo de entender por qué el modelo toma una decisión concreta. Esta parte permite analizar qué variables, topics o señales han sido más determinantes en cada predicción, tanto a nivel global como local. Gracias a ello, el modelo no solo ofrece buenas prestaciones de clasificación, sino que también aporta transparencia, interpretabilidad y capacidad de análisis, algo especialmente valioso cuando se trabaja con sistemas automáticos que deben ser comprensibles y justificables.

TRABAJO FIN DE GRADO DE:

MARIO COLLAZO NARANJO

Experiencia Académica

  • Grado en Ingeniería Informática, Universidad Carlos III de Madrid (septiembre 2022 – septiembre 2026)

     

    Experiencia Laboral

    • Asistente de Investigación en IA – Universidad Carlos III de Madrid en colaboración con Grupo MasOrange (octubre 2025 — junio 2026)


    Habilidades técnicas

    • Lenguajes de programación: Python, Java, C++, JavaScript, Go, MATLAB

    • Bibliotecas: Pandas, NumPy, TensorFlow, Keras, Scikit-Learn

    • Desarrollo y proyectos: Spring Boot, Spring MVC, Maven
    • Bases de datos y computación en la nube: AWS, Amazon S3, Oracle, BigQuery, PostgreSQL, PL/SQL

    • Control de versiones y DevOps: GitHub, GitLab