IA/ML Startup de IA

Indexação de todos os sites de conteúdo da zona .co.uk

Montamos um registro limpo dos sites de conteúdo da zona (blogs e sites de notícias) e coletamos o próprio conteúdo: um conjunto de páginas HTML em um armazenamento de objetos compatível com S3, com acesso liberado ao cliente.

A tarefa

A startup precisava da lista mais completa possível de sites de conteúdo da zona .co.uk (blogs, sites de notícias e outras plataformas editoriais) como base de um corpus de treinamento. O valor estava justamente na completude e na limpeza: capturar todos os sites de conteúdo sem deixar entrar na lista sites comerciais e domínios-lixo.

O que fizemos e quais dados coletamos

Percorremos a zona de domínios, selecionamos os sites ativos e coletamos, para cada um, os sinais de site de conteúdo: estrutura de seções, presença de feeds e RSS, frequência de publicação e temática. O inglês era condição obrigatória de inclusão: sites da zona em outros idiomas eram descartados. A parte de notícias também era conferida com o índice do Google News; assim confirmamos e complementamos a lista dos veículos que de fato são de notícias.

Depois fomos pelo caminho inverso: não só procurar os “nossos” sites, mas limpar ativamente o excesso:

  • removemos da lista os sites de empresas presentes no Google Maps em categorias que não nos interessam (lojas, serviços, alimentação etc.) — assim foram excluídos os sites comerciais que, pela estrutura, poderiam passar por sites de conteúdo;
  • filtramos os sites com pontuação zero nos serviços de SEO — entre eles quase certamente há lixo ou domínios abandonados.

Além do próprio registro de domínios (com o tipo — blog / notícias), coletamos também as páginas HTML desses sites para o corpus.

Dificuldades e como as resolvemos

Primeiro, a completude da zona: não existe lista pública completa. Reunimos o registro a partir de várias fontes e o conferimos com o Google News para fechar as lacunas na parte de notícias.

Segundo, o ponto-chave: separar os sites de conteúdo dos comerciais. Nessa escala há poucos sinais positivos de “isto é um blog ou um veículo”, então invertemos o problema e subtraímos os domínios claramente comerciais cruzando com o Google Maps: se o domínio pertence a um negócio de categoria irrelevante, não é o nosso site.

Terceiro, o lixo e os sites abandonados. Fizemos o corte pela pontuação zero nos serviços de SEO, para que o corpus não captasse ruído.

O resultado

A startup recebeu tanto um registro limpo dos domínios de conteúdo da zona (blogs e notícias, sem sites comerciais e sem lixo) quanto o próprio conteúdo — um conjunto de páginas HTML comprimidas em gzip e guardadas em um armazenamento de objetos compatível com S3 ao qual liberamos o acesso. Ou seja, no final havia um corpus pronto, não apenas uma lista de sites.


Serviços usados neste caso: Base de dados de domínios · Extração de artigos de imprensa · Base de dados de mídia · Extração de dados do Google Maps · Dados para IA/ML · DaaS e dados via API