Blog de Amazon Web Services (AWS)

Mejorando la precisión de las transcripciones con Amazon Transcribe en el Sector Público

Por Gabriel Gasca, Arquitecto de Soluciones en AWS México

y Ulises Jiménez, Arquitecto de Soluciones en AWS México

 

En el sector público existen múltiples necesidades para realizar transcripción de audio y video a texto, algunos ejemplos pueden ser versiones estenográficas de sesiones de congreso de los diferentes niveles del gobierno, declaraciones en procesos administrativos y judiciales, entrevistas y discursos. Esto impulsado también por políticas en términos de transparencia y acceso a la información pública.

Algunas estadísticas estiman que una transcripción toma aproximadamente de 5 a 6 horas para una hora de audio, por lo que es un proceso lento y costoso para las organizaciones públicas. El uso de tecnologías de inteligencia artificial combinado con un flujo de trabajo de revisión humana puede incrementar la velocidad, la precisión y disminuir los costos para este tipo de necesidad.

Los distintos niveles de gobierno están incrementando el uso de internet como una herramienta indispensable para combatir la inequidad y para acelerar el desarrollo sostenible. Los lineamientos gubernamentales buscan facilitar el acceso universal para todas las personas que consulten información de las dependencias, independientemente de sus capacidades físicas, sensoriales o intelectuales, así como del contexto técnico de su uso (tipo de dispositivo, programa informático, velocidad de la conexión, condiciones ambientales, etc.).

En este sentido la accesibilidad engloba a personas con diferentes discapacidades: visual, auditiva, motora, cognitiva o neurológica, así como a adultos mayores y personas poco familiarizadas con el uso de internet. Entre algunas de las pautas de accesibilidad recomendadas se encuentra que los videos pregrabados ofrezcan una descripción textual o auditiva.
Consideramos que los servicios de inteligencia artificial de AWS pueden ayudar a las dependencias en la implementación de algunas de estas capacidades como son:

Amazon Polly es un servicio que convierte texto en habla, lo que permite crear aplicaciones que pueden, por ejemplo, utilizar un conector de Amazon Polly para WordPress para agregar fácilmente capacidades de conversión de texto a voz al contenido escrito a partir de las transcripciones. Esto ayuda a proporcionar el contenido de su sitio web en formatos de audio logrando que el sitio sea compatible con herramientas de asistencia tecnológica utilizadas por personas con discapacidad. Puede consultar mayor información de este caso en este blog.

Amazon Transcribe es un servicio que permite agregar funcionalidades de conversión de voz a texto a sus aplicaciones. Anteriormente, los clientes tenían que trabajar con proveedores de transcripción que les exigían firmar contratos costosos y que resultaban difíciles de integrar en sus ambientes de tecnología para llevar a cabo esta tarea. Muchos de estos proveedores utilizan tecnología desactualizada que no se adapta bien a diferentes situaciones, como el audio telefónico de baja calidad tan común en diferentes ambientes, lo que tiene como resultado una precisión deficiente. Amazon Transcribe puede usarse para transcribir sesiones en vivo automatizar subtítulos y generar metadatos para recursos multimedia para crear un archivo con capacidad completa de búsqueda.

En este blog nos centraremos en el caso de uso de Amazon Transcribe para transcripciones de audio a texto. Muchas veces las transcripciones automáticas no consideran el lenguaje o tema particular de un contexto, lo que reduce la calidad de la transcripción y requiere mayor intervención humana para su corrección para el consumo final. En este sentido, Amazon Transcribe cuenta con modelos de idioma personalizados para entrenar y desarrollar modelos de lenguaje que sean de dominio específico. Aunque el modelo general proporcionado por Amazon Transcribe funciona bien en la mayoría de los casos, los modelos de lenguaje personalizados pueden producir resultados aún más precisos.

La característica de Amazon Transcribe CLM (Custom Language Model) o Modelo de Idioma Personalizado requiere que los datos de entrenamiento sean específicos del dominio en particular, como manuales técnicos, documentos de investigación, diccionarios especializados, etc. En este caso vamos a entrenar un Modelo de Idioma Personalizado con una versión en texto simple de la Constitución Política de los Estados Unidos Mexicanos, Ley Suprema del sistema jurídico mexicano. También vamos a afinar el modelo con versiones estenográficas previas en materia judicial que podemos obtener directamente de los sitios web de tribunales federales y estatales. Los datos de la transcripción de audio para afinar el modelo consisten en transcripciones de audio de verdad fundamental (generada o validada por un humano). Las transcripciones de audio de verdad fundamental se han procesado con una precisión muy alta y son la representación ideal del audio de origen.

Para entrenar un modelo de idioma personalizado, debe cargar datos de texto de su caso de uso específico a Amazon Simple Storage Service (Amazon S3), otorgar permisos a Amazon Transcribe para acceder a los datos y elegir un modelo base. Un modelo base es un modelo de reconocimiento de voz general, que puede personalizar o afinar con sus datos de texto.

Hay dos formas de cargar sus datos de texto para crear un modelo de idioma personalizado:

  1. Subir el texto como datos de entrenamiento. Utilice datos de entrenamiento para entrenar su modelo de lenguaje personalizado para su caso de uso específico.
  2. Subir el texto específico de su dominio como datos de entrenamiento y sus transcripciones de audio como datos de afinación o ajuste. Utilice los datos de ajuste para optimizar su modelo de idioma personalizado y aumentar su precisión de transcripción.

Puede proporcionar hasta 2 GB de datos de entrenamiento y 200 MB de datos de afinación (ajuste).

Entrenar modelos de lenguaje personalizados puede producir mejoras significativas en la precisión con respecto al uso de vocabularios personalizados si tiene suficiente texto que representa el audio que desea transcribir. Los vocabularios personalizados son otra característica de Amazon Transcribe que mejora la capacidad para reconocer términos sin utilizar el contexto en el que se hablan. Los modelos de idioma personalizados no solo reconocen términos individuales, sino que además utilizan el contexto de cada término para transcribir su audio.

Los modelos de idioma personalizados también pueden agregar palabras a sus vocabularios de reconocimiento automáticamente, eliminando la necesidad de que usted ingrese manualmente nuevas palabras. Para obtener la mayor precisión de transcripción posible, puede utilizar incluso vocabularios personalizados con su modelo de idioma personalizado.

Para utilizar modelos de idiomas personalizados en sus trabajos de transcripción, haga lo siguiente:

  • Prepare y cargue datos de texto sin formato a un Bucket de S3. Es necesario que sea un documento de texto, no PDF, CSV o de procesador de textos, y debe estar codificado en UTF-8 con un enunciado por línea y sin caracteres de formato como HTML.
  • Proporcionar a Amazon Transcribe permisos para acceder a sus datos en S3 . En el momento de entrenar el modelo, vamos a especificar el rol de IAM a utilizar.
  • Crea un modelo de idioma personalizado con la opción de incluir también datos de afinación. Esto lo vamos a describir en la siguiente sección y consiste en definir las características del modelo de idioma personalizado. El entrenamiento del modelo típicamente toma un par de horas.
  • Utilice un modelo de idioma personalizado en un trabajo de transcripción. En adelante cuando vamos a iniciar un trabajo de transcripción, podemos especificar el nuevo modelo una vez que este termine el entrenamiento y este en estado disponible.
  • Vea y actualice sus modelos de idioma personalizados para aprovechar las mejoras de reconocimiento de voz en Amazon Transcribe

 

Entrenamiento del modelo de idioma personalizado

En los siguientes pasos vamos a mostrar como entrenar un modelo de idioma personalizado (CLM) con datos de entrenamiento y con datos de afinación. Usar datos de afinación es opcional, pero es recomendado.

  • Subir a S3 los datos de prueba, de entrenamiento y datos de afinación, en un folder los archivos .txt de entrenamiento y en otro diferente los archivos .txt de afinación

 


