Saltar al contenido

Ruta 1 · Tarea 4 de 5

Clasificación de textos

Spam o no spam. Positiva o negativa. Deportes, política o cultura. Clasificar es poner etiquetas, y es probablemente la tarea de PLN más usada y menos visible: está detrás de tu bandeja de entrada y de la moderación de cualquier red social.

Revisado: octubre de 2026

En esta página · 4 apartados

La máquina

Detecta las señales del texto asociadas a cada etiqueta y calcula la más probable.

La persona

Define qué significa cada etiqueta y revisa en qué tipo de textos falla.

Cómo lo hace

Un clasificador aprende de miles de textos ya etiquetados por personas qué señales acompañan a cada etiqueta. Ante un texto nuevo, busca esas señales y reparte probabilidades. Estas son las palabras en las que se apoya:

Míralo

De las palabras a la etiqueta

Probabilidades ilustrativas

«Me encantó el curso; la profesora explica genial.»

  • positiva91 %
  • neutra6 %
  • negativa3 %

La idea: El clasificador no lee la intención: suma señales. Cuando las señales se contradicen (ironía, atenuación, mezcla), acierta menos, y esos son justo los textos más interesantes.

Casi todos los clasificadores, desde un filtro de spam de 2005 hasta uno basado en BERT, siguen la misma receta. Lo que cambia entre generaciones es sobre todo la representación del texto:

  1. Definir las etiquetas. Qué clases existen y dónde están sus fronteras; si un texto puede tener varias etiquetas o solo una. Es trabajo lingüístico: diseñar una tipología.
  2. Anotar ejemplos siguiendo una guía y medir el acuerdo entre anotadores (por ejemplo, con la kappa de Cohen). Si dos personas no coinciden, no se puede esperar que el modelo lo haga mejor.
  3. Representar el texto. La bolsa de palabras con TF-IDF da a cada texto un vector con el peso de cada palabra, sin orden: «No me gustó nada» pierde que «no» y «nada» niegan «gustó». Un Transformer genera embeddings contextuales que sí recogen el orden.
  4. Entrenar. Con TF-IDF se usa regresión logística o SVM; con Transformers se ajusta un modelo preentrenado (como BETO o RoBERTa para español) con una capa de clasificación encima.
  5. Fijar el umbral. El modelo devuelve probabilidades, no clases. Decidir desde qué probabilidad un correo es spam es una decisión de negocio: un umbral alto deja pasar más spam; uno bajo manda correos legítimos a la papelera.

Hoy también se puede clasificar sin entrenar nada: basta con pedírselo a un modelo de lenguaje con una instrucción y, si acaso, unos ejemplos (aprendizaje con pocos ejemplos). Cambia el método; el problema de definir bien las categorías sigue igual. Es rápido para prototipar, pero más caro por consulta, menos estable y más difícil de auditar; para un volumen alto y estable, un modelo pequeño ajustado suele ganar.

Dónde falla

Un clasificador puede presumir de un 95 % de aciertos y fallar de forma sistemática en un tipo de texto. Como ese tipo es minoritario, la media lo esconde. Solo se ve al desglosar:

Míralo

El mismo clasificador, por grupos

Datos ilustrativos
  • Todas las reseñas95 %
  • Reseñas largas97 %
  • Reseñas de menos de 15 palabras78 %
  • Reseñas con ironía61 %

Por eso no basta con la exactitud. Todas las métricas salen de la matriz de confusión, que separa aciertos, falsos positivos y falsos negativos:

  • Exactitud: porcentaje de textos bien clasificados. Con clases desbalanceadas engaña: si el 95 % de los correos no es spam, un modelo que nunca marca spam tiene un 95 % y no sirve para nada.
  • Precisión: de lo que se marcó como positivo, cuánto lo era. Importa cuando el falso positivo es caro, como enviar a spam la factura de un cliente.
  • Exhaustividad (recall): de todos los positivos reales, cuántos se encontraron. Importa cuando el falso negativo es caro, como dejar sin detectar un mensaje de acoso.
  • F1 y macro-F1: media armónica de las dos anteriores; la macro-F1 promedia por clase y da el mismo peso a las minoritarias.

Los resultados se interpretan frente a una línea base sencilla (la clase más frecuente o TF-IDF con regresión logística). Cuando un modelo grande apenas la supera, el problema suele estar en las etiquetas, no en el modelo.

Lo mismo pasa con la detección de mensajes ofensivos: funciona bien con el registro estándar y peor con jergas, variedades o grupos que usan ciertas palabras de forma afectuosa. Un sistema así no es neutral: penaliza más a unos hablantes que a otros.

Las decisiones lingüísticas

La parte más difícil de clasificar textos no es técnica: es decidir las categorías. ¿Dónde acaba una «queja» y empieza una «consulta»? ¿Una reseña que elogia la comida y critica el servicio es positiva, negativa o las dos cosas?

  • Definir categorías que no se solapen y escribir guías de anotación con casos límite.
  • Anotar y medir el acuerdo entre anotadores, que dice lo ambigua que es la tarea.
  • Buscar los fallos por grupos: longitud, registro, variedad, ironía. Elegir esos grupos es análisis lingüístico.

En sistemas reales

  • pysentimiento: clasificador de sentimiento entrenado con tuits en español. Funciona bien con opiniones directas y falla de forma característica con la ironía, que invierte el sentido sin cambiar las palabras.
  • Asistentes conversacionales: los modelos generales clasifican textos sin entrenamiento específico a partir de una definición de las etiquetas. Sus resultados cambian mucho cuando cambia esa definición, lo que muestra hasta qué punto la tarea depende de cómo se formulan las categorías.