← Todos los posts

Ensayo · Por Andrew Maryasov, fundador de Grow2.ai ·

Corrección de errores de reconocimiento de voz: 3 pasos

Infografía: Corrección de errores de reconocimiento de voz: 3 pasos

En diez pasos de refinamiento, el error semántico en GigaSpeech, un benchmark en inglés, cae del 21,47% al 3,49%. El Word Error Rate en el mismo conjunto, en esos mismos diez pasos, pasa del 11,92% al 10,43%.

Una transcripción, una reparación, dos métricas. La que se usa para elegir al proveedor de reconocimiento casi no notó nada.

Las dos columnas están una junto a la otra en la Table II del trabajo Agentic ASR (arXiv:2605.29430), un preprint enviado el 28 de mayo de 2026. Los autores son del laboratorio X-LANCE de la Shanghai Jiao Tong University, la Fudan University, la Universidad China de Hong Kong en Shenzhen y el equipo Tongyi Fun de Alibaba Group; de ahí la elección de modelos, porque en el experimento tanto el reconocimiento como la corrección los hacen modelos Qwen. La forma en que este trabajo repara la transcripción explica también la brecha entre las columnas.

Por qué «corrige la transcripción» falla como orden

El esquema típico sobre el reconocimiento es este: el ASR entrega una hipótesis y un modelo de lenguaje la limpia. El esquema aguanta justo mientras el usuario acepta el resultado en silencio.

El trabajo abre con una escena que reconoce cualquiera que haya hablado con un asistente de voz. Una persona pide: «Ask Megan to send me the budget file». El sistema escucha Morgan y responde con entusiasmo que se lo pedirá a Morgan. La persona objeta: «No! It's Megan». Esa intervención también pasa por el reconocimiento, y para el sistema no se distingue en nada de la anterior: es otro tramo de habla que hay que transcribir y añadir. La corrección entra en la transcripción en vez de cambiarla. En la Fig. 1 del trabajo la escena se despliega en tres columnas, y la del medio —el esquema tradicional— termina de forma elocuente: la persona pierde la paciencia y deletrea, «No! It's Megan, M-e-g-a-n», y el sistema toma exactamente esa línea y la anota como texto reconocido.

Antes de editar nada, hay que enseñarle al sistema a entender que lo que se dijo fue justamente una edición. En Agentic ASR eso es un paso aparte: el enrutamiento de intención, que asigna la intervención a una de tres categorías:

Intención

Qué hace el sistema

confirmation

deja sin cambios el estado actual de la transcripción

new input

añade la intervención como contenido nuevo

correction

edita el estado ya existente de la transcripción

Solo la tercera rama lleva al editor; las otras dos no lo activan en absoluto. Sin este paso, cualquier «no, así no» pasa a formar parte del texto.

Tres operaciones en lugar de una reescritura

Cuando la intención se clasifica como corrección, entra en juego el editor. En el trabajo, la fórmula está escrita como la composición de tres operaciones: Modify ∘ Reason ∘ Locate.

Locate localiza el fragmento que hay que cambiar. Reason deduce, a partir de la intervención y del contexto de la conversación, cuál debe ser exactamente el cambio. Modify lo aplica en el punto localizado.

Los autores formulan la elección sin rodeos: en lugar de una reescritura en un solo paso y sin control, la corrección se descompone en tres operaciones explícitas. La motivación que da el texto es que el proceso sea controlable y se ajuste a la forma en que la gente da instrucciones parciales de corrección. Nadie dicta la oración entera de nuevo cuando hay que cambiar un solo nombre.

La diferencia entre los dos enfoques es más marcada justamente en los nombres propios. Reescribir es generar: el modelo reproduce la intervención completa, incluidas las palabras que se habían reconocido bien. Un apellido poco común, el nombre de un pueblo o el código de un producto pueden deslizarse, en cada nueva pasada, hacia una forma vecina más frecuente, y así es exactamente como Megan se convierte en Morgan. La edición de un fragmento no da esa oportunidad: lo que no se tocó queda como estaba.

Para el ucraniano esto no es una abstracción. Apellidos en caso vocativo, nombres de localidades fuera de las capitales regionales, marcas comerciales en alfabeto latino dentro de una intervención en ucraniano: esa es justamente la clase de palabras en la que reescribir sale más caro.

La métrica que no ve la reparación

Junto con el framework, los autores presentan una métrica propia: Sentence-level Semantic Error Rate, S²ER. Mide la proporción de intervenciones que no conservaron el sentido que se quiso expresar: un modelo juez da una respuesta binaria, «sentido conservado / no conservado», atendiendo a la intención principal y a las unidades de sentido clave, sobre todo los nombres propios, e ignorando a propósito las muletillas, los titubeos y la puntuación.

En GigaSpeech Test, en inglés, las dos métricas se comportan así a medida que se suman pasos de refinamiento.

