Problema de reconocimiento de voz aún no resuelto

Desde que el aprendizaje profundo entró en la escena del reconocimiento de voz, el número de errores en el reconocimiento de palabras ha disminuido drásticamente. Pero, a pesar de todos los artículos que puede leer, todavía no tenemos reconocimiento de voz a nivel humano. Los reconocedores de voz tienen muchos tipos de fallas. Para una mejora adicional, deben asignarse e intentar eliminarse. Esta es la única forma de pasar del reconocimiento que es adecuado para algunas personas la mayor parte del tiempo, al reconocimiento que funciona para todas las personas todo el tiempo.


Mejoras en el número de palabras erróneamente reconocidas. La marcación por voz de prueba se compiló en una centralita telefónica en 2000 a partir de 40 conversaciones aleatorias de dos personas cuyo idioma nativo es el inglés

Decir que hemos alcanzado el nivel de una persona en reconocimiento de voz en conversaciones, basado solo en un conjunto de conversaciones desde una centralita telefónica, es lo mismo que decir que un robot no conduce peor que una persona, probándolo en una sola ciudad en un día soleado sin tráfico . Los desarrollos recientes en el reconocimiento de voz han sido sorprendentes. Pero las declaraciones sobre el reconocimiento de voz a nivel humano son demasiado audaces. Aquí hay algunas áreas donde aún se necesita mejorar.

Acentos y ruidos


Uno de los inconvenientes obvios del reconocimiento de voz es el procesamiento de acentos y ruido de fondo. La razón principal de esto es porque la mayoría de los datos de entrenamiento consisten en un dialecto estadounidense con una alta relación señal / ruido. Por ejemplo, en el conjunto de conversaciones desde la centralita telefónica solo hay conversaciones de personas cuyo idioma nativo es el inglés (en su mayor parte, estos son estadounidenses) con un poco de ruido de fondo.

Pero aumentar los datos de entrenamiento por sí solo probablemente no resolverá este problema. Hay muchos idiomas que contienen muchos dialectos y acentos. No es realista recopilar datos etiquetados para todos los casos. Crear reconocimiento de voz de alta calidad solo para inglés americano requiere hasta 5 mil horas de grabaciones de audio traducidas a texto.


Comparación de personas que convierten el habla en texto con Baidu's Deep Speech 2 en diferentes tipos de discurso. Las personas son peores para reconocer los acentos no estadounidenses, tal vez debido a la abundancia de estadounidenses entre ellos. Creo que las personas que crecieron en una determinada región, con un número mucho menor de errores, podrían hacer frente al reconocimiento del énfasis de esta región.

En presencia de ruido de fondo en un automóvil en movimiento, la relación señal / ruido puede alcanzar valores de -5 dB. Las personas pueden hacer frente fácilmente al reconocimiento de voz de otra persona en tales condiciones. Los reconocedores automáticos se deterioran mucho más rápido con el aumento del ruido. El gráfico muestra cuánto aumenta la separación de personas con el aumento del ruido (a baja SNR, relación señal / ruido)

Errores semánticos


A menudo, el número de palabras erróneamente reconocidas no es un fin en sí mismo en un sistema de reconocimiento de voz. Apuntamos al número de errores semánticos. Esta es la proporción de expresiones en las que reconocemos incorrectamente el significado.

Un ejemplo de error semántico es cuando alguien ofrece "reunámonos el martes" [reunámonos el martes] y el reconocedor emite "reunámonos hoy" [reunámonos hoy]. Hay errores en las palabras sin errores semánticos. Si el reconocedor no reconoció "arriba" y emitió "reunámonos el martes", la semántica de la oración no cambió.

Necesitamos utilizar cuidadosamente el número de palabras erróneamente reconocidas como criterio. Para ilustrar esto, te daré un ejemplo con los peores casos posibles. El 5% de los errores en las palabras corresponde a una palabra perdida de 20. Si hay 20 palabras en cada oración (que está bastante dentro del promedio del inglés), entonces el número de oraciones incorrectamente reconocidas se aproxima al 100%. Uno puede esperar que las palabras incorrectamente reconocidas no cambien el significado semántico de las oraciones. De lo contrario, el reconocedor puede descifrar incorrectamente cada oración incluso con el 5% del número de palabras erróneamente reconocidas.

Al comparar modelos con personas, es importante verificar la esencia de los errores y controlar no solo el número de palabras incorrectamente reconocidas. En mi experiencia, las personas que traducen el discurso en texto cometen menos errores y no son tan graves como las computadoras.

Los investigadores de Microsoft compararon recientemente los errores de personas y reconocedores informáticos de un nivel similar. Una de las diferencias encontradas es que el modelo confunde "uh" [uh ...] con "uh huh" [aha] con mucha más frecuencia que los humanos. Estos dos términos tienen una semántica muy diferente: "uh" completa las pausas, y "uh huh" significa confirmación del oyente. Además, los modelos y las personas encontraron muchos errores del mismo tipo.

Muchos votos en un canal


Reconocer conversaciones telefónicas grabadas también es más fácil porque cada altavoz se grabó en un micrófono separado. No hay superposición de varias voces en un canal de audio. La gente puede entender varios hablantes, a veces hablando simultáneamente.

