Hur Süddeutsche Zeitung optimerade sin ljudberättelseprocess med Amazon Polly PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Hur Süddeutsche Zeitung optimerade sin ljudberättelseprocess med Amazon Polly

Detta är ett gästinlägg av Jakob Kohl, en mjukvaruutvecklare på Süddeutsche Zeitung. Süddeutsche Zeitung är en av de ledande kvalitetsdagstidningarna i Tyskland när det gäller betalprenumerationer och unika användare. Dess hemsida, SZ.de, når mer än 15 miljoner unika användare per månad i oktober 2021.

Tack vare smarta högtalare och podcasts har ljudindustrin upplevt en rejäl boom de senaste åren. På Süddeutsche Zeitung, letar vi ständigt efter nya sätt att göra vår mångsidiga journalistik ännu mer tillgänglig. Som pionjärer inom digital journalistik vill vi öppna fler möjligheter för Süddeutsche Zeitung läsare att konsumera artiklar. Vi började leta efter lösningar som kunde ge högkvalitativ ljudberättelse för våra artiklar. Vårt yttersta mål var att lansera en "lyssna på artikeln".

I det här inlägget delar vi hur vi optimerade vår ljudberättelseprocess med Amazon Polly, en tjänst som vänder text till verklighetstroget tal med hjälp av avancerad teknik för djupinlärning.

Varför Amazon Polly?

Vi tror att Vicki, den tyska neuralen Amazon Polly röst, är för närvarande den bästa tyska rösten på marknaden. Amazon Polly erbjuder den imponerande funktionen till växla mellan språk, korrekt uttal till exempel engelska filmtitlar samt personnamn på olika språk (lyssna till exempel på artikeln Schall och Wahn på vår hemsida).

En stor del av vår infrastruktur körs redan på AWS, så använder Amazon Polly passade perfekt. Vi kan kombinera Amazon Polly med följande komponenter:

  • An Amazon enkel meddelandetjänst (Amazon SNS) ämne som vi kan prenumerera på för artiklar. Artiklarna skickas till detta ämne av CMS när de sparas av en redaktör.
  • An Amazon CloudFront distribution med Lambda@Edge till premiumartiklar för betalvägg, som vi kan återanvända för ljudversioner av artiklar.

Smakämnen Amazon Polly API är lätt att använda och väldokumenterad. Det tog oss mindre än en vecka att få vårt proof of concept att fungera.

Utmaningen

Hundratals nya artiklar publiceras varje dag på SZ.de. Efter den första publiceringen kan de uppdateras flera gånger av olika anledningar – nya stycken läggs till i nyhetsdrivna artiklar, stavfel åtgärdas, teasers ändras eller metadata optimeras för sökmotorer.

Att generera tal för den första publiceringen av en artikel är enkelt, eftersom hela texten måste syntetiseras. Men hur kan vi snabbt generera ljudet för uppdaterade versioner av artiklar utan att betala två gånger för samma innehåll? Vår största utmaning var att förhindra att hela texten skickas till Amazon Polly upprepade gånger för varje enskild uppdatering.

Vår tekniska lösning

Varje gång en redaktör sparar en artikel publiceras den nya versionen av artikeln till ett SNS-ämne. En AWS Lambda funktion prenumererar på detta ämne och kallas för varje ny version av en artikel. Denna funktion kör följande steg:

  1. Kontrollera om den nya versionen av artikeln redan har syntetiserats helt. Om så är fallet stoppas funktionen omedelbart (detta kan hända när endast metadata ändras som inte påverkar ljudet).
  2. Konvertera artikeln till flera SSML-dokument, ungefär en för varje textstycke.
  3. För varje SSML-dokument kontrollerar funktionen om det redan har syntetiserats till ljud med hjälp av beräknade hash. Till exempel:
    1. Om en artikel sparas för första gången måste alla SSML-dokument syntetiseras.
    2. Om ett stavfel har åtgärdats i ett enda stycke, måste endast SSML-dokumentet för detta stycke syntetiseras om.
    3. Om ett nytt stycke läggs till i artikeln måste endast SSML-dokumentet för detta nya stycke syntetiseras.
  4. Skicka alla ännu inte syntetiserade SSML-dokument separat till Amazon Polly.

