Você está na página 1de 31

1

APLICAÇÃO DE TÉCNICAS DE EXTRAÇÃO E CLASSIFICAÇÃO DE


ENTIDADES JURÍDICAS COM ALGORITMOS DE MACHINE LEARNING EM
ÂMBITO DE TRIBUNAIS DE JUSTIÇA NO BRASIL

Msc. Ricardo Roberto de Lima


Pós-Graduação em Aprendizado de Máquina (Machine Learning)
Professora orientadora: MBA Patrícia de Fátima e Almeida

Resumo

A seleção e classificação dos processos no âmbito jurídico é um problema que vem


acontecendo nos últimos anos em especial aqui no Brasil, uma das principais
dificuldades encontradas em tratar e classificar tal informação são: a língua portuguesa
e os termos técnicos do linguajar Jurídico. O Tribunal de Justiça pretende atuar de
forma unificada visando garantir que todos os gabinetes possam tramitar com seus
processos de forma igualitária, sem a necessidade de um ou dois gabinetes serem
rápidos e eficientes e os demais não. Isso faz com que diversos processos deixem de
ser julgados e se arrastem por anos nos tribunais. De modo a validar a eficiência e
confiabilidade das técnicas de Inteligência Artificial, Machine Learning empregadas
nesse processo. A necessidade do referido tribunal em reduzir os prazos dos
julgamentos dos processos e auxiliar na análise legal dos processos existentes e em
tramitação. Este trabalho de conclusão de curso é baseado em pesquisa de campo
aplicada com abordagem quantitativa e qualitativa, e tem como objetivo realizar o
desenvolvimento de um sistema inteligente que capture os dados dos acórdãos dos
processos, depois selecione e classifique as informações em termos jurídicos, tais
como: ramo do direito, assunto, leis, pareceres, referência legislativa, apresentando ao
final um Dashboard com gráficos e indicadores de desempenho. Como resultados
foram capturados e convertidos os dados de forma automática pelo OCR, realizamos a
extração das entidades e classificação dos termos jurídicos com acurácia do modelo de
Machine Learning acima de 85%.

Palavras-chave: Tribunais de Justiça; Classificação; Machine Learning; Análise de Dados;


Similaridade entre Processos.

Abstract

The selection and classification of legal processes is a problem that has been
happening in recent years, especially in Brazil, one of the main difficulties encountered
in dealing with and classifying such information is: the Portuguese language and the
technical terms of the Legal language. The Court of Justice intends to act in a unified
way in order to ensure that all offices can deal with their cases in an egalitarian manner,
without the need for one or two offices to be fast and efficient and the others not. This
causes several cases to cease to be tried and prosecuted for years in the courts. In
order to validate the efficiency and reliability of the techniques of Artificial Intelligence,
2

Machine Learning employed in this process. The need for the said court to reduce the
deadlines of the trials of the cases and to assist in the legal analysis of the existing and
pending proceedings. This course completion work is based on applied field research
with quantitative and qualitative approach, and aims to develop an intelligent system
that captures the data process judgments, then select and classify the information in
legal terms, such as : branch of law, subject, laws, opinions, legislative reference,
presenting at the end a Dashboard with charts and performance indicators on related
data. As results were captured and converted automatically by OCR, we performed the
extraction of entities and classification of legal terms with accuracy of the Machine
Learning model above 85%.

Keywords: Courts of Justice; Ranking; Machine Learning; Data analysis; Similarity


between Processes.

1. INTRODUÇÃO

Quando falamos de Judiciário Brasileiro pensamos logo de cara em 100 milhões de


processos em tramitação, neste mesmo sentido o quadro de colaboradores para atuar
nesses processos é pequeno. Isso cria um paradoxo: a mesma sociedade que entra
cada vez mais em litígio, cobra eficiência do Judiciário. A transformação digital já está
consolidada na Justiça com o processo digital. Ele possibilitou um expressivo aumento
de produtividade e economia de gastos. Os processos em papel fazem parte do
passado. Estima-se que cerca de 70% de todas as ações judiciais no país tramitem
pelo processo digital nos tribunais. Agora devemos intensificar o uso da Inteligência
Artificial no Judiciário Brasileiro, através de tecnologias como Machine Learning, Deep
Learning, Ciência de Dados e Big Data.

O Superior Tribunal de Justiça (STJ) recebe diariamente mais de 1.400 processos para
julgamento, estes processos são distribuídos por vários gabinetes de acordo com cada
Ministro e Área de Atuação, o processo é manual, virtual ou eletrônico e depende dos
assessores lotados em cada gabinete que fazem uma triagem inicial para selecionar. O
STJ pretende atuar de forma unificada visando garantir que todos os gabinetes possam
selecionar e classificar seus processos de forma igualitária, isso faz com que diversos
processos deixem de serem julgados e se arrastem por anos.
3

Para definirmos melhor estes conceitos e termos a IA “Inteligência Artificial” segundo


Luger (2013, p.1) “pode ser definida como o ramo da ciência da computação que se
ocupa da automação do comportamento inteligente”. As teorias e técnicas
concernentes devem ser fundamentadas em princípios sólidos e aplicadas a partir dos
estudos da ciência da computação, abrangendo as estruturas de dados e algoritmos
implementados por meio de linguagens e técnicas de programação.

Com o crescimento vertiginoso do volume de dados das organizações demandou, além


