• Blog
  • ¿Qué es Automatic Speech Recognition (ASR) y cómo funciona?

¿Qué es Automatic Speech Recognition (ASR) y cómo funciona?

9min

Hoy te explicamos qué es y para qué se usa el Reconocimiento Automático de Voz o ASR (Automatic Speech Recognition). Se trata de una tecnología muy relevante en la actualidad  y que, gracias al avance de la Inteligencia Artificial, se ha vuelto cada vez más precisa, incrementando su utilidad en distintos contextos.

Índice

Componentes básicos de un sistema Automatic Speech Recognition (ASR)

Para poder entender cómo funciona un sistema Automatic Speech Recognition vamos a repasar los componentes esenciales que lo forman.

Modelo acústico

Es el componente que se encarga de analizar las señales de audio y relacionarlas con unidades fonéticas del lenguaje.

Para construir un modelo acústico se usan redes neuronales o modelos estadísticos, ambos entrenados con miles de horas de grabaciones y sus respectivas transcripciones. Con ello el modelo consigue aprender a identificar sonidos del habla humana.

Modelo de lenguaje

Luego tenemos el modelo de lenguaje, que predice la secuencia más probable de palabras en función del contexto. Este sistema ayuda a mejorar la precisión del reconocimiento de la voz, ya que tiene la posibilidad de guiar al sistema hacia combinaciones de palabras que tienen más sentido gramatical y semántico. De este modo, permite corregir ambigüedades acústicas y mejorar la precisión del sistema de reconocimiento.

Diccionario fonético

Entre los componentes también encontramos el diccionario fonético que no es más que una base de datos que relaciona cada palabra con su secuencia de fonemas. Este diccionario permite al sistema traducir los sonidos detectados por el modelo acústico en palabras comprensibles.

Motor de decodificación

Finalmente, tenemos el motor de decodificación que es un módulo que hace las veces de controlador del sistema, combinando la información del modelo acústico, el modelo de lenguaje y el diccionario fonético Gracias a él se consigue que los sistemas del reconocimiento de voz funcionen de manera conjunta, permitiendo que el audio se pueda transcribir en texto.

Fases del proceso que realiza un sistema Automatic Speech Recognition (ASR)

Ahora que tienes claros los componentes de un sistema ASR vamos a ver cuáles son las etapas de todo el proceso de reconocimiento de voz, desde la captura del sonido hasta la generación final del texto estimado.

Captura de audio y preprocesamiento

Todo comienza mediante la captura del audio resultante de grabar la voz mediante un micrófono. Durante esta fase también se elimina el ruido, se normaliza el volumen y se realiza una segmentación de las señales relevantes, con el objetivo de facilitar el análisis.

Extracción de características acústicas relevantes

En una segunda fase se extraen las características acústicas relevantes del audio. Este paso consiste en extraer patrones basados en las frecuencias de la voz humana y para conseguirlo se usan unos coeficientes para la representación de la voz humana que se llaman MFCC (Coeficientes Cepstrales en las Frecuencias de Mel).

Reconocimiento y análisis en tiempo real

Las características acústicas extraídas en el paso anterior nos permiten evaluar las posibles secuencias de fonemas y palabras mediante cálculos que se realizan en tiempo real, en cuestión de milisegundos. Para ello el sistema se apoya en los modelos que hemos mencionado antes, que han sido previamente entrenados.

Generación del texto final y corrección lingüística

Como paso final se produce la generación del texto que tiene la transcripción del audio. En este paso es común que se realice una corrección lingüística o gramatical posterior, lo que permite mejorar todavía más la calidad del texto final, algo especialmente útil en aplicaciones como los dictados o las escrituras asistidas.

¿Para qué se utiliza el reconocimiento automático de voz?

El reconocimiento automático de la voz se usa en múltiples ámbitos, tanto en la vida cotidiana como en entornos profesionales, siendo cada vez más frecuentes. Algunos casos de uso representativos son los siguientes.

Asistentes virtuales y control por voz de dispositivos

Los asistentes virtuales que utilizamos en nuestro día a día, tales como Alexa, el asistente de Google o Siri se basan en ASR para interpretar comandos de voz. En función de los comandos reconocidos son capaces de ejecutar tareas como enviar mensajes, reproducir música o gestionar dispositivos de domótica.

Dictado de texto y escritura por voz

Las herramientas de dictado de texto también son un claro ejemplo de sistemas ASR. Son útiles para mejorar la accesibilidad de las aplicaciones y también la productividad a la hora de redactar documentos, correos o notas.

Servicio al cliente

Un lugar donde también habremos visto usar el reconocimiento de voz son los sistemas de atención al cliente. Gracias a ASR son capaces de interpretar las preguntas o respuestas del cliente y ofrecer soluciones sin intervención humana.

Transcripción de audio y contenido multimedia

Plataformas como YouTube o Vimeo usan también ASR para generar los subtítulos de los vídeos. Incluso actualmente, herramientas Google Meet son capaces de realizar de manera automática la transcripción de las reuniones, lo que facilita recordar la información conversada durante las sesiones, incluso la búsqueda dentro del contenido hablado.

Sistemas de navegación y asistencia en vehículos

Los coches actualmente también son capaces de reconocer comandos de voz para realizar acciones como llamadas de teléfono con navegación con el GPS, todo ello sin que el conductor necesite quitar las manos del volante.

Tipos de tecnología ASR

Dentro de los productos de reconocimiento del habla que utilizamos en el día a día se usan  diversos tipos de tecnologías que vamos a resumir ahora.

Diferencias entre modelos entrenados localmente y servicios en la nube

Primero debemos distinguir entre los modelos entrenados localmente y los que utilizan Internet para el procesamiento del ASR. Básicamente unos son capaces de realizar el reconocimiento sin necesidad de conexión a Internet y otros se encargan de enviar el audio a un servidor remoto para que este le entregue el texto transcrito.

