domingo, 23 de abril de 2023

ChatPDF analisa processos judiciais com resultados surpreendentes

Quem acompanha o assunto "Inteligência Artificial" concorda que os modelos de linguagem natural vêm evoluindo paulatinamente há anos e que a grande disruptura produzida pelo ChatGPT é tornar a ferramenta acessível a todos e de modo bastante amigável, na forma de chat.


A IA “caiu no colo” de usuários de computadores, comuns ou avançados, e todos estão encontrando utilidades práticas para ela. Eu, particularmente, uso o ChatGPT para estudar programação, otimizar e auditar códigos e para melhorar minha compreensão sobre temas ligados à tecnologia.


Uma das aplicações possíveis - e que há até pouco tempo parecia longe de se concretizar - é a análise de autos de processos judiciais, para a identificação das controvérsias ou teses e para localização ágil de referências e documentos.


Testei a plataforma ChatPDF para essa finalidade (há ferramentas similares na Internet). Trata-se, aparentemente (a documentação é escassa) de uma interface web que extrai o texto do PDF e o submete com "prompts" específicos à API do ChatGPT, emulando a conversa sobre o PDF apresentado.


O resultado foi bastante assertivo, tanto em autos de processo criminal, como em caso de processo de falência, como se pode conferir no vídeo abaixo. 


Não é defeso pensar que, com técnicas de “transfer learning” (largamente adotadas no campo do reconhecimento de imagens) tenhamos, em breve, IAs treinadas em bases de dados especificas de processos judiciais e que, destarte, serão muito mais precisas na execução dessa tarefa. 




sexta-feira, 21 de abril de 2023

Pesquisa processos no 2º Grau do TJSP por investigado ou advogado

Introdução
A Promotoria de Justiça de Piracicaba monitora a entrada de processos em 2º grau relacionados a seus investigados, realizando consultas periódicas ao eSAJ, de forma automática. Para isso, criamos um web crawler (ou "robozinho") para realizar a pesquisa não autenticada ao eSAJ.

A aplicação faz buscas por nome da parte ou número de OAB e retorna informações sobre processos criminais encontrados.

A linguagem de programação escolhida foi o Python, utilizando-se as bibliotecas Requests (requisições web), BeautifulSoup (para parsear o HTML), datetime (para a manipulação de datas e horários) e os (para a manipulação de arquivos).

Estratégias usadas no programa
O programa realiza a busca em uma URL específica e utiliza o método POST para enviar os dados necessários. Ele analisa a resposta utilizando a biblioteca BeautifulSoup e, a partir disso, retorna os resultados em um formato legível. Os arquivos de configuração armazenam as informações de investigados e números de OAB. O arquivo de resultados gravado é comparado com o atual, por meio de hash, para verificar se houve alteração nas informações anteriormente obtidas.

Como obter o programa
O código fonte do programa está publicado no GitHub, com licença MIT (cf. em <https://github.com/jespimentel/crawler_sg>). Os iniciados em Python não terão qualquer dificuldade para clonar o programa e rodar na própria máquina. As bibliotecas necessárias estão relacionadas no arquivo "requirements.txt". Para os colegas de MP, podemos fornecer o executável, mediante solicitação.

Como usar o programa
Para utilizar o programa, é necessário criar dois arquivos de texto dentro da pasta "config_pesquisa": "investigados.txt" e "oab.txt". No arquivo "investigados.txt", deve-se incluir o nome das partes que se deseja buscar informações, uma em cada linha. Já no arquivo "oab.txt", deve-se incluir o número de OAB, um em cada linha. Assentos e pontos devem ser desprezados.

Após a criação dos arquivos, basta executar o programa e esperar o resultado ser gerado na pasta "_resultados".

Limitações
Não há garantia de funcionamento, nem de resultados. Qualquer alteração no site do TJSP "quebra" a lógica do programa, que procura o resultado contido em tags específicas da página html de resultados. 

Conclusões
O programa é uma ferramenta útil para a coleta automatizada das informações sobre processos judiciais, limitada a consulta ao 2º Grau do Tribunal de Justiça do Estado de São Paulo, através do portal eSAJ e para um usuário não autenticado.




Palestra para o Grupo de Estudos de Marília/SP