Как Süddeutsche Zeitung оптимизировала процесс аудиорассказывания с помощью Amazon Polly PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Как Süddeutsche Zeitung оптимизировала процесс озвучивания с помощью Amazon Polly

Это гостевой пост Якоба Коля, разработчика программного обеспечения в Süddeutsche Zeitung. Süddeutsche Zeitung — одна из ведущих качественных ежедневных газет в Германии, когда речь идет о платной подписке и количестве уникальных пользователей. Его веб-сайт, SZ.de, достигает более 15 миллионов уникальных пользователей в месяц по состоянию на октябрь 2021 года.

Благодаря умным колонкам и подкастам аудиоиндустрия в последние годы пережила настоящий бум. В Süddeutsche Zeitung, мы постоянно ищем новые способы сделать нашу разнообразную журналистику еще более доступной. Как пионеры цифровой журналистики, мы хотим открыть больше возможностей для Süddeutsche Zeitung читатели потребляют статьи. Мы начали искать решения, которые могли бы обеспечить качественное аудио озвучивание наших статей. Нашей конечной целью было запустить функцию «прослушать статью».

В этом посте мы рассказываем, как мы оптимизировали процесс озвучивания с помощью Amazon Polly, сервиса, который превращает текст в живую речь с использованием передовых технологий глубокого обучения.

Почему Амазонка Полли?

Мы считаем, что Вики, немецкая нейронная Голос Амазонки Полли, в настоящее время является лучшим немецким голосом на рынке. Amazon Polly предлагает впечатляющую функцию для переключаться между языками, правильно произнося, например, английские названия фильмов, а также личные имена на разных языках (например, послушайте статью Шаль и Ван на нашем сайте).

Большая часть нашей инфраструктуры уже работает на AWS, поэтому с помощью Амазон Полли идеально подходил. Мы можем комбинировать Amazon Polly со следующими компонентами:

  • An Amazon Простая служба уведомлений (Amazon SNS) тема, на которую мы можем подписаться для получения статей. Статьи отправляются в эту тему CMS всякий раз, когда они сохраняются редактором.
  • An Amazon CloudFront распространение с Лямбда @ Edge на премиум-статьи с платным доступом, которые мы можем повторно использовать для аудиоверсий статей.

Ассоциация API-интерфейс Amazon Polly прост в использовании и хорошо документирован. Нам потребовалось меньше недели, чтобы заставить наше доказательство концепции работать.

Задача

Каждый день на SZ.de публикуются сотни новых статей. После первоначальной публикации они могут обновляться несколько раз по разным причинам: в новостные статьи добавляются новые абзацы, исправляются опечатки, меняются тизеры или оптимизируются метаданные для поисковых систем.

Генерировать речь для первоначальной публикации статьи несложно, потому что нужно синтезировать весь текст. Но как мы можем быстро сгенерировать аудио для обновленных версий статей, не платя дважды за один и тот же контент? Нашей самой большой проблемой было предотвратить повторную отправку всего текста в Amazon Polly для каждого отдельного обновления.

Наше техническое решение

Каждый раз, когда редактор сохраняет статью, новая версия статьи публикуется в теме SNS. Ан AWS Lambda функция подписана на эту тему и вызывается для каждой новой версии статьи. Эта функция выполняет следующие шаги:

  1. Проверьте, полностью ли синтезирована новая версия статьи. Если это так, функция немедленно останавливается (это может произойти, когда изменяются только метаданные, не влияющие на звук).
  2. Преобразовать статью в несколько SSML-документы, примерно по одному на каждый текстовый абзац.
  3. Для каждого SSML-документа функция проверяет, не был ли он уже синтезирован в аудио с использованием рассчитанных хэшей. Например:
    1. Если статья сохраняется впервые, все документы SSML должны быть синтезированы.
    2. Если опечатка была исправлена ​​в одном абзаце, необходимо повторно синтезировать только SSML-документ для этого абзаца.
    3. Если к статье добавляется новый абзац, необходимо синтезировать только документ SSML для этого нового абзаца.
  4. Отправляйте все еще не синтезированные документы SSML отдельно в Amazon Polly.

Эти проверки помогают оптимизировать производительность и снизить затраты, предотвращая многократный синтез всей статьи. Мы избегаем дополнительных расходов из-за незначительных изменений, таких как редактирование заголовка или корректировка метаданных по причинам SEO.

Следующая диаграмма иллюстрирует рабочий процесс решения.

Как Süddeutsche Zeitung оптимизировала процесс аудиорассказывания с помощью Amazon Polly PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

После того как Amazon Polly синтезирует документы SSML, аудиофайлы отправляются в выходную корзину в Простой сервис хранения Amazon (Амазон С3). Вторая функция Lambda отслеживает создание объекта в этом сегменте, ожидает завершения всех аудиофрагментов статьи и объединяет их в окончательный аудиофайл, используя FFmpeg из лямбда-слоя. Этот окончательный звук отправляется в другую корзину S3, которая используется в качестве источника в нашей раздаче CloudFront. В CloudFront мы повторно используем существующий платный доступ для премиальных статей для соответствующей аудиоверсии.

На основе нашей модели freemium мы предоставляем сокращенные аудиоверсии премиальных статей. Неподписчики могут прослушать первый абзац бесплатно, но для доступа к полной статье им необходимо приобрести подписку.

Заключение

Интеграция Amazon Polly в нашу существующую инфраструктуру была очень простой. Наш контент требует минимальной настройки, потому что мы включаем только абзацы и некоторые дополнительные разрывы. Самой сложной частью была оптимизация производительности и стоимости, которую мы достигли, разбив статью на несколько документов SSML, соответствующих абзацам, проверив изменения в каждом документе SSML и создав целый аудиофайл путем слияния фрагментов. С помощью этих оптимизаций мы можем добиться следующего:

  • Уменьшите количество синтезируемых персонажей как минимум на 50%, синтезируя только реальные изменения.
  • Сократите время, необходимое для того, чтобы изменение текста статьи появилось в аудио, потому что нужно синтезировать меньше аудио.
  • Добавляйте произвольные аудиофайлы между абзацами без повторного синтеза всей статьи. Например, мы можем включить звуковой файл в сокращенную аудиоверсию премиальной статьи, чтобы отделить первый абзац от последующего примечания о том, что для прослушивания полной версии необходима подписка.

В первый месяц после запуска функции «прослушать статью» в наших статьях SZ.de мы получили много положительных отзывов пользователей. Нам удалось охватить почти 30,000 2 пользователей в течение первых 200 месяцев после запуска. Из этих пользователей примерно XNUMX перешли на платную подписку только после прослушивания тизера статьи за нашим платным доступом. Функция «прослушать статью» не защищена нашим платным доступом, но пользователи могут полностью слушать премиум-статьи, только если у них есть подписка. Наш веб-сайт также предлагает бесплатные статьи без платного доступа. В будущем мы расширим эту функцию на другие платформы SZ, особенно на наши мобильные новостные приложения.


Об авторе

Как Süddeutsche Zeitung оптимизировала процесс аудиорассказывания с помощью Amazon Polly PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Якоб Коль является разработчиком программного обеспечения в Süddeutsche Zeitung, где ему нравится работать с современными технологиями в гибкой команде веб-сайтов. Он является одним из основных разработчиков функции «прослушать статью SZ». В свободное время он любит собирать деревянную мебель, где технический и визуальный дизайн так же важен, как и в веб-разработке.

Отметка времени:

Больше от Машинное обучение AWS