Jak Süddeutsche Zeitung zoptymalizowało proces narracji dźwiękowej dzięki Amazon Polly PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Jak Süddeutsche Zeitung zoptymalizował proces narracji dźwiękowej za pomocą Amazon Polly

To jest post gościnny autorstwa Jakoba Kohla, programisty oprogramowania w Süddeutsche Zeitung. Süddeutsche Zeitung to jeden z wiodących dzienników wysokiej jakości w Niemczech pod względem płatnych prenumerat i unikalnych użytkowników. Jej strona internetowa, SZ.de, dociera do ponad 15 milionów unikalnych użytkowników miesięcznie (stan na październik 2021 r.).

Dzięki inteligentnym głośnikom i podcastom branża audio przeżyła w ostatnich latach prawdziwy rozkwit. Na Süddeutsche Zeitung, stale szukamy nowych sposobów, aby nasze różnorodne dziennikarstwo było jeszcze bardziej dostępne. Jako pionierzy dziennikarstwa cyfrowego chcemy otworzyć przed nimi więcej możliwości Süddeutsche Zeitung czytelników do korzystania z artykułów. Zaczęliśmy szukać rozwiązań, które zapewniłyby wysokiej jakości narrację audio dla naszych artykułów. Naszym ostatecznym celem było uruchomienie funkcji „posłuchaj artykułu”.

W tym poście dzielimy się tym, jak zoptymalizowaliśmy nasz proces narracji dźwiękowej za pomocą Amazon Polly, usługi, która się zmienia tekst na realistyczną mowę z wykorzystaniem zaawansowanych technologii głębokiego uczenia się.

Dlaczego Amazon Polly?

Wierzymy, że Vicki, niemiecki neuron Głos Amazonki Polly, jest obecnie najlepszym niemieckim głosem na rynku. Amazon Polly oferuje imponującą funkcję przełączać się między językami, poprawnie wymawiając na przykład angielskie tytuły filmów, a także imiona i nazwiska w różnych językach (posłuchaj przykładowo artykułu Schall i Wahn na naszej stronie internetowej).

Duża część naszej infrastruktury działa już na platformie AWS, tzw za pomocą Amazon Polly pasował idealnie. Możemy połączyć Amazon Polly z następującymi komponentami:

  • An Usługa prostego powiadomienia Amazon (Amazon SNS) temat, pod którym możemy subskrybować artykuły. Artykuły są przesyłane do tego tematu przez CMS po każdym zapisaniu ich przez redaktora.
  • An Amazon CloudFront dystrybucja z Lambda@Edge do artykułów płatnych premium, które możemy ponownie wykorzystać w wersjach audio artykułów.

Połączenia API Amazon Polly jest łatwy w użyciu i dobrze udokumentowany. Przygotowanie dowodu słuszności koncepcji zajęło nam mniej niż tydzień.

Wyzwanie

Codziennie na SZ.de publikowane są setki nowych artykułów. Po pierwszej publikacji mogą być kilkakrotnie aktualizowane z różnych powodów — w artykułach opartych na wiadomościach dodawane są nowe akapity, poprawiane są literówki, zmieniane są zwiastuny lub optymalizacja metadanych pod kątem wyszukiwarek.

Generowanie mowy na potrzeby pierwszej publikacji artykułu jest proste, ponieważ cały tekst wymaga syntezy. Ale w jaki sposób możemy szybko wygenerować dźwięk dla zaktualizowanych wersji artykułów, nie płacąc dwukrotnie za tę samą treść? Naszym największym wyzwaniem było uniemożliwienie wielokrotnego wysyłania całego tekstu do Amazon Polly przy każdej pojedynczej aktualizacji.

Nasze rozwiązanie techniczne

Za każdym razem, gdy redaktor zapisuje artykuł, nowa wersja artykułu jest publikowana w temacie SNS. Jakiś AWS Lambda funkcja jest subskrybowana w tym temacie i wywoływana przy każdej nowej wersji artykułu. Ta funkcja wykonuje następujące kroki:

  1. Sprawdź, czy nowa wersja artykułu została już w pełni zsyntetyzowana. Jeśli tak, funkcja zostaje natychmiast zatrzymana (może się to zdarzyć, gdy zmienione zostaną tylko metadane, które nie mają wpływu na dźwięk).
  2. Zamień artykuł na wielokrotny Dokumenty SSML, mniej więcej po jednym na każdy akapit tekstu.
  3. Dla każdego dokumentu SSML funkcja sprawdza, czy został już zsyntetyzowany na dźwięk przy użyciu obliczonych skrótów. Na przykład:
    1. Jeśli artykuł jest zapisywany po raz pierwszy, wszystkie dokumenty SSML muszą zostać zsyntetyzowane.
    2. Jeśli w jednym akapicie naprawiono literówkę, należy ponownie zsyntetyzować jedynie dokument SSML dla tego akapitu.
    3. Jeśli do artykułu zostanie dodany nowy akapit, należy zsyntetyzować jedynie dokument SSML dla tego nowego akapitu.
  4. Wyślij wszystkie jeszcze niezsyntetyzowane dokumenty SSML oddzielnie do Amazon Polly.

