Entrenamiento modelo

El entrenamiento con modelos acústicos ofrece grandes avances en la precisión de ASR

Este es un estudio de caso sobre el entrenamiento del modelo acústico de un motor de voz a texto/ASR basado en el aprendizaje profundo para un robot de voz que podría aceptar pedidos de comida india.

El problema

El cliente se puso en contacto con Voicegain porque experimentaba una precisión muy baja en el reconocimiento de voz para un robot de voz basado en telefonía específico para pedir comida.

El robot de voz tenía que reconocer los platos de comida india con una precisión aceptable, de modo que el diálogo pudiera llevarse a cabo de una manera conversacional natural en lugar de tener que recurrir a flujos de llamadas rígidos, como por ejemplo, enumerar una lista.

La respuesta oral la proporcionarían hablantes de origen indio del sur de Asia. Esto significaba que, además de tener que reconocer nombres únicos, el acento también sería un problema.

La precisión lista para usar de Voicegain y otros motores ASR destacados se consideró demasiado baja. Nuestra precisión fue particularmente baja porque nuestros conjuntos de datos de entrenamiento no contenían ningún ejemplo de nombres de platos indios pronunciados con un fuerte acento indio.

Con el uso de las sugerencias, los resultados mejoraron significativamente y logramos una precisión de más del 30%. Sin embargo, el 30% estaba lejos de ser suficiente.

El enfoque

Voicegain recopiló primero los datos de entrenamiento relevantes (audio y transcripciones) y entrenó el modelo acústico de nuestro ASR basado en el aprendizaje profundo. Hemos tenido mucho éxito con él en el pasado, en particular con nuestra arquitectura DNN más reciente, véase p. ej. publicación sobre el reconocimiento de los códigos postales del Reino Unido.

Utilizamos un servicio de generación de datos de terceros para recopilar inicialmente más de 11 000 muestras de expresiones de Indian Food, 75 expresiones por participante. La calidad variaba mucho, pero eso es bueno porque creemos que refleja bien la calidad del audio que se encontraría en una aplicación real. Más tarde, recogimos 4600 muestras adicionales.

Entrenamos a dos modelos:

  • Un modelo «equilibrado», en el que los datos de entrenamiento de Food Dish se combinaron con nuestro conjunto de entrenamiento completo para entrenar el modelo.
  • Un modelo «centrado»: en él, los datos de Food Dish se combinaron con solo un pequeño subconjunto de nuestro otro conjunto de datos de entrenamiento.

También nos entrenamos primero en el conjunto de 10 000, recopilamos los resultados de referencia y luego nos capacitamos con los datos adicionales de 5 000.

Seleccionamos al azar 12 conjuntos de 75 enunciados (un total de 894 después de eliminar algunas grabaciones incorrectas) para un conjunto de puntos de referencia y utilizamos los más de 10.000 restantes para el entrenamiento. Planeamos compartir aquí un enlace al conjunto de datos de prueba dentro de unos días.

Los resultados: ¡una mejora del 75% en la precisión!

Comparamos nuestra precisión con la de Google y Amazon AWS antes y después del entrenamiento y los resultados se presentan en el siguiente gráfico. La precisión que se presenta aquí es la precisión de reconocer el entero nombre del plato correctamente. Si se reconocía erróneamente una de las varias palabras del nombre de un plato, se consideraba que no se había reconocido el nombre del plato. Aplicamos la misma metodología si se reconocía una palabra adicional, excepto aquellas que podían ignorarse fácilmente, por ejemplo, «a», «el», etc. También permitimos variaciones razonables en la ortografía para no introducir ambigüedad, por ejemplo, se consideró que «biryani» coincidía con «biriyani».

Tenga en cuenta que las pruebas en el reconocedor Voicegain se realizaron con varias codificaciones de audio:

  • PCMU 8kHz: es un audio con calidad de telefonía
  • L16 16 kHz: se acerca más a la calidad de audio que cabría esperar de la mayoría de las aplicaciones webrtc y ofrece una mayor precisión

Además, la prueba de AWS se realizó en modo offline (que generalmente ofrece una mayor precisión), mientras que las pruebas de Google y Voicegain se realizaron en modo streaming (en tiempo real).

Hicimos un conjunto de pruebas similar con el uso de sugerencias (no incluimos AWS porque nuestro script de prueba no admitía las sugerencias de AWS en ese momento).



Esto demuestra que se pueden lograr enormes beneficios mediante el entrenamiento de modelos específicos para el reconocimiento de voz. Para este dominio, que era nuevo en nuestro modelo, aumentamos precisión de más del 75% (del 10,18% al 86,24%) como resultado de la capacitación.

Como puedes ver, tras el entrenamiento superamos la precisión de voz a texto de Google en más de un 45% (el 86,24% frente al 40,38%) si no se utilizaron sugerencias. Con el uso de sugerencias, superamos a Google STT en aproximadamente un 36% (el 87,58% frente al 61,30%).

Examinamos los casos en los que aún se cometieron errores y se clasificaron en 3 categorías amplias:

  • A las grabaciones les falta una parte final de la última palabra. Esto se debe a que el botón de detener la grabación se presionó mientras aún se pronunciaba la última palabra. La parte grabada de la última palabra generalmente se reconoce correctamente, por ejemplo, en lugar de «curry» reconocemos «cu». (Planeamos revisar manualmente los puntos de referencia establecidos y modificar los valores esperados de acuerdo con lo que se diga y, a continuación, volver a calcular los números de precisión).
  • Grabaciones de muy mala calidad, en las que el volumen del audio apenas supera el nivel de ruido de fondo. En este caso, solemos omitir algunas palabras o partes de palabras. Esto también explica por qué las sugerencias no mejoran aún más: no hay hipótesis parciales de calidad suficientes como para que las sugerencias puedan mejorar.
  • Ruido de voz de fondo fuerte. En este caso, solemos reconocer palabras adicionales más allá de lo esperado.

Pensamos que el primer tipo de problemas se puede superar entrenando con datos adicionales y eso es lo que tenemos previsto hacer, con la esperanza de conseguir una precisión cercana al 85% (para audio L16 de 16 kHz). El segundo tipo podría resolverse mediante un posprocesamiento en la lógica de la aplicación si devolvemos los valores en dB de las palabras reconocidas.

¿Interesado?

Si su aplicación de voz también tiene una precisión baja y el uso de sugerencias o modelos lingüísticos basados en texto no funciona lo suficientemente bien, el entrenamiento con modelos acústicos podría ser la respuesta. Envíanos un correo electrónico a info@voicegain.ai y podríamos hablar de la realización de un proyecto para mostrar cómo el modelo entrenado por Voicegain puede lograr la mejor precisión en su dominio.

Ganancia de voz: La IA de voz bajo tu control

Ganancia de voz: Cree aplicaciones de IA de voz con nuestras API de NLU de voz a texto y LLM. Graba y transcribe reuniones, llamadas a centros de atención al cliente, vídeos, etc. Obtén resúmenes, opiniones y mucho más basados en LLM. Cree bots de voz conversacionales que se integren con su plataforma CCaaS local o en la nube. Comience hoy mismo.

Descubre cómo funciona Voicegain — obtén una demostración de Voicegain hoy mismo.

Inscríbase hoy mismo en una aplicación
* No se requiere tarjeta de crédito.

Empresarial

¿Está interesado en personalizar el ASR o implementar Voicegain en su infraestructura?

Póngase en contacto con nosotros →
Voicegain - Speech-to-Text
Under Your Control