Como o Jusbrasil funciona

Aproximar advogados e pessoas por meio da informação, é isso que faz o Jusbrasil. Maior site jurídico do mundo, segundo o SimilarWeb, com quase 30 milhões de visitas mês, o Jusbrasil está entre os top-100 sites mais acessados do Brasil e 5 maior site de notícias segundo o ranking da ComScore.

O sucesso do projeto só foi possível porque a empresa está sempre próxima da academia, em cooperação com pesquisa, e convertendo a pesquisa aplicada em produto para sociedade. Aqui iremos mostrar como o Jusbrasil utiliza técnicas conhecidas na literatura para resolução de problemas reais, tecnologias utilizadas, e pontos relevantes da arquitetura.

O Jusbrasil surgiu em 2008, derivado de outro produto, o Goshme, máquina de busca que explorava o conteúdo da Web Profunda (Deep Web). Entretanto, o Jusbrasil mirou apenas na área do Direito brasileiro, trazendo para superfície o conteúdo das bases dos tribunais antes invisível aos buscadores tradicionais (e.g. Google, Yahoo). Hoje o site disponibiliza notícias, leis, jurisprudência e diários oficiais, todos coletados automaticamente com auxílio de crawlers; além de artigos publicados pelos próprios usuários (comunidade) em uma espécie de rede social centrada no conteúdo. No total, hoje são mais de 300 milhões de documentos disponibilizados pelo site, maior parte deles são extraídos das publicações dos Diários Oficiais. Os diários são publicações feitas pelos órgãos oficiais, geralmente no formato PDF, que incluem leis, editais, nomeações, movimentações de processos e decisões, e dezenas de outros documentos de interesse público. Alguns diários chegam a 3 mil páginas, então para uma pessoa encontrar uma informação desejada não é algo tão simples. O Jusbrasil processa esses diários oficiais e consegue identificar nome de pessoas, empresas, processos, OAB de advogados, CPF, datas, etc. Isso só foi possível graças ao uso de Reconhecimento de Entidades Nomeadas (NER) e uso de algoritmos de aprendizado de máquina; assim conseguimos identificar a estrutura dos diários, extrair os documentos individualmente, organizar a informação por meio de tópicos e notificar os usuários sobre atualizações do seu interesse. Os tópicos são rótulos (i.e. tags) associados aos documentos, que ajudam a organizar a informação, melhoram a qualidade da busca e distribuição do documento até demais usuários da rede. Esses tópicos são adicionados pelos próprios usuários e também automaticamente: durante o reconhecimento de entidades ou quando ocorre a citação de uma lei.

Para manter tudo isso funcionando, nossa arquitetura utiliza mais de 100 servidores, segmentados em clusters de coleta, armazenamento, busca, web, teste e processamento. A coleta é feita por meio de crawlers escritos em Java e Python, com uso de expressões regulares, técnicas de Extração de Informação e aprendizado de máquina. Após coletados, o armazenamento dos documentos é feito no HBase, um banco de dados NoSQL que roda em cima do sistema de arquivos distribuído do Hadoop, e que hoje já armazenam mais de 20 terabytes de dados. Os servidores do cluster de busca rodam o ElasticSearch, ferramenta de busca textual distribuída derivada do Apache Lucene, e são responsáveis por indexar os documentos já armazenados para fácil recuperação. O cluster web é composto por balanceadores de carga (HAproxy), que recebem todo tráfego HTTP do site, cerca de 13 milhões de requests, e direcionam para os servidores de aplicação, que executam a aplicação web (site propriamente dito) feita em Python. O site do Jusbrasil ainda é uma aplicação monolítica que passou a ser dividida em micro-serviços, e hoje já existem segmentos/aplicações feitas em Node.js, Ruby e Scala. Já o cluster de teste é iniciado sob demanda (instâncias na cloud) e demais servidores são usados pra prover diversos tipos de serviços: filas, envio de emails via SMTP — aproximadamente 2,5 milhões/dia, servidor de integração contínua, bancos de dados, etc. Outra mudança significativa na nossa arquitetura foi a execução de containers no ambiente de produção, por meio das plataformas Mesos e Tsuru, agora diferentes serviços são executados na mesma máquina, mais parrudas, o que leva ao melhor aproveitamento do recurso e fácil escalabilidade.

Finalmente, o Jusbrasil já consta com 60 pessoas, entre engenheiros, equipes de produto, marketing e operacional. E todo esse conjunto de técnicas, dados, serviços e pessoas, é necessário para criar, manter, inovar e entender como funciona o maior site jurídico do mundo.


Quer saber mais sobre como o Jusbrasil funciona? Assista o vídeo no QCon-SP: Como manter e disponibilizar a maior base de dados jurídicos do país para 10 milhões de brasileiros por mês.