Cum și-a optimizat Süddeutsche Zeitung procesul de narațiune audio cu Amazon Polly PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Cum și-a optimizat Süddeutsche Zeitung procesul de narațiune audio cu Amazon Polly

Aceasta este o postare invitată de Jakob Kohl, un dezvoltator de software la Süddeutsche Zeitung. Süddeutsche Zeitung este unul dintre cele mai importante cotidiene de calitate din Germania când vine vorba de abonamente plătite și de utilizatori unici. Site-ul său, SZ.de, ajunge la peste 15 milioane de utilizatori unici lunar din octombrie 2021.

Datorită difuzoarelor și podcast-urilor inteligente, industria audio a cunoscut un adevărat boom în ultimii ani. La Süddeutsche Zeitung, căutăm în mod constant noi modalități de a face jurnalismul nostru divers și mai accesibil. În calitate de pionieri în jurnalismul digital, dorim să deschidem mai multe oportunități pentru Süddeutsche Zeitung cititorii să consume articole. Am început să căutăm soluții care ar putea oferi o narațiune audio de înaltă calitate pentru articolele noastre. Scopul nostru final a fost să lansăm o funcție „ascultă articolul”.

În această postare, vă împărtășim cum ne-am optimizat procesul de narațiune audio cu Amazon Polly, un serviciu care se transformă text într-un discurs real folosind tehnologii avansate de deep learning.

De ce Amazon Polly?

Noi credem că Vicki, neuronul german Vocea Amazon Polly, este în prezent cea mai bună voce germană de pe piață. Amazon Polly oferă caracteristica impresionantă pentru comutați între limbi, pronunțând corect, de exemplu, titluri de filme în limba engleză, precum și nume de persoane în diferite limbi (de exemplu, ascultați articolul Schall und Wahn pe site-ul nostru).

O mare parte a infrastructurii noastre rulează deja pe AWS, deci folosind Amazon Polly se potrivea perfect. Putem combina Amazon Polly cu următoarele componente:

  • An Serviciul de notificare simplă Amazon (Amazon SNS) subiect la care ne putem abona pentru articole. Articolele sunt trimise la acest subiect de către CMS ori de câte ori sunt salvate de un editor.
  • An Amazon CloudFront distributie cu Lambda@Edge la articolele paywall premium, pe care le putem reutiliza pentru versiunile audio ale articolelor.

Amazon Polly API este ușor de utilizat și bine documentat. Ne-a luat mai puțin de o săptămână pentru ca dovada conceptului să funcționeze.

Provocarea

Sute de articole noi sunt publicate în fiecare zi pe SZ.de. După publicarea inițială, acestea pot fi actualizate de mai multe ori din diverse motive: noi paragrafe sunt adăugate în articolele bazate pe știri, greșelile de scriere sunt remediate, tease-urile sunt modificate sau metadatele sunt optimizate pentru motoarele de căutare.

Generarea unui discurs pentru publicarea inițială a unui articol este simplă, deoarece întregul text trebuie sintetizat. Dar cum putem genera rapid audio pentru versiunile actualizate ale articolelor fără să plătim de două ori pentru același conținut? Cea mai mare provocare a noastră a fost să împiedicăm trimiterea în mod repetat a întregului text către Amazon Polly pentru fiecare actualizare.

Soluția noastră tehnică

De fiecare dată când un editor salvează un articol, noua versiune a articolului este publicată într-un subiect SNS. Un AWS Lambdas funcția este abonată la acest subiect și apelată pentru fiecare versiune nouă a unui articol. Această funcție rulează următorii pași:

  1. Verificați dacă noua versiune a articolului a fost deja complet sintetizată. Dacă da, funcția se oprește imediat (acest lucru se poate întâmpla atunci când sunt modificate doar metadatele care nu afectează sunetul).
  2. Transformați articolul în mai multe documente SSML, aproximativ unul pentru fiecare paragraf de text.
  3. Pentru fiecare document SSML, funcția verifică dacă a fost deja sintetizat în audio folosind hashuri calculate. De exemplu:
    1. Dacă un articol este salvat pentru prima dată, toate documentele SSML trebuie sintetizate.
    2. Dacă o greșeală de tipar a fost remediată într-un singur paragraf, doar documentul SSML pentru acest paragraf trebuie resintetizat.
    3. Dacă la articol se adaugă un nou paragraf, trebuie sintetizat doar documentul SSML pentru acest nou paragraf.
  4. Trimiteți separat toate documentele SSML care nu sunt încă sintetizate către Amazon Polly.

