Crea un asistente de voz con Watson Assistant

¿Que se realizará en este tutorial?

El propósito de este tutorial es descubrir e integrar 3 servicios de Watson: Speech to Text, Text to Speech y Watson Assistant. Se creará un asistente de voz para hacer ordenes de pizza.

Objetivos de Aprendizaje

Cuando termines este code pattern serás capaz de:

  • Hacer una llamada REST API al servicio de «Watson Speech to Text»
  • Hacer una llamada REST API al servicio de «Watson Text to Speech»
  • Enviar y recibir mensajes a Watson Assistant usando REST APIs
  • Integrar 3 servicios de Watson en una aplicación web
  • Hacer un asistente de voz

Tiempo Estimado: 40 minutos

Contexto

Los asistentes son importantes para mejorar el servicio a cliente y ahorrar costos. Estos asistentes están disponibles en distintas presentaciones y formas. Una de sus ventajas es que se pueden adaptar a las necesidades de la empresa. En este tutorial adaptaremos un chatbot de acuerdo a las necesidades y así controlar el diálogo por medio de voz.

Watson Assistant

IBM Watson Assistant le permite construir su propio chatbot personalizado y desplegarlo en cualquier dispositivo, aplicación o canal. Su chatbot, que también se conoce como asistente, se puede conectar los servicios que ya utiliza el cliente para así ofrecer una experiencia unificada y atractiva de resolución de problemas a sus clientes.

Voz a Texto

La tecnología de IBM Watson Speech to Text permite la transcripción de voz rápida y precisa en varios idiomas para una variedad de casos de uso, incluídos pero no limitados a el autoservicio del cliente, la asistencia de agentes y el análisis de voz.

Texto a voz

La tecnología de Watson Text to Speech puede sintetizar texto a audio en muchos formatos, puede producir voces femeninas y masculinas para distintos idiomas y dialectos. Ofrece voces neuronales concatenativas y mejoradas. El servicio acepta texto sin formato y texto anotado en lenguaje de marcado de síntesis de voz (SSML) basado en XML.

Prerequisitos

  • Cuenta de IBM Cloud: Debe tener una cuenta de IBM Cloud para realizar este tutorial.
  • Tener Python instalado en su máquina local.

Pasos

Paso 1: Clonar el repositorio

  1. Clonar el repositorio para obtener la aplicación:
git clone https://github.ibm.com/developer-advocacy-latam/Data-Science-AI-for-beginners.git

Paso 2: Crear el servicio de Watson Assistant en IBM Cloud

  1. En el panel principal de IBM Cloud buscar «Watson Assistant» y seleccionarlo. Seleccionar Watson Assitant luego de buscarlo en el panel
  2. Seleccionar una región, escoger el plan «Lite» para tu asistente, deslizar hacia abajo para asignar un nombre y una descripción (opcional). Hacer click en Crear Seleccionar región del servidor y crear la instancia
  3. Copiar las credenciales (la API key y el URL) en un lugar seguro, se necesitarán mas tarde para correr la aplicación. Haz click en Iniciar Watson Assistant. Confirmar las credenciales y lanzar el asistente
  4. Dar click en ‘Crear Assistente’ Confirmar la creación del asistente
  5. Dar un nombre y una descripción (opcional) al asistente. Configurar el nombre del asistente a crear
  6. En la nueva página, en la sección de diálogo, dar click en Agregar skill de diálogo. Agregar una habilidad de diálogo desde el panel
  7. En la página «Add skill page», seleccionar el tab Upload Skill. Seleccionar el eschivo que está en el repositorio en: 05_ChatbotIntegration_STT_TTS_WAssistant/WA-Skill/pizza.json Confirmar la selección y subir la habilidad al proyecto
  8. Ir atrás a la página de ‘Asistentes’ y dar click en en los 3 puntos de tu asistente, seleccionar Opciones de configuración Configurar el asistente desd el panel
  9. Copiar el ID del asistente en un lugar seguro con tus credenciales anteriores, se necesitarán mas adelante. Copiar el ID del asistente que observamos en el panel de configuración

    Paso 3: Crear un servicio de Speech to Text en IBM Cloud.

  10. En el panel principal de IBM Cloud, buscar por ‘Speech to Text’ y seleccionarlo. Buscar y seleccionar Speech to Text

  11. Seleccionar una región, escoger el plan «Lite» para tu servicio y deslizar hacia abajo para asignar un nombre. Hacer click en Crear. Seleccionar la región del servidor a utilizar y el tipo de plan
  12. Ir a Manage tab y copiar las credenciales en un lugar seguro junto con las que se han guardado antes de Watson Assistant. Buscar y seleccionar las credenciales del servicio

