Como o Süddeutsche Zeitung otimizou seu processo de narração de áudio com o Amazon Polly PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Como o Süddeutsche Zeitung otimizou seu processo de narração de áudio com o Amazon Polly

Este é um post convidado de Jakob Kohl, desenvolvedor de software do Süddeutsche Zeitung. O Süddeutsche Zeitung é um dos principais jornais diários de qualidade na Alemanha quando se trata de assinaturas pagas e usuários únicos. Seu site, SZ.de, alcança mais de 15 milhões de usuários únicos mensais em outubro de 2021.

Graças aos alto-falantes e podcasts inteligentes, a indústria de áudio experimentou um verdadeiro boom nos últimos anos. No Süddeutsche Zeitung, estamos constantemente à procura de novas formas de tornar o nosso jornalismo diversificado ainda mais acessível. Como pioneiros no jornalismo digital, queremos abrir mais oportunidades para Süddeutsche Zeitung leitores a consumir artigos. Começamos a buscar soluções que pudessem fornecer narração em áudio de alta qualidade para nossos artigos. Nosso objetivo final era lançar um recurso “ouvir o artigo”.

Neste post, compartilhamos como otimizamos nosso processo de narração em áudio com o Amazon Polly, um serviço que transforma texto em fala realista usando tecnologias avançadas de aprendizado profundo.

Por que Amazon Polly?

Acreditamos que Vicki, a neural alemã Voz da Amazon Polly, é atualmente a melhor voz alemã do mercado. Amazon Polly oferece o recurso impressionante para alternar entre os idiomas, pronunciando corretamente, por exemplo, títulos de filmes em inglês, bem como nomes pessoais em diferentes idiomas (por exemplo, ouça o artigo Schall e Wahn Em nosso site).

Grande parte da nossa infraestrutura já roda na AWS, então usando Amazon Polly foi um ajuste perfeito. Podemos combinar o Amazon Polly com os seguintes componentes:

A API Amazon Polly é fácil de usar e bem documentado. Levamos menos de uma semana para que nossa prova de conceito funcionasse.

O desafio

Centenas de novos artigos são publicados todos os dias no SZ.de. Após a publicação inicial, eles podem ser atualizados várias vezes por vários motivos: novos parágrafos são adicionados em artigos baseados em notícias, erros de digitação são corrigidos, teasers são alterados ou metadados são otimizados para mecanismos de pesquisa.

Gerar discurso para a publicação inicial de um artigo é simples, pois todo o texto precisa ser sintetizado. Mas como podemos gerar rapidamente o áudio para versões atualizadas de artigos sem pagar duas vezes pelo mesmo conteúdo? Nosso maior desafio foi evitar o envio repetido do texto inteiro ao Amazon Polly a cada atualização.

Nossa solução técnica

Cada vez que um editor salva um artigo, a nova versão do artigo é publicada em um tópico do SNS. Um AWS Lambda A função está inscrita neste tópico e é chamada para cada nova versão de um artigo. Esta função executa as seguintes etapas:

  1. Verifique se a nova versão do artigo já foi totalmente sintetizada. Nesse caso, a função para imediatamente (isso pode acontecer quando apenas os metadados são alterados e não afetam o áudio).
  2. Converta o artigo em vários Documentos SSML, aproximadamente um para cada parágrafo do texto.
  3. Para cada documento SSML, a função verifica se ele já foi sintetizado em áudio usando hashes calculados. Por exemplo:
    1. Se um artigo for salvo pela primeira vez, todos os documentos SSML deverão ser sintetizados.
    2. Se um erro de digitação tiver sido corrigido em um único parágrafo, apenas o documento SSML deste parágrafo deverá ser ressintetizado.
    3. Se um novo parágrafo for adicionado ao artigo, apenas o documento SSML deste novo parágrafo deverá ser sintetizado.
  4. Envie todos os documentos SSML ainda não sintetizados separadamente para o Amazon Polly.

Essas verificações ajudam a otimizar o desempenho e reduzir custos, evitando a síntese de um artigo inteiro diversas vezes. Evitamos incorrer em cobranças adicionais devido a pequenas alterações, como edição de título ou ajustes de metadados por motivos de SEO.

O diagrama a seguir ilustra o fluxo de trabalho da solução.

Como o Süddeutsche Zeitung otimizou seu processo de narração de áudio com o Amazon Polly PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.

Depois que o Amazon Polly sintetiza os documentos SSML, os arquivos de áudio são enviados para um bucket de saída em Serviço de armazenamento simples da Amazon (Amazon S3). Uma segunda função do Lambda escuta a criação de objetos nesse bucket, aguarda a conclusão de todos os fragmentos de áudio de um artigo e os mescla em um arquivo de áudio final usando FFmpeg de uma camada Lambda. Esse áudio final é enviado para outro bucket S3, que é usado como origem em nossa distribuição do CloudFront. No CloudFront, reutilizamos um acesso pago existente para artigos premium para a versão de áudio correspondente.

Com base em nosso modelo freemium, oferecemos uma versão abreviada em áudio de artigos premium. Os não assinantes podem ouvir o primeiro parágrafo gratuitamente, mas são obrigados a adquirir uma assinatura para acessar o artigo completo.

Conclusão

A integração do Amazon Polly à nossa infraestrutura existente foi muito simples. Nosso conteúdo requer personalização mínima porque incluímos apenas parágrafos e algumas quebras adicionais. A parte mais desafiadora foi a otimização de desempenho e custos, que conseguimos dividindo o artigo em vários documentos SSML correspondentes a parágrafos, verificando alterações em cada documento SSML e construindo todo o arquivo de áudio mesclando os fragmentos. Com essas otimizações, podemos alcançar o seguinte:

  • Diminua a quantidade de caracteres sintetizados em pelo menos 50% sintetizando apenas alterações reais.
  • Reduza o tempo que leva para uma alteração no texto do artigo aparecer no áudio porque há menos áudio para sintetizar.
  • Adicione arquivos de áudio arbitrários entre parágrafos sem ressintetizar o artigo inteiro. Por exemplo, podemos incluir um arquivo de som na versão de áudio abreviada de um artigo premium para separar o primeiro parágrafo da nota seguinte de que é necessária uma assinatura para ouvir a versão completa.

No primeiro mês após o lançamento do recurso “ouvir o artigo” em nossos artigos SZ.de, recebemos muitos comentários positivos dos usuários. Conseguimos alcançar quase 30,000 usuários durante os primeiros 2 meses após o lançamento. Desses usuários, aproximadamente 200 foram convertidos em uma assinatura paga apenas ao ouvir o teaser de um artigo atrás de nosso acesso pago. O recurso “ouvir o artigo” não está protegido por nosso acesso pago, mas os usuários só podem ouvir artigos premium na íntegra se tiverem uma assinatura. Nosso site também oferece artigos gratuitos sem acesso pago. No futuro, expandiremos o recurso para outras plataformas SZ, especialmente nossos aplicativos de notícias móveis.


Sobre o autor

Como o Süddeutsche Zeitung otimizou seu processo de narração de áudio com o Amazon Polly PlatoBlockchain Data Intelligence. Pesquisa Vertical. Ai.Jakob Kohl é desenvolvedor de software no Süddeutsche Zeitung, onde gosta de trabalhar com tecnologias modernas em uma equipe ágil de sites. Ele é um dos principais desenvolvedores do recurso “ouvir um artigo SZ”. Nos momentos de lazer gosta de construir móveis de madeira, onde o design técnico e visual é tão importante quanto no desenvolvimento web.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS