smart office

¿Cómo puedes crear un asistente de voz para Google Home?

Omnichannel

En SEIDOR Opentrends no sólo escribimos código o diseñamos para los usuarios. También estamos preparados para hablar con ellos. En este sentido, las interfaces de usuario con voz (VUI) han revolucionado las interacciones de la audiencia con los dispositivos. Pero, ¿cómo se construye un asistente de voz?

Hemos creado un concepto para Google Home que reserva salas de reuniones de manera sencilla. A continuación, os mostramos un flujo de trabajo real para conceptualizar y construir una interfaz de usuario con voz a través de la tecnología.

En SEIDOR Opentrends creamos un concepto con la aplicación Google Assistant para reservar una sala de reuniones.

Proceso

Antes de crear una aplicación de asistente de Google es imprescindible cumplir unos requisitos técnicos:

  • Una cuenta de Google para acceder a todos los servicios y herramientas.
  • Un Google Home o teléfono con el asistente / emulador de Google para probar la aplicación (Os lo pasaréis mucho mejor con un Google Home al realizar tests).
  • Un servidor con NodeJS donde tendremos la lógica de negocio.

Con estos elementos, empezamos a construir el asistente de voz con Google Home. Los pasos que seguimos en SEIDOR Opentrends fueron los siguientes:

  1. Conceptualización del Asistente
  2. Diseño del tono de voz
  3. Diseño del árbol conversacional
  4. Configuración del entorno
  5. Construir con Dialogflow
  6. Construir el servidor para gestionar la lógica de negocio (NodeJs)
  7. Pruebas
  8. Implementación
smart office google home
Diseño
  • Co-creación para escoger el objetivo del asistente de voz
    Con la premisa de hacer la oficina más inteligente, 5 stakeholders de SEIDOR Opentrends participaron en un ejercicio para encontrar la mejor solución en torno a este concepto. Finalmente, detectamos la necesidad de mejorar la gestión para la reserva de las salas de reuniones.
  • Definición del tono de voz del bot
    En primer lugar, definimos el tono de voz del bot. A través de un análisis rápido del mercado, creamos tres posibles personalidades a las que les asignamos rasgos específicos de sus hablas: palabras clave y palabras muleta, entonación y ritmo. De esta manera, podíamos humanizar el bot y al mismo tiempo, dar consistencia para futuros evolutivos.
  • Diseño de árbol conversacional
    ¿Qué preguntas son esenciales? ¿Qué flujo de conversación es más adecuado para la usabilidad del servicio? ¿Donde podría atascarse a la hora de dar respuestas adecuadas? El árbol conversacional prevé todos los puntos de contacto entre el usuario y el bot, así como las respuestas a preguntas mal formuladas o incluso a insultos. De este modo, minimizamos al máximo los posibles errores durante el uso del asistente de voz.

Si quieres saber cómo definimos la personalidad y tono de voz de un bot o cómo construimos árboles conversacionales, en este artículo encontrarás todos los detalles.

Tecnología

En el proceso de analizar el flujo de conversación entre el usuario y Google Home para reservar una sala de reuniones, decidimos crear 2 acciones: los usuarios pueden reservar una sala directamente o preguntar qué sala de reuniones está disponible. El flujo comienza cuando el usuario despierta la aplicación mediante la expresión "Ok Google, hablar con reservar salas". Con ello, Dialogflow detecta que es una "welcome intent" y solicita al servidor la respuesta correcta. Por su parte, el asistente de Google es la parte que detecta la voz y transcribe el mensaje de voz a texto y viceversa.

Cuando diseñamos chatbot o VUIs, hablamos de "intents" y de "entities". El "intent" es la intención del usuario. Identificar el "intent" significa averiguar qué es lo que quiere el usuario cuando interactúa con un bot. Una "entity" actúa como una variable que modifica un "intent".

smart office

Usamos DialogFlow para crear la aplicación que recibirá el mensaje y averiguar el intent y con ello, la mejor respuesta al usuario. DialogFlow se comunicará con un servidor NodeJs que es lo que hace que la aplicación sea inteligente: el servidor devolverá el mensaje correcto dependiendo de la hora, los mensajes anteriores y la disponibilidad de las salas de reuniones.

El proceso de DialogFlow es el siguiente:

  1. Dialog Flow recibe el texto y determina a qué agente enviarlo.
  2. El agente de Dialogflow identifica el intent del usuario y los pasa al intent de DialogFlow correcto.
  3. El intent de Dialogflow utiliza entities para almacenar valores de parámetros.
  4. El intent de Dialogflow pasa la solicitud junto con las entities a Fulfilment.
  5. Fulfilment utiliza webhook para llamar al servidor.
smart office

Creamos un servidor con NodeJS donde tenemos la lógica de negocio. El servidor recibe el mensaje del usuario, algunas palabras clave y la acción (reservar o pedir información). Con esta información y el contexto de la conversación, se conecta al almacén de datos y extrae datos relevantes.

La parte final del proyecto fue probar y capacitar a la IA dentro de DialogFlow. Para ello, pedimos la colaboración de diferentes compañeros de SEIDOR Opentrends y los unimos al programa de prueba. Nuestros compañeros estuvieron un tiempo hablando con Google Home (dispositivo, teléfono o entorno de prueba). Por nuestra parte, nosotros trabajábamos en DialogFlow, el cual dispone de una sección de capacitación donde podíamos ver el historial de las conversaciones. Fue muy positivo saber cómo las personas hablan con el interfaz, pues éstas expresaban cosas que no podíamos imaginar cuando definíamos el flujo. Esto nos permitió enriquecer y agregar estas nuevas formas de preguntar o reservar sala en la aplicación.

Si te ha gustado este artículo, y estás interesado en conocer más acerca de nuestra oferta de servicios omnichannel, consulta este enlace.