Requerimientos
Última actualización
Última actualización
Uno de los aspectos que subraya el equipo de desarrollo con respecto a los requerimientos para el óptimo funcionamiento de los modelos, tiene que ver con la infraestructura; en efecto, es necesario que la máquina donde se ejecute el modelo tenga buenos recursos en cuanto a procesamiento.
Para el uso del modelo, si bien es recomendable un servidor con GPU, no es totalmente necesario; para el entrenamiento del modelo, sí es necesario contar con GPU con el fin de que el entrenamiento no demande una gran cantidad de tiempo (más adelante se retoma de nuevo este punto).
La mayor limitante del modelo son los dialectos y el idioma; en español, a diferencia del inglés, son pocos los modelos que existen para el proceso de transcripción automática.
Se logran mejores resultados cuando los audios están en formato MP3. En este sentido, se debe realizar un trabajo adicional para transformar todos los formatos a un único formato. El script ContentExtractAudio.py
, tiene un parámetro que convierte los audios en MP3 de manera temporal para realizar la transcripción.
El modelo es sensible al ruido, por tanto, si el audio tiene ruidos de fondo o se escucha muy baja la voz, hay repercusiones negativas en el resultado final. Uno de los aspectos más importantes dentro del proceso de entrenamiento es el preprocesamiento de audios: se busca limpiarlos y disponerlos para poder ingresarlos al modelo en función de su entrenamiento.
El modelo ya entrenado y en uso funciona por grupos (batch o lotes de producción), con el fin de que corra más rápido y se puedan alcanzar resultados en el menor tiempo posible; esto quiere decir que solo se ejecuta sobre audios nuevos y no sobre todos los audios al tiempo.
El modelo no parte de un desarrollo desde cero, sino que está basado en la librería DeepSpeech; en este sentido, se debe estar pendiente de las actualizaciones de la librería con el fin de que el modelo siga funcionando correctamente.
El modelo ASR sigue la metodología Machine Learning
El Machine Learning es un método de análisis de datos que automatiza la construcción de modelos analíticos. Es una rama de la inteligencia artificial basada en la idea de que los sistemas pueden aprender de datos, identificar patrones y tomar decisiones con mínima intervención humana.
La estrategia de entrenamiento del modelo ASR se describe en los siguientes pasos:
Se monta toda la infraestructura o stack tecnológico. Para el entrenamiento es necesario contar con un servidor GPU (Unidad de Procesamiento Gráfico), con el fin de que el proceso de entrenamiento sea óptimo. Este aspecto puede ser una limitante, ya que de no contar con este tipo de infraestructura para el entrenamiento del modelo, se puede consumir mucho tiempo.
Se solicitan entrevistas ya transcritas y etiquetadas, que son los datos con los cuales se va a entrenar el modelo (es necesario que sean entrevistas transcritas, en tanto la transcripción es la que permite medir los resultados del modelo).
Se realiza el alistamiento de datos (preprocesamiento de audios) y todo el proceso de entrenamiento, tal como se establece en el siguiente archivo:
Una vez terminado el proceso de entrenamiento se verifican los resultados arrojados por el modelo, comparando el texto producido con las transcripciones reales. Si las métricas arrojan un resultado satisfactorio, se puede cerrar el modelo; de lo contrario, es necesario revisar las estrategias de entrenamiento y el ajuste de los datos.
Todas las librerías y los pasos necesarios para crear el modelo se encuentran en:
El desarrollo del modelo se basa en la librería de uso libre Mozilla DeepSpeech ASR Model: DeepSpeech GPU Training; versión 0.8.0
Python > = 3.6
Se apoya en Bash, para correr los comandos
La base de datos dentro de la cual se usa el modelo se encuentra en MongoDB
Los audios pueden ser limpiados para que haya un porcentaje mayor de fidelidad en la traducción automática (cuando el modelo esté en uso); por el tiempo de la Comisión, este aspecto no pudo ser desarrollado, y se incluye como una posibilidad de mejora. En otras palabras, se recomienda desarrollar un script que realice un preprocesamiento de los audios que van a ser transcritos, tal y como son limpiados durante el proceso de entrenamiento.
Siempre va a ser importante alimentar con más información los modelos; esto conlleva a que haya un mejor entrenamiento del modelo. Una mejora tiene que ver con la posibilidad de disponer mayor información para dicho proceso; esto quiere decir que no solo se dispongan las entrevistas, sino que el modelo pueda ajustarse para que se entrene a partir de otro tipo de información también etiquetada. Esta mejora implica, necesariamente, la transcripción manual de cualquier audio o video, con el fin de poder contar con un texto que permita comparar los resultados.