de estruturas robustas de armazenamento, recursos tecnológicos que possibilitassem a
busca e o processamento de informações em tempo hábil para serem usados como
base para tomada de decisão. Frente a este grande volume de dados, os mecanismos
tradicionais de busca, as chamadas “queries” mais utilizadas em estruturas de dados
relacionais já não são mais tão eficientes. Adicionado a estes fatores, há uma
necessidade de significativo esforço e conhecimento adequado da área de atuação
para analisar as respostas e identificar – geralmente com o emprego de recursos e
ferramentas (planilhas e sistemas específicos) – novos padrões que agreguem
conhecimento. O agente principal envolvido neste esforço é o homem, geralmente
representado nos papéis de analista de negócio, analista de dados e o cliente, que
demanda a informação.

Para o emprego na Justiça Brasileira é um outro alvo bastante promissor da aplicação


da computação cognitiva, especialmente com a utilização de Machine Learning para
identificar jurisprudências e julgamentos com características similares ocorridos em
diversas épocas e tribunais diferentes. É sabido que o volume de processos a ser
julgado excede a capacidade da Justiça de tratá-los nos prazos desejados e legais. Um
dos esforços mais significativos empregado nos tribunais é a reunião de elementos que
subsidiem o juiz na formulação da sentença. Normalmente os servidores do tribunal
debruçam-se sobre uma quantidade significativa de processos finalizados em busca de
informações relacionadas ao assunto dos processos em andamento. Com o emprego
das Técnicas de Machine Learning ficam gerar reconhecimento de padrões estatísticos
de similaridade, que permitam destacar um ranking de processos classificados. A
similaridade utilizada deve reunir um conjunto de características devidamente
4

ponderadas por grau de importância, e que são consideradas pelos algoritmos de


inteligência artificial, para o aprendizado de máquina. As principais questões a serem
respondidas com este trabalho é: Como capturar e estruturar os processos do STJ para
dar maior significado a informação? e qual é o nível de classificação e similaridade
entre os processos do STJ em cada gabinete?

Este artigo está dividido da seguinte maneira: a seção 2 explica a metodologia utilizada
para a elaboração do sistema de inteligência artificial. Na seção 3, são apresentados
alguns conceitos relevantes aos termos utilizados no artigo tais como: Big Data,
Inteligência Artificial, Machine Learning, Processamento de Linguagem Natural. A
seção 4 traz a apresentação da pesquisa e as etapas do desenvolvimento do sistema.
Na seção 5 a apresenta algumas discussões e resultados preliminares como também
um Dashboard com indicadores e gráficos e na seção 6 são apresentadas as
considerações finais, pontos positivos e negativos e trabalhos futuros deste artigo.

2. METODOLOGIA

Essa pesquisa tem por objetivo ser básica e exploratória, baseada em pesquisas de
livros, artigos científicos, trabalhos de conclusão de curso, material jurídico, aplicando
todos os conhecimentos adquiridos no curso, visando adquirir um modelo de Machine
Learning com similaridades entre os processos julgados por um tribunal de justiça
federal em relação a novos processos que foram dados entrada recentemente.
A análise é prática e explicativa devido a abordagem dada ao trabalho na captura inicial
dos dados, análise e processamento dos mesmos até sua apresentação no formato de
painel analítico.
Sendo assim, a abordagem da pesquisa é qualitativa devido à apresentação dos
benefícios do uso de Machine Learning no setor jurídico com o uso de técnicas de IA,
Machine Learning, Processamento de Linguagem Natural, nas organizações.

Sobre o ponto de vista da Metodologia a ser aplicada seguem as etapas abaixo:


5

 1ª Parte - Coletar Arquivos no formato PDF e transformar em TXT através de


Técnicas de OCR e melhoria da qualidade da imagem – Durante este processo
serão capturados diversos arquivos que já foram julgados pelo STJ e que fazem
parte da Jurisprudência do STJ, estes arquivos são transformados em arquivos
no formato *.TXT ou *.CSV para posterior análises e serve também como base
de Treinamento do Modelo de Machine Learning, jurisprudência do STJ. Além
disso, serão catalogados mais de 15 mil processos do TRF4 (Região Sul do
Brasil), estes arquivos são transformados em arquivos *.TXT ou *.CSV para uma
posterior análise e tem como objetivo servir de base para o modelo de Testes.
 2ª Parte - Ler e entender os trechos de resumos dos acórdãos julgados na
instância inferior (processos entrantes) TRF4. Neste processo são identificadas
as principais labels sobre os textos jurídicos, entre eles estão: Assunto Jurídico,
Precedente, Ramo do Direito, Referência Legislativa e Tópico Questão, Relator.
 3ª Parte - Ler e entender as jurisprudências gerais e específicas (Acórdãos já
julgados pelo STJ):
o Treinamento:
 Preparar dados (Modelo Supervisionado) Marcação de processos;
