Empresas de todos los tamaños buscan desarrollar Voicebots para automatizar las llamadas de servicio al cliente o las interacciones de ventas basadas en la voz. Estos bots pueden ser versiones de voz de los chatbots existentes o bots basados exclusivamente en la voz. Si bien los chatbots automatizan las transacciones rutinarias en la web, a muchos usuarios les gusta poder usar la voz (aplicación o teléfono) cuando es conveniente.
Un cuadro de diálogo de un robot de voz consta de varias interacciones, en las que una sola interacción normalmente implica 3 pasos:
- La expresión hablada de una persona que llama o un cliente se convierte en texto
- La intención se extrae del texto transcrito
- El siguiente paso de la conversación se determina en función de la intención extraída y del estado/contexto actual de la conversación.
Para el primer paso, los desarrolladores utilizan una plataforma de conversión de voz a texto para transcribir la expresión hablada en texto. El ASR o reconocimiento automático de voz es otro término que se utiliza para describir el mismo tipo de software.
Cuando se trata de extraer la intención del discurso del cliente, normalmente utilizan un motor de NLU. Esto es comprensible porque a los desarrolladores les gustaría reutilizar el flujo de diálogo o los turnos de conversación programados en su aplicación Chatbot para su Voicebot.
Una segunda opción es usar Gramáticas del discurso que coinciden con la expresión hablada y le asignan un significado (intención). Esta opción no está muy de moda hoy en día, pero las gramáticas de voz se han utilizado con éxito en los sistemas IVR de telefonía que permitían la interacción de voz mediante ASR.
Este artículo explora ambos enfoques para crear Voicebots.
El enfoque de la NLU
La mayoría de los desarrolladores actuales utilizan el enfoque NLU como opción predeterminada para los pasos 2 y 3. Los motores de NLU más populares incluyen Flujo de diálogo de Google, Microsoft LUIS, Amazon Lex y también cada vez más un marco de código abierto como RASA.
Un motor de NLU ayuda a los desarrolladores a configurar diferentes intenciones que coincidan con las frases de entrenamiento, especificar los contextos de entrada y salida que están asociados a estas intenciones y definir las acciones que impulsan los turnos de conversación. Este método de desarrollo es muy poderoso y expresivo. Te permite crear bots que sean verdaderamente conversacionales. Si usas NLU para crear un chatbot, generalmente puedes reutilizar la lógica de su aplicación para un Voicebot.
Sin embargo, tiene un inconveniente importante. Es necesario contratar desarrolladores de lenguaje natural altamente cualificados. Diseñar nuevas intenciones, gestionar los contextos de entrada y salida, las entidades, etc., no es fácil. Dado que se necesitan desarrolladores expertos, el desarrollo de bots con NLU es caro. No solo es caro de construir, sino que también es costoso de mantener. Por ejemplo, si quieres añadir nuevas habilidades al bot que superen su conjunto inicial de capacidades, modificar los contextos no es un proceso fácil.
El enfoque de NLU de Net-net es una muy buena opción si (a) quieres desarrollar un bot sofisticado que pueda soportar una experiencia verdaderamente conversacional (b) puedes contratar e involucrar a desarrolladores de PNL expertos y (c) tienes los presupuestos adecuados para desarrollar dichos bots.
El enfoque de la gramática del habla
Un enfoque que se utilizó en el pasado y que parece haberse olvidado en estos días es el uso de Gramáticas del discurso. Las gramáticas se utilizaron ampliamente para crear IVR de voz tradicionales basados en telefonía desde hace más de 20 años, pero la mayoría de los desarrolladores web y de PNL no las conocen.
La gramática de un discurso proporciona una lista de todos los enunciados que se pueden reconocer o, más comúnmente, un conjunto de reglas que pueden generar los enunciados que se pueden reconocer. Esta gramática combina dos funciones:
- proporciona un modelo lingüístico que guía al motor de conversión de voz a texto en la evaluación de las hipótesis, y
- puede atribuir un significado semántico a los enunciados de texto reconocidos.
La segunda función se logra adjuntando etiquetas a las reglas de las gramáticas. Existen formatos de etiqueta que permiten evaluar expresiones complejas en gramáticas con muchas reglas anidadas. Estas etiquetas permiten al desarrollador básicamente codificar la extracción de la intención directamente en la gramática.
Además, el paso 3, que es la gestión del flujo de diálogos y conversaciones, se puede implementar en cualquier lenguaje de programación de backend (Java, Python o Node.js). Los desarrolladores de bots de voz que dispongan de un presupuesto limitado y quieran crear un bot sencillo con pocas intenciones deberían considerar seriamente la gramática como un enfoque alternativo a la NLU.
Comparación de la NLU y la gramática del habla
Ventajas de la NLU
- La NLU se puede aplicar al texto que se ha escrito, así como al texto que proviene del motor de conversión de voz a texto. En principio, esto permite utilizar la misma lógica de aplicación tanto para un chatbot como para un voicebot. La gramática oral no es buena para ignorar el texto de entrada que no coincide con las reglas gramaticales. Esto hace que la gramática de voz no sea directamente aplicable a los chatbots, aunque se han ideado formas de permitir que la gramática del habla haga «coincidencias difusas».
- Una NLU bien entrenada puede captar las intenciones correctas en situaciones más complejas que una gramática oral. Sin embargo, tenga en cuenta que algunas de las técnicas de la NLU se pueden utilizar para generar automáticamente gramáticas con etiquetas que podrían ser más adecuadas para el rendimiento de la NLU.
Ventajas de las gramáticas
- El reconocimiento de la intención de la NLU puede verse afectado si la conversión de voz a texto no fue 100% correcta. Hemos visto informes en los que la precisión combinada de voz a texto y NLU es muy baja (hasta tan solo el 70%) en algunos casos de uso. Las gramáticas del habla, por otro lado, se utilizan como modelo lingüístico al evaluar las hipótesis del habla. Esto permite que el reconocedor siga pronunciando las intenciones correctas incluso cuando la frase hablada no coincida exactamente con la gramática; el resultado del reconocimiento será menos fiable, pero seguirá siendo utilizable.
- Las gramáticas de voz son fáciles de crear y usar. Además, no es necesario integrar el sistema NLU con el sistema de conversión de voz a texto. Todo el trabajo puede ser realizado por el motor Speech-to-Text
Nuestra recomendación
Voicegain es uno de los pocos motores de conversión de voz a texto o ASR que admite ambos enfoques.
Los desarrolladores pueden integrar fácilmente el amplio vocabulario de voz a texto de Voicegain (API de transcripción) con cualquier motor NLU popular. Una ventaja que tenemos aquí es la capacidad de generar múltiples hipótesis, cuando se utiliza el modo de salida de árbol de palabras. Esto permite hacer múltiples coincidencias entre las intenciones de la NLU para las diferentes hipótesis de voz con el objetivo de determinar si existe un consenso en la NLU a pesar de las diferencias en la producción de voz a texto. Este enfoque puede ofrecer una mayor precisión.
También ofrecemos nuestro Reconocer la API y API de devolución de llamadas de RTC ; ambos son compatibles con la gramática del habla. Los desarrolladores pueden codificar el flujo o diálogo de la aplicación del robot de voz en cualquier lenguaje de programación de fondo: Java, Python o Node.Js. Tenemos un amplio soporte para protocolos de telefonía como SIP/RTP y admitimos WebRTC.
La mayoría de los demás motores STT, incluidos Microsoft, Amazon y Google, no admiten gramáticas. Esto puede tener algo que ver con el hecho de que también están intentando promocionar sus motores de NLU para aplicaciones de chatbots.
Si estás creando un Voicebot y te gustaría tener una conversación sobre el enfoque que más te conviene, no dudes en obtener en contacto con nosotros. Puede enviarnos un correo electrónico a info@voicegain.ai.