Bem-Te-Vi - SEPJD - Secretaria de Pesquisa Judiciária
O Tribunal Superior do Trabalho possui um grande volume de processos judiciais pendentes de julgamento, havendo em média 11 mil em cada Gabinete de Ministro. Para gerir este acervo, os servidores realizam um procedimento de triagem, a fim de identificar processos que atendam condições específicas ou que apresentem similaridades. Como os dados estruturados utilizados pelas ferramentas de Business Intelligence nem sempre eram suficientes para auxiliar essa tarefa, tornou-se necessário o uso de técnicas de big data e inteligência artificial que permitissem extrair informações diretamente do texto das peças processuais.
A estratégia adotada consistiu em extrair o conteúdo das peças mais importantes do processo, tanto dos sistemas jurídicos internos quanto dos sistemas dos Tribunais Regionais, realizando os tratamentos apropriados. Haja vista a grande quantidade de dados, tecnologias de big data foram usadas para o armazenamento e busca de informações. Foram gerados arquivos no formato Apache Parquet, armazenados em um sistema de arquivos distribuídos.
Além disso, os textos coletados foram utilizados como insumos para algoritmos de aprendizado de máquina. Adotando técnicas de processamento de linguagem natural, foram construídos modelos preditivos capazes de extrair informações da linguagem jurídica trabalhista. Esses modelos auxiliam os servidores dos Gabinetes na tomada de algumas decisões, como, por exemplo, a análise de transcendência, um critério jurídico para admissibilidade do recurso definido pela Reforma Trabalhista de 2017.
O aumento de produtividade proporcionado pelo sistema aparece tanto na redução do tempo gasto em atividades operacionais, quanto no apoio à definição de estratégias de trabalho para o Gabinete. A possibilidade de encontrar processos semelhantes em um grande acervo contribui com a uniformização das decisões, fator fundamental na atividade de Tribunais Superiores.
ARQUITETURA
O Bem-te-vi utiliza modelos de aprendizagem supervisionada, para oferecer sugestões no processo de triagem, e de aprendizagem não supervisionada, para identificar grupos de processos com características semelhantes.
Como entrada para os modelos de aprendizagem supervisionada, foram utilizados os textos das principais peças do processo: acórdão do TRT, despacho de admissibilidade para o TST, petições de Recurso de Revista e de Agravo de Instrumento. Estas peças foram extraídas dos sistemas dos Tribunais Regionais, PJe e eREc, em formatos PDF ou HTML.
Como saída, foram utilizados dados estruturados obtidos nos sistemas jurídicos do TST: decisão do processo; formato da decisão; e servidor responsável pela minuta de voto.
Os dados de processos decididos nos últimos dois anos por cada Ministro foram utilizados como insumos para algoritmos de aprendizado de máquina, para previsões como o assessor mais experiente na matéria tratada no processo e análise de transcendência, um critério jurídico para admissibilidade do recurso definido pela Reforma Trabalhista de 2017.
Como entrada para os modelos de aprendizagem não supervisionada, foram utilizados dados estruturados dos processos atualmente nos Gabinetes: classe do processo, assuntos do processo, partes jurídicas e advogados das partes. Esses dados são extraídos dos sistemas transacionais do TST.
Os processos semelhantes são agrupados por meio de um algoritmo de clustering, definindo um limiar de distância máximo que controla a granularidade dos grupos. Os grupos são ordenados de acordo com o seu nível de similaridade e apresentados ao usuário.
Para a coleta de dados foram utilizados os softwares Pentaho Data Integrator, para realizar os procedimentos de extração, transformação e carga, e Apache Tika, para extrair o texto dos arquivos com as peças processuais. Os dados foram salvos em arquivos no formato Apache Parquet, armazenados em um cluster Isilon com uma implementação do HDFS.
As ferramentas utilizadas foram:
- Jenkins - foi utilizada esta ferramenta para automatizar a execução dos projetos que irão obter dados, treinamento, predição e obtenção de métricas dos modelos.
- Pentaho - utilizamos esta ferramenta de ETL para obtenção de dados e é disparado via jenkins.
- MLflow Tracking - Enviamos métricas para esta ferramenta e o objetivo é monitorar modelos.
- Word2Vec - Algoritmo baseado em rede neural utilizada na construção do modelo de linguagem jurídico trabalhista.
- MLflow Project - Utilizamos este framework no código em python para seguir um padrão que facilita a construção de um projeto de IA que envolve várias fases e ferramentas. Este framework foi utilizado como padrão na construção de projetos de IA.
- H2O - Utilizamos esta ferramenta para treinamento com AUTOML e na escolha automática do melhor algoritmo XGBoost mostra-se o ganhador na maioria das vezes em relação a Random Forest, GBM, Distributed Random Forest (DRF).
- Spark - Utilizamos para criar um cluster para termos mais memória e CPU para treinar e realizar predição dos modelos.
- Sparkling Water - Utilizamos para integrar H2O com Spark, portanto conseguimos aumentar CPU e memória disponível para o H2O.
- HDFS - foi utilizado para armazenar dados no nosso data lake.
- Parquet - foi utilizado para armazenar de forma otimizada os dados.
- AUTOML - Utilizamos para obtenção dos melhores algoritmos automaticamente e conseguimos isso através do software H2O.
- Algoritmos utilizados: Word2Vec, Random Forest, GBM, Distributed Random Forest (DRF), AgglomerativeClustering, Kmeans
- Jira: gestão de demandas do projeto
- Git com Gitlab: repositório de código
- SSO: ferramenta para controle de autenticação no sistema
Os algoritmos de aprendizado de máquina foram implementados na linguagem de programação Python, com o auxílio das bibliotecas Pandas, Gensim e Scikit-Learn, do framework Apache Spark e da plataforma H2O AI. Foram adotados o Word2Vec, para produzir o word embedding das peças processuais, e o XGBoost, para construir os modelos de aprendizagem. Todas as etapas do ciclo são gerenciadas através das ferramentas Jenkins e MLflow.