Paso de refinamiento

S²ER (sentido)

WER (palabras)

0 (hipótesis inicial)

21,47%

11,92%

1

12,35%

11,02%

3

7,00%

10,69%

10

3,49%

10,43%

En diez pasos, el error semántico se reduce a la sexta parte. El WER —la proporción de palabras mal reconocidas— pierde un punto y medio en ese mismo lapso. La conclusión de los autores suena seca: las métricas de forma superficial, por sí solas, subestiman considerablemente el valor práctico de la interacción.

Para que el S²ER no tuviera que aceptarse a ciegas, los autores contrastaron al juez con personas: 120 intervenciones de tres condiciones lingüísticas, 25 no expertos y 5 especialistas, protocolo binario. La correlación de Pearson entre el modelo juez y la valoración humana promediada es de 0,891 en GigaSpeech, 0,828 en WenetSpeech y 0,903 en ASRU2019, y en los tres conjuntos es algo más alta que la correlación de los propios expertos con esa misma valoración promediada.

Dos intervenciones que muestran dónde se equivoca el WER

La brecha entre las columnas se explica mejor con un par de ejemplos del propio trabajo.

Qué se dijo

Qué se reconoció

WER

Sentido

«Um, let's maybe just open the window?»

«Let's open the window?»

42,9%

conservado

«Try Qwen3-ASR to get the transcript!»

«Try Kunthreesir to get the transcript!»

16,7%

destruido

En la primera fila casi la mitad de las palabras no coincidió, y ninguna de ellas importaba, porque lo que difería eran muletillas y atenuadores. La intervención es perfectamente ejecutable. En la segunda fila hay un solo error y el WER es 2,6 veces menor, pero esa orden ya no se puede ejecutar: el nombre del modelo, que fue sustituido, es justo aquello de lo que depende la acción siguiente.

En un agente de voz que cualifica leads, el mismo mecanismo opera sobre los topónimos. Una transcripción en la que se perdieron un «ну» («bueno») y un «власне» («en realidad») no cuesta nada. Una transcripción en la que Kropyvnytskyi se convirtió en Kremenchuk envía el lead a la etapa equivocada, y desde fuera eso parece un funcionamiento impecable del sistema. La lógica de los campos de decisión, los que determinan la ruta, la analizamos en el artículo sobre dónde falla un agente de voz en ucraniano; Agentic ASR le da a esa misma idea una métrica formal y la demuestra con cifras.

Qué se traslada al ucraniano y qué no

Las mediciones se hicieron en inglés (GigaSpeech), en mandarín (WenetSpeech, AISHELL-NER) y en habla mixta inglés-mandarín (ASRU2019, CS-Dialogue). No hemos encontrado un estudio así en ucraniano; hemos revisado arXiv y las publicaciones de los propios autores. Los porcentajes no se pueden trasladar al ucraniano, pero la estructura de los resultados sí vale la pena leerla.

Condición

S²ER al inicio

S²ER tras 10 pasos

Entidad nombrada (AISHELL-NER Test)

19,91%

2,02%

Habla mixta, intervenciones leídas (ASRU2019)

28,57%

1,36%

Habla mixta, conversación espontánea (CS-Dialogue)

19,73%

4,16%

Las dos filas de arriba son exactamente las clases que hacen fallar a la telefonía en ucraniano: los nombres propios y el cambio entre idiomas. Las dos se pueden reparar.

CS-Dialogue, en la fila de abajo, es cambio de idioma espontáneo en una conversación, lo más cercano de todo el conjunto a una llamada real, y es lo que peor se corrige: el 4,16% frente al 1,36% en la condición vecina. Allí la métrica a nivel de token casi no se mueve: el 14,44% al inicio frente al 13,28% tras diez pasos. Los autores lo atribuyen a la mayor dificultad de la alternancia de código espontánea en conversación.

El surzhyk, la mezcla de ucraniano y ruso, es en una conversación telefónica justamente eso: un cambio de idioma espontáneo dentro de una misma intervención. El análogo más cercano disponible es el caso más difícil, y lo que hay que incorporar al plan es su comportamiento, no la mejor fila de la tabla.

El límite del resultado: en este experimento el usuario también es un modelo

Los diez pasos de refinamiento no los ejecuta una persona, y en los resúmenes del trabajo ese detalle es el primero en desaparecer. Los autores construyeron un Interactive Simulation System: el modelo Qwen3-32B compara la transcripción actual con la referencia y formula la corrección, e Index-TTS-1.5 la sintetiza con la voz del mismo hablante. Ese mismo Qwen3-32B funciona como tres componentes distintos: modelo corrector, generador de correcciones en el simulador de usuario y juez semántico.

Es decir, en el experimento el interlocutor ve la respuesta correcta, está siempre disponible y no se cansa de corregir diez veces seguidas. Ninguna de esas tres propiedades sobrevive al contacto con una persona real que llama a una empresa.

La conclusión práctica la dan los propios autores, y se sostiene mejor que las cifras finales: la mayor parte de la ganancia semántica llega pronto. En GigaSpeech, el primer refinamiento ya baja el error del 21,47% al 12,35%: cerca del 42% de los errores con una sola repregunta. En ASRU2019, un paso da 28,57% → 10,32%, es decir, cerca del 64%. En un escenario de producción el décimo paso no va a llegar nunca, y el primero va a llegar siempre.

Qué cambia esto en el precio y los plazos del piloto

Para el dueño del negocio, de este trabajo se desprenden tres consecuencias prácticas, y las tres afectan al presupuesto.

Primera: la prueba del reconocimiento pasa al piloto. No hay una cifra pública para la telefonía en ucraniano, así que la única cifra útil se obtiene con tus propias grabaciones: unas decenas de llamadas reales, una referencia etiquetada y varios candidatos pasados por el mismo conjunto. Son unos días de trabajo dentro del piloto, no una etapa de investigación aparte antes de él.

Segunda: el umbral de aceptación no se fija en WER, sino en la precisión en los campos de decisión y en la proporción de intervenciones en las que el sentido se conservó. La cifra umbral se acuerda antes de empezar y se convierte en el mismo KPI con el que se evalúa el piloto. Una cláusula como «precisión de reconocimiento no inferior a N%» no funciona en un contrato: no mide aquello de lo que depende la ruta del lead.

Tercera: el escenario de voz no es el piloto más barato. La voz y el multilingüismo entran en el plan Operator: desde 6000 € por un piloto de 30 días, luego desde 149 € al mes más tokens; los canales de texto empiezan con Starter, a 1800 € por 14 días y desde 49 € al mes. El piloto se paga por adelantado; si en la revisión del día 30 el KPI acordado no se ha movido, devolvemos el importe íntegro. Por eso, cuando el mismo proceso se puede probar en un chat, sale más barato empezar por el chat y añadir la voz cuando la lógica de cualificación ya esté confirmada con cifras.

Qué medir en lugar del WER

La métrica de aceptación de un agente de voz tiene que responder a la pregunta «¿se puede ejecutar lo que se escuchó?», no a «¿cuántas palabras coincidieron?».

El mínimo operativo son tres mediciones con grabaciones propias. La primera, la proporción de intervenciones en las que el sentido no se conservó: una evaluación binaria por intervención, con el mismo principio que el S²ER. La segunda, la precisión en los campos de los que depende la ruta del lead, aparte del resto de la transcripción. La tercera, la frecuencia de repreguntas y la proporción de conversaciones en las que quien llama tuvo que corregir lo mismo dos veces; este indicador capta lo que no se ve ni en el WER ni en el S²ER: el cansancio del interlocutor.

La tercera medición es la más barata y casi siempre la última de la lista, si es que alguien se acuerda de ella. Y sin embargo es la primera en mostrar el momento en que el agente aprendió a reparar la transcripción a costa de la persona que está al otro lado de la línea.

Para el dueño del negocio, todo lo anterior se reduce a una línea del presupuesto: la prueba del reconocimiento vive en el piloto, no en la compra, y el umbral de aceptación se escribe en campos de decisión, no en WER. Si el contratista está dispuesto a dejarlo fijado en el contrato, puedes dejar de leer aquí. Lo que sigue es lo que un ingeniero se lleva de este trabajo.

Para el equipo técnico: qué significa esto para la arquitectura

Tres frases del trabajo se traducen a código casi literalmente. La corrección es un paso aparte con su propio contrato, no una línea en un prompt grande: la instrucción «corrige la transcripción si hay un error» dentro de un prompt general no da ni enrutamiento de intención, ni localización del fragmento, ni control sobre lo que el modelo va a tocar. La clasificación de la intervención va antes del trabajo con el texto; de lo contrario, la objeción de quien llama se suma a la transcripción en vez de corregirla. El editor recibe un lugar, no una oración: el modelo devuelve el reemplazo para el fragmento localizado y el resto del texto queda intacto.

La cuarta decisión es más difícil, porque contradice la primera impresión que deja la tabla. Después de la fila «10 pasos, S²ER 3,49%» surge la tentación de meter en el guion un ciclo de refinamiento que siga girando hasta que el agente esté seguro de haber entendido. En una llamada real ese ciclo mata la conversación: una persona a la que le preguntan por tercera vez el nombre de la ciudad cuelga, y en los logs eso queda como una sesión técnicamente impecable. Hay presupuesto para una sola repregunta, y hay que gastarla justo después de que se haya dicho el campo crítico, mientras el contexto sigue vivo, no al final de la conversación con una confirmación conjunta de todos los campos.

Cómo encaja esto en el plan general de lanzamiento está en el checklist paso a paso para implantar en dos semanas y en la guía para directivos sobre un agente en las solicitudes entrantes. Que la capa de corrección no exime de controlar las acciones del agente lo analizamos aparte, en el artículo sobre los tres niveles de protección.

Material preparado por Andrew Maryasov, fundador de Grow2.ai, una empresa que implanta agentes de IA en procesos de negocio. Las cifras se cotejaron con el preprint arXiv:2605.29430 a 26 de agosto de 2026. ¿Necesitas evaluar un escenario de voz para tus llamadas? Escríbenos.

Fuentes

Preguntas frecuentes

¿En qué se diferencia corregir errores de reconocimiento de voz de reescribir la transcripción?

Reescribir es generar la intervención de nuevo: el modelo reproduce todo el texto, incluidas las palabras que se reconocieron bien. La corrección, en el enfoque de Agentic ASR, es una secuencia de tres operaciones: localizar el fragmento que hay que cambiar, deducir del contexto el cambio necesario y aplicarlo en ese punto. El resto de la transcripción queda intacto. Los autores lo presentan expresamente como alternativa a una reescritura en un solo paso y sin control.

¿Qué es el S²ER y para qué sirve si ya existe el WER?

El S²ER (Sentence-level Semantic Error Rate) es la proporción de intervenciones que no conservaron el sentido que se quiso expresar. La evaluación es binaria para cada intervención: un modelo juez mira la intención principal y las unidades de sentido clave, sobre todo los nombres propios, e ignora las muletillas y la puntuación. El WER mide otra cosa: la proporción de palabras mal reconocidas, sin distinguir si una palabra concreta importaba. La brecha entre ambas métricas se ve en las cifras: en diez pasos de refinamiento, el S²ER en GigaSpeech cae del 21,47% al 3,49%, y el WER, apenas del 11,92% al 10,43%.

¿Por qué el modelo sustituye los nombres propios justo al reescribir?

Porque la reescritura reproduce la intervención de nuevo en lugar de cambiar un fragmento. En cada nueva pasada, una palabra poco frecuente puede deslizarse hacia una forma parecida y más común: así es como *Megan* se convierte en *Morgan* en el ejemplo con el que abre el trabajo. La edición puntual no crea ese riesgo: las palabras que están fuera del fragmento localizado no se reescriben en absoluto.

¿Cuántos pasos de refinamiento hacen falta para corregir una transcripción?

La mayor parte de la ganancia la da el primer paso. En GigaSpeech, un solo refinamiento elimina cerca del 42% de los errores semánticos (21,47% → 12,35%); en ASRU2019, con mezcla de inglés y mandarín, cerca del 64% (28,57% → 10,32%). Los pasos siguientes mejoran el resultado, pero cada vez más despacio. Para un agente de voz eso significa prever en el guion una sola repregunta del campo crítico, justo después de que se haya dicho.

¿Funciona esto para el ucraniano y el surzhyk?

En este trabajo no hay mediciones en ucraniano: los benchmarks cubren inglés, mandarín y habla mixta inglés-mandarín. El análogo directo del surzhyk (la mezcla de ucraniano y ruso) es aquí el cambio de idioma espontáneo en una conversación (el conjunto CS-Dialogue), y es la fila más difícil de la tabla: el S²ER baja solo hasta el 4,16%, frente al 1,36% en intervenciones leídas, y la métrica a nivel de token casi no se mueve: del 14,44% al 13,28%. La mecánica vale la pena trasladarla; los porcentajes, no.

¿Se puede poner una capa de corrección sobre un modelo de reconocimiento débil?

Los autores lo comprobaron aparte, reemplazando el modelo base Qwen3-ASR-1.7B por FireRedASR2-LLM-8.3B, más potente, y por Whisper, notablemente más débil. Los tres ganaron con el refinamiento, incluido Whisper, que tras varios pasos llega a un S²ER muy inferior al del inicio. La conclusión del trabajo es que el enfoque no se limita a pulir hipótesis que ya eran buenas, sino que puede llevar un sistema de reconocimiento débil hasta una precisión semántica utilizable solo mediante la interacción.

¿Cómo probar esto con llamadas propias?

Reunir unas decenas de grabaciones reales con la distribución natural de ruido, topónimos y cambio de idioma, etiquetar la referencia y luego evaluar cada intervención de forma binaria: ¿se puede ejecutar lo que se escuchó? Aparte, calcular la precisión en los campos de los que depende el enrutamiento del lead. A los candidatos hay que compararlos con el mismo conjunto: una cifra pública medida con otro audio no entra en esa comparación.

Agentes de IA para empresas: 2–3 emails al mes

Análisis, casos y herramientas que ya funcionan dentro de empresas.

Sin spam. Puedes darte de baja en un clic.