Punto de referencia

Conseguir una alta precisión de reconocimiento de voz en secuencias alfanuméricas: un estudio de caso con códigos postales del Reino Unido

Los desarrolladores de inteligencia artificial y aprendizaje automático que trabajan con reconocedores de voz y software ASR saben que conseguir una alta precisión en aplicaciones del mundo real en secuencias de caracteres alfanuméricos es una tarea muy difícil. Algunos ejemplos de secuencias alfanuméricas son los números de serie de varios productos, los números de póliza, los números de casos o los códigos postales (por ejemplo, en el Reino Unido y Canadá).

Algunas de las razones por las que los ASR tienen dificultades para reconocer los caracteres alfanuméricos son:

  • algunas letras suenan muy similares, por ejemplo, P y B, T y D
  • A y 8 suenan muy similares
  • las combinaciones de letras y dígitos suenan como palabras, por ejemplo, «E Z» suena como «fácil», «B 9" suena como «benigno», etc.

Otra razón por la que la precisión general es mala es simplemente que los errores se agravan: cuanto más largas sean las secuencias, más probabilidades hay de que al menos un símbolo se reconozca erróneamente y, por lo tanto, toda la secuencia sea incorrecta. Si la precisión de un solo símbolo es del 90%, la precisión de un número compuesto por 6 símbolos será solo del 53% (suponiendo que los errores sean independientes). Por eso, los principales reconocedores obtienen malos resultados en caracteres alfanuméricos. En nuestra interacción con clientes actuales y potenciales, hemos oído hablar constantemente de los desafíos a los que se han enfrentado para obtener una precisión adecuada en las secuencias alfanuméricas. Algunos utilizan el procesamiento posterior de los resultados del vocabulario extenso, en particular, si obtienen un conjunto de hipótesis. Usamos estos enfoques cuando creamos sistemas IVR como Resolvity y tuvimos que usar ASR de terceros. De hecho, nos premiaron con un patente para uno de esos enfoques de posprocesamiento.

Caso práctico: códigos postales británicos

Mientras trabajábamos en un proyecto destinado a mejorar el reconocimiento de los códigos postales del Reino Unido, recopilamos más de 9000 grabaciones de muestra de varias personas que hablaban códigos postales válidos del Reino Unido seleccionados al azar. Aproximadamente un tercio de los hablantes tenían acento británico, mientras que el resto tenía una variedad de otros acentos, por ejemplo, indio, chino, nigeriano, etc.

De ese conjunto de datos, reservamos algunos para probarlos. Los resultados que presentamos aquí provienen de un conjunto de pruebas con 250 códigos postales (pronto proporcionaremos un enlace a este conjunto de pruebas en nuestro Github). En la fecha de esta entrada de blog, Google Speech-to-Text solo había obtenido una precisión del 43% y Amazon del 58% en este conjunto de pruebas.

En Voicegain utilizamos dos enfoques que nos ayudan a lograr una alta precisión en los caracteres alfanuméricos: (a) entrenar al reconocedor con conjuntos de datos realistas que contienen secuencias alfanuméricas de muestra, (b) usar gramáticas para restringir los posibles reconocimientos. En un escenario específico, podemos usar uno u otro o incluso ambos enfoques.

Este es un resumen de los resultados que obtuvimos en el conjunto de códigos postales del Reino Unido.


Mejorar el reconocimiento con el entrenamiento con modelos acústicos

Usamos el conjunto de datos descrito anteriormente en nuestra ronda de capacitación más reciente para nuestro modelo de inglés y hemos logrado una mejora significativa en la precisión al probar un conjunto de 250 códigos postales del Reino Unido que no se usaron durante la capacitación.

  • Para el reconocimiento sin restricciones de vocabulario extenso, la precisión mejoró del 51,60% al 63,60% (una ganancia del 12%). El entrenamiento ayudó tanto a la parte acústica de nuestro modelo (por ejemplo, las letras que se saltaban en el reconocedor básico porque no estaban lo suficientemente enunciadas se recogían después del entrenamiento: el 8 se reconocía correctamente en lugar de la H, etc.) como a la parte lingüística de nuestro modelo (por ejemplo, reconocer correctamente «dos» en lugar de «para» debido al contexto)
  • Para el reconocimiento basado en la gramática (más información en la sección siguiente), la precisión mejoró del 79,31% al 84,03% (una ganancia del 4,72%). Como en el reconocimiento basado en la gramática, el modelo lingüístico está completamente definido por la gramática, la ventaja aquí era poder distinguir más matices acústicos entre varias letras y números (por ejemplo, la R larga de una persona ya no se reconoce como «A R», «L P» ahora se reconoce correctamente en lugar de «A P», etc.).

Mejorar el reconocimiento con el uso de gramáticas

El reconocedor Voicegain DNN tiene la capacidad de usar gramáticas para el reconocimiento de voz, una característica algo única entre los reconocedores de voz modernos. Admitimos los formatos gramaticales GRXML y JSGF. Las gramáticas se utilizan durante la búsqueda (no solo se aplican al resultado del reconocimiento de un gran número de vocabulario), lo que nos proporciona los mejores resultados posibles. (Por cierto, también podemos combinar el reconocimiento basado en la gramática con el reconocimiento de vocabulario extenso, consulte esta entrada de blog para obtener más detalles.)

Para el reconocimiento de los códigos postales del Reino Unido, definimos una gramática que recoge todas las formas en las que se pueden decir los códigos postales válidos del Reino Unido. Puedes ver la gramática exacta que utilizamos aquí.


El reconocimiento de códigos postales del Reino Unido basado en la gramática ofrece resultados significativamente mejores que el reconocimiento de vocabulario extenso.

  • En nuestro modelo base, antes del entrenamiento, la diferencia era del 27,71% (79,31% frente al 51,60%)
  • En el modelo entrenado, la diferencia fue menor, pero aún muy grande: 20,43% (84,03% frente a 63,60%)
  • En comparación con Amazon Recognizer, fuimos un 25,62% mejores después del entrenamiento (un 84,03% frente a un 58,40%)
¿Qué pasa si el posible conjunto de secuencias alfanuméricas no se puede definir mediante una gramática?

Nos hemos topado con situaciones en las que las secuencias alfanuméricas son difíciles de definir exhaustivamente utilizando gramáticas, por ejemplo, algunos números de serie. En esos casos, nuestro reconocedor admite el siguiente enfoque:

  • Defina una gramática que coincida con un superconjunto de secuencias válidas,
  • Utilice una tabla de búsqueda para hacer coincidir la lista conocida de secuencias válidas y probables. Por ejemplo, si se trata de números de serie y la aplicación se ocupa del registro de la garantía, podemos seleccionar un conjunto de posibles SN que quizás tengamos que reconocer.

¿Quieres probar tu caso de uso alfanumérico?

Siempre estamos listos para ayudar a los clientes potenciales a resolver sus desafíos con el reconocimiento de voz. Si su reconocedor actual no ofrece resultados satisfactorios al reconocer secuencias de caracteres alfanuméricos, inicie una conversación por correo electrónico en Correo electrónico: info@voicegain.ai. Siempre nos interesa la precisión.

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