You are currently viewing Dialogflow 17 – Mejorando el reconocimiento de la voz

Dialogflow 17 – Mejorando el reconocimiento de la voz

Hola

En este post hablé de cómo definir una entidad y la frase de entrenamiento para reconocer un DNI u otro tipo de identificador. Es muy importante tener definida una entidad custom que define la sintaxis de vuestro ID, tal y como vimos:

Y luego crear un intent que tenga esa entidad en las frases de entrenamiento. Dependiendo de qué estemos reconociendo, el motor de reconocimiento de lenguaje puede que no sea capaz de reconocerlo bien del todo, y resulta que en Dialogflow tenemos una herramienta muy potente que nos puede ayudar en este tipo de casos. 

El Auto Speech Adaptation es una opción a nivel de agente, que está desactivada por defecto, y que hace que el reconocimiento de voz se adapte a las entidades disponibles en ese momento de la conversación y sus frases de entrenamiento configuradas.

Para ubicar la conversación recuerda que utilizamos contextos, de forma que los intents con un determinado contexto de entrada solo pueden ser activados cuando ese contexto está definido, y si ese intent tiene una (o pocas) frase de entrenamiento, tal y como hicimos en el ejemplo del DNI:

También es recomendable hacer este parámetro como requerido para mejorar la detección, aunque no es como aparece en la imagen anterior.

Con esta funcionalidad activada conseguiremos mejorar la calidad del reconocimiento de voz, que intentará ajustarse al ejemplo proporcionado. Os pongo un par de ejemplos con el adaptation desactivado … la letra final no es capaz de detectarla:

Si vamos a la configuración del agente podemos activar esta funcionalidad con un solo click. 

Hay que esperar unos minutos para que empiece a funcionar, y me temo que no da información al respecto, pero podréis ver como los resultados empiezan a mejorar, y ahora la letra es detectada, puesto que es el formato de la entidad que estamos esperando:

En un caso real tendréis que hacer unos tests más exhaustivos y medir la mejora de esta funcionalidad. Ojo con la forma en la que se hace la definición de la entidad, ya que hay ciertas limitaciones, que podéis ver en la documentación, como que no se pueden utilizar puntuaciones.

También es interesante que planteéis la interacción con el usuario de forma que responda directamente con las letras y números a capturar, diciendo algo tipo “por favor dime tu DNI con todos los números y letra”, y si no se detecta correctamente podéis ayudar a reconocer los números indicando que se pronuncien de uno en uno.

Evidentemente esto solo es de utilidad cuando a Dialogflow hacemos peticiones de audio, no cuando es un chatbot de texto. Google Assistant es una excepción, ya que aunque “hablemos” con nuestro asistente, las peticiones a Dialogflow son de texto, pero también se puede dar el caso de que hagáis una integración que llame primero a la API de Speech-To-Text y luego a Dialogflow … mala idea. 

Saludos

Jamarmu

============================================================

Trabajo para Google Cloud, pero este artículo son ideas y opiniones personales

Deja una respuesta