Comment Süddeutsche Zeitung a optimisé son processus de narration audio avec Amazon Polly PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Comment Süddeutsche Zeitung a optimisé son processus de narration audio avec Amazon Polly

Ceci est un article invité de Jakob Kohl, développeur de logiciels au Süddeutsche Zeitung. Süddeutsche Zeitung est l'un des principaux quotidiens de qualité en Allemagne en matière d'abonnements payants et d'utilisateurs uniques. Son site Internet, SZ.de, atteint plus de 15 millions d'utilisateurs uniques par mois en octobre 2021.

Grâce aux enceintes intelligentes et aux podcasts, l'industrie audio a connu un véritable boom ces dernières années. À Süddeutsche Zeitung, nous recherchons constamment de nouvelles façons de rendre notre journalisme diversifié encore plus accessible. En tant que pionniers du journalisme numérique, nous voulons ouvrir davantage d'opportunités aux Süddeutsche Zeitung lecteurs à consommer des articles. Nous avons commencé à chercher des solutions qui pourraient fournir une narration audio de haute qualité pour nos articles. Notre objectif ultime était de lancer une fonctionnalité « écouter l'article ».

Dans cet article, nous partageons comment nous avons optimisé notre processus de narration audio avec Amazon Polly, un service qui transforme texte en discours réaliste en utilisant des technologies avancées d'apprentissage en profondeur.

Pourquoi Amazon Polly ?

Nous pensons que Vicki, la neurale allemande Voix d'Amazon Polly, est actuellement la meilleure voix allemande du marché. Amazon Polly offre la fonctionnalité impressionnante de basculer entre les langues, en prononçant correctement par exemple des titres de films en anglais ainsi que des noms de personnes dans différentes langues (pour un exemple, écoutez l'article Schall et Wahn sur notre site Internet).

Une grande partie de notre infrastructure fonctionne déjà sur AWS, donc en utilisant Amazon Polly était un ajustement parfait. Nous pouvons combiner Amazon Polly avec les composants suivants :

  • An Service de notification simple d'Amazon (Amazon SNS) sujet auquel nous pouvons nous abonner pour des articles. Les articles sont envoyés à cette rubrique par le CMS chaque fois qu'ils sont enregistrés par un éditeur.
  • An Amazon CloudFront distribution avec Lambda@Edge aux articles payants premium, que nous pouvons réutiliser pour les versions audio des articles.

Les API Amazon Polly est facile à utiliser et bien documenté. Il nous a fallu moins d'une semaine pour que notre preuve de concept fonctionne.

Le défi

Des centaines de nouveaux articles sont publiés chaque jour sur SZ.de. Après la publication initiale, ils peuvent être mis à jour plusieurs fois pour diverses raisons : de nouveaux paragraphes sont ajoutés dans les articles d'actualité, les fautes de frappe sont corrigées, les accroches sont modifiées ou les métadonnées sont optimisées pour les moteurs de recherche.

Générer un discours pour la publication initiale d'un article est simple, car l'ensemble du texte doit être synthétisé. Mais comment générer rapidement l'audio des versions mises à jour des articles sans payer deux fois pour le même contenu ? Notre plus grand défi était d'empêcher l'envoi répété de l'intégralité du texte à Amazon Polly pour chaque mise à jour.

Notre solution technique

