En este artículo explicaremos como crear un bot en dialogflow para tu hotel, y cómo los chatbots de hoteles pueden mejorar la experiencia de los clientes a través del aprendizaje automático. Los chatbots están desempeñando un papel cada vez más importante en las operaciones del hotel como impulsar las reservas directas y ayudar a los agentes de recepción a automatizar las solicitudes y consultas repetitivas de los clientes.
Para empezar nos dirigimos al sitio web https://dialogflow.cloud.google.com
Haga clic en Create Agente, asigne un nombre y después hagaclic en Create
En este ejemplo crearemos un intent de bienvenida, mostraremos un menú para informar al cliente de las opciones en las que el bot le podrá ayudar, el menú mostrará lo siguiente.
El cliente podrá escribir el número correspondiente a cada opción
Intent de Bienvenida
Para definir este intent de bienvenida modificaremos el que dialogflow nos genera por defecto, para esto haga clic en el intent Default Welcome Intent
En la respuesta definimos nuestro menú
Agregaremos una segunda respuesta con el mensaje “Escribe el número de la opción”
Para esto haga clic en Add Responses > Text Response
Escribimos la segunda respuesta y hacemos clic en Save
Antes de continuar creando intents para nuestro bot introduciremos el concepto de Entidades en dialogflow
Default Fallback Intent
Esta intención es la que se mostrará cuando el bot no entienda lo que el cliente escribe, esta intencion es creada por defecto en dialogflow y la modificaremos para mostrar nuestro menú al cliente
Por defecto la respuesta está así
Y la modificaremos agregando algunas respuestas con nuestro menú
Hacemos clic en Save para guardar nuestro intent
Entidades en dialogflow
En Dialogflow se conoce como entidad al concepto o palabra clave al que se le asigna un valor, de manera que se puede identificar la solicitud de un usuario para emparejarla con un intent. Las entidades suelen coincidir con categorías como ubicación, nombre, fecha, cantidad…
Estos parámetros que extrae Dialogflow también reciben el nombre de tipos de entidad y alude al tipo de información que es necesario extraer de la solicitud del usuario.
Existe una serie de entidades predeterminadas (o entidades de sistema) que detectan las coincidencias más comunes. Pero también se pueden crear entidades personalizadas que se ajusten a los datos concretos que atenderá el asistente virtual.
Por otro lado, cada tipo de entidad puede contener a su vez varias “entradas de entidad”, es decir, aquellas palabras o frases que pueden considerarse equivalentes. Cuando esto ocurre, es necesario asignar un valor de referencia que incluya algunos sinónimos.
Para este ejemplo crearemos la entidad TipoHabitacion y definiremos algunos tipos de habitación para hotel
Para crear una entidad haga clic en Entities y haga clic en Create Entity
Asignamos un nombre a nuestra entidad y agregamos los nombres de las habitaciones con sus sinónimos como se muestra en la siguiente imagen
Haga clic en Save para guardar la entidad
Una vez creada nuestra entidad seguimos creando nuestros intents
Intent Quiero reservar
Para crear el intent Quiero reservar haga clic en Crear intent o haga clic en el símbolo +
Asignamos un nombre a nuestro intent y hacemos clic en Add Training phrases para empezar a agregar nuestras frases de entrenamiento
Agregaremos algunas frases de entrenamiento para activar nuestro intent, dado que en el anterior intent mostramos un menú al cliente debemos recibir la respuesta del cliente, para esto agregaremos frases de entrenamiento con las posibles respuestas del cliente, para este intent el cliente puede digitar el número 1 o la frase Quiero reservar, por lo tanto estas serán 2 de las frases de entrenamiento
El menú que mostramos en el anterior intent es el siguiente
Además de las dos frases de entrenamiento agregaremos parámetros requeridos a nuestro intent
Un parámetro es un valor que Dialogflow extrae de la expresión del interlocutor. Gracias a estos datos estructurados, la consola puede realizar acciones lógicas y generar respuestas.
Los parámetros que agregaremos van a ser los datos requeridos para la reserva, por ejemplo, nombre del cliente, fecha de reserva, etc. Estos parámetros seran requeridos de manera obligatoria para poder crear la reserva de manera exitosa.
Para agregar estos parámetros en nuestras frases de entrenamiento haremos lo siguiente:
Escribimos el nombre del parámetro, en este caso el primero va a ser el nombre del cliente, despues lo seleccionamos y dialogflow nos mostrará las entidades a las cuals podremos asociar este parámetro, para este caso del nombre del cliente lo asociaremos con la entidad @given-name como se muetsra en la siguiente imagen
Esta entidad hará que este campo lo asocie a un nombre, para que sea obligatorio nos dirigimos a la seccion Action and Parameters y marcaremos la casilla Required
Una vez marcada la casilla Required vamos a definir una pregunta para solicitar este parámetro al cliente, para esto hacemos clic en Define prompts
Se abrirá una ventana para agregar la pregunta, podremos agregar varias preguntas pero dialogflow escogerá una al azar
Una vez agregada la pregunta o indicación para el parámetro hacemos clic en Close
En la misma frase de entrenamiento agregaremos los datos necesarios para la reserva, en este caso serán: fecha_reserva, cantidad_noches, tipo_habitacion, cantidad_personas
Parámetro | Entidad | Indicación |
---|---|---|
fecha_reserva | date | ¿Para cuándo es la reserva? |
cantidad_noches | number-integer | ¿Cuántas noches deseas reservar? |
tipo_habitacion | TipoHabitacion | ¿Qué tipo de habitación deseas reservar? |
cantidad_personas | any | ¿Para cuántos adultos y cuantos niños es la reserva? |
En la seccion Action and Parameters nos queda así:
La respuesta de nuestro intent será un resumen de la reserva, para esto usaremos los datos que el usuario ha ingresado.
Para usar un parámetro en una respuesta usaremos el simbolo $ antes del nombre del parámetro, por ejemplo, si el usuario ingresa el nombre de Juan, entonces en la respuesta usaremos lo siguiente:
Hola $given-name
Y el usuario verá lo siguiente:
Hola Juan
Nuestra primer respuesta quedará así:
El cliente verá lo siguiente:
Muy bien Juan!
Este es el resumen de tu reserva:
Fecha de check in: 2022-10-01
Cantidad de noches a reservar: 3
Tipo de habitación: Sencilla
Cantidad de personas: 1 adulto
Agregaremos 2 respuestas donde indicaremos lo siguiente:
Haga clic en Save para guardar el intent
Una vez guardado nuestro intent vamos a crear el segundo punto de nuestro menú el cual es Ya tengo una reserva, este intent recibirá la petición de un cliente que ya tiene alguna reserva
Intent Ya tengo una reserva
Creamos nuestro intent, y en las frases de entrenamiento escribimos lo siguiente para activarlo:
La frase de entrenamiento con el número 2 ya que es la opción del menú para activar este intent, el cliente tambien podrá activarlo con la frase “Ya tengo una reserva”, además agregamos una frase con dos parametros obligatorios los cuales nos darán la información necesaria para la petición de la reserva
Parámetro | Entidad | Indicación |
---|---|---|
name | given-name | ¿A nombre de quién está la reserva? cuándo es la reserva? |
peticion | any | ¿Cuál es tu petición? |
Marcamos los parámetros como requeridos
Una vez tenemos la petición del cliente agregaremos 2 respuestas a nuestro bot
Finalmente hacemos clic en Save para guardar nuestro intent
Intent Ubicación
El tercer item de nuestro menú es la ubicación del hotel
Creamos el intent y agregamos la frase de entrenamiento
Agregamos la respuesta con la dirección de nuestro hotel y además agregaremos un link de google maps de nuestra ubicación
Hacemos clic en Save para guaradar nuestro intent
Ahora creamos el último intent de nuestro menú
Intent Acerca del hotel
Creamos el intent y agregamos las frases de entrenamiento
Ahora agregamos las respuestas con los detalles y servicios de nuestro hotel
Finalmente hacemos clic en Save para guardar nuestro intent
Ahora podremos integrar nuestro bot para hotel a nuestra cuenta en https://web.staging.chatia.app/
Demostración del bot
Mira aquí cómo funciona el bot
Descarga el bot
Haga clic aquí para descargar
Si deseas conocer más estrategias de ventas, visita el siguiente artículo