Figura 1. Distribución de los archivos en S3

 


Figura 2. Fragmento de texto de los datos de entrenamiento

 


Figura 3. Fragmento de texto de los datos de afinación

 

  • En la consola de Amazon Transcribe, en la opción de CLM (Custom Language Model) seleccionar la opción de Entrenar Modelo, dar un nombre, especificar el idioma español y la ruta de los datos de entrenamiento y afinación, junto con el rol de IAM para el acceso a S3

 

Figura 4. Entrenamiento de un modelo personalizado de idioma de Amazon Transcribe

 

  • En este punto Amazon Transcribe se encargará de entrenar el modelo con las características especificadas en un proceso que típicamente puede tomar algunas horas. Para fines de comparación, aquí hemos entrenado dos modelos uno solamente con datos de entrenamiento y otro que agrega datos de afinación

 

Figura 5. Modelos Personalizados de Amazon Transcribe

 

  • Luego, vamos a usar el modelo para realizar la transcripción de uno de los archivos de audio de ejemplo. En la consola de Amazon Transcribe, en la opción de Trabajos de Transcripción seleccionamos Crear Trabajo, agregamos un nombre y ahora elegimos la opción de CLM (Custom Language Model), así mismo especificamos el archivo de audio de origen.

 

Figura 6. Creación de un trabajo de transcripción usando un Modelo de Idioma Personalizado

 

Revisando los resultados

Ahora que terminamos los trabajos de transcripción es momento de comparar los resultados. Una métrica común para calcular la precisión en el reconocimiento de voz es el WER o Word Error Rate que en términos generales es la proporción de los errores de la transcripción relativo al numero de palabras que realmente se dijeron.

Tipo de Transcripción

WER (%)

Precisión (100%-WER)

Transcripción sin CLM

15.56

84.44%

Transcripción con CLM (entrenamiento base sin afinación)

13.69%

86.31%

Transcripción con CLM (entrenamiento base más afinación)

11.24%

88.76%

Tabla 1. Comparativa de los resultados de la transcripción con los Modelos Personalizados de Lenguaje

 

Un valor bajo de WER es mejor. Estos valores WER no son representativos del rendimiento de Amazon Transcribe, estos números solamente son relativos a este ejemplo de audio con fines demostrativos del uso de Modelos Personalizados de Lenguaje (CLM) contra los modelos genéricos. Adicionalmente, tenemos unos ejemplos representativos de las mejoras que apreciamos a simple vista:


Figura 7. Diferencias entre las transcripciones

 

Las diferencias en las mejoras pueden variar dependiendo del caso de uso y la calidad de los datos de entrenamiento y de afinación.

 

Conclusión

El uso de modelos de idioma personalizados permite a las organizaciones mejorar la precisión de las transcripciones de evento de audio, reduciendo significativamente el numero de horas que las personas dedican a la transcripción manual y/o revisión de transcripciones automáticas. Esto mejora la calidad de las transcripciones lo que ayuda a cumplir metas más significativas para la institución como facilitar el acceso universal para todas las personas que consulten información de las dependencias.

 

 

 


Sobre los autores

Gabriel Gasca es Arquitecto de Soluciones para para Gobiernos estatales y locales en AWS México, donde colabora con estas instituciones para diseñar soluciones para innovar en el servicio al ciudadano, Gabriel es parte la comunidad técnica (TFC) de Analítica en AWS.

 

 

 

 

Ulises Jiménez es Arquitecto de Soluciones en AWS México, con experiencia previa en diferentes industrias actualmente apoya a clientes del Sector Público en acelerar su entrega de soluciones.

 

 

 

 

Revisores Técnicos

Alejandro Luna es Arquitecto de Soluciones en Amazon Web Services para el Sector Público.

 

 

 

 

Cristian Castellanos es Arquitecto de Soluciones en Amazon Web Services para el Sector Público. Cristian ha ayudado a múltiples NPOs, instituciones educativas, y de gobierno en la adopción de nuevas tecnologías e implementación de soluciones de analítica.