Las plataformas como Google Assistant facilitan la creación de asistentes de voz personalizados (chatbots). Pero, ¿qué pasaría si quisieras crear un asistente que se ejecute localmente y garantice la privacidad de tus datos? Puedes hacerlo utilizando las herramientas de código abierto Rasa, Mozilla DeepSpeech y Mozilla TTS. Si quieres saber cómo, echa un vistazo a este tutorial.
Con plataformas como Google Assistant y Alexa que son cada vez más populares, los asistentes de voz están destinados a ser la próxima herramienta para las interacciones con los clientes en varias industrias. Sin embargo, a menos que utilices soluciones comerciales alojadas, el desarrollo de asistentes de voz viene con un conjunto completamente nuevo de desafíos que van más allá de la NLU y la gestión del diálogo; además de esos temas, debes ocuparte de la transcripción del habla a texto, componentes de texto a voz, la interfaz… Tocamos el tema de la voz hace algún tiempo cuando experimentamos con la construcción de un Google Assistant con tecnología Rasa. Aprovechar plataformas como Google Assistant elimina el obstáculo de implementar el procesamiento de voz y los frontend components, pero obliga a comprometer la seguridad de tus datos y la flexibilidad de las herramientas que utilizas. Entonces, ¿qué opciones tienes si deseas crear un asistente de voz que se ejecute localmente y garantice la seguridad de tus datos? Bueno, descubrámoslo. En este post, aprenderás cómo puedes crear un asistente de voz utilizando solo herramientas de código abierto, desde el backend hasta la interfaz.
Tabla de contenidos
Outline
Resumen de herramientas y software
El asistente de Rasa
Implementación del componente de voz a texto
Implementación del componente de texto a voz
Poniéndolo todo junto
¿Qué sigue?
Resumen y recursos
1. Herramientas y descripción general del software
El objetivo de esta publicación es mostrarte cómo puedes crear tu propio asistente de voz utilizando solo herramientas de código abierto. En general, hay cinco componentes principales que son necesarios para construir un asistente de voz:
Interfaz de voz: una interfaz que los usuarios usan para comunicarse con el asistente (aplicación web o móvil, altavoz inteligente, etc.)
Voz a texto (STT) : un componente de procesamiento de voz que toma la entrada del usuario en un formato de audio y produce una representación de texto
NLU: un componente que toma la entrada del usuario en formato de texto y extrae datos estructurados (intentos y entidades) que ayuda a comprender lo que el usuario quiere
Gestión del diálogo: un componente que determina cómo debe responder un asistente en un estado específico de la conversación y genera esa respuesta en un formato de texto
Texto a voz (TTS): un componente que toma la respuesta del asistente en un formato de texto y produce una representación de voz que luego se envía al usuario.
Si bien Rasa de código abierto es una opción bastante obvia para NLU y la gestión de diálogo, decidir sobre STT y TTS es una tarea más difícil simplemente porque no hay muchos marcos de código abierto para elegir. Después de explorar las opciones disponibles actualmente: CMUSphinx, Mozilla DeepSpeech, Mozilla TTS, Kaldi, decidimos utilizar las herramientas de Mozilla : Mozilla DeepSpeech y Mozilla TTS . Esto es porque:
Las herramientas de Mozilla vienen con un conjunto o modelos pre-entrenados, pero también puedes entrenar los tuyos usando datos personalizados. Esto te permite implementar cosas rápidamente, pero también te da toda la libertad para construir componentes personalizados.
En comparación con las alternativas, las herramientas de Mozilla parecen ser las más independientes del sistema operativo.
Ambas herramientas están escritas en Python, lo que facilita un poco la integración con Rasa.
Tiene una comunidad de código abierto grande y activa lista para ayudar con preguntas técnicas.
¿Qué es Mozilla DeepSpeech y Mozilla TTS? Mozilla DeepSpeech es un marco de voz a texto que toma la entrada del usuario en un formato de audio y utiliza el aprendizaje automático para convertirlo a un formato de texto que luego puede ser procesado por la NLU y el sistema de diálogo. Mozilla TTS se encarga de lo contrario: toma la entrada (en nuestro caso, la respuesta del asistente producido por un sistema de diálogo) en un formato de texto y utiliza el aprendizaje automático para crear una representación de audio.
Los componentes de NLU, gestión de diálogo y procesamiento de voz cubren el backend del asistente de voz, ¿qué pasa con la interfaz? Bueno, aquí es donde radica el mayor problema: si buscas los widgets de interfaz de voz de código abierto, es muy probable que termines sin resultados. ¡Al menos esto es lo que nos pasó y es por eso que desarrollamos nuestra propia interfaz de voz Rasa que utilizamos para este proyecto y estamos felices de compartirla con la comunidad!
Para resumir, aquí están los ingredientes del asistente de voz de código abierto:
Data scientist, desarrollador de inteligencia artificial conversacional y educador con la pasión por crear excelentes aplicaciones y convertir los datos en conocimientos significativos y productos innovadores. Tengo más de 5 años de experiencia en la industria en la implementación de soluciones de aprendizaje automático para diversos problemas comerciales (predicción de retención de usuarios, agrupación en clústeres, motores de recomendación, PNL, IA conversacional), consulta de datos y gestión de datos, análisis de datos, informes y visualización de datos.
Un comentario en «Cómo construir un asistente de voz con herramientas de código abierto como Rasa y Mozilla»
Este proyecto es muy interesante. Estoy intentando reproducirlo, pero quedo frenado a a cada intento y me parece que es por las versiones viejas de hace dos años.
Seria fantastico una revision al tutorial con las versiones actuales.
Este proyecto es muy interesante.
Estoy intentando reproducirlo, pero quedo frenado a a cada intento y me parece que es por las versiones viejas de hace dos años.
Seria fantastico una revision al tutorial con las versiones actuales.