Não-supervisionado (pré-anotadores (dicionário e regras) com
aceleradores;
o Execução:
 Marcação de 250 processos do total de 2.500;
 Desenvolvimento do acelerador: dicionário de assuntos, ramo do
direito, referência legislativa, precedentes, tópico questão,
relatores.
o Validação:
 Desenvolvimento do código de aprendizado de máquina baseado
na similaridade dos processos.
 Execução: versão 1 com os processos “pai” e “pai e filho”, criação
dos classificadores por grupos; usar os modelos dos aceleradores
para analisar os resultados.
o Processamento:
6

 Desenvolvimento dos códigos para execução das similaridades;


 Execução: gerar os arquivos conforme padrão *.CSV, *.XML, *.
JSON e outro formato conforme solicitado.

 4ª Parte - Analisar (comparar) acórdãos entrantes em relação às jurisprudências


e apresentar o histórico de decisões para o contexto (semântica) do lote
analisado. Utilizar uma ferramenta de Data Discovery para visualizar os dados –
no QlikView e futuramente publicação no portal no QlikCloud, validando as
informações e tomada de decisão. Nesta etapa são apresentados os gráficos
com indicadores de desempenho dos dados coletados e tratados pela solução
de Machine Learning.

3. REVISÃO DE LITERATURA

Esta seção deve ser apresentada ao estado da arte das tecnologias aplicadas nesse
artigo, envolvendo as características sobre: Big Data, IA, Machine Learning, Deep
Learning e Processamento de Linguagem Natural, técnicas de estatística e matemática
entre outras.

3.1 Big Data

Segundo CANARY (2013), nos últimos anos o termo Big Data refere-se a um grande
conjunto de dados gerados e armazenados de forma não convencional. Seu
surgimento está relacionado com o aumento exponencial da quantidade de dados
gerados a cada minuto no mundo. Este termo tem como característica representar uma
nova era da sociedade moderna, onde a tomada de decisão baseada em dados em
tempo real se torna mais importante. Isso está alterando a forma como a indústria,
economia, ciências e demais áreas trabalham e obtém suas informações.
O Big Data já foi relacionado como uma ferramenta fundamental para realizar a
manipulação de eleições e disseminação de “Fake News”, isso se dá pela capacidade
7

inerente da tecnologia de reunir e segmentar um determinado público alvo. O uso de


Tecnologias não tradicionais de colega, armazenamento, análise e processamento
junto com a Visualização de Dados são características importantes para se utilizar em
um ecossistema de ferramentas.

3.2 Inteligência Artificial

Segundo (RICH, 1994, p. 14) a Inteligência Artificial é uma área da ciência que estuda
como fazer os computadores realizarem tarefas as quais, até o momento, os homens
fazem melhor. Para muitas pessoas isso vem crescendo ao longo do tempo de forma
drástica. Atualmente utilizamos as técnicas de IA para quase tudo, existem hoje
sistemas especialistas de IA para análise de sentimento das pessoas, atendimento aos
usuários com ChatBot, Reconhecimento Facial, sistemas de recomendação de
produtos e serviços, entre outros.

3.3 Machine Learning (Aprendizado de Máquina)

O termo aprendizado de máquina é um método de análise de dados que automatiza o


desenvolvimento de modelos analíticos, através de técnicas da estatística e
matemática de forma supervisionada, não-supervisionada ou por reforço.

3.3.1 Aprendizado supervisionado

Neste tipo de aprendizagem existe um “professor” que avalia a resposta da rede ao


padrão atual de entradas. As alterações dos pesos são calculadas de forma a que a
resposta da rede tenda a coincidir com a do professor. É o tipo de aprendizagem mais
utilizada e simples de implementar, além de avaliar o seu desempenho da rede. É
possível utilizar diversos algoritmos de Machine Learning com uma base de
treinamento e posteriormente uma base de teste, que será avaliada através de técnicas
do tipo: Matriz de Confusão, Curva Roc, Validação Cruzada, entre outras.
8

3.3.2 Aprendizado Não supervisionado

Neste modelo de aprendizado de máquina consiste em utilizar uma técnica na qual o


algoritmo de aprendizado recebe dados sem classificar (rótulos) e classifica estes
dados de forma autônoma utilizando técnicas convenientes. É utilizado, especialmente,
quando se busca informações de um conjunto de dados sem saber preliminarmente do
que se tratam estas informações. É a principal técnica utilizada para os casos de
mineração de dados.

3.4 Deep Learning (Aprendizado de Máquina Profundo)

Quando falamos em Deep Learning é a parte de um conjunto de métodos de


aprendizado de máquina, que tem, dentre outros propósitos, oferecer uma alternativa
às soluções de aprendizado de máquina construídas de forma manual. Um dos
principais tipos é a origem nas Redes Neurais Artificiais (RNAs). Soluções baseadas
em Deep Learning possuem a vantagem de realizar a definição das melhores
características que distinguem um gato de um rato por exemplo, essas duas categorias
de forma automática, podendo utilizar aspectos que não havíamos previstos, ou seja, o
aprendizado é automático e de forma autônoma. (ALPAYDIN, 2014).
As soluções baseadas em Deep Learning levam mais tempo para serem construídas.
Além disso, apresentam a característica de serem fim a fim, ou seja, muitas vezes não
é trivial entender as características que foram utilizadas para realizar a computação.
(GOODFELLOW, 2016).

3.5 Processamento de Linguagem Natural (PLN)

O termo PLN vem sendo utilizado nos últimos anos de forma ativa entre as
organizações, como definição podemos caracterizar como uma subárea da ciência da
computação, inteligência artificial e da linguística que estuda os problemas da geração
e compreensão automática de línguas humanas naturais. Sistemas de geração de
linguagem natural convertem informação de bancos de dados de computadores em
9

linguagem compreensível ao ser humano e sistemas de compreensão de linguagem


natural. Alguns desafios do PLN são compreensão de linguagem natural, fazer com
que computadores extraiam sentido de linguagem humana com semântica e
compreensão de voz para voz, voz para texto, texto para voz, entre outras.
Atualmente estas aplicações estão em toda parte, principalmente com os assistentes
virtuais inteligentes, também conhecidos como ChatBots que utilizam dessas técnicas
para realizar suas operações, a captura de dados em redes sociais e análise e suporte
do significado dos dados em mensagens são utilizadas também pelo PLN.

4. APRESENTAÇÃO DA PESQUISA

O Superior Tribunal de Justiça (STJ) recebe diariamente mais de 1400 processos para
julgamento, estes processos são distribuídos por vários gabinetes de acordo com cada
Ministro e área de atuação, o processo é manual e depende dos assessores lotados
em cada gabinete. O STJ pretende atuar de forma unificada visando garantir que todos
os gabinetes possam tramitar com seus processos de forma igualitária, sem a
necessidade de um ou dois gabinetes serem rápidos e eficientes e os demais não. Isso
faz com que diversos processos deixem de serem julgados e se arrastem por anos.

Atualmente no STJ temos os seguintes cenários:

 Aumento do recebimento de recursos de instâncias inferiores;


 Entrada de mais de 1400 processos por dia;
 Desequilíbrio na relação Colaboradores / Servidores x Processos Recebidos;
 330 mil novos processos por ano;
 463 mil decisões em 2016 (Fonte: Boletim Estatístico do STJ);
 Automação focada nos procedimentos anteriores à entrada dos processos nos
gabinetes.
10

4.1 – Composição do STJ

A composição do STJ (Superior Tribunal de Justiça) é feita da seguinte forma:

O STJ é composto por 33 ministros; às turmas são compostas por 06 turmas


com 05 ministros cada uma, nas turmas são julgados os recursos especiais sem
caráter repetitivo, habeas corpus criminal, recursos em habeas corpus, recursos
em mandato de segurança, entre outros tipos de processo.

No caso das sessões, reúnem ministros de 2 turmas, existem 03 sessões com


10 ministros cada a figura 1 descreve em detalhes esta implementação.

Figura 1: Apresentação dos Ministros, Turmas e Seção aplicados aos Membros do STJ.
Fonte: próprio autor.

As três seções do STJ são especializadas, elas julgam mandados de segurança,


reclamações e conflitos de competência. Também são responsáveis pelo julgamento
dos recursos repetitivos. É importante retratar isso, em cada recurso existe uma
equipe de assessores jurídicos que são responsáveis por validar as informações e
tratar os dados de forma objetiva nos processos.

4.2 – O Problema do STJ

De modo a validar a eficiência e confiabilidade das técnicas de Inteligência Artificial


empregadas nesse processo. A necessidade do referido tribunal em reduzir os prazos
11

dos julgamentos dos processos e auxiliar na análise legal dos processos existentes e
em tramitação.

Figura 2: Características do Fluxo de Processo do Tribunal – Entrada do Processo.


Fonte: próprio autor.

A Figura 2 descreve de forma simples e prática as principais etapas do processo de


recebimento dos processos, seguindo pela triagem dos processos nos gabinetes,
depois de classificar e selecionar os processos os mesmos são identificados e
julgados. É possível realizar a especificação de cada etapa nos próximos capítulos,
tomando como base a parte do recebimento do processo até chegar ao final com a
classificação completa.

4.3 Capturando os documentos digitalizados e utilizando o OCR para


transformar em Textos

Como primeiro passo do processo dentro do STJ os processos enviados no formato


*.PDF e precisam ser transformados no formato de *.TXT para classificação, nesse
módulo iremos trabalhar com a avaliação das tecnologias de reconhecimento óptico de
caracteres – OCR, isso consiste em tentar resolver o seguinte problema: Como
transcrever o conteúdo da imagem via software, para um documento de texto para ser
processado?
12

Nesse processo é importante definir quais


serão as estratégias de como: extrair texto
de um documento escaneado. O exemplo
ao lado cita uma Certidão de Julgamento
feita pelo Tribunal de Justiça de Santa
Catarina.

Uma das tarefas importante que é preciso


fazer aqui é resolver dois problemas bem
simples:
1 – Como processar a imagem recebida de
forma a reduzir os ruídos?

2 – Como reconhecer os caracteres de


uma imagem processada e depois
transformar em texto puro?

Figura 3: Certidão de Julgamento, STJ.


Fonte: Tribunal de Justiça TRF4 – de Santa Catarina.

Para isso, foi utilizado o seguinte processo descrito nas imagens:

Figura 4: Processo de captura de dados e transformação em texto (OCR).


Fonte: Próprio Autor

Depois de identificado a imagens a ser capturada é preciso realizar o processamento


da imagem, basicamente consiste em aplicar métodos matemáticos que altera uma
imagem. Dependendo do método aplicado, os resultados podem atender o objetivo
13

esperado. Existem várias técnicas para reduzir o ruído entre as imagens, podem citar
as seguintes:
• Dilatação
• Erosão
• Filtro de cores
• Binarização
Foi utilizado o OCR (Optical Character Recognition) onde o mesmo consiste em
reconhecer as letras em uma imagem e convertê-las em um texto. Tecnicamente, o
OCR converte uma imagem com texto em uma string (conjunto de caracteres).

Figura 5: Utilização do Tesseract – Python para transformar em texto (OCR).


Fonte: Próprio Autor

Algumas das ferramentas e tecnologias utilizadas para resolver este problema foram
solução Open Source e bastante conhecidas pela comunidade. Entre elas podemos
citar:
 Para o processamento de imagens foi utilizado o: OpenCV2
(https://opencv.org/);
 Para a tecnologia de OCR foi utilizado o Google Tesseract;
 Como Linguagem de Programação foi utilizada a Linguagem Python
(https://www.python.org/).
4.3.1 – Casos de Uso para o tratamento e reconhecimento de caracteres
14

Para esta seção realizado 6 casos que foram percebidos frente a análise das
mais de 100 peças recebidas no início do projeto. Os casos se dividem na
seguinte forma:
 Assinatura: remoção da assinatura como ruído;
 Texto sujo: redução de ruído geral em um documento;
 Texto fraco: realce do texto para obter mais informações;
 Risco fraco: ação humana ao sublinhar trechos do documento;
 Risco forte: ação humana ao sublinhar trechos do documento;
 Risco muito forte: provável ação de máquina.
Caso 1: Assinatura.

Figura 6: Reconhecimento da Imagem e o processamento após o OCR.


Fonte: Próprio Autor

Caso 2: Texto fraco após o processamento.


15

Figura 7: Texto da imagem antes e após o processamento para execução.


Fonte: Próprio Autor

Os demais processos foram realizados de forma semelhante seguindo as etapas de


transformação, captura da imagem e processamento até gerar os arquivos no formato
*.TXT.

Nesta etapa do capítulo foram utilizadas as técnicas de: Dilatação, Binarização e


Erosão, os parâmetros de dilatação e erosão variam em alguns casos, a ordem de
aplicação das técnicas não é a mesma para todos os casos, mais palavras e até
trechos de palavras foram recuperados, outro ponto importante é que mesmo com
palavras incompletas é possível realizar inferência de palavras e por fim que existem
casos que o texto original possuem ruídos que inviabilizam a recuperação de
caracteres mesmo utilizando o processo de OCR.

Como outros resultados aplicados ao Hardware e Desempenho, podemos citar: que


todo o código foi executado usando uma arquitetura Intel – Notebook: Processador i7,
6ª geração, memória RAM de 8 Gbytes com 4 núcleos de CPU. O tempo de execução
(médio) para as 100 peças foram Processamento + OCR ~ 60 minutos ou 1 hora.
16

Como os próximos passos: precisamos ajustar o compilador do Tesseract para utilizar


paralelismo nos servidores Intel, além de avaliar / treinar as redes neurais que o
Tesseract usa para reconhecer caracteres especiais de forma mais profunda.

4.4 – Extração Automática da Informação.

Nesta etapa do processo é importante aumentar a eficiência de cadastro de processos


no sistema de gestão do STJ, hoje em dia o cadastro é feito de modo manual: o
operador procura no arquivo PDF às informações necessárias para realizar o cadastro
do processo e as transporta para os campos apropriados no sistema, em consequência
a isso, são aplicados de forma não eficiente do processo proporcional à quantidade de
operadores, outro ponto é que o cadastro fica sujeito a erros, necessidade de revisão
cruzada por pares o tempo inteiro.

Foi utilizado técnicas de processamento de linguagem natural (PLN). Como abordagem


para atacar o desafio foram utilizadas as seguintes técnicas:
1. Prover suporte a automatização do mecanismo de cadastro de processos.
Obtendo de forma automática as informações que deverão ser cadastradas.
2. Uso de técnicas de Processamento de Linguagem Natural (PLN), utilizando a
aplicação de técnicas de entendimento de linguagem natural, compreensão de
textos, entre outros. Além da extração automática de informação, via técnica
para extrair de forma automática algumas informações estruturadas de arquivos.

O NER (Named-Entity Recognition)


São técnicas para localizar e classificar entidades de um texto em categorias pré-
definidas:
 Pessoas;
 Organizações;
 Locais;
17

 Expressões de tempo;
 Quantidade;
 Valores monetários;
 Porcentagens.
Este processo visa montar uma árvore de dependência para tais informações, para
dar sentido e qualificar a informação extraída, estas informações são processadas
normalmente em etapas: Classificação gramatical, Identificação de entidades,
Relacionamento entre entidades.

NER – Classificação gramatical.


Exemplo: “Stanfor University is located in California. It is a great university,
founded in 1891”.

Figura 8: Identificação das Entidades e Extração das Características dos Textos.


Fonte: Próprio Autor

Como ferramentas foram utilizadas para trabalhar nessa etapa as seguinte:


 CoreNLP - é uma ferramenta desenvolvida em Stanford que implementa
técnicas de NER.
 Syntaxnet - é outra ferramenta de análise sintática para o Tensorflow.
 LX-Syllabifier - Funciona como uma ferramenta NER desenvolvia para idioma
português.
18

Avaliação da técnica baseada em uma das ferramentas:


Foi utilizada a ferramenta CoreNLP para extrair as características de entidades
aplicadas a textos do STJ, os resultados foram interessantes e fazem parte do modelo
baseado nas estruturas do Tribunal de Justiça do Brasil.
Avaliando um fragmento do processo do STJ:

Organização / Entidade ou
Empresa

Figura 9: Extraindo características dos textos e palavras chaves ident. Organizações.


Fonte: Próprio Autor

Pessoa, Juiz ou Relator

Figura 10: Extraindo características dos textos e palavras chaves Identidade Pessoa.
Fonte: Próprio Autor

Como conclusão deste tópico foi utilizada técnicas de extração de características e


processamento de linguagem natural para identificar mais rápido os rótulos de termos
técnico dos termos jurídicos. Facilitando na identificação dos rótulos e pessoas,
entidades, assuntos jurídicos, precedente, ramo do direito, referência legislativa e
tópico questão, entre outros.
19

4.5 – Classificação e Agrupamento dos Processos

Neste tópico o objetivo foi de definir e realizar um processo de agrupamento de


processos jurídicos e a definição de uma medida de similaridade textual entre
processos.
As etapas são classificadas abaixo conforme modelo:

• Agrupamento de processos jurídicos provindos de instâncias inferiores


ao Supremo Tribunal de Justiça (STJ) e Tribunal Regional Federal da 4ª
Região (TRF-4);
• Definição de uma medida de similaridade textual entre processos
• Abordagem não supervisionada;
• Sem a necessidade de marcações.
A Figura 11 demonstra de forma prática e simples como são representadas as
informações desse modelo:

Figura 11: Diagrama com a estrutura de arquitetura da solução Agrupamento e Classificação.


Fonte: Próprio Autor

Os processos que já foram julgados pelo STJ são categorizados como sua
Jurisprudência do STJ, os mesmos servem de modelo para a base de treinamento,
pois vão servir de base para definir o ranking de similaridade, utilizando uma
20

abordagem não supervisionada do modelo. Depois são realizados agrupamentos sobre


os dados identificados através dos clusters ou agrupamentos de dados.

Como parte de Processamento de Linguagem Natural foi seguida as etapas de:

Figura 12: Diagrama com a estrutura de pré-processamento, representação vetorial e algoritmo


de similaridade.
Fonte: Próprio Autor

Para o agrupamento de processos foi utilizado o NLTK (Natural Language Tookit) que é
uma biblioteca em Python para processamento de linguagem natural com
características de possuir um amplo conjunto de ferramentas para pré-processamento
de texto, suporte a linguagem portuguesa, open source e de código distribuído.

Pré-processamento:
 Transformar todas as letras para a forma minúscula, remoção de pontuação,
remoção de quebras de linhas, etc.
 Transformar leis e artigos em um radical.
 Remoção de palavras que não adicionam informação relevante sobre o
documento:
21

o English Stop Words: a, na, and, are, as, at, on, by.
o Brazilian Portuguese Stop Words: de, a, o, que, em, um, não, uma, por,
na, mais.
Nessa próxima etapa foram executadas as seguintes técnicas de:
 Stemização (Steeming): Reduz diversas formas e derivações de uma palavra
para uma base comum: química, químicas, químico, químicos => químic

 Tokenização: servem para dividir um texto em tokens, esses tokens podem ser
parágrafos, frases ou palavras individuais.

Figura 13: Tokenização entre as palavras ou termos frequentes.


Fonte: Próprio Autor

Na sequência utilizamos a Representação Vetorial para Documentos e o Bag of


Words (BoW) que é um algoritmo que conta quantas vezes uma palavra aparece em
um documento. Após a normalização, todos os elementos de cada vetor de documento
somam 1, representando a probabilidade de uma determinada palavra estar presente
no documento avaliado.
O BoW avalia a frequência das palavras que compõem um documento, a ideia do TF-
IDF é destacar apenas as palavras que forem frequentes e distintas, que quanto
maior for o número de documentos em que aparece uma determinada palavra, menos
valiosa essa palavra é como informação relevante seguinte esta fórmula:
22

Figura 14: Fórmula do TF-IDF.


Fonte: Próprio Autor

Figura 15: Identificação de Processo do TRF4 na Jurisprudência do STJ (Similaridade).


Fonte: Próprio Autor

Através do Jupyter Notebook foram implementados os códigos para estruturar a


captura da informação e tratamento do mesmo, isso ocorreu seguindo as etapas de:

1 – Identificação das Referências;

2 – Leitura da Jurisprudência;

3 – Exploração da jurisprudência STJ para identificar as entidades;

4 – Extrair as ementas da jurisprudência;


23

5 – Identificar os processos similares TRF4 na jurisprudência do STJ;

6 – Extrair itens da Jurisprudência;

7 – Extrair itens de todo Acórdão;

8 – Concatenar os Data Frames.

Figura 16: Avaliação da (Similaridade) entre os processos Pai e Filhos (Jurisprudência STJ com
o TRF4.
Fonte: Próprio Autor

E por fim foi realizado a avaliação da similaridade entre os processos classificadores


originalmente no STJ pela Jurisprudência do mesmo com os novos processos do TRF4
(Região Sul do Brasil). O nível de similaridade entre os processos ficou acima do
esperado, inclusive pelo cliente através de 03 Analistas de Negócios do STJ.
24

A Similaridade de Cossenos

Figura 17: Formulas da Similaridade de Cossenos.


Fonte: Próprio Autor

Avaliação da Qualidade dos Resultados do agrupamento dos processos, durante todo


o projeto foram avaliados os resultados por 03 Analisas Jurídicos do STJ, os mesmos
possuem conhecimento jurídico e também de Tecnologia da Informação, pois possuem
formação de graduação nas duas áreas.
A identificação dos casos e processos foram classificados de acordo com o ramo de
direito, assuntos e referência legislativa.

As classificações seguiram seguintes resultados abaixo:

Ao final todos os itens foram classificados de forma coerente em relação a


jurisprudência do STJ, os próprios analistas confirmaram isso, além dos algoritmos que
conseguiram acertar em porcentagens acima de 85% dos casos em mais de 15.000
amostras catalogadas.
25

Figura 18: Trecho do Acórdão relacionado ao início e final do processo.


Fonte: Próprio Autor

5. DISCUSSÃO DOS RESULTADOS

Este capítulo tem como objetivo representar alguns resultados aplicados ao sistema de
inteligência artificial, tais como Telas e Indicadores de Desempenho. Tais informações
são expostas e detalhadas a seguir:
Figura 19: Painel Analítico com os resultados da pesquisa e classificação dos termos jurídicos.
Fonte: Próprio autor, 2018.
26

Estes resultados foram aplicados a um nível de similaridade mínima de 70%,


garantindo assim, uma maior precisão dos resultados obtidos e acurácia do modelo de
machine learning aplicado. Como resultado apresentado nessa tela, é possível
identificar a quantidade total de processos classificados pela máquina com (IA), 7.565
processos ao todo, além disso, foram mensurados informações tais como: quantidade
de processos agrupáveis 4.154, quantidade de grupos classificados 749, quantidade de
assuntos dos grupos 95 e por fim o indicador com a quantidade de ramos do direito 5
no total. Tais informações são muito importantes para análise dos gestores públicos e
representantes dos Ministérios e Gabinetes dos Superior Tribunal de Justiça.

Na segunda parte do Painel Analítico foram apresentadas as informações relacionadas


aos processos por Ramos do Direito, neste exemplo o primeiro lugar ficou com o
Direito Previdenciário com um total de 1.126, na sequencia vem o Direito Administrativo
com 1.069, em terceiro lugar o Direito Tributário com 655, o Direito Civil vem em quarto
lugar com 74 e por último o Direito do Consumidor com 2 processos.

Além da classificação por ramo do direito, podemos visualizar um gráfico de barras


com os processos por assuntos, sendo classificados por ordem decrescente do maior
para o menor, entre os assuntos mencionados estão: reajuste de remuneração, plano
de classificação de cargos, aposentadoria por tempo de serviço, multas e demais
sanções, aposentadoria especial benefícios em espécie e contribuições
previdenciárias, todos estes assuntos fazem parte dos assuntos classificados pelo CNJ
(Conselho Nacional de Justiça).
27

Figura 20: Painel Analítico com os resultados da pesquisa e classificação dos termos jurídicos.
Fonte: Próprio autor, 2018.

Além dos filtros identificados por Ramos do Direito e Assuntos do CNJ é possível
trabalhar também com filtros por Órgão se da primeira, segunda, terceira ou quarta
turma. Outro filtro que pode ser aplicado também é sobre o Relator. Além disso, é
possível analisar o nível de similaridade entre os Grupos de Processos, no exemplo da
figura 20 é possível identificar o número do processo (Grupo), juntamente com o texto
relacionado a Ementa Decisão e também ao texto relacionado a Ementa Acórdão
Recorrido, observem que são exibidas as informações da quantidade de processos
classificados e o percentual de similaridade entre os mesmos.
Dessa forma podemos afirmar que o trecho do processo ou acórdão em questão está
falando sobre uma determinada decisão que foi feita anteriormente por uma comissão
de Juízes do STJ. Dessa forma facilitando o processo de coleta, agrupamento e
seleção dos processos.
28

6. CONSIDERAÇÕES FINAIS

O Machine Learning junto com o processamento de linguagem natural tem


auxiliado de forma drástica nos últimos anos em especial no setor Jurídico do
Brasil, nos próximos anos iremos verificar um aumento no número de aplicações
cognitivas que irão surgir em virtude disso. Isso acontece de forma natural nos dias
de hoje e nos próximos anos também. O processo de coleta, armazenamento,
análise e processamento e por fim de visualização dos dados são o segredo de
sucesso desses tipos de projetos de Sistemas Cognitivos de Inteligência Artificial.

6.1 – Contribuições
O trabalho de pesquisa apresentado nessa MBA em Aprendizado de Máquina teve
como objetivo principal propor uma solução de coleta, organização, agrupamento e
classificação dos processos jurídicos do STJ.

 Contribuir para o processo de captura, leitura e transformação dos dados


de OCR:
 Aprimorar técnicas de Dilatação, Binarização e Erosão na captura de
dados em OCR;
 Melhorar o ajuste do compilador do Tesseract para utilizar paralelismo
nos servidores Intel;
 Descrever os métodos de extração das características das entidades
baseadas em organização e pessoas, utilizamos o CoreLNP;
 Realizar o agrupamento de processos jurídicos provindos de instâncias
inferiores ao STJ, tipo: Tribunal de Regional Federal da 4ª Região;
 Definir uma medida de similaridade textual entre os processos de forma
abordagem não supervisionada e sem a necessidade de marcação
manual de processos por um humano.
29

6.2 – Limitações
Algumas limitações deste trabalho foram identificadas a partir de uma análise
crítica dos métodos e técnicas utilizados. As principais são listadas logo a seguir:

 Evoluir a forma de agrupamento das informações através da Ferramenta


QlikView, pois não possuir um componente específico para visualizar os
dados de forma especificas com dados não estruturados baseados em
textos;
 Melhorar o uso de técnicas de Deep Learning com uma rede neural artificial
treinada para variar os pesos ao longo do tempo, visando construir um
modelo mais próximo aos algoritmos de classificação, isso iria facilitar no
entendimento do problema atual e no futuro;
 Classificar as partes de processamento de linguagem natural, não
abordamos todos os métodos do NLTK, isso seria importante para
separação dos termos e a parte de identificação das entidades e
classificação dos novos modelos.

6.3 – Trabalhos Futuros


Ao longo do desenvolvimento deste trabalho, algumas oportunidades de melhoria,
tanto da abordagem proposta quanto ao protótipo desenvolvido, foram destacados.
Além disso, novas oportunidades de pesquisas foram identificadas. Os possíveis
trabalhos futuros envolvem:
 Avaliar o comportamento da aplicação frente a uma massa diária de
processos entre os quais 1.450 processos com 250 páginas cada um.
 Avaliar / Implantar o seguinte método de processamento de imagem:
o Reconhecimento de escrita de máquina;
o Reconhecimento de escrita manual;
o Reconhecimento de ruídos;
 Avaliar / Treinar as redes neurais que o Tesseract usa para reconhecer
caracteres;
30

 Evoluir o modelo de classificação e construir novos modelos baseados em


redes neurais artificiais;
 Expandir o classificador e modelar as características baseadas no modelo
Jurídico de Dados;
 Melhorar a apresentação dos dados utilizando ferramentas de Data
Discovery em Nuvem com integração a um Data Lake do tipo Google Data
Studio.

7. REFERÊNCIAS BIBLIOGRÁFICAS

ABBOTT, Dean. Applied predictive analytics: Principles and techniques for the professional data
analyst. John Wiley & Sons, 2014.

AGGARWAL, Charu C. Recommender Systems. 1ª ed. New York: Springer International Publishing,
2016.

BISHOP, Christopher M. Pattern Recognition and Machine Learning. Springer, 2006.

BRAGA, A.P.; LUDERMIR, T.B.; CARVALHO, A.C.P.L.F. Redes Neurais Artificiais: Teoria e
Aplicações. Livros Técnicos e Científicos S.A., 2000.

CHEDE, Cezar. Conhecendo o Hadoop. Disponível em:


<https://www.ibm.com/developerworks/community/blogs/ctaurion/entry/conhecendo_hadoop?lang=en
(Links para um site externo)Links para um site externo>. Acesso em: 18 de set, 2017.

CANARY, V. P. A tomada de decisão no context do Big Data: estudo de caso único. Universidade
Federal do Rio Grande do Sul – UFRGS. Porto Alegre, p. 73. 2013.

DAVENPORT, T. H. Big Data no Trabalho. 1. Ed. Rio de Janeiro: Elsevier, 2014.

DUMBILL, Edd. Planning for Big Data. A CIO's Handbook to the changing Data Landscape. O'Reilly,
2012.

GOODFELLOW, I. et. al. Deep Learning. 1° Ed. MIT Press, 2016.

JANNACH, Dietmar et al. Recommender Systems: An introduction. New York: Cambridge University
Press, 2010.

KELLEHER, D.J. et al. Fundamentals of Machine Learning for Predictive Data Analytics. 1º Ed. MIT
Press, 2015.
31

PENTREATH, N. Machine Learning with Spark – Tackle Big Data with Powerful Spark Machine
Learning. 1° Ed. Packt Publishing, 2015.

KOLB, Jason; KOLB, Jeremy. The Big Data Revolution. CreateSpace Independent Publishing Platform,
201 LOH Stanley, BI na Era do Big Data para o Cientista de Dados. Amazon, 2014.

LOH, Stanley. BI na Era do Big Data para o Cientista de Dados. Amazon, 2014.

LUGER, George F.; Inteligência Artificial; Volume: 6; Editora: Pearson, Páginas 123-189, 2013.

MANYIKA, James, et al. Big data: The next frontier for innovation, competition, and productivity.
Disponível em: <http://www.mckinsey.com/business-functions/digital- mckinsey/our-insights/big- (Links
para um site externo)Links para um site externo

data-the- next-frontier- for-innovation (Links para um site externo) Links para um site externo>. Acesso
em: 18 de set, 2017.

MARQUESONE, Rosangela. Big Data: Técnicas e tecnologias para extração de valor dos dados.
Casa do Código, 2016.

MEDEIROS, Luciano. Inteligência Artificial Aplicada – Uma abordagem introdutória. 1ª Ed. Pág. 21,
Editora: intersaberes, 2018.

MINELLI, Michael; CHAMBERS, Michele; DHIRAJ Ambiga. Big Data, Big Analytics: Emerging
Business Intelligence and Analytic Trends for Today's Business. Wiley CIO, 2013.

PENCHIKALA, Srini. Big Data Processing with Apache Spark – Part 1: Introduction. InfoQ, 2015.
Disponível em: <www.infoq.com/articles/apache-spark-introduction (Links para um site externo) Links
para um site externo>. Acesso em: 18 de set, 2017.

Você também pode gostar