Aceste verificări ajută la optimizarea performanței și la reducerea costurilor prin prevenirea sintezei unui articol întreg de mai multe ori. Evităm să suportăm costuri suplimentare din cauza modificărilor minore, cum ar fi editarea titlului sau ajustările metadatelor din motive SEO.

Următoarea diagramă ilustrează fluxul de lucru al soluției.

Cum și-a optimizat Süddeutsche Zeitung procesul de narațiune audio cu Amazon Polly PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

După ce Amazon Polly sintetizează documentele SSML, fișierele audio sunt trimise într-o găleată de ieșire Serviciul Amazon de stocare simplă (Amazon S3). O a doua funcție Lambda ascultă crearea obiectelor pe acea găleată, așteaptă finalizarea tuturor fragmentelor audio ale unui articol și le îmbină într-un fișier audio final folosind FFmpeg dintr-un strat Lambda. Acest sunet final este trimis către un alt bucket S3, care este folosit ca origine în distribuția noastră CloudFront. În CloudFront, reutilizam un paywall existent pentru articole premium pentru versiunea audio corespunzătoare.

Pe baza modelului nostru freemium, oferim o versiune audio scurtată a articolelor premium. Cei care nu sunt abonați pot asculta primul paragraf gratuit, dar trebuie să cumpere un abonament pentru a accesa articolul complet.

Concluzie

Integrarea Amazon Polly în infrastructura noastră existentă a fost foarte simplă. Conținutul nostru necesită personalizare minimă, deoarece includem doar paragrafe și câteva pauze suplimentare. Cea mai dificilă parte a fost optimizarea performanței și a costurilor, pe care am realizat-o prin împărțirea articolului în mai multe documente SSML corespunzătoare paragrafelor, verificând modificările în fiecare document SSML și construind întregul fișier audio prin îmbinarea fragmentelor. Cu aceste optimizări, suntem capabili să realizăm următoarele:

  • Reduceți cantitatea de caractere sintetizate cu cel puțin 50% prin sintetizarea doar a modificărilor reale.
  • Reduceți timpul necesar pentru ca o modificare a textului articolului să apară în audio, deoarece există mai puțin audio de sintetizat.
  • Adăugați fișiere audio arbitrare între paragrafe fără a resintetiza întregul articol. De exemplu, putem include un fișier de sunet în versiunea audio prescurtată a unui articol premium pentru a separa primul paragraf de nota ulterioară că este necesar un abonament pentru a asculta versiunea completă.

În prima lună după lansarea funcției „ascultați articolul” din articolele noastre SZ.de, am primit o mulțime de feedback pozitiv al utilizatorilor. Am reușit să ajungem la aproape 30,000 de utilizatori în primele 2 luni de la lansare. Dintre acești utilizatori, aproximativ 200 s-au convertit într-un abonament plătit doar din ascultarea teaserului unui articol din spatele paywall-ului nostru. Funcția „ascultă articolul” nu se află în spatele peretelui nostru de plată, dar utilizatorii pot asculta integral articolele premium doar dacă au un abonament. Site-ul nostru oferă, de asemenea, articole gratuite fără un paywall. În viitor, vom extinde funcția la alte platforme SZ, în special la aplicațiile noastre de știri mobile.


Despre autor

Cum și-a optimizat Süddeutsche Zeitung procesul de narațiune audio cu Amazon Polly PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Jakob Kohl este dezvoltator de software la Süddeutsche Zeitung, unde îi place să lucreze cu tehnologii moderne într-o echipă agilă de site-uri web. El este unul dintre principalii dezvoltatori ai funcției „ascultați un articol SZ”. În timpul liber, îi place să construiască mobilier din lemn, unde designul tehnic și vizual este la fel de important ca și în dezvoltarea web.

Timestamp-ul:

Mai mult de la Învățare automată AWS