Uno de los términos usados de forma más habitual al trabajar con Dialogflow es intent. Sin embargo, no es un concepto fácil de asimilar cuando comienzas a tener contacto con la herramienta para desarrollar asistentes virtuales de Google. Por eso en este post recogemos todo lo que debes saber sobre los intents en Dialogflow.
La primera pregunta que suelen hacerse quienes comienzan a desarrollar asistentes virtuales suele ser «qué son los intents en Dialogflow». En efecto, si hay una palabra que verás repetida hasta la saciedad en tutoriales y artículos sobre Dialogflow, esa es intent. Se trata de un concepto clave a la hora de vertebrar los flujos conversacionales que se desarrollan para construir un asistente virtual, pero al mismo tiempo suele ser complicado de asimilar.
En un principio este vocablo inglés podría traducirse como «intención», aunque como te explicaremos en este post, su significado tiene ciertos matices. Una vez que hayas leído este artículo, te será mucho más sencillo entender nuestro tutorial de «Primeros pasos en Dialogflow», donde te enseñamos a crear tu primer intent.
Un poco de contexto: el cambio de interfaz
La llegada de los asistentes conversacionales ha supuesto toda una revolución no sólo por las posibilidades que ofrece, sino también por la forma de entender la interrelación entre las personas y la tecnología.
Hasta ahora teníamos contacto con los distintos softwares mediante interfaces visuales (en portátiles, tablets, smartphones…) en los que realizamos acciones, bien mediante texto escrito, algún clic u otro gesto con nuestras manos. Pero las acciones que podemos ejecutar en estas interfaces son limitadas. Están predeterminadas con antelación y, más allá de las establecidas, en pocas ocasiones el usuario puede ir más allá de lo que la propia interfaz ofrece.
Con la llegada de dispositivos que procesan el Lenguaje Natural, esos límites desaparecen. Para empezar no existe un marco físico determinado por un hardware. Además, a través de la voz –o del texto conversacional– las posibilidades para el uso del asistente son prácticamente infinitas. Esto incide, a su vez, en cómo ha de estructurarse la información para luego ser ofrecida.
- Interfaces tradicionales. El contenido se estructura en función de los intereses de quien lo produce. En la mayoría de las ocasiones, se busca dirigir la visita para conseguir objetivos o hitos determinados.
- Altavoces inteligentes y asistentes virtuales. La conversación es la que marca la estructura en el caso de los asistentes virtuales, siendo el interlocutor el que la dirige. Para estructurar la información es necesario anticiparse a las acciones que puede iniciar una persona al interactuar con el asistente.
Pero, ¿cómo anticiparnos a las demandas? ¿Cómo organizar el contenido para poder resolver las necesidades de quienes acuden a un asistente? La clave está en agrupar los contenidos en torno a intents.
Qué son intents en Dialogflow
El primer error que cometemos al acercarnos a los conceptos básicos de Dialogflow es el de traducir de manera literal. Así, tendemos a relacionar intent con el vocablo español “intención”. Sin embargo, en nuestra lengua la “intención” es “una cosa que una persona piensa o se propone hacer” o también la idea que subyace a “cierta acción o comportamiento”.
Por su parte, el término intent alude más bien al objetivo a alcanzar, a aquello que esperas recibir del asistente, más que a la propia intención del usuario. Es muy similar a la idea de “intenciones de búsqueda” en el ámbito del SEO.
En su buscador, Google organiza los resultados de búsqueda según estas “intenciones de usuarios” que tal como categoriza Iñaki Huerta en su blog podrían ser tres:
- Know: el objetivo es conocer; se busca responder a una pregunta concreta.
- Do: el fin último es el de realizar una acción: una compra, una reserva, una descarga…
- Find: no sólo se trata de encontrar localizaciones físicas (mapas) sino también aquellas empresas o sitios web de los que sabemos su nombre pero no su site.
De una forma similar a cómo Google aglutina sus resultados en función de lo que una búsqueda pretenda conseguir, la información que contenga Dialogflow ha de agruparse en intents.
Una vez que se inicia una nueva conversación, Dialogflow buscará el intent más adecuado para satisfacer dicha necesidad. Cada agente puede aglutinar varios intents, con los que poder manejar una conversación completa.
Además, al definir los intents no solo incluimos en Dialogflow las frases que pueden venir por parte de los usuarios (Training phrases), sino también las respuestas (responses) de nuestro asistente virtual.
Tipos de intents
Dialogflow diferencia los siguientes tipos de intents:
- Predeterminados. Al iniciar un nuevo proyecto en Dialogflow, éste crea dos intents de forma automática:
- Default welcome intent o Intent de Bienvenida que activa el inicio de la conversación con el agente, bien mediante un evento o al encontrar coincidencia con alguna de las frases de entrenamiento.
- Default Fallback Intent o Intent de Resguardo. En este caso aparece cuando el agente no reconoce la expresión utilizada por el interlocutor.
- Básicos. Contienen los elementos esenciales: frases de entrenamiento, acción, parámetros y respuestas.
- Complejos. Además de los componentes básicos pueden contener “contexto” y “eventos”.
Elementos de un intent
Un intent, básico o complejo, se compone de varios elementos. Principalmente podemos distinguir:
- Frases de entrenamiento. Posibles formulaciones que puede plantear el usuario y con las que la consola buscará coincidencias una vez que se inicia una nueva conversación para identificar el intent pertinente. Seleccionar bien las frases resulta vital para el entrenamiento: no se trata de introducir todas las posibles formulaciones, sino de aquellas representativas. Por ello es recomendable contar con un equipo de lingüística computacional que realice una selección de calidad.
- Acción. Será lo que Dialogflow active ante la coincidencia de una formulación de usuario e intent registrado.
- Parámetros. Son aquellos valores que Dialogflow extrae de la expresión del interlocutor. Gracias a estos datos estructurados, la consola puede realizar acciones lógicas y generar respuestas. Al iniciar un entrenamiento en Dialogflow necesitarás configurar los parámetros para que éste extraiga bien los datos.
- Respuestas. Aquello que Dialogflow devolverá al usuario final. En este apartado nos centraremos más adelante.
A esto se le unen otros elementos que se añaden a los intent complejos:
- Contexto. En la mayoría de nuestras interacciones entre personas necesitamos información adicional para entender frases polisémicas o ambiguas. De la misma forma, Dialogflow también requiere de datos añadidos para identificar el intent que corresponde.
- Eventos. Los eventos son acciones que activan el asistente virtual sin necesidad de que el usuario haya iniciado la conversación de manera proactiva.
Más elementos en Dialogflow
Como has podido comprobar, los Intents en Dialogflow son fundamentales, pero no son los únicos elementos del engranaje de un asistente virtual. Junto a ellos hay otros imprescindibles como las training phrases, las entities y las responses, de las que te hablaremos en próximos post.
Además, existen otros muchos términos esenciales para entender cómo funciona el software de Google para crear asistentes. Por eso te recomendamos que eches un ojo a las diferentes entregas de nuestro Glosario de Dialogflow.