Un buen reconocedor de voz debería poder dividir la secuencia de audio en segmentos dependiendo del hablante (sujeto a su diarización ). También debe dar sentido a la grabación de audio con dos voces superpuestas (separación de fuentes). Esto debe hacerse sin un micrófono ubicado directamente en la boca de cada altavoz, es decir, para que el reconocedor funcione bien y se coloque en un lugar arbitrario.

Calidad de grabación


Los acentos y el ruido de fondo son solo dos factores a los que un reconocedor de voz debe ser resistente. Aquí hay algunos más:

• Reverb en diferentes condiciones acústicas.
• Artefactos relacionados con el equipo.
• Artefactos del códec utilizado para grabar y comprimir la señal.
• Tasa de muestreo.
• La edad del hablante.

La mayoría de las personas no distinguirán por grabaciones de oído de archivos mp3 y wav. Antes de declarar indicadores comparables a los humanos, los reconocedores deben volverse resistentes a las fuentes de variaciones enumeradas.

Contexto


Puede ver que la cantidad de errores que las personas cometen en las pruebas en los registros de la central telefónica es bastante alta. Si estuviera hablando con un amigo que no entendía una palabra de cada 20, sería muy difícil comunicarse.

Una razón para esto es el reconocimiento sin contexto. En la vida real, utilizamos muchos signos adicionales diferentes para ayudarnos a comprender lo que dice la otra persona. Algunos ejemplos de contexto utilizados por personas e ignorados por los reconocedores de voz:

• Historial de conversación y tema en discusión.
• Pistas visuales sobre el hablante: expresiones faciales, movimientos de los labios.
• El cuerpo de conocimiento sobre la persona con la que estamos hablando.

Ahora el reconocedor de voz en Android tiene una lista de sus contactos, por lo que puede reconocer los nombres de sus amigos . La búsqueda por voz en los mapas utiliza la geolocalización para reducir el número de opciones posibles para las que desea construir una ruta.

La precisión de los sistemas de reconocimiento aumenta con la inclusión de tales señales en los datos. Pero recién estamos comenzando a profundizar en el tipo de contexto que podríamos incluir en el procesamiento y en los métodos de su uso.

Despliegue


Los últimos avances en reconocimiento de voz no se pueden implementar. Al imaginar el despliegue de un algoritmo de reconocimiento de voz, debe recordar los retrasos y la potencia informática. Estos parámetros están relacionados porque los algoritmos que aumentan los requisitos de energía también aumentan la latencia. Pero por simplicidad, los discutiremos por separado.

Retraso: el tiempo desde el final del discurso del usuario hasta el final de la recepción de la transcripción. Un ligero retraso es un requisito de reconocimiento típico. Afecta en gran medida la experiencia del usuario con el producto. A menudo hay un límite de decenas de milisegundos. Esto puede parecer demasiado estricto, pero recuerde que emitir el descifrado suele ser el primer paso en una serie de cálculos complejos. Por ejemplo, en el caso de la búsqueda por Internet por voz después del reconocimiento de voz, aún tiene que hacer una búsqueda.

Las capas de recurrencia bidireccional son un ejemplo típico de una mejora que empeora la situación de retraso. Todos los últimos resultados de descifrado de alta calidad se obtienen con su ayuda. El único problema es que no podemos contar nada después de pasar la primera capa bidireccional hasta que la persona haya terminado de hablar. Por lo tanto, el retraso aumenta con la longitud de la oración.


Izquierda: la recurrencia directa permite que el descifrado comience de inmediato. Derecha: la recurrencia bidireccional requiere esperar a que termine el discurso antes de decodificar.

Todavía se está buscando una buena manera de incorporar eficazmente información futura en el reconocimiento de voz.

Poder de cómputo: esta opción se ve afectada por restricciones económicas. El costo del banquete debe tenerse en cuenta para cada mejora en la precisión del reconocedor. Si la mejora no alcanza el umbral económico, no funcionará.

Un ejemplo clásico de mejora continua que nunca implementan es el aprendizaje colaborativo profundo [conjunto]. Una reducción del 1-2% en el número de errores rara vez justifica un aumento de 2-8 veces en la potencia informática. Los modelos modernos de redes recurrentes también entran en esta categoría, ya que es muy desventajoso usarlos en la búsqueda de un montón de trayectorias, aunque, creo, la situación cambiará en el futuro.

Quiero aclarar: no estoy diciendo que mejorar la precisión del reconocimiento con un aumento serio en los costos computacionales sea inútil. Ya hemos visto cómo en el pasado funciona el principio de "primero lentamente, pero con precisión, y luego rápidamente". El punto es que hasta que la mejora sea lo suficientemente rápida, no puede usarla.

En los próximos cinco años


En el campo del reconocimiento de voz todavía hay muchos problemas complejos y sin resolver. Entre ellos están:

• Expandir las capacidades de los nuevos sistemas de almacenamiento, reconocimiento de énfasis, discurso en un contexto de ruido fuerte.
• Inclusión de contexto en el proceso de reconocimiento.
• Diarización y separación de fuentes.
• Número de errores semánticos y métodos innovadores para evaluar reconocedores.
• Muy baja latencia.

Espero con interés el progreso que se logrará en los próximos cinco años en estos y otros frentes.

Source: https://habr.com/ru/post/es408017/


All Articles