Kontrole te pomagają zoptymalizować wydajność i obniżyć koszty, zapobiegając wielokrotnej syntezie całego artykułu. Unikamy ponoszenia dodatkowych opłat z powodu drobnych zmian, takich jak edycja tytułu lub korekty metadanych ze względów SEO.

Poniższy schemat ilustruje przepływ pracy rozwiązania.

Jak Süddeutsche Zeitung zoptymalizowało proces narracji dźwiękowej dzięki Amazon Polly PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Gdy Amazon Polly zsyntetyzuje dokumenty SSML, pliki audio są wysyłane do zasobnika wyjściowego Usługa Amazon Simple Storage (Amazon S3). Druga funkcja Lambda nasłuchuje tworzenia obiektów w tym segmencie, czeka na ukończenie wszystkich fragmentów audio artykułu i łączy je w końcowy plik audio za pomocą FFmpeg z warstwy Lambda. Ten końcowy dźwięk jest wysyłany do innego segmentu S3, który jest używany jako źródło w naszej dystrybucji CloudFront. W CloudFront ponownie wykorzystujemy istniejącą zaporę płatniczą dla artykułów premium dla odpowiedniej wersji audio.

W oparciu o nasz model freemium udostępniamy skróconą wersję audio artykułów premium. Osoby nie posiadające subskrypcji mogą odsłuchać pierwszy akapit bezpłatnie, ale aby uzyskać dostęp do pełnego artykułu, muszą wykupić subskrypcję.

Wnioski

Integracja Amazon Polly z naszą istniejącą infrastrukturą była bardzo prosta. Nasza treść wymaga minimalnego dostosowania, ponieważ uwzględniamy tylko akapity i kilka dodatkowych przerw. Najbardziej wymagającą częścią była optymalizacja wydajności i kosztów, którą osiągnęliśmy poprzez podzielenie artykułu na wiele dokumentów SSML odpowiadających akapitom, sprawdzenie zmian w każdym dokumencie SSML i zbudowanie całego pliku audio poprzez połączenie fragmentów. Dzięki tym optymalizacjom jesteśmy w stanie osiągnąć następujące wyniki:

  • Zmniejsz ilość syntetyzowanych znaków o co najmniej 50%, syntetyzując tylko rzeczywiste zmiany.
  • Skróć czas potrzebny na pojawienie się zmiany w tekście artykułu w dźwięku, ponieważ jest mniej dźwięku do syntezy.
  • Dodaj dowolne pliki audio pomiędzy akapitami bez ponownej syntezy całego artykułu. Na przykład możemy dołączyć plik dźwiękowy do skróconej wersji audio artykułów premium, aby oddzielić pierwszy akapit od następującej po nim notatki, że do słuchania pełnej wersji wymagana jest subskrypcja.

W pierwszym miesiącu po uruchomieniu funkcji „odsłuchaj artykuł” w naszych artykułach SZ.de otrzymaliśmy wiele pozytywnych opinii użytkowników. W ciągu pierwszych 30,000 miesięcy od uruchomienia udało nam się dotrzeć do prawie 2 200 użytkowników. Spośród tych użytkowników około XNUMX przeszło na płatną subskrypcję tylko po wysłuchaniu zwiastuna artykułu za naszą zaporą płatniczą. Funkcja „odsłuchaj artykuł” nie jest dostępna za naszą zaporą płatniczą, ale użytkownicy mogą w pełni słuchać artykułów premium tylko wtedy, gdy mają subskrypcję. Na naszej stronie internetowej znajdziesz także darmowe artykuły bez paywalla. W przyszłości rozszerzymy tę funkcję na inne platformy SZ, zwłaszcza na nasze mobilne aplikacje informacyjne.


O autorze

Jak Süddeutsche Zeitung zoptymalizowało proces narracji dźwiękowej dzięki Amazon Polly PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Jakub Kohl jest programistą w Süddeutsche Zeitung, gdzie lubi pracować z nowoczesnymi technologiami w zwinnym zespole zajmującym się tworzeniem stron internetowych. Jest jednym z głównych twórców funkcji „posłuchaj artykułu SZ”. W wolnym czasie lubi budować drewniane meble, gdzie projekt techniczny i wizualny jest równie ważny jak przy tworzeniu stron internetowych.

Znak czasu:

Więcej z Uczenie maszynowe AWS