Aplicação do BERT para Classificação de Acórdãos
do STF por Ramos do Direito

hammer

Orientadores:
  Profa. Renata Wassermann
  Rafael Brito
  Jackson Souza

Alunos:
  Yurick Yussuke Honda
  Kaique Kazuyoshi Komata

Proposta

Assim como o Direito avança a todo momento, a tecnologia pode trazer grandes benefícios com o poder de processamento que se tem atualmente. Em outras palavras, obter uma grande quantidade de dados pode significar extrair padrões e, potencialmente, desenvolver uma certa inteligência de decisão a partir deles. Mas, somente possuir dados não significa que também se tem posse de informações concretas. Em situações como essa, ferramentas podem ser criadas para auxiliar na obtenção de informações úteis a partir de um grande conjunto de dados. Um exemplo disso seria a a ferramenta de busca de acórdãos disponibilizada pelo Supremo Tribunal Federal (STF): Pesquisa de Jurisprudência. Entretanto, mesmo com um largo acervo, certas informações ainda precisam ser extraídas do conteúdo do acórdão, dado que a ferramenta do STF não fornece-as. Um exemplo seria o ramo do Direito no qual o acórdão em questão pertence. Assim, esse trabalho tem a intenção de desenvolver um mecanismo de classificação automática a partir de técnicas de aprendizagem de máquina que permita executar essa distinção e rotular corretamente os acórdãos do STF dentre os diversos ramos do Direito.

initial-planning

initial-planning

Resumo

Os acórdãos são documentos que representam decisões judiciais e se enquadram em uma certa área do Direito. Isso significa que os conceitos que permeiam a decisião se destacam em um determinado ramo do Direito. Atualmente, em uma tentativa de definir a qual ramo um acórdão pertence, é preciso que se tenha à disposição uma pessoa que possua conhecimento o suficiente para avaliar o documento. Dessa forma, o projeto propõe o uso da arquitetura BERT (no inglês, Bidirectional Encoder Representations from Transformers), em específico de uma das suas aplicações para a Língua Portuguesa chamada BERTimbau, para a resolução desse problema por meio de redes neurais. Nesse caso, o modelo foi treinado utilizando um conjunto de acórdãos já classificados para resultar em um classificador que possa identificar o ramo do Direito para um acórdão qualquer. A monografia abaixo apresenta a motivação por trás do problema, assim como a fundamentação teórica para a resolução do problema. Depois disso, ela também descreve o processo de construção e experimentação do classificador. Por fim, a monografia detalha alguns resultados encontrados durante a conclusão do trabalho.


Repositório

O projeto utilizou principalmente o Google Drive como forma de armazenar os Jupyter Notebooks. Isso ocorreu por conta do uso do Google Colab. No entanto, como uma forma de tornar os Notebooks públicos e compartilhar o progresso do projeto, os arquivos foram publicados em um repositório disponível no GitHub. O repositório contém, em sua maioria, os Jupyter Notebooks que foram utilizados para processamento de dados e criação dos modelos. Outros anexos do projeto foram publicados no repositório também, como a API desenvolvida para disponibilizar o modelo, bem como a definição dessa página.

initial-planning

Exemplo de uso do classificador

Como uma forma de exemplificar um possível uso do classificador, os alunos desenvolveram uma simples aplicação composta por uma página no frontend responsável por realizar requisições ao backend que, por sua vez, consulta o classificador.
Para isso, o usuário pode inserir a ementa do acórdão na aplicação para utilizar o modelo e verificar uma predição do ramo do Direito ao qual o documento pertence. A aplicação também permite selecionar um dos acórdãos disponíveis na base de dados, recuperando a ementa automaticamente.
Verifique uma demonstração ao lado.