Tabla de contenidos
Introducción
Para desarrollar un asistente virtual con una interfaz de voz, se requieren cuatro elementos clave. El primero es el reconocimiento de voz, también conocido como reconocimiento automático de voz o Speech-To-Text. Gracias a este servicio el input en voz del usuario se pasa a texto, convirtiéndose en la información que tomamos del usuario para entender qué necesita.
El segundo es la salida al punto de contacto del usuario. En este caso, la conversión sería al contrario: de texto a voz, ya que es el formato en el que el usuario está interactuando. Y preferiblemente un discurso que suene natural. Esto también se conoce como prueba de voz o síntesis de voz.
Estos dos elementos deben tener una latencia baja, preferiblemente menos de 300 milisegundos. También requiere estar capacitado.
Los dos elementos restantes son sinónimos de agentes conversacionales basados en texto; gestión de diálogos y comprensión del lenguaje natural. Rasa es la vanguardia en lo que respecta a estos dos elementos.
Una segunda configuración utiliza el NLP de Jarvis y solo se basa en Rasa para la gestión de diálogos.
La segunda configuración de la aplicación de demostración Jarvis & Rasa es donde Jarvis realiza el procesamiento del lenguaje natural.
Actualmente, los modelos ASR, NLU y TTS están disponibles en NVIDIA Jarvis. Capacitado en miles de horas de datos de voz.
En la hoja de ruta de Jarvis hay otros elementos cognitivos como la visión por computadora. El componente de visión incluye actividad de labios, detección de mirada, detección de gestos y muchas cosas más.
Oí hablar de este tema por primera vez en Fjord Design & Innovation, donde se refirieron a algunos de estos elementos como un fenómeno llamado velocidad facial.
Face Speed es las señales y sugerencias que captamos de los gestos, las expresiones faciales y la actividad de los labios.
Al incorporar estos elementos en tu hoja de ruta, Jarvis está listo para convertirse en un verdadero agente conversacional, siguiendo las señales de la apariencia del hablante.
Lo que hace que esta colaboración entre NVIDA y Rasa sea tan atractiva es que es la combinación de dos entornos tecnológicos que se necesitan mutuamente tanto como se complementan entre sí.
Esta es una vía para habilitar el habla a un asistente digital Rasa.
Configuración del entorno
En el artículo de Medium que escribí sobre cómo comenzar en el entorno de NVIDIA Jarvis, encontrarás una guía paso a paso para configurar una instancia de máquina virtual utilizando AWS EC2. El costo siempre es una consideración si solo estás experimentando, especialmente si el pago se realiza en una moneda diferente.
La instancia EC2 también se puede iniciar y detener para ahorrar costos.
Los túneles SSH funcionan de maravilla al acceder a las URL en la máquina virtual, y recuerda que la latencia es un problema cuando se prueba el agente conversacional en voz.
¿Por qué Rasa?
Rasa es una solución de marco de chatbot completa para cualquier implementación donde la entrada del usuario no sea la voz. Por lo tanto, la entrada de texto incluye componentes conversacionales como botones, enlaces, etc.
Cabe señalar que, desde la perspectiva de la IA conversacional, Rasa tiene todas las características y elementos necesarios.
Estos son algunos de los elementos que contribuyen a que Rasa sea una buena opción para el entorno NVIDIA Jarvis:
- Gratis para descargar y usar.
- Marco de chatbot contenido y completo.
- Arquitectura abierta para la integración.
- Instalar en cualquier lugar.
La adición que Rasa requiere para estar habilitado para voz son:
- Reconocimiento automático de voz (también conocido como Speech-To-Text).
- Síntesis de voz (también conocida como Text-To-Speech).
Seré negligente en no mencionar que la capacidad de PNL de Jarvis es significativa y, en consecuencia, también lo son los dos enfoques arquitectónicos mencionados al principio. No tiene por qué ser una elección entre el NLU / P de Jarvis o Rasa. Los dos se pueden usar en conjunto y complementarse entre sí.
Una secuencia de eventos de Voicebot con la funcionalidad Jarvis y Rasa maximizada.
La secuencia básica de eventos muestra cómo se puede aprovechar el poder de Jarvis NLP y la capacidad NLU de Rasa, especialmente para entradas más largas.
Un último pensamiento sobre por qué Rasa, Rasa es actualmente el único marco conversacional de fuerza industrial que emplea el aprendizaje automático para la gestión de sus diálogos; lo que actualmente en la mayoría de los casos es una máquina de estado en otros sistemas. Con la visión de Rasa de desaprobar la clasificación de intenciones y también el diálogo (o script de bot), la flexibilidad coincide con la visión de Jarvis.
Ejecutando la demo
Para ejecutar la demostración y también validar su instalación, sigue las instrucciones paso a paso que se encuentran aquí. Hay dos modos para ejecutar el agente conversacional, uno es con Rasa NLU y el otro con Jarvis NLP.
El agente conversacional se sirve en https: // [IP de host del servidor de chatbot de jarvis]: 5555 / JarvisWeather, y parece una versión reducida de lo que ves en los videos de demostración oficiales.
Ejemplo de una pequeña charla con la demostración de chat de NVIDIA Jarvis utilizando Jarvis ASR, STT y Rasa NLU, State Management
Arriba hay un ejemplo de una pequeña charla con el agente conversacional. Las instrucciones de demostración proporcionan pautas para un cuadro de diálogo de prueba.
Ejemplo de integración de API meteorológica con la demostración de chat de NVIDIA Jarvis utilizando Jarvis ASR, STT y Rasa NLU, State Management
Para ejecutar el bot meteorológico, asegúrate de agregar la clave API meteorológica en tu configuración de Jarvis. Tuve problemas con la acción de Rasa Weather para extraer la clave, así que la codifiqué directamente:
(rasa) root@156ggcbd3bg9:/workspace/samples/rasa-chatbot/rasa-weatherbot/actions# vim weather.py
También necesitarás configurar la red para que funcione la demostración. Hay dos ubicaciones en la base de código que deben configurarse para la comunicación entre servicios:
rasa-chatbot/rasa-weatherbot/endpoints.yml
y…
rasa-chatbot/config.py
El acceso al agente conversacional a través de un navegador en mi máquina está habilitado con una configuración de túnel SSH al puerto 5555 en la AMI.
Conclusión
NVIDIA Jarvis ha definido un roadmap ambicioso para convertirse en un asistente de voz integrado con capacidades visuales y de voz. No se hará justicia a las habilidades de Jarvis a través de un medio como una llamada telefónica. La clave está en su integración en dispositivos inteligentes o de Smart Home con audio y visión.
Como se mencionó, las callabilities de Jarvis NLP son astutas y la gestión del estado se puede facilitar dentro de Jarvis. La integración a los asistentes digitales de base de texto existentes le será muy útil a Jarvis.