bots how teach them to speak Inteligencia artificial

Cómo enseñar a hablar a un Bot con ejemplos

02/04/19 4 min. de lectura

Uno de los aspectos más importantes cuando diseñas un chatbot es enseñarle a responder de la mejor manera posible sobre los temas que sabe, es decir, hay que “enseñarle a hablar”. Antes de este post, te recomiendo: Qué es un chatbot y para qué podemos usarlo?

Cuál es el objetivo de nuestro Bot

Diseño de las conversaciones con ejemplos

Cómo conseguir que el lenguaje sea natural

Conoce a tu público

Cuál es el objetivo de nuestro Bot

Lo primero, necesitamos saber qué es lo que queremos que el chatbot responda al usuario y qué objetivos queremos conseguir con él: atención al cliente, resolver dudas, obtener información del usuario (por ejemplo: el estado de sus cuentas), gestión de reservas de servicios, etc.

Definido el objetivo, hay que diseñar la experiencia conversacional. Aquí se definen las conversaciones que va a usar el chatbot para interactuar con el usuario. Literalmente, es donde hay que enseñarle a hablar.

chatbot objective what can i help you with

Diseño de las conversaciones con ejemplos

En el diseño, una práctica recomendable es hacer esquemas, flujos completos de navegación o mapas mentales. Tienes que contemplar todos los posibles casos de la conversación, comprobar que son coherentes y que todos tienen respuestas.

Lo primero que hay que hacer en cualquier conversación es averiguar lo que está pidiendo el emisor (en nuestro caso el usuario). Tenemos que conocer su #intención. Además, hay que determinar qué parte de la pregunta o expresión del usuario son datos, también llamados @entidades. Esta información es imprescindible para poder generar correctamente la respuesta.

Dependiendo de la intención es posible que no sea necesario que haya entidades. Por ejemplo, en un saludo.

Mejor lo vemos con unos ejemplos:

#Saludo

La intención más básica es el saludo así que vamos a empezar a enseñarle a saludar. Tras crear la intención #Saludo (y darle algunas posibles respuestas como “Hola!”, “Hi”, “Hooola”), tenemos que enseñarle a que identifique cómo un usuario puede hacerle la pregunta. Esto se consigue a través del entrenamiento: le añadimos esas posibles formas en las que el usuario le puede saludar y que queremos que le responda con la intención #Saludo.

#ComprarEntradas

Vamos a complicarlo un poco. Necesitamos un bot para una página de conciertos. Además de saludarte, lo ideal sería que te ayudara a comprar entradas. Para ello, creamos la intención #ComprarEntradas. Posibles preguntas de los usuarios podrían ser: “Comprar entradas para el concierto de esta noche en Wizink Center”, “Comprar entradas para Sidonie en Madrid”. Incluso podrías decirle: “Quiero comprar 5 entradas de pista para el concierto de Beyonce en Madrid”

Aquí necesitamos algunas de las siguientes @Entidades para realizar la compra: @Evento, @Ciudad, @Dia, @TipoEntrada, @NumeroEntradas

#ReservarMesa

Ahora imagina que quieres reservar una mesa en algún restaurante.

Para que nuestro bot identifique cuál es tú intención, le enseñaremos frases como: Quiero reservar una mesa, Necesito una mesa para esta noche, Me gustaría reservar una mesa para cenar, Busco una mesa en el restaurante X…

Para estos ejemplos tendremos que crear las entidades: @Restaurante, @Fecha, @Hora, @NumeroPersonas pues #ReservarMesa es una intención que requiere de estos datos para que se pueda completar la reserva: día y la hora a la que queremos la reserva o el número de personas que serán.

Si en la expresión no vienen las entidades necesarias para dar la respuesta, el chatbot seguirá la conversación hasta que tenga los valores necesarios para completar la intención. Como en este diálogo:

  • [Usuario] Quiero reservar una mesa para mañana a las 22:00 en el Hotel Palace de Madrid

(Aquí el chatbot ya conoce: Intención: #ReservarMesa, Entidades: @Restaurante: Hotel Palace de Madrid, @Fecha: día actual + 1, @Hora: 22:00. Le falta el dato del número de personas, por lo que lo pregunta al usuario)

  • [Bot] ¿Para cuantas personas desea la mesa?
  • [Usuario] Para 4

(El bot ya tiene la entidad que le falta para la intención: @NumeroPersonas: 4)

  • [Bot] Acabo de reservar a su nombre una mesa para 4 personas, para mañana a las 22:00 en el Hotel Palace. Numero de reserva: 123456
bot conversation design example

Cómo conseguir que el lenguaje sea natural

Tras diseñar los diálogos, tenemos que simularlos con distintas personas. Así conseguiremos que la comunicación con el chatbot sea muy natural y asegurar que no nos salimos del objetivo de la conversación.

Algunos consejos para la redacción:

  • Usar lenguaje sencillo
  • Siempre en segunda persona, ya que es una conversación entre dos
  • Tutear al usuario
  • Nunca usar mayúsculas. Todos sabéis que simboliza gritar en mensajería
  • Usar el género neutro, ya que no sabemos con quién estamos conversando
  • Si el usuario pregunta varias veces cosas que el chatbot no sabe, recordarle que eres un chatbot y si es necesario redirigirle a un agente humano
  • El mensaje de bienvenida tiene que ser claro, que cumpla las expectativas del usuario y deje claro en qué le puede ayudar. Sí, el objetivo del que hablamos antes
  • Dividir mensajes largos en varios cortos
bot natural language processing

Conoce a tu público: ¿quién puede estar al otro lado?

Es necesario conocer qué tipo de usuarios van a interactuar con el chatbot. Y además, cómo lo van a hacer. Saber este dato es clave para determinar el comportamiento del chatbot y definir su personalidad. Las expresiones y el lenguaje que usará serán distintos al dirigirse a un público millennial que busca #ComprarEntradas que a clientes de seguros.

El tipo de usuario también influye en el canal por el cual va a responder el chatbot: un canal como Facebook Messenger puede estar bien para los millennials, pero para los seguros quizá es más apropiado el canal Web.

Para terminar, no olvides que un chatbot nunca deja de aprender

El bot es un sistema que requiere mejora continua y aprendizaje constante. Hay que probar las conversaciones, analizar los resultados, resolver los fallos de entendimiento, entrenar al chatbot y volver a probar.

Para concluir, recuerda siempre medir cómo está respondiendo el chatbot a las preguntas y saber la tasa de fallos. Esto ayudará a saber si las conversaciones están siendo efectivas o hay que volverlas a diseñar.

ernesto-rubio

Ernesto Rubio

Santander Global Tech

Apasionado de los nuevos retos y del trabajo en equipo. En mis ratos libres disfruto de mi familia. En el tiempo que queda soy muy friki de los aviones

 

Otros posts