Chaque fois qu'un éditeur enregistre un article, la nouvelle version de l'article est publiée dans une rubrique SNS. Une AWS Lambda La fonction est abonnée à ce sujet et appelée pour chaque nouvelle version d'un article. Cette fonction exécute les étapes suivantes :

  1. Vérifiez si la nouvelle version de l'article a déjà été entièrement synthétisée. Si tel est le cas, la fonction s'arrête immédiatement (cela peut se produire lorsque seules les métadonnées sont modifiées sans affecter l'audio).
  2. Convertir l'article en plusieurs Documents SSML, environ un pour chaque paragraphe de texte.
  3. Pour chaque document SSML, la fonction vérifie s'il a déjà été synthétisé en audio à l'aide de hachages calculés. Par exemple:
    1. Si un article est enregistré pour la première fois, tous les documents SSML doivent être synthétisés.
    2. Si une faute de frappe a été corrigée dans un seul paragraphe, seul le document SSML de ce paragraphe doit être resynthétisé.
    3. Si un nouveau paragraphe est ajouté à l'article, seul le document SSML de ce nouveau paragraphe doit être synthétisé.
  4. Envoyez séparément tous les documents SSML non encore synthétisés à Amazon Polly.

Ces vérifications permettent d'optimiser les performances et de réduire les coûts en empêchant la synthèse répétée d'un article entier. Nous évitons d'encourir des frais supplémentaires en raison de modifications mineures telles qu'une modification de titre ou des ajustements de métadonnées pour des raisons de référencement.

Le diagramme suivant illustre le flux de travail de la solution.

Comment Süddeutsche Zeitung a optimisé son processus de narration audio avec Amazon Polly PlatoBlockchain Data Intelligence. Recherche verticale. Aï.

Une fois qu'Amazon Polly a synthétisé les documents SSML, les fichiers audio sont envoyés à un compartiment de sortie dans Service de stockage simple Amazon (Amazon S3). Une deuxième fonction Lambda écoute la création d'objets sur ce compartiment, attend la fin de tous les fragments audio d'un article et les fusionne dans un fichier audio final à l'aide FFmpeg à partir d'une couche Lambda. Cet audio final est envoyé à un autre compartiment S3, qui est utilisé comme origine dans notre distribution CloudFront. Dans CloudFront, nous réutilisons un paywall existant pour les articles premium pour la version audio correspondante.

Sur la base de notre modèle freemium, nous proposons une version audio raccourcie des articles premium. Les non-abonnés peuvent écouter gratuitement le premier paragraphe, mais doivent acheter un abonnement pour accéder à l'article complet.

Conclusion

L'intégration d'Amazon Polly dans notre infrastructure existante a été très simple. Notre contenu nécessite une personnalisation minimale car nous n'incluons que des paragraphes et quelques pauses supplémentaires. La partie la plus difficile était l'optimisation des performances et des coûts, que nous avons obtenue en divisant l'article en plusieurs documents SSML correspondant aux paragraphes, en vérifiant les modifications apportées à chaque document SSML et en créant l'intégralité du fichier audio en fusionnant les fragments. Grâce à ces optimisations, nous sommes en mesure d'obtenir les résultats suivants :

  • Réduisez la quantité de caractères synthétisés d'au moins 50 % en ne synthétisant que les changements réels.
  • Réduisez le temps nécessaire pour qu'une modification du texte de l'article apparaisse dans l'audio, car il y a moins d'audio à synthétiser.
  • Ajoutez des fichiers audio arbitraires entre les paragraphes sans re-synthétiser l'intégralité de l'article. Par exemple, nous pouvons inclure un fichier audio dans la version audio abrégée d'un article premium pour séparer le premier paragraphe de la note suivante indiquant qu'un abonnement est nécessaire pour écouter la version complète.

Au cours du premier mois qui a suivi le lancement de la fonction "écouter l'article" dans nos articles SZ.de, nous avons reçu de nombreux retours positifs des utilisateurs. Nous avons pu atteindre près de 30,000 2 utilisateurs au cours des 200 premiers mois après le lancement. Parmi ces utilisateurs, environ XNUMX se sont convertis en abonnement payant uniquement en écoutant le teaser d'un article derrière notre paywall. La fonction "écouter l'article" n'est pas derrière notre paywall, mais les utilisateurs ne peuvent écouter pleinement les articles premium que s'ils ont un abonnement. Notre site Web propose également des articles gratuits sans paywall. À l'avenir, nous étendrons la fonctionnalité à d'autres plates-formes SZ, en particulier nos applications d'actualités mobiles.


À propos de l’auteur

Comment Süddeutsche Zeitung a optimisé son processus de narration audio avec Amazon Polly PlatoBlockchain Data Intelligence. Recherche verticale. Aï.Jacob Kohl est développeur de logiciels à la Süddeutsche Zeitung, où il aime travailler avec les technologies modernes au sein d'une équipe de site Web agile. Il est l'un des principaux développeurs de la fonctionnalité "écouter un article SZ". Dans ses loisirs, il aime construire des meubles en bois, où la conception technique et visuelle est aussi importante que dans le développement web.

Horodatage:

Plus de Apprentissage automatique AWS