Dessa kontroller hjälper till att optimera prestanda och minska kostnaderna genom att förhindra syntes av en hel artikel flera gånger. Vi undviker att ta på oss ytterligare avgifter på grund av mindre ändringar, såsom en titelredigering eller metadatajusteringar av SEO-skäl.

Följande diagram illustrerar arbetsflödet för lösningen.

Hur Süddeutsche Zeitung optimerade sin ljudberättelseprocess med Amazon Polly PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Efter att Amazon Polly har syntetiserat SSML-dokumenten, skickas ljudfilerna till en utdatahink i Amazon enkel lagringstjänst (Amazon S3). En andra Lambda-funktion lyssnar efter objektskapande på den hinken, väntar på att alla ljudfragment av en artikel är färdiga och slår samman dem till en slutlig ljudfil med FFmpeg från ett lambdalager. Detta slutliga ljud skickas till en annan S3-hink, som används som ursprung i vår CloudFront-distribution. I CloudFront återanvänder vi en befintlig betalvägg för premiumartiklar för motsvarande ljudversion.

Baserat på vår freemium-modell tillhandahåller vi en förkortad ljudversion av premiumartiklar. Icke-prenumeranter kan lyssna på första stycket gratis, men måste köpa en prenumeration för att få tillgång till hela artikeln.

Slutsats

Integreringen av Amazon Polly i vår befintliga infrastruktur var mycket enkel. Vårt innehåll kräver minimal anpassning eftersom vi bara inkluderar stycken och några ytterligare pauser. Den mest utmanande delen var prestanda- och kostnadsoptimering, som vi uppnådde genom att dela upp artikeln i flera SSML-dokument som motsvarar stycken, kontrollera om det finns ändringar i varje SSML-dokument och bygga hela ljudfilen genom att slå samman fragmenten. Med dessa optimeringar kan vi uppnå följande:

  • Minska mängden syntetiserade tecken med minst 50 % genom att endast syntetisera verkliga förändringar.
  • Minska tiden det tar för en ändring i artikeltexten att visas i ljudet eftersom det finns mindre ljud att syntetisera.
  • Lägg till godtyckliga ljudfiler mellan stycken utan att omsyntetisera hela artikeln. Till exempel kan vi inkludera en ljudfil i den förkortade ljudversionen av en premiumartikel för att skilja det första stycket från den efterföljande noteringen om att en prenumeration krävs för att lyssna på den fullständiga versionen.

Under den första månaden efter lanseringen av funktionen "lyssna på artikeln" i våra SZ.de-artiklar fick vi mycket positiv feedback från användarna. Vi kunde nå nästan 30,000 2 användare under de första två månaderna efter lanseringen. Från dessa användare konverterade cirka 200 till en betalprenumeration endast genom att lyssna på teasern av en artikel bakom vår betalvägg. Funktionen "lyssna på artikeln" ligger inte bakom vår betalvägg, men användare kan bara lyssna på premiumartiklar fullt ut om de har en prenumeration. Vår webbplats erbjuder även gratisartiklar utan betalvägg. I framtiden kommer vi att utöka funktionen till andra SZ-plattformar, speciellt våra mobila nyhetsappar.


Om författaren

Hur Süddeutsche Zeitung optimerade sin ljudberättelseprocess med Amazon Polly PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Jakob Kohl är mjukvaruutvecklare på Süddeutsche Zeitung, där han tycker om att arbeta med modern teknik på ett agilt webbplatsteam. Han är en av huvudutvecklarna av funktionen "lyssna på en SZ-artikel". På fritiden tycker han om att bygga trämöbler, där teknisk och visuell design är lika viktig som i webbutveckling.

Tidsstämpel:

Mer från AWS maskininlärning