¿Sabes qué es el automatic speech recognition y cómo puedes usarlo en natural language processing (NLP)? En este artículo te contaremos algunos de los distintos procedimientos que podemos ver, de cara al procesamiento del audio para su posterior tratamiento como texto. Este procedimiento comúnmente se denomina ASR, es decir, automatic speech recognition o reconocimiento de voz automático.
¿Qué encontrarás en este post?
Toggle¿Qué es el automatic speech recognition?
El automatic speech recognition (ASR) es una tecnología que utiliza algoritmos de procesamiento de señales de audio y machine learning para transcribir automáticamente el habla humana en texto.
Esta tecnología permite que los usuarios le hablen a un dispositivo, como un teléfono inteligente o un ordenador, y la tecnología convierte su habla en texto. Después, este mismo texto puede utilizarse para enviar mensajes de texto, escribir correos electrónicos, buscar en la web o realizar otras tareas de forma más eficiente.
El automatic speech recognition se utiliza en una variedad de aplicaciones, como en el reconocimiento de comandos de voz para asistentes virtuales (como Siri, el Asistente de Google o Alexa), en la transcripción de llamadas telefónicas para la transcripción de diálogos, en la transcripción de discursos para la generación de subtítulos y en la traducción de idiomas en tiempo real.
La historia del automatic speech recognition
Antes de la llegada de las redes neuronales, sobre todo con el deep learning, había técnicas que eran muy tradicionales y limitadas, ya que estaban basadas en métodos que requerían mucho procesamiento. El análisis fonológico resultaba arduo, las señales y amplitudes no eran buenas y se presentaban muchísimos problemas de cara al procesamiento del lenguaje.
Los MFCC
Uno de los métodos más clásicos de este tipo era el Mel – Frequency Cepstral Coefficients (MFCCs), un método que trabaja a partir de la amplitud y el espectrograma y puede generar diferentes características de la fonología o de la forma de hablar.
Son métodos muy concretos que se aplican solo en ambientes muy específicos, ya que dependen de muchas cosas, como el entorno o el ruido de fondo, entre otros factores que pueden llegar a entorpecer de algún modo el audio y afectar el rendimiento.
Cuando llegó la moda del deep learning, se empezó a aplicar esta tecnología en un montón de casos de uso, en temas de imágenes, de texto y, por supuesto, en el tema de la voz, que no iba a ser la excepción.
Funcionamiento del automatic speech recognition
A continuación te explicamos paso a paso cómo funciona el automatic speech recognition.
Representación del audio
El audio lo podemos representar en temas de amplitud:
Gracias a la amplitud tenemos la señal, el tiempo y una pequeña representación de cómo es el audio. Sin embargo, no podemos representar esto así con una red, porque al final no nos proporciona mucha información, ya que solo es un sonido.
Por esta razón, dada la necesidad de hacer una mejor representación del sonido, se acude a los espectrogramas:
Utilizando el espectrograma podríamos traducir de una manera más sencilla lo que vemos en sonidos o, al menos, interpretarlo mejor. Con base en el tiempo y la frecuencia que tengamos podemos sacar el sonido que tenga el espectrograma.
Entonces, lo que vamos a utilizar de cara a modelos de deep learning para automatic speech recognition es la conversión de lo que es el audio nativo a espectrogramas. En función de esos espectrogramas, vamos a procesar directamente los datos.
Los pasos que tendríamos que seguir para el automatic speech recognition por medio de espectrogramas serían:
Tenemos el audio, hacemos una features extraction y trabajamos directamente sobre el espectrograma. Luego, con este, generaríamos nuestro modelo de traducción, de decodificación, que estaría en medio. Esto lo pasaría de un espectrograma a texto como tal.
Este modelo se basa en las probabilidades a nivel de caracteres, no de palabras.
¿Qué sigue?
Sabemos que el Big Data tiene muchísimas vertientes y, por tanto, hay muchísimos temas en los que puedes especializarte. En KeepCoding te ofrecemos la posibilidad de aprender con los mejores profesionales, que te guiarán a través de la teoría y la práctica. Con el Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp descubrirás una formación intensiva, íntegra y de alta calidad con la que, en unos meses, lograrás convertirte en un gran profesional IT. ¡Solicita ya más información y da el paso que impulsará tu carrera!