Ambos modelos tienen ventajas e inconvenientes. Los modelos que están entrenados localmente se ejecutan en el dispositivo del usuario, lo que requiere una mayor capacidad de procesamiento y uso de batería. Su ventaja consiste en una menor latencia y mayor privacidad, combinada con la posibilidad de usar el sistema sin necesidad de conexión a Internet. Como desventaja suelen ser menos potentes que sus versiones en la nube.

No obstante, la mayor parte de los sistemas ASR son usados mediante el envío del audio a través de Internet y el procesamiento en la nube (como los ofrecidos por Google Assistant, Alexa, Android Auto, etc.). Lo bueno de estos sistemas es que son más potentes y no requieren actualizar los dispositivos, de modo que siempre utilizan modelos más modernos. Además, se pueden utilizar en dispositivos sin demasiada capacidad de procesamiento. Su principal desventaja es que necesitan conexión a Internet.

Reconocimiento en tiempo real vs procesamiento por lotes

En el ámbito de los sistemas ASR también encontramos variantes que son capaces de funcionar en tiempo real y otras que realizan procesamientos por lotes.

El reconocimiento en tiempo real es ideal para los sistemas que requieren respuestas inmediatas como asistentes de voz o dictados. Por su parte el procesamiento por lotes está optimizado para trabajar con grabaciones completas, lo que le permite un análisis más profundo. Es útil por ejemplo para transcripción de reuniones o la creación de subtítulos

Ventajas del uso de Automatic Speech Recognition (ASR) en distintos sectores

Las ventajas de los sistemas de ASR saltan a la vista. Al principio no eran demasiado fiables y resultaban poco útiles, incluso pesados. Sólo cabe recordar los primeros modelos de asistencia telefónica por voz y la mala experiencia que teníamos con ellos. Sin embargo gracias a la mejora de la precisión que tenemos actualmente se han introducido de una manera muy relevante dentro de nuestra vida cotidiana.

Aumento de la eficiencia y la productividad

Gracias a los sistemas de reconocimiento de voz es posible automatizar tareas repetitivas y mejorar la productividad en asuntos como la redacción de textos, tanto en documentos empresariales como simples correos electrónicos.

Incluso, gracias al reconocimiento de voz, somos capaces de escribir textos que nos llevarían bastante tiempo en dispositivos móviles, o aún más en interfaces de teclado minúsculas y muy incómodas como las de los relojes inteligentes.

Mejora de la accesibilidad e inclusión

El colectivo de personas con discapacidades visuales o motrices también ha conseguido una mejora palpable de su día a día gracias al reconocimiento de voz, eliminando barreras de comunicación o mejorando su relación con los dispositivos digitales.

Optimización del servicio al cliente y la experiencia del usuario

También resultan especialmente útiles los sistemas ASR en los call center, ya que permiten liberar el personal humano para las tareas más complejas, donde no es posible realizar una asistencia automática. Otra cosa muy útil es la posibilidad de ofrecer atención al cliente las 24 horas del día y los 7 días de la semana, algo que no estaría al alcance de la mayoría de las empresas.

Mayor seguridad y autenticación

El sistema de reconocimiento del habla también es posible para autenticar usuarios mediante características biométricas de su voz, aportando otro grado de seguridad en procesos que lo requieran.

Análisis de datos y perspectivas clave

Gracias a los sistemas ASR es posible transcribir grandes volúmenes de llamadas telefónicas o de entrevistas y reuniones. Una vez disponemos del texto transcrito es posible realizar un análisis posterior para extraer conclusiones que sería muy complicado de obtener si no existieran los sistemas de reconocimiento de voz.

¿Cuál es la diferencia entre ASR, NLP y TTS?

Dentro del ámbito del reconocimiento y sintetización de la voz existen diversas tecnologías que cumplen funciones complementarias, trabajando a menudo de manera conjunta en sistemas conversacionales de inteligencia artificial. Gracias a estos módulos es posible realizar complejos sistemas de comunicación entre humanos y máquinas.

ASR convierte voz en texto, NLP interpreta el texto y TTS lo vocaliza

Vamos a ver en resumen las tecnologías que se integran en los sistemas conversacionales.

  • ASR (Automatic Speech Recognition): como ya sabes, transforma la voz en texto escrito.
  • NLP (Natural Language Processing): es el sistema que se encarga de interpretar y comprender el significado del texto. Gracias a estos sistemas y los LLM se puede construir una salida adecuada a la entrada del usuario.
  • TTS (Text to Speech): es el sistema que consigue convertir el texto de salida en voz sintetizada para responder de forma hablada.

Cómo trabajan juntos en sistemas de IA conversacional

Como hemos dicho, cada uno de estos módulos tiene una función específica dentro de un sistema de inteligencia artificial dirigido por la voz. El flujo de estos sistemas se realiza del siguiente modo:

  1. El usuario habla a un dispositivo que tiene capacidad de captura del audio.
  2. El dispositivo usa un sistema ASR para conseguir producir un texto en función de lo que ha dicho el usuario.
  3. Luego se pone en funcionamiento el sistema NLP que es capaz de interpretar la instrucción o la pregunta que se ha expresado mediante las palabras del usuario.
  4. Por último, el Sistema de Inteligencia Artificial es capaz de producir una respuesta textual, que pasa por el TTS para vocalizarla, de modo que el usuario la pueda escuchar.

A menudo, todas las fases del sistema de Inteligencia Artificial se realizan mediante el procesamiento en la nube, por lo que el dispositivo no tiene que ser muy potente, simplemente ser capaz de grabar y reproducir audio, aparte de tener conexión a Internet.

Productos relacionados: