Clipping Service News OCR

Introdução

Sumário

Como proprietário do maior conjunto de dados de mídia do Brasil, o líder em monitoramento de mídia Clipping Service estava com problemas de escalabilidade, aproximando-se da capacidade máxima de seu data center e de seus “leitores”.

Clipping Service opera em grande escala, recebendo cerca de ~4,5K páginas de mídia por dia de cerca de 300 jornais, tanto na versão digital como na impressa. Anteriormente os funcionários chamados de “leitores” eram responsáveis pela leitura e clipping (adicionando destaque ao conteúdo alvo) para depois serem repassados para a equipe de “revisores”.

Como se o fardo de ler inúmeras páginas por dia não fosse suficiente, a operação dos leitores começa por volta das 4:30 da manhã quando a “primeira leitura” inicia (ou seja, a entrega dos impressos matinais).

Problema

Por mais de 20 anos este conteúdo foi ingerido pelos chamados “leitores”. Mas, devido ao advento da internet e do boom da imprensa digital a partir do final dos anos 90, e atualmente de mídias social as empresas estão transferindo seus investimentos de clipping para o monitoramento de outras áreas. Exigindo portanto uma ação do Clipping Service para se manter competitiva no mercado.

Através da automação da leitura de notícias usando OCR, PLN e inteligência artificial para categorizar as mídias, o plano era alcançar um maior rendimento durante a ingestão, dando aos leitores mais tempo livre para revisar o conteúdo. Consequentemente, alcançar uma maior qualidade no conteúdo, já que nós como humanos não somos bons em fazer tarefas repetitivas, especialmente quando se trata de ler páginas intermináveis em busca de nomes e palavras.

Solução

Implementação técnica

Após algum tempo de pesquisa e benchmarking das alternativas, decidimos usar Python como linguagem de implementação para lidar com textos, OCR e PLN (usando NLTK). Dada sua API estendida e bibliotecas para PLN e processamento de imagens.

Como fornecedor de nuvem escolhemos AWS devido a sua estabilidade e consistência em relação a outros fornecedores, a conclusão na época foi: AWS possui uma estimativa de preço 14,67% maior do que a GCP. Entretanto, a popularidade da AWS é maior do que a GCP, assim como é uma nuvem comprovada em termos de estabilidade, suporte e integridade. Fazendo uma escolha mais segura por um preço ligeiramente superior.

A stack foi: Python 3 usando Dramatiq como biblioteca de processamento de tarefas, executando OCR por meio do Tesseract, processando texto com NLTK e imagens com Pillow (wrapper do ImageMagick). Redis foi o mensage broker do Dramatiq, um banco relacional simples estava no Postgres armazenando métricas referentes à execução e tínhamos também um Elasticsearch armazenando o conteúdo processado.

As solicitações vindas do data center chegaram a um Gateway API, responsável por executar uma função Lambda, e entregar o resultado do conteúdo.

A melhor parte do design? Armazenávamos e servimos o conteúdo por meio do AWS S3. Cada peça foi desenhada com tolerância a falhas, e nós simplesmente desligávamos toda a infra-estrutura em nuvem depois da operação, para ligar apenas no dia seguinte.

Operando apenas das 4h às 14h, um projeto “serverless” e efêmero com beneficiado por uma redução de custos em núvem agressiva.

Impacto e resultados

A Clipping Service reduziu em ~78% o quadro de funcionários da equipe de leitura, oferecendo contratação interna para outras áreas da empresa e um plano de demissão voluntário com benefícios, tornando o processo o mais humano possível para os funcionários que preferissem sair.

Utilizando automação para tarefas de leitura, a Clipping Service pôde alcançar melhorias consideráveis durante o processo de ingestão de mídia (cerca de 20 vezes mais rápido), oferecendo maior qualidade no serviço de clipping para seus clientes e viu a oportunidade de criar posteriormente um serviço de auto-serviço de recortes de imprensa, uma vez que o custo operacional diminuiu significativamente.

Matheus Cunha
Matheus Cunha
Engenheiro de Sistemas e Mágico

Apenas um amante de tecnologia empoderando empresas com computação “high-tech” para ajudar na inovação (:

comments powered by Disqus