Cómo Süddeutsche Zeitung optimizó su proceso de narración de audio con Amazon Polly PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Cómo Süddeutsche Zeitung optimizó su proceso de narración de audio con Amazon Polly

Esta es una publicación de invitado de Jakob Kohl, desarrollador de software en Süddeutsche Zeitung. Süddeutsche Zeitung es uno de los diarios de calidad líder en Alemania en lo que respecta a suscripciones pagas y usuarios únicos. su sitio web, Sz.de, llega a más de 15 millones de usuarios únicos mensuales a partir de octubre de 2021.

Gracias a los altavoces inteligentes y los podcasts, la industria del audio ha experimentado un verdadero auge en los últimos años. En Süddeutsche Zeitung, buscamos constantemente nuevas formas de hacer que nuestro periodismo diverso sea aún más accesible. Como pioneros en periodismo digital, queremos abrir más oportunidades para Süddeutsche Zeitung lectores a consumir artículos. Comenzamos a buscar soluciones que pudieran proporcionar una narración de audio de alta calidad para nuestros artículos. Nuestro objetivo final era lanzar una función de "escuchar el artículo".

En esta publicación, compartimos cómo optimizamos nuestro proceso de narración de audio con Amazon Polly, un servicio que convierte texto en un discurso realista utilizando tecnologías avanzadas de aprendizaje profundo.

¿Por qué Amazon Polly?

Creemos que Vicki, la neural alemana Voz de Amazon Polly, es actualmente la mejor voz alemana del mercado. Amazon Polly ofrece la característica impresionante para cambiar entre idiomas, pronunciando correctamente, por ejemplo, títulos de películas en inglés, así como nombres personales en diferentes idiomas (por ejemplo, escuche el artículo Schall y Wahn en nuestra página web).

Una gran parte de nuestra infraestructura ya se ejecuta en AWS, por lo que utilizando Amazon Polly fue un ajuste perfecto. Podemos combinar Amazon Polly con los siguientes componentes:

El API de Amazon Polly es fácil de usar y está bien documentado. Nos llevó menos de una semana lograr que nuestra prueba de concepto funcionara.

El desafío

Cada día se publican cientos de artículos nuevos en SZ.de. Después de la publicación inicial, es posible que se actualicen varias veces por varios motivos: se agregan nuevos párrafos en artículos basados ​​en noticias, se corrigen errores tipográficos, se cambian los teasers o se optimizan los metadatos para los motores de búsqueda.

Generar discurso para la publicación inicial de un artículo es sencillo, porque es necesario sintetizar todo el texto. Pero, ¿cómo podemos generar rápidamente el audio para versiones actualizadas de artículos sin pagar dos veces por el mismo contenido? Nuestro mayor desafío fue evitar enviar el texto completo a Amazon Polly repetidamente para cada actualización.

Nuestra solución técnica

Cada vez que un editor guarda un artículo, la nueva versión del artículo se publica en un tema de SNS. Un AWS Lambda La función está suscrita a este tema y se llama para cada nueva versión de un artículo. Esta función ejecuta los siguientes pasos:

  1. Compruebe si la nueva versión del artículo ya se ha sintetizado por completo. Si es así, la función se detiene inmediatamente (esto puede suceder cuando solo se cambian los metadatos que no afectan el audio).
  2. Convertir el artículo en múltiples documentos SSML, aproximadamente uno para cada párrafo de texto.
  3. Para cada documento SSML, la función verifica si ya se ha sintetizado en audio utilizando hashes calculados. Por ejemplo:
    1. Si se guarda un artículo por primera vez, se deben sintetizar todos los documentos SSML.
    2. Si se corrigió un error tipográfico en un solo párrafo, solo se debe volver a sintetizar el documento SSML para este párrafo.
    3. Si se agrega un nuevo párrafo al artículo, solo se debe sintetizar el documento SSML para este nuevo párrafo.
  4. Envíe todos los documentos SSML aún no sintetizados por separado a Amazon Polly.

Estas comprobaciones ayudan a optimizar el rendimiento y reducir los costes al evitar la síntesis de un artículo completo varias veces. Evitamos incurrir en cargos adicionales debido a cambios menores, como una edición de título o ajustes de metadatos por razones de SEO.

El siguiente diagrama ilustra el flujo de trabajo de la solución.

Cómo Süddeutsche Zeitung optimizó su proceso de narración de audio con Amazon Polly PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Después de que Amazon Polly sintetice los documentos SSML, los archivos de audio se envían a un depósito de salida en Servicio de almacenamiento simple de Amazon (Amazon S3). Una segunda función Lambda escucha la creación de objetos en ese depósito, espera la finalización de todos los fragmentos de audio de un artículo y los fusiona en un archivo de audio final usando FFmpeg de una capa Lambda. Este audio final se envía a otro depósito de S3, que se utiliza como origen en nuestra distribución de CloudFront. En CloudFront, reutilizamos un muro de pago existente para artículos premium para la versión de audio correspondiente.

Basado en nuestro modelo freemium, proporcionamos una versión de audio abreviada de artículos premium. Los no suscriptores pueden escuchar el primer párrafo de forma gratuita, pero deben comprar una suscripción para acceder al artículo completo.

Conclusión

La integración de Amazon Polly en nuestra infraestructura existente fue muy sencilla. Nuestro contenido requiere una personalización mínima porque solo incluimos párrafos y algunos descansos adicionales. La parte más desafiante fue la optimización del rendimiento y los costos, que logramos dividiendo el artículo en varios documentos SSML correspondientes a párrafos, verificando los cambios en cada documento SSML y creando el archivo de audio completo fusionando los fragmentos. Con estas optimizaciones, podemos lograr lo siguiente:

  • Disminuya la cantidad de caracteres sintetizados en al menos un 50% sintetizando solo cambios reales.
  • Reduzca el tiempo que tarda un cambio en el texto del artículo en aparecer en el audio porque hay menos audio para sintetizar.
  • Agregue archivos de audio arbitrarios entre párrafos sin volver a sintetizar todo el artículo. Por ejemplo, podemos incluir un archivo de sonido en la versión de audio abreviada de un artículo premium para separar el primer párrafo de la siguiente nota de que se necesita una suscripción para escuchar la versión completa.

En el primer mes después del lanzamiento de la función "escuchar el artículo" en nuestros artículos de SZ.de, recibimos muchos comentarios positivos de los usuarios. Pudimos llegar a casi 30,000 usuarios durante los primeros 2 meses después del lanzamiento. De estos usuarios, aproximadamente 200 se convirtieron en una suscripción paga solo al escuchar el avance de un artículo detrás de nuestro muro de pago. La función "escuchar el artículo" no está detrás de nuestro muro de pago, pero los usuarios solo pueden escuchar los artículos premium por completo si tienen una suscripción. Nuestro sitio web también ofrece artículos gratuitos sin un muro de pago. En el futuro, ampliaremos la función a otras plataformas SZ, especialmente a nuestras aplicaciones móviles de noticias.


Sobre la autora

Cómo Süddeutsche Zeitung optimizó su proceso de narración de audio con Amazon Polly PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Jacob Kohl es desarrollador de software en Süddeutsche Zeitung, donde disfruta trabajar con tecnologías modernas en un equipo de sitios web ágiles. Es uno de los principales desarrolladores de la función "escuchar un artículo SZ". En su tiempo libre le gusta construir muebles de madera, donde el diseño técnico y visual es tan importante como en el desarrollo web.

Sello de tiempo:

Mas de Aprendizaje automático de AWS