Doblaje automático de videos con Amazon Translate, Amazon Bedrock y Amazon Polly

Esta publicación está coescrita con MagellanTV y Mission Cloud.

El doblaje de videos, o localización de contenido, es el proceso de reemplazar el idioma hablado original en un video por otro idioma mientras se sincroniza el audio y el video. El doblaje de videos se ha convertido en una herramienta clave para derribar barreras lingüísticas, mejorar la participación de los espectadores y expandir el alcance del mercado. Sin embargo, los métodos de doblaje tradicionales son costosos (Aproximadamente 20 dólares por minuto con esfuerzo de revisión humana) y consumen mucho tiempo, lo que los convierte en un desafío común para las empresas de la industria de los medios y el entretenimiento (M&E). Doblaje automático de videos que utiliza el poder de inteligencia artificial generativa (IA generativa)) ofrece a los creadores una solución asequible y eficiente.

En esta publicación se muestra una solución que permite ahorrar costos para el doblaje automático de videos. Traductor de Amazon para la traducción inicial de subtítulos de videos y su uso La roca madre del Amazonas para la posedición y así mejorar aún más la calidad de la traducción. Amazon Translate es un servicio de traducción automática neuronal que ofrece traducciones de idiomas rápidas, de alta calidad y asequibles.

Amazon Bedrock es un servicio completamente administrado que ofrece una selección de modelos base (FM) de alto rendimiento de empresas de IA líderes como AI21 Labs, Anthropic, Cohere, Meta, Mistral AI, Stability AI y Amazon a través de una única API, junto con un amplio conjunto de capacidades para ayudarlo a crear aplicaciones de IA generativas con seguridad, privacidad e IA responsable.

Televisión Magallanesuna plataforma líder de streaming de documentales, quiere ampliar su presencia global a través de la internacionalización de contenidos. Ante los desafíos del doblaje manual y los costos prohibitivos, MagellanTV buscó un socio de nivel Premier de AWS Misión Nube para una solución innovadora.

La solución de Mission Cloud se distingue por su detección idiomática y reemplazo automático, escalamiento temporal automático sin inconvenientes y capacidades flexibles de procesamiento por lotes con mayor eficiencia y escalabilidad.

Descripción general de la solución

El siguiente diagrama ilustra la arquitectura de la solución. El usuario especifica las entradas de la solución, incluida la ruta de la carpeta que contiene el archivo de video y subtítulos original, el idioma de destino y los botones para el detector de modismos y el tono de formalidad. Puede especificar estas entradas en una plantilla de Excel y cargar el archivo de Excel en un servidor designado. Servicio de almacenamiento simple de Amazon (Amazon S3) Cubo. Esto iniciará todo el proceso. Los resultados finales son un archivo de video doblado y un archivo de subtítulos traducidos.

Usamos Traductor de Amazon para traducir el subtítulo del vídeo, y La roca madre del Amazonas para mejorar la calidad de la traducción y habilitar el escalado automático de tiempo para sincronizar el audio y el video. Usamos Inteligencia artificial aumentada de Amazon para que los editores revisen el contenido, que luego se envía a Polly amazona Para generar voces sintéticas para el video, desarrollamos un modelo para predecir la expresión de género del hablante y asignarle una expresión de género que coincida con la del hablante.

En el backend, Funciones de pasos de AWS organiza los pasos anteriores como una secuencia de pasos. Cada paso se ejecuta en AWS Lambda o Lote de AWSAl utilizar la herramienta de infraestructura como código (IaC), Formación en la nube de AWSel pipeline se vuelve reutilizable para doblar nuevos idiomas extranjeros.

En las siguientes secciones, aprenderá a utilizar las funciones exclusivas de Amazon Translate para establecer un tono formal y una terminología personalizada. También aprenderá a utilizar Amazon Bedrock para mejorar aún más la calidad del doblaje de videos.

¿Por qué elegir Amazon Translate?

Elegimos Amazon Translate para traducir subtítulos de vídeo en función de tres factores.

  • Amazon Translate admite más de 75 idiomas. Si bien el panorama de los grandes modelos de idiomas (LLM) ha evolucionado continuamente durante el último año y sigue cambiando, muchos de los LLM más populares admiten un conjunto más pequeño de idiomas.
  • Nuestro profesional de traducción evaluó rigurosamente Amazon Translate en nuestro proceso de revisión y afirmó su encomiable precisión de traducción. Localizamos evalúa el rendimiento del uso de LLM y traducciones automáticas y recomienda utilizar LLM como herramienta de posedición.
  • Amazon Translate tiene Varios beneficios únicosPor ejemplo, puede agregar glosarios de terminología personalizados, mientras que para los LLM, es posible que necesite realizar ajustes que pueden requerir mucho trabajo y ser costosos.

Utilice Amazon Translate para obtener terminología personalizada

Amazon Translate te permite ingresar un diccionario de terminología personalizadalo que garantiza que las traducciones reflejen el vocabulario o la terminología especializada de la organización. Usamos el diccionario de terminología personalizado para recopilar términos de uso frecuente en los guiones de transcripción de videos.

He aquí un ejemplo. En un vídeo documental, el archivo de subtítulos normalmente mostraría “(hablando en un idioma extranjero)” en la pantalla como subtítulo cuando el entrevistado habla en un idioma extranjero. La oración “(hablando en un idioma extranjero)” en sí no tiene una gramática inglesa adecuada: carece del nombre propio, pero se acepta comúnmente como un subtítulo en inglés. Al traducir el subtítulo al alemán, la traducción también carece del nombre propio, lo que puede resultar confuso para el público alemán, como se muestra en el bloque de código que sigue.

## Translate - without custom terminology (default)
import boto3
# Initialize a session of Amazon Translate
translate=boto3.client(service_name="translate", region_name="us-east-1", use_ssl=True)
def translate_text(text, source_lang, target_lang):
    result=translate.translate_text(
        Text=text, 
        SourceLanguageCode=source_lang, 
        TargetLanguageCode=target_lang)
    return result.get('TranslatedText')
text="(speaking in a foreign language)"
output=translate_text(text, "en", "de")
print(output)
# Output: (in einer Fremdsprache sprechen)

Debido a que esta frase “(hablando en un idioma extranjero)” se ve comúnmente en las transcripciones de videos, agregamos este término al archivo CSV de terminología personalizada. translation_custom_terminology_de.csv con la traducción verificada y proporcionada en el trabajo de Amazon Translate. El resultado de la traducción es el esperado, como se muestra en el siguiente código.

## Translate - with custom terminology
import boto3
import json
# Initialize a session of Amazon Translate
translate=boto3.client('translate')
with open('translation_custom_terminology_de.csv', 'rb') as ct_file:
    translate.import_terminology(
        Name="CustomTerminology_boto3",
        MergeStrategy='OVERWRITE',
        Description='Terminology for Demo through boto3',
        TerminologyData={
            'File':ct_file.read(),
            'Format':'CSV',
            'Directionality':'MULTI'
        }
    )
text="(speaking in foreign language)"
result=translate.translate_text(
    Text=text,
    TerminologyNames=['CustomTerminology_boto3_2024'], 
    SourceLanguageCode="en",
    TargetLanguageCode="de"
)
print(result['TranslatedText'])
# Output: (Person spricht in einer Fremdsprache)

Establezca un tono formal en Amazon Translate

Algunos géneros documentales tienden a ser más formales que otros. Amazon Translate te permite definir el nivel de formalidad deseado. formalidad para traducciones a los idiomas de destino admitidos. Al utilizar la configuración predeterminada (Informal) de Amazon Translate, la salida de traducción en alemán para la frase, “[Speaker 1] “Déjame mostrarte algo”, es informal, según un traductor profesional.

## Translate - with informal tone (default) 
import boto3
# Initialize a session of Amazon Translate
translate=boto3.client(service_name="translate", region_name="us-east-1", use_ssl=True)
def translate_text(text, source_lang,target_lang):
    result=translate.translate_text(
        Text=text, 
        SourceLanguageCode=source_lang, 
        TargetLanguageCode=target_lang)
    return result.get('TranslatedText')
text="[Speaker 1] Let me show you something."
output=translate_text(text, "en", "de")
print(output)
# Output: [Sprecher 1] Lass mich dir etwas zeigen.

Añadiendo el Formal En cuanto al entorno, la traducción final tiene un tono formal que se ajusta al género del documental tal como se pretendía.

