Come Süddeutsche Zeitung ha ottimizzato il processo di narrazione audio con Amazon Polly PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

In che modo Süddeutsche Zeitung ha ottimizzato il processo di narrazione audio con Amazon Polly

Questo è un guest post di Jakob Kohl, uno sviluppatore di software presso la Süddeutsche Zeitung. Süddeutsche Zeitung è uno dei principali quotidiani di qualità in Germania quando si tratta di abbonamenti a pagamento e utenti unici. Il suo sito web, Sz.de, raggiunge oltre 15 milioni di utenti unici mensili a partire da ottobre 2021.

Grazie agli altoparlanti intelligenti e ai podcast, l'industria audio ha conosciuto un vero boom negli ultimi anni. In Süddeutsche Zeitung, siamo costantemente alla ricerca di nuovi modi per rendere il nostro giornalismo diversificato ancora più accessibile. Come pionieri del giornalismo digitale, vogliamo aprire più opportunità per Süddeutsche Zeitung lettori di consumare articoli. Abbiamo iniziato a cercare soluzioni che potessero fornire una narrazione audio di alta qualità per i nostri articoli. Il nostro obiettivo finale era lanciare una funzione "ascolta l'articolo".

In questo post, condividiamo come abbiamo ottimizzato il nostro processo di narrazione audio con Amazon Polly, un servizio che si trasforma testo in un discorso realistico utilizzando tecnologie avanzate di deep learning.

Perché Amazon Polly?

Crediamo che Vicki, il neurale tedesco Voce Amazon Polly, è attualmente la migliore voce tedesca sul mercato. Amazon Polly offre l'impressionante funzionalità a passare da una lingua all'altra, pronunciando correttamente ad esempio titoli di film in inglese e nomi personali in diverse lingue (ascolta ad esempio l'articolo Schall e Wahn sul nostro sito web).

Gran parte della nostra infrastruttura gira già su AWS, quindi utilizzando Amazon Polly era perfetto. Possiamo combinare Amazon Polly con i seguenti componenti:

  • An Servizio di notifica semplice Amazon (Amazon SNS) argomento a cui possiamo iscriverci per articoli. Gli articoli vengono inviati a questo argomento dal CMS ogni volta che vengono salvati da un editore.
  • An Amazon CloudFront distribuzione con Lambda @ Edge agli articoli premium paywall, che possiamo riutilizzare per le versioni audio degli articoli.

I API Amazon Polly è facile da usare e ben documentato. Ci è voluta meno di una settimana per far funzionare il nostro proof of concept.

La sfida

Centinaia di nuovi articoli vengono pubblicati ogni giorno su SZ.de. Dopo la pubblicazione iniziale, potrebbero essere aggiornati più volte per vari motivi: vengono aggiunti nuovi paragrafi negli articoli basati sulle notizie, vengono corretti errori di battitura, vengono modificati i teaser o ottimizzati i metadati per i motori di ricerca.

La generazione del discorso per la pubblicazione iniziale di un articolo è semplice, perché l'intero testo deve essere sintetizzato. Ma come possiamo generare rapidamente l'audio per le versioni aggiornate degli articoli senza pagare due volte per lo stesso contenuto? La nostra sfida più grande è stata impedire l'invio ripetuto dell'intero testo ad Amazon Polly per ogni singolo aggiornamento.

La nostra soluzione tecnica

Ogni volta che un editor salva un articolo, la nuova versione dell'articolo viene pubblicata in un argomento SNS. Un AWS Lambda la funzione viene iscritta a questo argomento e richiamata per ogni nuova versione di un articolo. Questa funzione esegue i seguenti passaggi:

  1. Controlla se la nuova versione dell'articolo è già stata completamente sintetizzata. In tal caso, la funzione si interrompe immediatamente (questo può verificarsi quando vengono modificati solo i metadati che non influiscono sull'audio).
  2. Converti l'articolo in multiplo documenti SSML, all'incirca uno per ogni paragrafo di testo.
  3. Per ogni documento SSML, la funzione controlla se è già stato sintetizzato in audio utilizzando hash calcolati. Per esempio:
    1. Se un articolo viene salvato per la prima volta, tutti i documenti SSML devono essere sintetizzati.
    2. Se è stato corretto un errore di battitura in un singolo paragrafo, solo il documento SSML per questo paragrafo deve essere sintetizzato nuovamente.
    3. Se all'articolo viene aggiunto un nuovo paragrafo, deve essere sintetizzato solo il documento SSML per questo nuovo paragrafo.
  4. Invia tutti i documenti SSML non ancora sintetizzati separatamente ad Amazon Polly.