Paso 4: Crear el servicio de Text to Speech en IBM Cloud

  1. En el panel principal de IBM Cloud buscar ‘Text to Speech’ y seleccionarlo. Seleccionar Text to Speech desde el buscador
  2. Seleccionar una región, escoger el plan ‘Lite’ para el servicio y deslizar hacia abajo para asignar un nombre. Hacer click en Crear. Seleccionar región del servidor y plan a utilizar
  3. Ir a Manage tab y copiar las credenciales en un lugar seguro junto con las que se han guardado antes de Watson Assistant. Ir a configuración del servicio y copiar las credenciales

    Paso 5: Configurar el proyecto y las credenciales

  4. En la computadora local abrir: 05_ChatbotIntegration_STT_TTS_WAssistant. Encontrar el archivo .env copy y cambiarle el nombre a .env. Renombrar la instancia

  5. Copiar las credenciales en el lugar correspondiente. Observar y copiar las credenciales de la instancia

Paso 6: Correr la aplicación

Puedes correr la aplicación directamente o crear un ambiente de pruebas. Realmente recomendamos la segunda opción.

  1. Crear un ambiente de pruebas.Nota: Si ‘python’ no funciona, probar con «python3». En caso contrario instalar python. Correr el siguiente comando en una terminal.
python -m venv testenv

2.Ahora obtenga el entorno virtual. Usar los siguientes comandos dependiendo de tu sistema operativo.

source testenv/bin/activate # Mac or Linux
./testenv/Scripts/activate # Windows PowerShell

TIP 💡 Para terminar el ambiente de pruebas use el comando ‘deactivate’.
3.Correr la aplicación.

pip install -r requirements.txt
python app.py

4.Abrir el navegador e ir a: http://localhost:8000

Paso 7: Probar la aplicación

  1. Dar click en el botón ‘Start Conversation’. Iniciar la conversación con el botón
  2. Esperar a que Watson Assistant conteste y luego empieza a grabar tu audio.

Recomendamos utilizar los siguientes diálogos:

Watson: Welcome to Pizza Topping Basic demonstration, you can order a pizza out of few selected types and sizes and add selected toppings. Ask for Help if needed.

You: Hello! What can I do here?

Watson: You can order a small, medium or large pizza. Types are Cheese, and you can add more ingredients, margherita, quatro formaggi, and vegetarian.

You: I want a medium pizza of cheese

Watson: Any extra toppings?

You: Pepperoni please

Watson: O.K., adding one extra Thank you for ordering a medium cheese pizza with pepperoni .

Detener la recepción de audio

Note: La recepción de audio puede ser un poco lenta, tenga paciencia y comience a grabar cuando Watson haya terminado de decir el diálogo.

Conclusiones

Con este tutorial pudo crear una solución para un servicio de Pizza. Sin casi ningún código, integra 3 servicios para llevar al siguiente nivel Watson Assistant. Ahora puedes crear chatbots con voz. Si desea continuar explorando todos los beneficios de estos servicios, lo alentamos a explorar los siguientes pasos.

Siguientes pasos

Para continuar explorando los servicios, puede explorar: