Un sistema de diálogo hablado ( SDS ) es un sistema informático capaz de conversar con un ser humano mediante la voz. Tiene dos componentes esenciales que no existen en un sistema de diálogo de texto escrito : un reconocedor de voz y un módulo de texto a voz (los sistemas de diálogo de texto escrito suelen utilizar otros sistemas de entrada proporcionados por un sistema operativo). Se puede distinguir además de los sistemas de voz de comando y control que pueden responder a solicitudes pero no intentan mantener la continuidad en el tiempo.
Componentes
- Un reconocedor automático de voz (ASR) decodifica el habla y la convierte en texto. Los reconocedores específicos de dominio se pueden configurar para un lenguaje diseñado para una aplicación determinada. Un reconocedor "en la nube" será adecuado para dominios que no dependan de vocabularios muy específicos.
- La comprensión del lenguaje natural transforma un reconocimiento en una estructura conceptual que puede impulsar el comportamiento del sistema. Algunos enfoques combinan el reconocimiento y el procesamiento de la comprensión, pero se cree que son menos flexibles, ya que la interpretación debe codificarse en la gramática.
- El gestor de diálogos controla el comportamiento paso a paso. Un sistema de diálogo sencillo puede plantear preguntas al usuario y luego actuar en función de la respuesta. Estos sistemas de diálogo dirigidos utilizan una estructura en forma de árbol para el control; los sistemas basados en marcos (o formularios) permiten cierta iniciativa del usuario y se adaptan a diferentes estilos de interacción. Los gestores de diálogos más sofisticados incorporan mecanismos para tratar los malentendidos y las aclaraciones.
- El razonador de dominio, o más simplemente el back-end, utiliza una base de conocimiento para recuperar información y ayuda a formular respuestas del sistema. En sistemas simples, puede ser una base de datos a la que se realizan consultas utilizando información recopilada a través del diálogo. El razonador de dominio, junto con el administrador de diálogo, mantiene el contexto de interacción y permite que el sistema refleje algunas habilidades conversacionales humanas (por ejemplo, utilizando anáforas).
- La generación de respuestas es similar a la generación de lenguaje natural basada en texto , pero tiene en cuenta las necesidades de la comunicación hablada. Esto puede incluir el uso de construcciones gramaticales más simples, la gestión de la cantidad de información en cualquier enunciado de salida y la introducción de marcadores prosódicos para ayudar al participante humano a absorber la información con mayor facilidad. Un diseño de sistema completo también introducirá elementos de sincronización léxica , para alentar al usuario humano a favorecer determinadas formas de hablar, lo que a su vez puede mejorar el rendimiento del reconocimiento.
- La síntesis de texto a voz (TTS) convierte un enunciado deseado en voz. Según la aplicación, la TTS puede basarse en la concatenación de material pregrabado producido por profesionales de la voz. En aplicaciones más complejas, la TTS utilizará técnicas más flexibles que se adapten a vocabularios amplios y que permitan al desarrollador controlar el carácter ("personalidad") del sistema.
Variedades de sistemas
Los sistemas de diálogo hablado varían en su complejidad. Los sistemas de diálogo dirigido son muy simples y requieren que el desarrollador cree un gráfico (normalmente un árbol) que gestione la tarea, pero puede que no corresponda a las necesidades del usuario. Los sistemas de acceso a la información, normalmente basados en formularios, permiten a los usuarios cierta flexibilidad (por ejemplo, en el orden en que se especifican las restricciones de recuperación o en el uso de restricciones opcionales), pero sus capacidades son limitadas. Los sistemas de diálogo para la resolución de problemas pueden permitir a los usuarios humanos participar en una serie de actividades diferentes que pueden incluir el acceso a la información, la construcción de planes y la posible ejecución de estos últimos.
Algunos ejemplos de sistemas incluyen:
- Acceso a la información: Clima, horarios de trenes, cotizaciones bursátiles, asistencia de directorio.
- Transaccional: consultas de tarjetas de crédito y bancos; compra de entradas.
- Mantenimiento: Soporte técnico incluyendo acceso a la documentación y pruebas de diagnóstico.
- Tutoría: Para educación, como física o matemáticas, y aprendizaje de idiomas.
- Entretenimiento y charlas
Historia
Pioneros en sistemas de diálogo son empresas como AT&T (con su sistema de reconocimiento de voz en los años setenta) y los laboratorios CSELT , que lideraron algunos proyectos de investigación europeos durante los años ochenta (por ejemplo SUNDIAL) tras finalizar el proyecto DARPA en EEUU.
Referencias
El campo de los sistemas de diálogo hablado es bastante amplio e incluye investigación (presentada en conferencias científicas como SIGdial e Interspeech) y un gran sector industrial (con sus propias reuniones como SpeechTek y AVIOS).
Los siguientes puntos pueden ser una buena introducción técnica:
- Michael F. McTear, Tecnología de diálogo hablado
- Gabriel Skantze, Manejo de errores en sistemas de diálogo hablado , 2007: capítulo 2, Sistemas de diálogo hablado.
- Pirani, Giancarlo, ed. Algoritmos y arquitecturas avanzadas para la comprensión del habla. Vol. 1. Springer Science & Business Media, 2013. ISBN 978-3-540-53402-0