Básico6 min de lecturaActualizado
Qué es un clasificador de texto y cómo decide
Un clasificador de texto lee una frase y devuelve una probabilidad para cada categoría. Cómo se construye, qué significa la puntuación y dónde se equivoca.
La idea en una frase
Un clasificador de texto es un programa que lee un texto y dice a qué categorías pertenece. Un filtro de spam es un clasificador con dos categorías (spam, no spam). Un modelo de moderación es un clasificador con varias: tóxico, insulto, odio, amenaza, contenido sexual, autolesión, etc.
De las reglas al aprendizaje
Los primeros clasificadores eran listas de reglas: «si el mensaje contiene esta palabra, bloquéalo». Son rápidos y fáciles de explicar, pero fallan en dos direcciones:
- se les escapa todo lo que no está en la lista (un insulto nuevo, una errata, otro idioma);
- bloquean mensajes inocentes que contienen por casualidad una palabra de la lista («la orca asesina», una cita, una broma entre amigos).
A un clasificador de aprendizaje automático no se le dan reglas. Se le dan miles de ejemplos con la respuesta correcta, escrita por personas, y aprende solo qué patrones importan. Por eso puede reconocer un insulto que nunca ha visto, en una frase escrita de una forma que nadie había previsto.
Lo que devuelve: una puntuación, no un veredicto
Para cada categoría el clasificador devuelve una probabilidad entre 0 y 1:
| Mensaje | toxic | insult | threat |
|---|---|---|---|
| «qué partidazo esta noche» | 0.01 | 0.00 | 0.00 |
| «eres un idiota» | 0.98 | 0.97 | 0.01 |
| «te voy a destrozar en la final 😄» | 0.12 | 0.03 | 0.08 |
Una puntuación no es una decisión. Para decidir, se compara con un umbral: por encima el mensaje se marca, por debajo no. Elegir el umbral es un equilibrio entre dejar pasar mensajes dañinos y marcar mensajes buenos, y merece su propia guía.
Varias categorías a la vez
Un mensaje puede ser un insulto y una amenaza al mismo tiempo. Los modelos de moderación suelen ser multietiqueta: cada categoría recibe su propia puntuación independiente, en lugar de elegir una sola ganadora. En VigiMod, por ejemplo, un insulto, un ataque de odio o una amenaza también cuentan como tóxicos.
Cómo aprende
El entrenamiento funciona más o menos así:
- El modelo lee un ejemplo y produce puntuaciones.
- Sus puntuaciones se comparan con la etiqueta puesta por personas.
- Sus números internos (los pesos) se ajustan un poco para que la próxima vez la respuesta se acerque más.
- Se repite con cientos de miles de ejemplos.
Al final el modelo no ha memorizado los ejemplos: ha construido una representación interna de lo que hace que un mensaje sea insultante, amenazante o inofensivo. Los clasificadores modernos parten de un modelo de lenguaje que ya entiende el texto en general (ver cómo leen el texto los modelos de lenguaje) y después se ajustan (fine-tuning) con ejemplos de moderación.
Dónde se equivocan los clasificadores
- Datos que nunca vieron. Un modelo entrenado sobre todo con chats en inglés es más débil en turco o coreano.
- Ejemplos sesgados. Si en el entrenamiento había pocas frases inocentes con ciertos nombres o identidades, el modelo puede asociar esos nombres con algo dañino. El sesgo tiene su propia guía.
- Falta de contexto. «Muere al final» es inofensivo solo y un spoiler en un chat sobre una serie. Los clasificadores que leen la conversación lo hacen mejor.
- Etiquetas erróneas. Si los ejemplos de entrenamiento están mal etiquetados, el modelo aprende los errores.
En la práctica
Un buen clasificador es un primer lector rápido y coherente. Puntúa cada mensaje en milisegundos, así las personas solo tienen que mirar los dudosos. Trata sus puntuaciones como indicios, elige umbrales adecuados para tu comunidad y mantén a una persona en el proceso para acciones serias como las expulsiones.
Ponte a prueba
Responde a las preguntas y comprueba tus respuestas.
Sigue aprendiendo
Míralo con mensajes reales
Prueba la demo en vivo o lee cómo funciona la API.