A Transparência Brasil lançou um site, o Achados e Pedidos, que serve como um repositório de pedidos de acesso à informação e suas respostas. Um dos desafios desse projeto, contudo, é o fato de que muitos pedidos e respostas não estão anonimizados. Ou seja, informações pessoais como nome, CPF etc. aparecem em muitos pedidos e respostas. Quando é o próprio usuário que coloca suas informações pessoais no site, não é um problema. Porém, parte dos arquivos disponibilizados foram obtidos em parceria com órgãos governamentais, que por falta de tecnologia e infra-estrutura disponibilizaram para nós arquivos não-anonimizados.
Nosso desafio é, portanto, anonimizar os dados. Como porém são centenas de milhares de pedidos, é virtualmente impossível fazer a anonimização manualmente. Resta como solução utilizar algoritmos de inteligência artificial para fazer esse trabalho. O objetivo desse post é anunciar que irei documentar, numa série de posts futuros, nossa tentativa de enfrentar essa questão e achar uma solução.
O desafio, da forma como estamos estruturando, consiste em duas partes. Em primeiro lugar, desenvolver ou achar um algoritmo que anonimize de forma eficiente informações pessoais. Em segundo lugar, ser capaz de utilizar esse algoritmo em produção, de forma integrada ao site. Ou seja, não basta a gente conseguir, digamos, classificar no R uma palavra de um texto como informação pessoal. Eu gostaria que fôssemos capazes de integrar a solução encontrada ao site, de forma que uma vez que um pedido novo fosse carregado, o pedido fosse automaticamente anonimizado, antes de ficar disponível para o público. Ou pelo menos, que houvesse uma opção do usuário escolher se quer que aquele pedido fosse anonimizado ou não.
Uma dificuldade que teremos nessa empreitada é que ninguém na Transparência Brasil tem a mínima experiência com algo do tipo. Assim, esse post serve também como um pedido de ajuda a quem quiser fazer uma trabalho voluntário desafiador, mas com potencial impacto muito grande. Apenas a título de exemplo de impacto possível, alguns entes governamentais mostraram-se interessados em utilizar quaisquer tecnologias que desenvolvêssemos que os ajudassem a anonimizar dados, uma vez que esse é um problema que o próprio estado brasileiro enfrenta e não tem solução para isso.
Para os interessados em ajudar, eis o caminho que estamos pensando em seguir: nossa ideia para resolver a primeira parte do desafio é utilizar aprendizagem supervisionada com modelos de redes neurais recorrentes, que já foram empregados na literatura na anonimização de registros médicos de pacientes em língua inglesa. A segunda parte do desafio envolve ser capaz de lidar com inputs não estruturados. Isto é, uma coisa são os inputs estruturados que iremos utilizar para treinar o algoritmo. Outra coisa são os pedidos de acesso à informação e suas respostas, que podem vir em qualquer formato. Por exemplo, alguém pode ter feito um pedido de um mapa, e a resposta ser uma imagem em png. Nossa solução deverá saber que esse tipo de arquivo não é anonimizável e descartá-lo (para o processo de anonimização), ao invés de emitir uma mensagem de erro qualquer.
Se você tem algum background que possa ser útil, tempo e interesse em ajudar, pode mandar um e-mail para mim em mgaldino arroba transparencia ponto org ponto br.