¿Qué es el slot tagging?
El slot tagging es el proceso de identificar y etiquetar los datos clave dentro de una frase. Dicho llanamente: es el truco con el que un sistema de procesamiento del lenguaje natural (NLP) sabe que si dices «vuelos baratos de Madrid a Lisboa el próximo viernes», te refieres a una ciudad de origen, una de destino y una fecha concreta.
Cada uno de esos datos es un slot, que funciona como una casilla en blanco que el sistema debe rellenar con el valor correcto. El «tagging» es simplemente ponerle la pegatina a cada palabra del texto.
Cada palabra recibe una etiqueta. Las que no aportan información útil para la tarea quedan sin etiquetar («—»).
La idea viene del mundo del NLU (Natural Language Understanding), la rama de la IA encargada de que una máquina entienda el contexto funcional del texto en lugar de limitarse a procesarlo de forma aislada. En el día a día del desarrollo, el slot tagging forma el núcleo duro del sistema junto con la detección de intenciones (intent detection) y la gestión de la conversación.
Llevamos décadas usando slot tagging. Las centralitas telefónicas automáticas de los 90 ya daban sus primeros pinitos con esto. Lo que ha cambiado radicalmente es la puntería: los modelos actuales basados en transformers clavan las etiquetas con un margen de error minúsculo.
Intent y slot: el dúo que mueve los asistentes
Para entender el slot tagging hay que vigilar de cerca a su socio inseparable: el intent. Van siempre de la mano.
El intent resuelve el «¿qué quiere el usuario?», mientras que el slot responde al «¿con qué datos concretos?». Si te falta el intent, no sabes qué botón pulsar. Si te falta el slot, te quedas sin los parámetros para realizar la acción.
| Frase del usuario | Intent detectado | Slots extraídos |
|---|---|---|
| «Pon una alarma para mañana a las 7» | SetAlarm |
fecha: mañana hora: 7:00 |
| «¿Qué tiempo hace en Sevilla este fin de semana?» | GetWeather |
ciudad: Sevilla fecha: fin de semana |
| «Pide dos pizzas margarita a Domino's» | PlaceOrder |
cantidad: 2 producto: pizza margarita restaurante: Domino's |
| «Reproduce Bohemian Rhapsody de Queen» | PlayMusic |
canción: Bohemian Rhapsody artista: Queen |
| «Recuérdame llamar al médico el martes a mediodía» | SetReminder |
tarea: llamar al médico fecha: martes hora: mediodía |
En las entrañas de Alexa, por ejemplo, cada skill cuenta con un modelo de interacción donde definimos qué intents acepta y qué slots necesita. El programador los diseña y el sistema de NLU los extrae al vuelo cuando el usuario habla.
Cómo funciona por dentro
BIO tagging: la notación estándar
En la trinchera técnica, el slot tagging analiza el texto palabra por palabra. El método rey es el BIO tagging (Begin, Inside, Outside), donde cada elemento recibe una de estas tres etiquetas.
Frase: "vuelos de Madrid a Lisboa el viernes"
BIO: O O B-ORIGEN O B-DEST O B-FECHA
La B- indica dónde arranca un slot, la I- marca que ese slot continúa (fundamental para nombres largos) y la O se deja para el relleno, es decir, palabras que no nos aportan nada útil para la tarea actual.
Frase: "vuelos a Nueva York el próximo lunes"
BIO: O O B-DEST I-DEST O O B-FECHA
Nota: "Nueva York" son dos palabras pero forman un único destino.
B-DEST abre la veda e I-DEST avisa de que el dato sigue ahí.
Si no separásemos el inicio (B) del interior (I), el modelo se haría un lío tremendo intentando adivinar si «Nueva York» es una sola ciudad o dos entidades independientes. El formato BIO zanja el problema de un plumazo de forma ligera y elegante.
Cómo entrenamos estos modelos
Todo arranca con una montaña de textos etiquetados a mano. Los data linguists —un puesto que conozco de cerca tras pasar cinco años evaluando modelos en Amazon Alexa— nos dedicamos a repasar miles de ejemplos para marcar al milímetro qué significa cada palabra.
Con esa base de datos pulida, alimentamos a un modelo secuencial (antes tirábamos de redes BiLSTM, ahora casi todo se monta sobre transformers) que aprende a asignar la etiqueta BIO correcta sobre la marcha. El resultado final es un motor ultraveloz que clasifica texto en milisegundos.
En mi experiencia, el 80% del éxito depende de la calidad de tus datos de entrenamiento, no del algoritmo. Si diseñas una lista de slots caótica o dejas cabos sueltos, el sistema fallará en producción por muy potente que sea el modelo. Al final, si introduces basura, obtienes basura.
El dolor de cabeza de las ambigüedades
El esquema del slot tagging parece coser y cantar sobre el papel, pero el lenguaje humano real siempre se guarda un as en la manga para complicarnos la vida.
FECHA: próximo sábado
HORA_PREFERENCIA: mañana temprano (¿cómo lo mapeamos a código de forma limpia?)
Decir «mañana temprano» no equivale a marcar una hora exacta en el reloj. Nos toca programar el sistema para decidir si capturamos ese bloque tal cual, si lo traducimos directamente a un intervalo (por ejemplo, de 06:00 a 09:00) o si pasamos de largo. Lo que he visto es que estas decisiones de diseño determinan si tu bot resolverá la papeleta a la primera o si importunará al usuario con mil preguntas de confirmación.
Tampoco hay que perder de vista las frases incompletas: «¿Y para volver el domingo?». Ahí te quedas sin origen ni destino explícitos. El slot tagging por sí solo se queda corto aquí; necesitas un gestor de diálogo que recuerde de qué veníais hablando. Pero eso da para otro post entero.
Casos reales de uso
Amazon Alexa
Alexa confía en un entramado de NLU denominado Alexa Meaning Representation Language (AMRL), que unifica la detección de intents y la extracción de slots en un mismo proceso. Si le pides «Alexa, pon un temporizador de 10 minutos», el sistema atrapa el slot duration, lee «10 minutos» y lo convierte internamente a 600 segundos antes de enviarlo al servidor.
La lista global de intents y slots de Amazon maneja miles de variantes cuando sumas todas las áreas: música, domótica, compras, la previsión del tiempo... Cada una cuenta con sus propios valores permitidos y sus flujos de conversión de datos.
Google Assistant y Siri
Mismo perro con distinto collar. Google Assistant recurre a su propio motor de reconocimiento de entidades, que persigue el mismo fin práctico. Por su parte, Siri utiliza su capa de NLU organizada en los llamados «SiriKit domains», donde cada categoría acota sus propios intents y parámetros operativos.
Rasa y Dialogflow en entornos de empresa
Si has trasteado alguna vez montando un bot con Rasa o Dialogflow, has hecho slot tagging sin darte cuenta. En la interfaz de Google (Dialogflow) prefieren llamarlo «parámetros de entidad», mientras que en Rasa usan el término «slots» a secas dentro de sus archivos de configuración. La lógica de fondo no cambia un ápice.
# Así definimos un slot en el entorno de Rasa
slots:
ciudad_destino:
type: text
influence_conversation: true
fecha_viaje:
type: any
influence_conversation: true
¿Qué pasa con los LLMs modernos?
Esta es la gran pregunta que ha puesto patas arriba el sector. Y la realidad es directa: los modelos grandes de lenguaje no operan igual, pero atacan el mismo problema.
Modelos como GPT-4 o Claude no necesitan que les configures una lista cerrada de slots. Gracias a su entrenamiento masivo, entienden qué datos importan según el contexto de la conversación. Si le planteas a ChatGPT «¿qué vuelos hay de Madrid a Roma la semana que viene?», no ejecuta un proceso BIO tradicional; deduce las variables clave al vuelo.
Personalmente, creo que uno de los enfoques más prácticos hoy en día consiste en usar los LLMs precisamente como recolectores de slots mediante instrucciones estructuradas. Le pasas un texto, le pides que te devuelva un objeto JSON con los campos limpios y tienes un extractor flexible sin necesidad de entrenar un modelo propio desde cero.
Instrucción para el LLM:
"Extrae los siguientes datos de esta consulta en JSON:
origen, destino, fecha, num_pasajeros.
Consulta: 'necesito dos billetes de Barcelona a Berlín para el 15 de julio'
Respuesta del modelo:
{
'origen': 'Barcelona',
'destino': 'Berlín',
'fecha': '2026-07-15',
'num_pasajeros': 2
}
Aun así, la ingeniería de slot tagging clásica sigue vivita y coleando en proyectos reales donde la velocidad de respuesta, el presupuesto y el control estricto importan. Los LLMs ofrecen una flexibilidad brutal, pero consumen más recursos y a veces sufren de cierta inconsistencia. En el día a día profesional, lo habitual es cruzar ambos mundos: un LLM maneja la conversación general y un extractor tradicional se asegura de clavar los datos críticos sin fallar.
¿Hacia dónde caminamos?
La brújula apunta hacia sistemas integrados donde las fronteras entre detectar intenciones, extraer variables y gestionar los turnos de palabra acaban desapareciendo. Los modelos de IA multimodales resuelven las tres tareas a la vez de forma sobresaliente, sobre todo ante frases largas y enrevesadas. Sin embargo, en sectores con normativas rígidas o donde no te puedes permitir ni un milisegundo de retraso —piensa en la banca, el entorno médico o sistemas críticos—, el slot tagging clásico seguirá al pie del cañón durante bastantes años.
Preguntas frecuentes
¿Qué es el slot tagging en inteligencia artificial?
Es el método que emplea un motor de NLU para localizar y etiquetar los datos esenciales dentro de una petición de texto. Transforma palabras sueltas en una estructura limpia —habitualmente pares de clave-valor— que el software de fondo puede procesar directamente.
¿Para qué sirve exactamente?
Básicamente, evita que los bots y asistentes operen a ciegas. Sin el slot tagging, tu asistente sabría perfectamente que tu intención es «configurar una alarma», pero sería incapaz de leer qué hora o qué día de la semana le has pedido.
¿Qué diferencia hay entre intent y slot?
El intent define el objetivo general del usuario (la acción que busca activar). El slot recoge los datos concretos que requiere el sistema para no cometer errores. Identificar un intent sin slots es como saber que un cliente quiere reservar una mesa pero no saber para cuántas personas ni a qué hora. Los slots rellenan esos huecos.
¿Los LLMs como ChatGPT usan slot tagging?
No lo hacen de forma nativa ni con etiquetas BIO. Analizan el texto en un único proceso integrado. Sin embargo, en desarrollo es habitual usarlos como extractores mediante prompts diseñados para devolver datos estructurados, combinando lo mejor de ambos enfoques.
¿Hace falta saber programar para trabajar con esto?
No siempre, depende de tu meta. Un perfil de data linguist —que se encarga de diseñar qué slots hacen falta y de etiquetar los textos de entrenamiento— no necesita escribir código en su rutina. Un ingeniero de NLP que ensamble la arquitectura de la red sí lo necesita. Son dos perfiles distintos que se compenetran en el equipo.
El slot tagging es uno de esos engranajes invisibles que sostienen la experiencia de usuario. Cada vez que le pides algo a un dispositivo y ejecuta la orden limpia a la primera, hay un extractor trabajando en segundo plano. No hay trampa ni cartón, es simplemente buena ingeniería de datos. Y ahora ya sabes cómo se maneja por dentro.