Dados abertos, Python e PostgreSQL: a combinação perfeita

Fazer a captura de dados públicos abertos em um país como o Brasil pode ser desafiador. Isso porque os formatos e padrões costumam variar entre as diferentes instituições de cada esfera governamental, o que acaba por gerar uma quantidade de dados muito grande e despadronizada.

No País, muitas iniciativas buscam analisar esses dados abertos e disponibilizá-los para o grande público em um formato mais acessível e de fácil leitura. E isso passa pela utilização do Python e do SQL.

Neste post, veja cases que mostram como a combinação entre essas linguagens torna-se a melhor ferramenta para obter, limpar, analisar e apresentar os dados públicos abertos para a população. Acompanhe!

Acesso a dados no Brasil: um desafio

Na internet, a quantidade de dados disponível é imensa. São informações distribuídas de diferentes maneiras e nos mais diversos formatos. Esse cenário a princípio caótico gera a necessidade da criação de novos softwares especializados na captura, conversão e limpeza desses dados para que eles possam ser inseridos em uma base de dados relacional.

A Lei de Acesso à Informação e outras iniciativas que visam a transparência inauguraram a era dos dados públicos e da inovação cívica, em que a população pode – ou ao menos deveria – ter acesso a informações de interesse público.

Porém, a realidade é um pouco diferente, e o acesso a esses dados pode se tornar um verdadeiro desafio. Nesse sentido, o Brasil tem uma série de projetos que visam criar scripts para estruturar bases de dados de interesse público para facilitar o controle social da gestão governamental.

A seguir, vamos rever o que são dados abertos e conhecer cases da sua utilização como forma de controle da sociedade civil. Por fim, veremos o papel do Python e do SQL nessa nova realidade.

O que são dados abertos?

Dados abertos são aqueles que podem ser utilizados e redistribuídos livremente por qualquer pessoa. Quando há algum tipo de exigência, essa se refere à atribuição da fonte e ao compartilhamento dos dados.

Como são utilizados?

Uma das principais finalidades dos dados abertos é para o controle social, ou seja, para contar com a participação da sociedade civil para o controle e monitoramento da gestão pública, acompanhamento a implementação das políticas e dos programas públicos.

Por meio desses dados, torna-se mais fácil encontrar irregularidades. Por conta disso, essa é uma alternativa válida para aumentar o engajamento da população em relação às ações governamentais, e também por parte da imprensa, na tarefa de fiscalizar o poder público.

Um exemplo é a Operação Serenata de Amor, feita pela Open Knowledge Foundation. O projeto iniciou com uma investigação dos gastos da cota parlamentar dos deputados federais, na Câmara dos Deputados, em Brasília.

A partir dessas informações, que estão publicamente disponíveis, foram criados algoritmos e utilizadas soluções de inteligência artificial para analisar os dados em busca de irregularidades. Dessa iniciativa nasceu a robô Rosie, que foi atrelada a uma conta no Twitter para divulgar as irregularidades à medida que as encontrava.

Outro exemplo se deu no Jornalismo. Nessa iniciativa, o jornal Correio 24 horas, um dos maiores da Bahia, fez uma investigação acerca da balneabilidade das praias do estado. Para isso, foram analisados mais de 1500 arquivos do poder público com os boletins de avaliação da qualidade das águas de cada praia baiana. Com base nessas informações, o jornal entrevistou banhistas e informou o público sobre a realidade no litoral do estado.

Ainda há outro caso importante de fiscalização do poder público, que foi realizado pela publicação digital Gênero e Número, que cruzou dados do Tribunal Superior Eleitoral (TSE) para desvendar um esquema de candidaturas laranjas para o cumprimento da cota eleitoral.

Discussão atual

Uma das discussões que começam a surgir do Brasil, sobretudo devido à entrada em vigor da Lei Geral de Proteção de Dados (LGPD), diz respeito à transparência dos algoritmos. Isso porque os algoritmos, cujo papel é analisar dados e fornecer informações, também possuem um viés, uma vez que essa análise vai depender da forma como foram programados.

Um exemplo bastante relevante se deu em uma matéria jornalística realizada pela Pública, uma agência de Jornalismo investigativo, que, com base na Lei de Acesso à Informação, buscou investigar como são realizados os sorteios dos processos entre os ministros no Supremo Tribunal Federal (STF).

Após a negativa do STF em fornecer essas informações, a agência realizou um cruzamento de todos os dados dos processos e por quem foram julgados. A partir de uma engenharia reversa dessas informações, jornalistas e programadores buscaram entender a lógica por trás do algoritmo.

Análise de dados abertos

Quando trabalhamos com dados, geralmente segue-se a seguinte metodologia:

  • Pergunte;
  • Encontre;
  • Obtenha;
  • Verifique;
  • Limpe;
  • Analise;
  • Apresente.

Dentro dessa metodologia, a análise de dados abertos concentra-se, sobretudo, nas etapas de obtenção, verificação e limpeza, que são as que mais demandam tempo do projeto de dados. Para se ter uma ideia, muitas estimativas apontam que cerca de 80% do tempo do projeto é dedicado a essas três etapas.

Isso acontece, dentre outros fatores, devido à qualidade dos dados disponíveis, uma vez que muitos deles são disponibilizados em documentos pouco estruturados, como PDF, ou em formatos proprietários, como XLS.

Problemas de usabilidade de dados abertos e suas soluções

Existem quatro problemas principais que podem atrapalhar na análise de dados:

  • Dispersão: dados não centralizados;
  • Domínio da área: metodologia utilizada;
  • Formato: qualidade técnica do dado;
  • Quantidade: excesso de informações.

Em relação às soluções, existem algumas saídas para mitigar os problemas que citamos. São elas:

  • Educação tecnológica: ensinar pessoas de outras áreas como utilizar a tecnologia;
  • Libertação de dados: disponibilização de dados centralizados e em formato aberto;
  • Melhoria de ferramentas: softwares livres e acessíveis;
  • Pressão por dados melhores: identificar problemas e usar a Lei de Acesso à Informação para forçar ações de melhoria do poder público.

E como Python e SQL se relacionam com os dados abertos?

Todas as iniciativas de análise de dados abertos governamentais que citamos ao longo do texto só foram possíveis devido à utilização de Python e SQL para fazer a leitura, organização e simplificação das informações.

Assim, por meio de scripts e programas específicos, foi possível criar formas para tornar os dados mais acessíveis para o grande público, eliminando boa parte dos problemas de usabilidade elencados há pouco.

Um exemplo é a plataforma Brasil.IO, um projeto colaborativo que disponibiliza dados públicos em formatos acessíveis. Para isso, são criados scripts, totalmente em softwares abertos, que os consolidam na plataforma, facilitando inclusive o cruzamento dos dados de diferentes datasets.

No caso específico da Brasil.IO, o Python foi utilizado nas etapas de captura, normalização e limpeza dos dados, e em backend. Já a SQL se faz presente através do bancos de dados PostgreSQL, igualmente utilizado na parte de backend para transformar e armazenar os dados do projeto.

Vale lembrar que, por ser simples, acessível e amplamente utilizado, o Python atraiu um novo perfil de usuários para a análise de dados, uma vez que não é necessário um grande background na área para utilizar a linguagem sem problemas.

Ficou interessado pelo assunto? Então conheça o nossos cursos de Python e Banco de Dados. Confira!

5 4 votações
Article Rating
Inscrever
Notificar
guest
0 Comentários
Feedbacks em linha
Ver todos os comentários
0
Adoraria seus pensamentos, por favor, comente.x
()
x