Questi controlli aiutano a ottimizzare le prestazioni e ridurre i costi impedendo la sintesi di un intero articolo più volte. Evitiamo di incorrere in costi aggiuntivi a causa di modifiche minori come la modifica del titolo o l'adeguamento dei metadati per motivi SEO.

Il diagramma seguente illustra il flusso di lavoro della soluzione.

Come Süddeutsche Zeitung ha ottimizzato il processo di narrazione audio con Amazon Polly PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Dopo che Amazon Polly ha sintetizzato i documenti SSML, i file audio vengono inviati a un bucket di output in Servizio di archiviazione semplice Amazon (Amazon S3). Una seconda funzione Lambda sta ascoltando la creazione di oggetti su quel bucket, attende il completamento di tutti i frammenti audio di un articolo e li unisce in un file audio finale utilizzando FFmpeg da un livello Lambda. Questo audio finale viene inviato a un altro bucket S3, che viene utilizzato come origine nella nostra distribuzione CloudFront. In CloudFront, riutilizziamo un paywall esistente per gli articoli premium per la versione audio corrispondente.

Sulla base del nostro modello freemium, forniamo una versione audio ridotta degli articoli premium. I non abbonati possono ascoltare gratuitamente il primo comma, ma sono tenuti ad acquistare un abbonamento per accedere all'articolo completo.

Conclusione

L'integrazione di Amazon Polly nella nostra infrastruttura esistente è stata molto semplice. Il nostro contenuto richiede una personalizzazione minima perché includiamo solo paragrafi e alcune interruzioni aggiuntive. La parte più impegnativa è stata l'ottimizzazione delle prestazioni e dei costi, che abbiamo ottenuto suddividendo l'articolo in più documenti SSML corrispondenti ai paragrafi, verificando le modifiche in ciascun documento SSML e costruendo l'intero file audio unendo i frammenti. Con queste ottimizzazioni, siamo in grado di ottenere quanto segue:

  • Riduci la quantità di caratteri sintetizzati di almeno il 50% sintetizzando solo i cambiamenti reali.
  • Riduci il tempo necessario affinché una modifica nel testo dell'articolo appaia nell'audio perché c'è meno audio da sintetizzare.
  • Aggiungi file audio arbitrari tra i paragrafi senza sintetizzare nuovamente l'intero articolo. Ad esempio, possiamo includere un file audio nella versione audio abbreviata di un articolo premium per separare il primo paragrafo dalla successiva nota che è necessario un abbonamento per ascoltare la versione completa.

Nel primo mese dopo il lancio della funzione "ascolta l'articolo" nei nostri articoli SZ.de, abbiamo ricevuto molti feedback positivi dagli utenti. Siamo stati in grado di raggiungere quasi 30,000 utenti durante i primi 2 mesi dopo il lancio. Da questi utenti, circa 200 si sono convertiti in un abbonamento a pagamento solo ascoltando il teaser di un articolo dietro il nostro paywall. La funzione "ascolta l'articolo" non è dietro il nostro paywall, ma gli utenti possono ascoltare completamente gli articoli premium solo se hanno un abbonamento. Il nostro sito Web offre anche articoli gratuiti senza paywall. In futuro, espanderemo la funzionalità ad altre piattaforme SZ, in particolare alle nostre app di notizie mobili.


L'autore

Come Süddeutsche Zeitung ha ottimizzato il processo di narrazione audio con Amazon Polly PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Jakob Kohl è uno sviluppatore di software presso la Süddeutsche Zeitung, dove si diverte a lavorare con le moderne tecnologie in un agile team di siti web. È uno dei principali sviluppatori della funzione "ascolta un articolo SZ". Nel tempo libero gli piace costruire mobili in legno, dove il design tecnico e visivo è importante quanto lo sviluppo web.

Timestamp:

Di più da Apprendimento automatico di AWS