## Translate - with formal tone 
import boto3
# Initialize a session of Amazon Translate
translate=boto3.client(service_name="translate", region_name="us-east-1", use_ssl=True)
def translate_text(text, source_lang, target_lang):
    result=translate.translate_text(
        Text=text, 
        SourceLanguageCode=source_lang, 
        TargetLanguageCode=target_lang,
        Settings={'Formality':'FORMAL'})
    return result.get('TranslatedText')
text="[Speaker 1] Let me show you something."
output=translate_text(text, "en", "de")
print(output)
# Output: [Sprecher 1] Lassen Sie mich Ihnen etwas zeigen.

Utilice Amazon Bedrock para la posedición

En esta sección, utilizamos Amazon Bedrock para mejorar la calidad de los subtítulos de video después de obtener la traducción inicial de Amazon Translate.

Detección y reemplazo de modismos

La detección y el reemplazo de expresiones idiomáticas son fundamentales para doblar videos en inglés y transmitir con precisión los matices culturales. La adaptación de expresiones idiomáticas evita malentendidos, mejora la participación, preserva el humor y la emoción y, en última instancia, mejora la experiencia de visualización global. Por lo tanto, desarrollamos una función de detección de expresiones idiomáticas con Amazon Bedrock para resolver este problema.

Puede activar o desactivar el detector de expresiones idiomáticas especificando las entradas de la secuencia de comandos. Por ejemplo, para los géneros científicos que tienen menos expresiones idiomáticas, puede desactivar el detector de expresiones idiomáticas. Mientras que, para los géneros que tienen conversaciones más informales, puede activar el detector de expresiones idiomáticas. Para un video de 25 minutos, el tiempo total de procesamiento es de aproximadamente 1,5 horas, de las cuales aproximadamente 1 hora se dedica al preprocesamiento y la composición del video. Activar el detector de expresiones idiomáticas solo agrega aproximadamente 5 minutos al tiempo total de procesamiento.

Hemos desarrollado una función bedrock_api_idiom para detectar y reemplazar expresiones idiomáticas mediante Amazon Bedrock. La función primero utiliza los LLM de Amazon Bedrock para detectar expresiones idiomáticas en el texto y luego reemplazarlas. En el ejemplo que sigue, Amazon Bedrock detecta y reemplaza correctamente el texto de entrada “bueno, me esfuerzo” por “trabajo duro”, que se puede traducir correctamente al español mediante Amazon Translate.

## A rare idiom is well-detected and rephrased by Amazon Bedrock 
text_rephrased=bedrock_api_idiom(text)
print(text_rephrased)
# Output: I work hard
response=translate_text(text_rephrased, "en", "es-MX")
print(response)
# Output: yo trabajo duro
response=translate_text(response, "es-MX", "en")
print(response)
# Output: I work hard

Acortamiento de oraciones

Se pueden utilizar herramientas de doblaje de videos de terceros para ajustar el tiempo durante el doblaje de videos, lo que puede resultar costoso si se hace de forma manual. En nuestro proceso, utilizamos Amazon Bedrock para desarrollar un algoritmo de acortamiento de oraciones para ajustar el tiempo de forma automática.

Por ejemplo, un archivo de subtítulos típico consta de un número de sección, una marca de tiempo y la oración. El siguiente es un ejemplo de una oración en inglés antes de acortarla.

Oración original:

A large portion of the solar energy that reaches our planet is reflected back into space or absorbed by dust and clouds.

imagen002_doblaje_de_video.pn

Aquí se muestra la oración acortada utilizando el algoritmo de acortamiento de oraciones. Con Amazon Bedrock, podemos mejorar significativamente el rendimiento del doblaje de videos y reducir el esfuerzo de revisión humana, lo que se traduce en un ahorro de costos.

Oración abreviada:

A large part of solar energy is reflected into space or absorbed by dust and clouds.

imagen003_doblaje_de_video.pn

Conclusión

Este nuevo y constante desarrollo de canales ha sido un paso revolucionario para MagellanTV porque resolvió de manera eficiente algunos de los desafíos que enfrentaban y que son comunes en las empresas de medios y entretenimiento en general. El exclusivo canal de localización desarrollado por Mission Cloud crea una nueva frontera de oportunidades para distribuir contenido en todo el mundo y, al mismo tiempo, ahorrar costos. El uso de IA generativa junto con soluciones brillantes para la detección y resolución de expresiones idiomáticas, el acortamiento de la longitud de las oraciones y la terminología y el tono personalizados dan como resultado un canal verdaderamente especial, hecho a medida de las crecientes necesidades y ambiciones de MagellanTV.

Si desea obtener más información sobre este caso de uso o tener una sesión de consulta con el Misión equipo para revisar su caso de uso específico de IA generativa, no dude en solicitar uno a través de Mercado de AWS.


Sobre los autores

Na Yu es arquitecta líder de soluciones GenAI en Mission Cloud, especializada en el desarrollo de soluciones ML, MLOps y GenAI en AWS Cloud y en trabajar en estrecha colaboración con los clientes. Obtuvo su doctorado en Ingeniería Mecánica en la Universidad de Notre Dame.

Max Goff es un científico de datos/ingeniero de datos con más de 30 años de experiencia en el desarrollo de software. Es autor publicado, bloguero y productor musical y a veces sueña con la IA.

Marco Mercado Marco es un ingeniero sénior en la nube que se especializa en el desarrollo de soluciones nativas de la nube y automatización. Tiene múltiples certificaciones de AWS y una amplia experiencia trabajando con socios de AWS de alto nivel. Marco se destaca por aprovechar las tecnologías de la nube para impulsar la innovación y la eficiencia en varios proyectos.

Zhang Yaoqi es ingeniera sénior de big data en Mission Cloud. Se especializa en aprovechar la inteligencia artificial y el aprendizaje automático para impulsar la innovación y desarrollar soluciones en AWS. Antes de Mission Cloud, trabajó como ingeniera de aprendizaje automático y software en Amazon durante seis años, especializándose en sistemas de recomendación para las compras de moda de Amazon y en procesamiento del lenguaje natural para Alexa. Obtuvo su maestría en ciencias en ingeniería eléctrica en la Universidad de Boston.

Adrián Martín es ingeniero líder en Big Data/Machine Learning en Mission Cloud. Tiene amplia experiencia en interpretación y traducción de inglés y español.

Ryan Ries Tiene más de 15 años de experiencia en liderazgo en datos e ingeniería, más de 20 años de experiencia trabajando con IA y más de 5 años ayudando a los clientes a construir su infraestructura de datos de AWS y modelos de IA. Después de obtener su doctorado en química biofísica en UCLA y Caltech, el Dr. Ries ha ayudado a desarrollar soluciones de datos de vanguardia para el Departamento de Defensa de los EE. UU. y una gran cantidad de empresas de Fortune 500.

Andrés Federowicz es el director de TI y productos de Magellan VoiceWorks en MagellanTV. Con una década de experiencia trabajando en sistemas en la nube y TI, además de un título en ingeniería mecánica, Andrew diseña, construye, implementa y escala soluciones innovadoras para problemas únicos. Antes de Magellan VoiceWorks, Andrew diseñó y construyó la infraestructura de AWS para la aplicación de transmisión disponible globalmente las 24 horas del día, los 7 días de la semana de MagellanTV. En su tiempo libre, Andrew disfruta de las carreras de simulación y la relojería.

Qiong ZhangPhD, es arquitecta de soluciones sénior para socios en AWS y se especializa en IA/ML. Sus áreas de interés actuales incluyen aprendizaje federado, entrenamiento distribuido e IA generativa. Tiene más de 30 patentes y ha sido coautora de más de 100 artículos en revistas y conferencias. También recibió el premio al mejor artículo en IEEE NetSoft 2016, IEEE ICC 2011, ONDM 2010 e IEEE GLOBECOM 2005.

Cristian Torres es Arquitecto de Soluciones Senior Partner en AWS. Tiene 10 años de experiencia trabajando en tecnología desempeñando diversos roles como: Ingeniero de Soporte, Ingeniero de Preventa, Especialista en Ventas y Arquitecto de Soluciones. Trabaja como generalista con servicios de AWS enfocado en Migraciones para ayudar a los Socios estratégicos de AWS a desarrollarse exitosamente desde una perspectiva técnica y de negocios.