Você está na página 1de 49

As Decisões Judiciais do STJ sob olhar da AI:

Modelos geradores de tópicos BERTopic e Top2Vec.

Eduardo Alberto Gomes Campos


Trabalho de Conclusão de Curso - MBA em Ciência de Dados
(CEMEAI)
UNIVERSIDADE DE SÃO PAULO
Instituto de Ciências Matemáticas e de Computação

As Decisões Judiciais do STJ sob olhar


da Inteligência Artificial: Modelos
geradores de tópicos BERTopic e
Top2Vec.

Eduardo Alberto Gomes Campos

[Nome do Aluno]

USP - São Carlos


2023
EDUARDO ALBERTO GOMES CAMPOS

Título: As Decisões Judiciais do STJ sob olhar da Inteligência Artificial:


Modelos geradores de tópicos BERTopic e Top2Vec.

Trabalho de conclusão de curso apresentado ao


Centro de Ciências Matemáticas Aplicadas à
Indústria do Instituto de Ciências Matemáticas e
de Computação, Universidade de São Paulo,
como parte dos requisitos para conclusão do MBA
em Ciência de Dados.

Área de concentração: Ciências de Dados

Orientador: Prof. Dr. Rafael Bassi Stern

USP - São Carlos


2023
“A tarefa não é tanto ver aquilo que
ninguém viu, mas pensar o que ninguém
ainda pensou sobre aquilo que todo
mundo vê.”
Arthur Schopenhauer (1850)
RESUMO
CAMPOS, Eduardo. As Decisões Judiciais do STJ sob olhar da Inteligência
Artificial: Modelos geradores de tópicos BERTopic e Top2Vec, 2023. 49 f. Trabalho
de conclusão de curso (MBA em Ciência de Dados) – Instituto de Ciências
Matemáticas e de Computação, Universidade de São Paulo, São Carlos, 2023.

O presente artigo tem como premissa básica verificar como os modelos geradores de
tópicos BERTopic e Top2Vec produzem significação semântica das decisões judiciais
do STJ. Os modelos de Deep Learning, e em especial o BERT (Bidirectional Encoder
Representations from Transformers), utilizam um Transformer, um mecanismo de
atenção que aprende através de relações contextuais entre palavras de um
determinado texto. O corpus usado consiste em 30.515 decisões judiciais
pesquisadas no portal do órgão. Para tal, foi criado uma base de dados em MongoDB
para receber os documentos extraídos por ferramenta web scraping utilizando a
linguagem de programação Python. Os modelos sumarizaram os documentos em
clusters de similaridade ou dissimilaridade gerando tópicos como saída básica. Com
isso busca-se valorar esse insumo – informação digital, ao introduzir e delinear um
escopo de forma a quantificar e prever eventos jurídicos em dados históricos alocados
em tribunais do Brasil. Esta técnica Jurimetria ganhou força ao longo dos tempos com
o acúmulo de dados digitais. O objetivo é estreitar as áreas do Direito e da Estatística
para produzir pesquisas empíricas. A ideia central da PLN é generalizar os dados
através de robustos cálculos matemáticos realizados pelos algoritmos de Deep
Learning e Machine Lerning em redes neurais com várias camadas. Os modelos
estatísticos aprendem com dados de treinamento em uma coleção de textos para
fazer previsões futuras. Os algoritmos de PLN oriundos de Deep Learning convertem
padrões de palavras, sentença e parágrafos em vetores matemáticos dentro de um
espaço geométrico.

Palavras-chave: Natural Language Processing (PLN); Bidirectional Encoder


Representations from Transformers (BERT); BERTopic; Top2Vec.
ABSTRACT

CAMPOS, Eduardo. STJ Judicial Decisions from the point of view of Artificial
Intelligence: Topic generator models BERTopic and Top2Vec, 2023. 49 f. Completion
of course work (MBA in Data Science) – Institute of Mathematics and Computer
Sciences, University of São Paulo, São Carlos, 2023.

The basic premise of this article is to verify how the topic generator models BERTopic
and Top2Vec produce semantic meaning of STJ judicial decisions. Deep Learning
models, and in particular BERT (Bidirectional Encoder Representations from
Transformers), use a Transformer, an attention mechanism that learns through
contextual relationships between words in a given text. The corpus used consists of
30,515 court decisions searched on the STJ's portal. To this end, a database was
created in MongoDB to receive documents extracted by a web scraping tool using the
Python programming language. The models summarized the documents in clusters of
similarity or dissimilarity generating topics as basic output. This seeks to value this
input – digital information, by introducing and outlining a scope in order to quantify and
predict legal events in historical data allocated in courts in Brazil. This Jurimetria
technique has gained strength over time with the accumulation of digital data. The
objective is to narrow the areas of Law and Statistics to produce empirical research.
The central idea of PLN is to generalize data through robust mathematical calculations
performed by Deep Learning and Machine Lerning algorithms in neural networks with
several layers. Statistical models learn from training data in a collection of texts to make
future predictions. NLP algorithms from Deep Learning convert word, sentence and
paragraph patterns into mathematical vectors within a geometric space.

Keywords: Natural Language Processing (PLN); Bidirectional Encoder


Representations from Transformers (BERT); BERTopic; Top2Vec.
LISTA DE ILUSTRAÇÕES

Figura 1 : Fluxo PLN.......................................................................................... 47


Figura 2 : Vetor espacial - word embeddings ..........................................………. 50
Figura 3 : Saneamento do corpus ....................................................................... 52
Figura 4 : Arquitetura Transformer ..................................................................... 54
Figura 5 : Funcionamento do Top2Vec............................................................... 57
Figura 6 : Pesquisa de Jurisprudência do STJ.................................................... 62
Figura 7 : Jurisprudência STJ............................................................................. 63
Figura 8 : Métrica de Coerência de Tópicos........................................................ 65
Figura 9: Comparativo BERTopic vs Top2Vec.................................................... 68
Figura 10: Tópicos gerados pelo BERTopic........................................................ 69
Figura 11: Tópicos gerados pelo Top2Vec.......................................................... 70
LISTA DE TABELAS

Tabela 1 : Criação de Tokens............................................................................ 48

Tabela 2 : O Transformer atingiu a melhor pontuação em relação aos


modelos estado-da-arte.................................................................................... 54

Tabela 3 : Aplicação da medida de confirmação............................................... 66

Tabela 4 : Aplicação da agregação de valores.................................................. 67

Tabela 5: Quantidade de embeddings models suportados................................ 71

Tabela 6: Descrição das características dos modelos....................................... 73


LISTA DE SIGLAS

PLN —Processamento de linguagem natural


RNA —Redes neurais artificiais
MLM —Masked Language Model
NSP —Next Sentence Prediction
LDA —Latent Dirichlet Allocation
LSA —Latent Semantic Analysis
NMF —Non-Negative Matrix Factorization
AM —Aprendizado de máquina
BERT —Bidirectional Encoder Representations from Transformers
TF-IDF —Term frequency – inverse document frequency
GPU —Graphics Processing Unit
TPU —Tensor processing unit
ASIC —Accelerator application-specific integrated circuit
BTM —Biterm topic model
GIGO — Garbage in, garbage out
SUMÁRIO

1 INTRODUÇÃO ....................................................................................................... 12
1.1 Contextualização - Motivação ..................................................................................................... 12
1.2 Objetivos ..................................................................................................................................... 13
1.3 Estrutura deste trabalho ............................................................................................................. 14
2 REFERENCIAL TEÓRICO..................................................................................... 15
2.1 Considerações iniciais ................................................................................................................. 15
2.2 Conceitos Fundamentais ............................................................................................................. 15
2.2.1 Jurimetria ............................................................................................................................. 15
2.2.2 Processamento de Linguagem Natural (PLN) ....................................................................... 16
2.2.3. Tokenização – Tokenization ................................................................................................ 18
2.2.4 Stemização – Stemming ....................................................................................................... 19
2.2.5 Lematização – Lemmatization.............................................................................................. 19
2.2.6 Bag of words......................................................................................................................... 20
2.2.7 TF-IDF ................................................................................................................................... 20
2.2.8 Word embedding .................................................................................................................. 21
2.2.9 Stopwords............................................................................................................................. 22
2.2.10 Corpus................................................................................................................................. 22
2.3 A Ascensão do Transformer como modelo da PLN: Atenção é tudo que você precisa. ............. 24
2.3.1 Modelos geradores de tópicos: BERTopic e Top2Vec .......................................................... 26
3 DESENVOLVIMENTO ........................................................................................... 31
3.1 Considerações iniciais ................................................................................................................. 31
3.2 Fase da Metodologia ................................................................................................................... 31
3.2.1 Escolha dos dados ................................................................................................................ 32
3.2.2 Raspagem de dados - web scraping ..................................................................................... 33
3.2.3 Pré-processamento de dados .............................................................................................. 35
4 ANÁLISE DOS RESULTADOS ............................................................................. 36
4.1 Métrica de Coerência de Tópicos (MCT) ..................................................................................... 36
REFERÊNCIAS......................................................................................................... 47
12

1 INTRODUÇÃO
1.1 Contextualização - Motivação

A humanidade ao longo do tempo precisou de alguma forma catalogar,


contabilizar e registrar seus ativos e insumos. A tecnologia deu saltos de qualidades
quando diversas ideias foram armazenadas em papel cunhada na imprensa de
Gutemberg.
O historiador francês Roger Chartier salientou que a invenção de Gutenberg foi
tão revolucionária que só pode ser comparada à invenção do computador e da
reprodução digital da escrita (CHARTIER, 1994). O papel serviu como disseminador
de informação por muito tempo, mas à medida que evoluímos na era digital tal insumo
—informação— se tornou uma das mais valiosas commodities da atualidade.
Dados são o novo petróleo (HUMBY, 2006), tal frase fomentou a corrida entre
as principais big tech Alphabet, Amazon, Apple, Meta e Microsoft a minerar dados de
todas as fontes possíveis para próxima revolução industrial 4.0. O problema não é
encontrar os dados, eles estão em todos os lugares, a questão crucial é transformar
esse novo petróleo cru em produto refinado e torná-lo tangível para os stakeholders.
Somente com avanços em diversas áreas da computação foi possível extrair
significados de tais dados não estruturados. Desta forma, com o poder da Inteligência
Artificial combinada com Linguística e Ciências da Computação em utilizar o
Processamento de Linguagem Natural (PLN) como ferramenta para compreender a
linguagem natural a tarefa deu um grande salto de qualidade (SCHIESSL, 2007).
A PLN tem como objetivo modelar em computadores digitais a linguagem
humana (RUDER, 2019). Hodiernamente, temos como estado-da-arte em PLN as
redes neurais pré-treinadas que podem capturar padrões semânticos a partir de textos
em linguagem natural e serem ajustadas para melhorar a realização de várias tarefas
(ZHANG et al., 2019).
A ideia central da PLN é generalizar os dados através de robustos cálculos
matemáticos realizados pelos algoritmos de Deep Learning e Machine Lerning em
redes neurais com várias camadas. Os modelos estatísticos aprendem com dados de
treinamento em uma coleção de textos para fazer previsões futuras. O grande desafio
é que essas redes dependem de muitos dados e seu treinamento pode demorar
13

semanas para serem ajustados. Após todo esse treinamento, os modelos estarão
prontos para atuar em novos corpora e aprender suas nuances a cada “fine tune”.
O ponto de partida do presente trabalho são os dados brutos extraídos da
jurisprudência oriunda das decisões judiciais do Superior Tribunal de Justiça (STJ),
que concentra uma das maiores base de dados em português de cunho jurídico.
Criado pela Constituição Federal de 1988, o Superior Tribunal de Justiça
(STJ) é a corte responsável por uniformizar a interpretação da lei federal em
todo o Brasil. É de sua responsabilidade a solução definitiva dos casos civis
e criminais que não envolvam matéria constitucional nem a justiça
especializada.1

No começo da década de 90, a sua “Rede Nacional de Pacotes” (RENPAC)


processava consultas remotas sobre o “andamento processual” das decisões desta
corte. Entretanto, apenas em 1998 que o “SISTEMA PUSH” passou a integrar como
portal principal de consultas jurídicas. Por ser a última instância da Justiça brasileira
para as causas infraconstitucionais, responsável por uniformizar, padronizar, a
interpretação da Constituição em todo o Brasil, o STJ acumula um vasto repositório
de decisões digitalizadas. A ideia inicial era focada na celeridade e economia de papel,
entretanto, devido à revolução digital que transformou os processos judiciais em 100%
digitais, tal informação virou insumo valioso.

1.2 Objetivos

O objetivo principal deste trabalho é verificar com a ajuda da Inteligência


Artificial quais modelos geradores de tópicos poderão ser utilizados tendo como base
um corpus jurídico de jurisprudência exclusivamente em português.
A finalidade é fazer uma comparação entre os modelos gerados de tópicos e
seus argumentos específicos de PLN. Um bom modelo gerador de tópicos será capaz
de representar em sumário de alto-nível um grande conjunto de dados que a mente
humana jamais conseguiria fazer de maneira produtiva.
Os modelos geradores de tópicos servem como ponteiros –guias– dentro dos
clusters, facilitando a busca e a localização no espaço multidimensional dos vetores.
O conceito envolve segmentar em estruturas menores um corpus e o modelo

1 https://www.stj.jus.br/sites/portalp/Institucional/Historia/A-era-digital/ acesso em 02/02/2023


14

pré-treinado extrai tópicos que serão alocados em agrupamentos –clusters– que


trazem significados para suas áreas subjacentes do contexto textual e que possam
ser utilizados como referência para futuras modelagens de dados em PLN. Com isso
em mente, serão analisadas e comparadas as saídas obtidas por tais modelos e se
elas correspondem à realidade caso o trabalho fosse realizado por humanos.
Dentre vários modelos pré-treinados de PLN foram escolhidos BERTopic
(GROOTENDORST, 2020) e Top2Vec (ANGELOV, 2020), pelas suas versatilidades
e serem mais atualizados comparados aos antigos Latent Dirichlet Allocation (LDA) e
Probabilistic Latent Semantic Analysis (PLSA) que usavam basicamente bag-of-words
(BOW) para representar os documentos, ignorando por completo a parte semântica
da palavra.
Os modelos de Deep Learning, e em especial o BERT (Bidirectional Encoder
Representations from Transformers) (DEVLIN et al., 2018), utilizam um Transformer,
mecanismo de atenção que aprende através de relações contextuais entre palavras
de um determinado texto (WOLF et al., 2019). A escolha do BERTopic não foi por
acaso, ele pode utilizar o BERTimbau modelo pré-treinado totalmente em português,
disponível na plataforma Huggingface (SOUZA et al., 2020). O modelo que usa artigos
da Wikipédia para gerar um vocabulário na língua portuguesa e, em seguida,
alavancar milhões de páginas da web do corpus brWaC como dados não rotulados
para treinar modelos BERT em objetivos autos supervisionados.

1.3 Estrutura deste trabalho

No Capítulo 2 serão apresentados os conceitos teóricos e técnicas que


nortearam este trabalho, principalmente as bases teóricas e os algoritmos que são
utilizados recentemente para o processamento de linguagem natural. No Capítulo 3
descreve a metodologia de trabalho utilizada, as premissas de desenvolvimento e
engenharia do projeto. O Capítulo 4 apresenta os resultados obtidos, incluindo
métricas comparativas de benchmark.
15

2 REFERENCIAL TEÓRICO
2.1 Considerações iniciais

É preciso salientar que não serão abordadas as filigranas do Direito e suas


especificidades, o objeto do estudo é de cunho estatístico, pois o foco principal é a
interação com a IA nos algoritmos de PLN. O Direito no Brasil vem passando por uma
transformação em sua concepção estrutural, aos poucos a jurisprudência vem a cada
dia recebendo uma dedicação nunca vista pelos operadores do Direito.
A jurisprudência é o conjunto de decisões de tribunais que reconhecem
determinada conduta como obrigatória. É importante ressaltar que não se
considera jurisprudência a decisão de um tribunal isolado, mas sim um
conjunto de julgamentos que coadunem com a mesma ideia (MAXIMILIANO,
2011).

Observe que a jurisprudência se avoluma de forma exponencial em cada


tribunal do país. Com o advento da digitalização dos processos em todos os tribunais
nacionais iniciada na década passada, o acesso à informação transformou-se em
commodity valiosa.
Consequentemente, têm-se verdadeiros repositórios de jurisprudências
disponíveis em várias esferas do Poder Judiciário que ainda carecem de cuidados dos
pesquisadores estatísticos dado que o novo petróleo permanece em sua forma bruta.
Urge uma aproximação transversal entre as diversas áreas do conhecimento para
extrair a essência do que realmente foi julgado em diversos tribunais do Brasil. O maior
beneficiário será o Poder Judiciário que terá em suas mãos a real dimensão
jurisdicional das suas decisões, e por “ricochet” ganha o cidadão.

2.2 Conceitos Fundamentais


2.2.1 Jurimetria

Chamamos de Jurimetria (ZABALA, 2014) o estudo de decisões judiciais sob o


aspecto estatístico, o conceito não é novo, foi cunhado pelo norte-americano
(LOEVINGER, 1949) em seu artigo de 1949 Jurimetrics: The Next Step Forward.
A aplicação de métodos quantitativos que trazem novas nuances da lógica
replicada na lei, que discute sobre fatos, evidências e padrões de prova, aliada com
a inferência bayesiana e a álgebra booleana como abordagens para estabelecer
16

regras formais que garantam uma argumentação válida cujo objetivo era semelhante
à econometria (LOEVINGER, 1992).
Perceba que esse novo ramo do Direito ganhou força ao longo dos tempos com
o acúmulo de dados digitais. O objetivo é estreitar as áreas do Direito e da Estatística
para produzir pesquisas empíricas. A Associação Brasileira de Jurimetria (ABJ),
fundada em 2011 por pesquisadores do Instituto de Matemática e Estatística da
Universidade de São Paulo (IME-USP) e da Pontifícia Universidade Católica de São
Paulo (PUC-SP) mantém a difusão no tema no Brasil2. Como dito, esta intercessão
entre áreas do conhecimento tão distintas entre si gera ruídos que são captados por
ambas as partes e cada uma se beneficia internamente.

2.2.2 Processamento de Linguagem Natural (PLN)

A linguagem faz parte de todas as interações humanas, ao longo do tempo o


homem buscou aproximar a máquina a reconhecer padrões linguísticos. Nos dos
últimos cem anos os pesquisadores vêm trabalhando na modelagem da linguagem
natural para computadores.
Segundo (DENIS, 2021) no começo do século 20, Andrey Markov introduziu
o conceito de valores randômicos e a criação da Teoria dos Processos Estocásticos.
É sabido que os processos decisivos de Markov (MDPs) foram cruciais para
concepção do próprio conceito de Inteligência Artificial.
Já em 1948, Claude Shannon’s usando os trabalhos de Markov concebeu uma
abordagem probabilística para modelagem de sequência. Ali estava sendo criado
um modelo de comunicação com encoder —codificador— de fonte, um transmissor
e receptor, receptor decoder —decodificador— semântico (DENIS, 2021).
"The Turing Test”, (TURING, 1950) desenvolveu um teste em que a máquina
apresentava habilidade do comportamento humano, uma máquina inteligente, capaz
de reproduzir conversa como humano.
Vejam que as primeiras publicações sobre redes neurais artificiais surgiram nas
décadas de 1940 e 1950, por (MCCULLOCH E PITTS,1943) e (ROSENBLATT,1957).
Uma RNA pode possuir uma série de camadas que, simulando neurônios, processam

2 https://abj.org.br/sobre/, acesso em 03/02/2023


17

fragmentos da informação e geram como resultado a compilação do processamento


de cada um desses fragmentos.
Outro nome importante na área foi Yann (LECUN, 1980) que desenvolveu a
“Convolutional Neural Network” conhecida por CNN. Rede neural de múltipla proposta
que pavimentou a criação do Transformer.
A grosso modo, o PLN está mais focado na extração e geração de
informações a partir de big data e usa as informações para melhorar o
processamento da linguagem. Entretanto, tal tarefa é extremamente árdua, haja vista
a complexidade de camadas e ambiguidades que a linguagem natural contém. Se
uma língua já tem suas especificidades próprias, imagine traduzi-la para outra língua
que também tem as suas.
É interessante citar a ajuda que Noam (CHOMSKY, 1960) fez na área de
linguística ao trabalhar com a gramática generativa, elaborando corpus, ou seja,
padrões sintáticos da linguagem. Desta maneira propiciou que a linguagem tivesse
um crivo mais científico, abrindo-se para outras áreas do conhecimento permitindo
uma abordagem mais universal sobre os idiomas, uma verdadeira inter-relação entre
as línguas. Em vista disto temos uma base linguística comum em todos os idiomas no
planeta, com raras exceções.
É verdade que somente com os avanços computacionais descritos na Lei de
Moore e incrementos nos algoritmos de Machine Learning, especificamente no campo
de Deep Learning que a PLN como campo de pesquisa cresceu exponencialmente.
Hoje, praticamente todas as interações realizadas pela internet envolvem mecanismos
de PLN sem que ninguém perceba. Todavia isso não é feito de uma forma
singela, são realizados diversos processamentos escalonados para melhor
adequação da tarefa. A ambiguidade da linguagem não é algo fácil de ser superada.
O PLN é uma ciência em difusão e alguns percalços ainda precisam ser
revistos. A análise semântica é um dos principais gargalos da PLN (figura 01),
a linguagem natural tem diversos significados das expressões que os seres
humanos exprimem de forma subjetiva, analisar somente as palavras utilizadas
numa frase para compreendê-las é só parte do problema. O contexto do uso
deve ser considerado, daí o poder da IA.
Segundo (SURYA, 2019), o aumento de poder computacional na década
passada favoreceu muito para o uso de redes neurais profundas. Muitos avanços
18

foram realizados no campo de processamento paralelo, como a tecnologia CUDA3 da


empresa Nvidia, que permitiu usar os núcleos de processamento de uma GPU
(Graphics Processing Unit, em português, Unidade de Processamento Gráfico) para
a paralelização de cálculos e a criação do TPU (Tensor processing unit), que é um
ASIC (accelerator application-specific integrated circuit, em português, circuitos
integrados de aplicação específica) focado em processamentos de Inteligência
Artificial, se antes o foco era somente em jogos, agora a IA pode contar com
processadores específicos para modelagem.

Figura: 1 - Fluxo PLN

Fonte: Turing. [ NLP pipeline]. Ilustração. Disponível em https://www.turing.com/kb/natural-language-


processing-function-in-ai), acesso em 25/04/2023

2.2.3. Tokenização – Tokenization

“Muitas tarefas do processamento de linguagem natural envolvem a análise de


textos de dimensões variadas, indo de uma única sentença até corpora extensos.
A tokenização segmenta as palavras e as isolá-las delimitando suas fronteiras
iniciais e finais. O resultado (tabela 01) criação de “tokens” que funcionaram como
unidades vetorizadas dentro das matrizes.

3 https://developer.nvidia.com/cuda, acesso em 23/03/2023


19

Tabela: 1 Criação de Tokens


Token Posição

A artigo

Menina substantivo

Comeu verbo

. pontuação

Fonte: elaborado pelo autor, 2023.

Para a máquina, um token contém sua estrutura bem definida. O maior cuidado
é com a língua portuguesa, diferentemente do inglês, temos várias conjugações
verbais que poderão ser eliminadas e prejudicar o contexto.

2.2.4 Stemização – Stemming

O processo de stemização (do inglês, stemming) é muito conhecido em PLN na


medida que transformam as diversas formas das palavras em um significado mais
preciso, coeso e conciso em reduzir uma palavra ao seu radical (stem). A palavra
“garotos” se reduziria a “garot”, assim como “garotas” e “garotinhos”. As palavras
“gato”, “gata”, “gatos” e “gatas” reduziriam-se para “gat”.

2.2.5 Lematização – Lemmatization

Refere-se à representação da palavra no masculino singular para adjetivos e


substantivos, e o infinitivo para as formas verbais (LUCCA & NUNES 2002). Stemming
corresponde à retirada de afixos (prefixos e/ou sufixos) da palavra. São termos
distintos, embora eventualmente possam ter a mesma forma gráfica. A lematização
reduz a palavra ao seu lema, que é a forma no masculino e singular. No caso de verbos,
o lema é o infinitivo. Por exemplo, as palavras “gato”, “gata”, “gatos” e “gatas” são todas
formas do mesmo lema: “gato”. Igualmente, as palavras “tiver”, “tenho”, “tinha”, “tem”
são formas do mesmo lema “ter”.
20

2.2.6 Bag of words

O modelo de Bag-of-Words (BoW, traduzido do inglês como Saco-de-Palavras)


é um método simples de se obter uma representação numérica de textos, no qual
descarta-se a informação sobre a ordem de ocorrência das palavras no documento,
como se elas fossem colocadas em um saco (BROWNLEE, 2017). Assim, utiliza-se
apenas a contagem das suas ocorrências como parâmetro, de modo que dois
documentos são considerados similares quando contêm as mesmas palavras com
contabilizações semelhantes. Nota-se que tal abordagem permite inferir a semelhança
entre documentos, mas não entre palavras.

2.2.7 TF-IDF

TF-IDF significa Term Frequency - Inverse Document Frequency (JOACHIMS,


1996) ou Frequência do Termo - Inverso da Frequência no Documento, em tradução
livre para o português. Trata-se de medidas estatísticas que demonstram o quão im-
portante uma palavra é em um texto, assemelhando-se muito com a técnica de bag of
words, mas com algumas diferenças (LANE, HOWARD E HAPKE, 2019).
Term Frequency mede a frequência com que um termo aparece em um docu-
mento. Já o Inverse Document Frequency mede o quão importante um termo é em
relação a todo o corpus. Essas duas métricas são usadas e levadas em conta para
definir a importância da palavra. Basicamente, quanto mais frequente a palavra é,
mais importante ela tende a ser no texto (LANE, HOWARD E HAPKE, 2019).
Utilizamos o TF-IDF como vetorizador das stopwords para melhor adequação
da língua portuguesa. Ele avalia o cluster de palavras por pesos. Os termos
frequentes no texto são "recompensados", mas também são "punidos" se esses
termos forem frequentes em outros textos que incluímos no algoritmo também. Pelo
contrário, esse método destaca e “recompensa” termos únicos ou raros, considerando
todos os textos (LANE, HOWARD E HAPKE, 2019).
21

2.2.8 Word embedding

Por mais que tenhamos todo este contexto de PLN, o computador não trabalha
dentro do senso humano de descrever as coisas, cada informação é traduzida em bits.
Em linguagens naturais, uma palavra possui significado além de um simples conjunto
de letras organizados em certa ordem. Uma série de conceitos e alusões existem por
trás de cada palavra na mente humana, porém o mesmo não é valido para sistemas
computacionais, que reconhecem uma palavra simplesmente como um conjunto de
caracteres.
Modelos de língua que sejam adequados ao tratamento computacional são
fundamentais para o sucesso dos métodos de processamento de línguas naturais.
Nos últimos anos, a representação de palavras por meio de vetores tem gerado
resultados bastante promissores. Tais vetores são treinados por modelos neurais
(BENGIO et al., 2003; MIKOLOV et al., 2013) em grandes corpora por meio de
técnicas de aprendizado de máquina não supervisionado.”4
Os algoritmos de PLN oriundos de Deep Learning convertem padrões de
palavras, sentença e parágrafos em vetores matemáticos dentro de um espaço
geométrico. Verdadeiras matrizes em três dimensões (figura 02) que mensuram a
distâncias entre eles.

Figura: 2 - Vetor espacial - word embeddings

Fonte: DESAGULIER. [word embeddings]. Disponível em https://corpling.hypotheses.org/495, acesso


em: 26/04/2023

4 https://arq.ifsp.edu.br/eventos/index.php/enict/1EnICT/paper/view/33, acesso em 23/12/2022


22

Assim, word embedding é a descrição de coordenadas cartesianas espaciais


em três dimensões que têm similaridade ou dissimilaridade entre si. Vejam que a todo
momento estamos falando de matrizes. Volta-se ao campo matemático para resolve
a complexidade dos algoritmos. A palavra-chave aqui é generalização.
Generalizar conceitos similares para fazer representações vetoriais de
baixíssimas dimensões. Aproximações no campo semântico e sintáticos que se
aglutinam e geram clusters entre si.

2.2.9 Stopwords

É preciso retirar qualquer unidade textual que possa gerar ruídos, assim as
stopwords são palavras irrelevantes que estão frequentemente no texto, mas que não
alteram ou adicionam valores ao contexto de forma geral. Geralmente elas são
formadas por pequenas estruturas textuais, como por exemplo: “a”, “de”, “da”, “o”,
“que”, “em”, “mas”, “se”, “quando” e diversas outras. Cada idioma tem suas
especificidades e a retirada de algumas stopwords poderá inviabilizar o processo.
Repisa-se, este conceito é de suma importância para todos os pesquisadores
que trabalham com PLN. Somente com a boa prática de verificar o lixo – garbage in -
no pré-processamento fará que os dados possam ser modelados de maneira fiel ao
objetivo pretendido. Uma outra métrica que deve ser levada em conta é a transparência
com todo o processo de modelagem. A atenção e foco deverá ficar com o corpus. Os
hiperparâmetros poderão ser ajustados após o saneamento do corpus. No nosso
estudo buscamos utilizar o pacote stopwords em português para melhor adequação
da modelagem.

2.2.10 Corpus

Corpus é uma coleção de dados estruturados ou não estruturados que estão


armazenados em um banco de dados para ser usado em treinamento de Inteligência
Artificial no campo da PLN. Ele tem que ser representativo dentro de um escopo
específico para poder funcionar de maneira correta. Quanto maior o tamanho do
corpus, melhor será o treinamento, mas tamanho tem que estar associado a qualidade
dos dados, pois até pequenos erros nos dados de treinamento poderá gerar ruídos
23

conhecidos como (GIGO). Assim, uma boa limpeza para eliminar dados duplicados,
dados desnecessários e dados redundantes é de crucial importância.
Outra questão é o balanceamento dos dados para manter saudável os dados
de treinamento e teste. O objetivo é a criação de um corpus jurídico vasto, mas
separado por tópicos específicos e que possam ser utilizados como referência para
futuras modelagens de dados em PLN. A modelagem foi realizada na base de dados
STJ Data Lake, na qual foi retirada uma amostra do repositório “Código de Processo
Civil” contendo 30.515 documentos. Abaixo (figura 03) temos um documento como
exemplo já tratado:

Figura: 3 - Saneamento do corpus

Fonte: elaborado pelo autor, 2023.

Voltamos com a premissa básica: o modelo gerará a saída baseada no seu


corpus, se o pesquisador não conhecer os meandros e especificidades negociais dele
poderá ter ruídos irreparáveis na confecção de tópicos coerentes com seus
documentos.
24

2.3 A Ascensão do Transformer como modelo da PLN: Atenção é tudo que você
precisa.

Considerado até pouco tempos atrás como o modelo estado-da-arte por conter
milhões/bilhões de parâmetros, o Transformer (VASWANI et al., 2017) será a
arquitetura utilizada no presente trabalho por sua facilidade de uso e seu poder de
predileção. Ele é um modelo de aprendizado profundo que utiliza o mecanismo de
atenção, pesando a influência de diferentes partes dos dados de entrada (DENIS,
2021). Ele substitui os modelos de rede neural recorrente, como o Long-Short Term
Memory (LSTM), Latent Dirichlet Allocation (LDA) e Probabilistic Latent Semantic
Analysis (PLSA).
O modelo Transformer facilita a paralelização durante o treinamento, ele
permite o treinamento em conjuntos de dados maiores do que era possível antes de
ser introduzido (HILL, 2021). Assim, surgiram novos modelos pré-treinados oriundos
do Transformer, como BERT (Bidirectional Encoder Representations from
Transformers) e GPT (Generative Pre-Training Transformer), que foram treinados com
enormes conjuntos de dados de linguagem geral, como Wikipedia Corpus e Common
Crawl, e podem ser receber ajustes para tarefas específicas de linguagem natural
(HILL, 2021).
O modelo pré-treinado Transformer é concebido pelas estruturas codificador e
decodificador. Eles são ordenados por uma pilha de camadas idênticas
(representadas por Nx) e estas camadas são organizadas por duas subcamadas:

a) mecanismo multi-head self-attention; e


b) rede position-wise fully connected feed-forward.

Todas as camadas e subcamadas produzem saídas (figura 04) dimensionais


d-model (VASWANI et al., 2017):
25

Figura: 4 - Arquitetura Transformer

Fonte: (VASWANI et al., 2017)

A saída é computada como a soma ponderada dos valores tal que o peso
atribuído a cada valor é computado por uma função de compatibilidade da consulta
com a chave correspondente (VASWANI et al., 2017)(tabela 02).

Tabela: 2 - O Transformer atingiu a melhor pontuação em relação aos modelos estado-da-arte

Fonte: (VASWANI et al., 2017)


26

2.3.1 Modelos geradores de tópicos: BERTopic e Top2Vec


2.3.1.1 BERTopic

Antes dos métodos como o BERT, os modelos pré-treinados em


Processamento de Linguagem Natural (PLN) eram limitados a word embeddings, tais
como o Word2Vec (MIKOLOV et al., 2013) e GloVe (PENNINGTON et al., 2014). Dito
isso, o BERTopic é um modelo gerador de tópicos criado por Maarten
(GROOTENDORST, 2020) tem como principal pilar o Transformer como vetorizador
de sentenças. Ele agrupa estruturas textuais, que permitem que os tópicos sejam
interpretáveis, mantendo palavras importantes nas descrições destes.
A escolha foi motivada uma vez que o modelo de representações
bidirecionais codificadas através de Transformers (Bidirectional Encoder
Representations from Transformers - BERT) provaram ser um modelo de
linguagem natural simples, que alcançou um nível de desempenho inovador
de última geração. Estas adotaram o conceito de contextualização de word
embedding para capturar a semântica e o contexto das palavras nas quais
estas aparecem (LE et al., 2021).

O modelo trabalha de maneira robusta em três pontos chaves:

a) Document embeddings: Extrai embeddings de documentos com o método


BERT ou com qualquer outra técnica de embeddings. Para realização do
trabalho, BERTopic usou o Sentence-BERT (SBERT) framework
(REIMERS, GUREVYCH, 2019). Estes frameworks permitem que sejam
utilizados vetores de alta densidade para representação de sentenças e
parágrafos.
b) Document clustering: Reduz a dimensionalidade dos embeddings e agrupa-
os pela sua semelhança semântica. À medida que os dados aumentam em
dimensionalidade, a distância para o ponto de dados mais próximo é
mostrada para se aproximar da distância até o ponto de dados mais distante
(AGGARWAL et al., 2001; BEYER et al., 1999). Como resultado, no alto
espaço dimensional, o conceito de localidade espacial torna-se impreciso e
as medidas de distância diferem pouco; e
c) Topic representation: Extrai e reduz os tópicos, melhorando a coerência e
diversidade de palavras, para isso foi modificado o TF-IDF que representa
27

a importância de uma palavra no documento, tal procedimento combina


duas medidas de estatística.

2.3.1.1.1 BERTimbau

Oriundo do BERT, o BERTimbau (SOUZA et al., 2020) foi treinado em dois


tamanhos: Base (12 camadas, 768 dimensões ocultas, 12 cabeças de atenção e 110
milhões de parâmetros) e grande (24 camadas, 1024 dimensões ocultas, 16 cabeças
de atenção e 330 milhões de parâmetros). O comprimento máximo da frase é definido
como 𝑆 = 512 tokens. Modelo de uso geral e a capitalização é relevante para tarefas
como reconhecimento de entidades nomeadas (CASTRO et al., 2018; DEVLIN et al.,
2018).
O BERTimbau atingiu desempenhos de ponta em ambas as tarefas, superando
o Multilingual BERT (mBERT) e resultados previamente publicados na literatura, que
compreendem modelos específicos de português e abordagens multilíngues.

2.3.1.2 Top2Vec

O Top2Vec tem a premissa básica de não satisfação com os modelos antigos,


e em especial, o Latent Dirichlet Allocation (LDA) e Probabilistic Latent Semantic
Analysis (PLSA). Criado por Dimo (ANGELOV, 2020)5, o Top2Vec logo rivalizou com
o BERTopic, pois ambos surgiram com uma nova proposta para os modelos
geradores de tópicos. Porém, o Top2Vec usa uma abordagem diferente para modelar.
A maior diferença entre Top2Vec e modelos generativos probabilísticos é como
cada um modela um tópico. O LDA e PLSA são modelos de distribuições de palavras,
que são usadas para recriar as distribuições de palavras do documento original com
erro mínimo. Isso geralmente requer palavras não informativas que não são tópicas
para ter altas probabilidades nos tópicos, uma vez que constituem uma grande
proporção de todo o texto. Em contraste, um vetor de tópico no Top2Vec analisa a
incorporação semântica que representa um tópico proeminente (figura 05)
compartilhado entre os documentos.

5 https://arxiv.org/abs/2008.09470, acesso em 01/11/2022


28

As palavras mais próximas de um vetor de tópico descrevem melhor o tópico e


seus documentos circundantes. Isso se deve à tarefa conjunta de aprendizado de
incorporação de documentos e palavras, que é prever quais palavras são mais
indicativas de um documento, o que requer documentos e, portanto, vetores de
tópicos, para estarem mais próximos às suas palavras mais informativas.
Nossos resultados mostram que os tópicos encontrados pelo Top2Vec são
significativamente mais informativos e representativas do corpus treinado do que as
encontradas por LDA e PLSA. Diferentemente do BERTopic que pode utilizar diversos
vetorizadores (BERT Sentence Transformers, Doc2Vec, HuggingFace Transformers,
Flair, Spacy, Universal Sentence Encoder (USE), Gensim, Combinations for word and
document embeddings e Custom Backend / Embeddings).
O Top2Vec utiliza o já conhecido Doc2Vec (LE e MIKILOV, 2014) para trabalhar
como vetorizador padrão, mas atualmente foi atualizado para trabalhar com o (BERT
Sentence Transformers e Universal Sentence Encoder (USE)). Ele trabalha com três
camadas de abstração para modelar os tópicos:

Figura: 5 - Funcionamento do Top2Vec

Fonte: ANGELOV. [centroid]. Disponível em https://top2vec.readthedocs.io/en/stable/


Top2Vec.html, acesso em 05/09/2022
Abaixo podemos a gama de funcionalidades do Top2Vec:

a) Obtenção do número de documentos detectados;


29

b) Obter conteúdo e tamanho dos tópicos;


c) Encontrando a hierarquia nos tópicos;
d) Usando palavras-chave para pesquisar tópicos;
e) Usando tópicos para pesquisar documento;
f) Usando palavras-chave para pesquisar documentos;
g) Encontrar palavras semelhantes; e
h) Encontrar os mesmos documentos.

2.3.1.2.1 Doc2Vec

Este algoritmo é uma adaptação do Word2vec, o Doc2Vec (LE e MIKILOV,


2014) que é um modelo não supervisionado utilizado para criar vetores para
sentenças, parágrafos ou documentos e suas semelhanças. (Representações
distribuídas de sentenças e documento).
O Doc2Vec trabalha criando um espaço vetorial para cada documento. Fa-
zendo que documentos semelhantes tenham vetores próximos uns dos outros. O mo-
delo Top2vec produz vetores de tópicos, documentos e palavras integrados de forma
que a distância entre eles representa semelhança semântica. Uma das a maiores van-
tagens do modelo é a não remoção de stopwords, lematização e conhecimento a priori
do número de tópicos pois não são necessários para o Top2Vec aprender bons veto-
res de tópicos.
Os vetores de tópicos permitem que os tamanhos dos tópicos sejam calculados
com base no tópico mais próximo de cada vetor de documento vetor. Além disso, a
redução de tópicos pode ser realizada nos vetores de tópicos para agrupar hierarqui-
camente tópicos semelhantes e reduzir o número de tópicos descobertos.

2.3.1.2.2 Uniform Manifold Approximation and Projection (UMAP)

O segundo é o modelo “Uniform Manifold Approximation and Projection”


(MCINNES, HEALY E MELVILLE, 2020) que reduz a dimensionalidade não linear
adequando a incorporação em duas ou três dimensões para visualização como um
gráfico de dispersão. O UMAP é uma técnica extremamente eficaz para visualizar
clusters ou grupos de pontos de dados e suas proximidades relativas.
30

Ele faz um bom trabalho ao aprender a estrutura local dentro de seus dados,
mas também tenta preservar os relacionamentos entre seus grupos, como pode ser
visto em sua exploração do MNIST.
“O padrão atual para UMAP é a distância euclidiana. A distância
Hellinger seria uma função de distância mais apropriada para usar com dados
CountVectorize. Isso será lançado em uma versão futura do UMAP. Enquanto
isso, a distância do cosseno é provavelmente um padrão de texto melhor que
o euclidiano e pode ser definido usando o argumento de palavra-chave metric
'cosseno'” (MCINNES, HEALY E MELVILLE, 2020).

É veloz, escalável e pode ser colocado diretamente a matrizes esparsas,


eliminando a necessidade de executar TruncatedSVD como uma etapa de pré-
processamento. Ele fornece suporte a uma ampla variedade de medidas de distância,
permitindo uma melhor exploração de seus dados (MCINNES, HEALY E MELVILLE,
2020).

2.3.1.2.3 HDBSCAN

Hierarchical Density-Based Spatial Clustering of Applications with Noise –


HDBSCAN é um algoritmo de agrupamento desenvolvido por (CAMPELLO,
MOULAVI E SANDER, 2013). Ele estende o DBSCAN convertendo-o em um algoritmo
de clustering hierárquico e, posteriormente, usa uma técnica para extrair um clustering
plano com base na estabilidade dos clusters.
Bastante utilizado em análise exploratória, pois seu algoritmo é robusto e rápido
na formação de clusters com grandes datasets.
Após a clusterização o HDBSCAN permite as seguintes funcionalidades
(CAMPELLO, MOULAVI E SANDER, 2013):

a) Transformar o espaço de acordo com a densidade/esparsidade;


b) Construir a árvore geradora mínima do grafo ponderado por distância;
c) Construir uma hierarquia de cluster de componentes conectados;
d) Condensar a hierarquia do cluster com base no tamanho mínimo do
cluster; e
e) Extrair os clusters estáveis da árvore condensada.
31

3 DESENVOLVIMENTO
3.1 Considerações iniciais

Preliminarmente, por estarmos trabalhando com dados públicos, abertos a


todos para pesquisa e utilização, o presente trabalho realizado está em consonância
com o inciso X do art. 5º da Lei Geral de Proteção de Dados que preconiza:
“toda operação realizada com dados pessoais, como as que se referem a
coleta, produção, recepção, classificação, utilização, acesso, reprodução,
transmissão, distribuição, processamento, arquivamento, armazenamento,
eliminação, avaliação ou controle da informação, modificação, comunicação,
transferência, difusão ou extração”6.

A internet é uma gigantesca rede global de computadores interligados entre si,


já faz parte da humanidade como arcabouço de conhecimento compartilhado. O
grande cuidado é não expor dados sensíveis que conflitem com preceitos
constitucionais do cidadão e das instituições. Nesse caso, nenhum dado de cunho
pessoal foi exposto no presente artigo.
Neste capítulo, são descritos os passos para a extração de documentos
jurídicos da web e a implementação dos modelos geradores de tópicos, sendo
especificadas as técnicas e as decisões tomadas ao longo do desenvolvimento.
Também são apresentados os resultados obtidos, assim como as dificuldades
enfrentadas em sua construção e possíveis melhorias para trabalhos futuros.

3.2 Fase da Metodologia

Durante o desenvolvimento do projeto, foram realizadas quatro etapas


principais:
Etapa 1 - extração dos dados:
• Definição das áreas do Direito no portal do STJ que fariam parte da
pesquisa, foram selecionadas inicialmente: Constitucional, Penal,
Processo Civil, Civil, Eleitoral, Administrativo e Tributário;
• Inspeção das análises exploratórias superficiais dos dados para verificar
se a saída do arquivo JSON gerado estava dentro da conformidade; e

6 https://www.planalto.gov.br/ccivil_03/_ato2015-2018/2018/lei/l13709.htm, acesso em 21/12/2022


32

• Criação do processo de coleta de dados, raspagem —web scrapping—


utilizando framework Selenium.

Etapa 2 - manipulação:
• Implementação dos algoritmos e outros frameworks Python (Pandas,
RE, Scikit learn, dentre outros); e
• Importação dos dados para o MongoDB - repositório, separados em
pastas específica e limpeza dos dados.

Etapa 3 - experimento do modelo:


• Modelagem dos dados com os algoritmos de PLN: BERTopic e
Top2Vec; e
• Visualização de Dados, com os frameworks (UMAP, Matplotlib,
HDBScan).

Etapa 4 - Análise dos resultados:


• Resultados das observações.

Cada um dos passos é detalhado nas seções seguintes.

3.2.1 Escolha dos dados

A metodologia utilizada consiste extrair um documento jurídico e para isso foi


necessário pesquisar (figura 06) a jurisprudência por ramos do Direito no repositório
do Superior Tribunal de Justiça7. Fizemos uma busca conforme ilustração:

7 https://scon.stj.jus.br/SCON/, acesso em 21/12/2022


33

Figura: 6 - Pesquisa de Jurisprudência do STJ

Fonte: STJ [Pesquisa]. Disponível em https://scon.stj.jus.br/SCON/, acesso em 05/09/2022

3.2.2 Raspagem de dados - web scraping

A raspagem de dados —web scraping— é o procedimento de captura de dados


estruturados da web de maneira automatizada que incluem monitoramento de preços,
inteligência de preços, monitoramento de notícias, geração de leads e pesquisa de
mercado, sentimentos de feeds, entre muitos outros.
No nosso trabalho manipulamos o framework Selenium da linguagem de
programação Python. Tal biblioteca possui inúmeros métodos para automatizar
tarefas, no caso específico, foi criado um servidor webdriver8 para realizar a extração
do material do portal do STJ. A saída padrão que o portal disponibiliza é um arquivo
em extensão PDF, que serve para a leitura meramente.

8 https://chromedriver.chromium.org/, acesso em 12/09/2022


34

Em seguida os dados foram alocados em outro framework, o “Pandas” que é


muito utilizado para manipulação de texto e armazenamento. Como resultado (figura
07) foram extraídos 30.515 documentos coletados, a meta é separar as consultas
realizadas em tópicos e isolá-las em repositórios específicos no banco de dados
NoSQL Mongo DB que é utilizado para armazenamento de dados em coleções.
Tais dados brutos foram salvos no formato “comma-separated-values”,
extensão CSV, que armazena texto simples em formato de tabela de texto, números
e datas.

Figura: 7 - Jurisprudência STJ

Fonte: Fonte: STJ [Pesquisa]. Disponível em https://scon.stj.jus.br/SCON/, acesso em 05/09/2022


35

3.2.3 Pré-processamento de dados

Nesta fase o objetivo principal é a limpeza dos dados, a ideia é convertê-los de


forma viável para que o algoritmo possa trabalhar sem se preocupar com ruídos da
linguagem que irão surgir dentro do repositório.
Com isso, usaremos alguns recursos da PLN já descritos para processar os
textos de maneira mais inteligente possível, assim teremos:

1. Tokenização – tokenization - quebra as frases ou texto em pequenas unida-


des;
2. Remoção de palavras inúteis – stopwords – remove palavras comuns e
retém as palavras exclusivas;
3. Stematização - stemming - e lematização – lemmatization - As palavras
são simplificadas para suas formas de raiz para processar; e
4. Marcação de parte do discurso – Part-of-speech tagging - As palavras são
marcadas com base em partes do discurso, como substantivos, verbos e ad-
jetivos.
36

4 ANÁLISE DOS RESULTADOS


4.1 Métrica de Coerência de Tópicos (MCT)

Para análise qualitativa de tópicos utilizando os dois modelos escolhidos, o


corpus consistiu em 30.515 documentos no formato CSV dividido em duas partes: a
base de treino e a base de teste. A base para o treinamento do modelo foi estabelecida
para compor 90% do corpus, enquanto a base de teste possui os 10% restantes. Um
excelente tópico gerado por algoritmos matemáticos não será necessariamente “bom”
do ponto de vista de um humano. A interpretabilidade lógica é de cunho qualitativo,
porém tal tarefa poderá ser impraticável utilizando um corpora enorme com milhares
de tópicos. A Métrica de Coerência de Tópicos (MCT) é optimizada para resolver tal
dilema, para isso, (RÖDER, BOTH E HINNEBURG, 2015) propôs uma medida de
coerência de tópicos (figura 08) utilizando os seguintes procedimentos:

Figura: 8 - Métrica de Coerência de Tópicos

Fonte: PEDRO. [General topic coherence measures structure]. Disponível em


https://towardsdatascience.com/understanding-topic-coherence-measures-4aa41339634c, acesso em
24/03/2023

Os passos seguintes foram detalhados e utilizados no repositório tendo como


parâmetros os modelos BERTopic e Top2Vec:

a) Segmentação — Ela cria pares de subconjuntos de palavras para computar


os tópicos gerados, utiliza a fórmula:

S={(W’, W*), W’, W* ⊆ W} (4.1)

b) Cálculo de Probabilidade — Ele retira do corpus as probabilidades textuais e


será fundamental para construção da coerência do tópico, exemplo:

P(w): A probabilidade de ocorrência da palavra w; e


37

P(w1 e w2): A probabilidade de ocorrência das palavras w1 e w2.

c) Medida de Confirmação — A medida de confirmação (tabela 03) é calculada


sobre os pares S usando as probabilidades calculadas em P. Ela calcula "quão
bem" o subconjunto W* suporta o subconjunto W' em cada par.

Tabela: 3 - Aplicação da medida de confirmação


SEGMENTAÇÃO m MEDIDA DE
TÓPICO CONFIRMAÇÃO

(gato, cachorro) 0.78


gato
(cachorro, gato) 0.70
𝑆(𝑢𝑚)
⁄(𝑢𝑚) (brinquedo, cachorro) 0.55
cachorro
(gato, brinquedo) 1.01
Cachorro, brinquedo) 0.81
brinquedo
(brinquedo, gato) 0.35

Fonte: elaborado pelo autor, 2023

Essas medidas diretas calculam o valor de confirmação usando diretamente os


subconjuntos W' e W* e as probabilidades:
𝑃(𝑊 ′ , 𝑊 ∗ )
𝑚𝑟 (𝑆𝑖 ) = (4.2)
𝑃(𝑊 ′ )𝑃(𝑊 ∗ )
𝑃(𝑊 ′ , 𝑊 ∗ ) + 𝜖
𝑚𝑙𝑟 (𝑆𝑖 ) = 𝑙𝑜𝑔 (4.3)
𝑃(𝑊 ∗ )𝑃(𝑊 ′ )
𝑃(𝑊 ′ , 𝑊 ∗ )
𝑚𝑐 (𝑆𝑖 ) = (4.4)
𝑃(𝑊 ∗ )

Já as medidas de confirmação indireta não calculam uma pontuação baseada


em W' e W* diretamente. Em substituição disso, eles calculam uma medida de
confirmação direta m sobre as palavras em W' com todas as outras palavras em W,
construindo um vetor de medida:

→ (𝑊 ′ ) = { ∑ 𝑚(𝑤𝑖, 𝑤𝑗 )} 𝑗 = 1,2 … , |𝑊| (4.5)


𝑣𝑚
𝑤𝑖 ∈𝑊 ′

d) Agregação — Agrega os valores (tabela 04) em um único valor:


38

Tabela: 4 - Aplicação da agregação de valores


MEDIDA DE
CONFIRMAÇÃO
0.78
0.70
0.55
0.70
1.01
0.81
0.35

Fonte: elaborado pelo autor, 2023

No presente caso foram analisados os modelos criados pelo BERTopic e


Top2Vec usando os dados do repositório. Para uma melhor compreensão nas
diferentes medidas de coerência (figura 09) são apresentadas suas métricas de
cálculos:
1) C_V é baseada em uma janela deslizante (Sliding Window Algorithm),
segmentação de um conjunto das principais palavras e uma medida de
confirmação indireta que usa informações mútuas ponto a ponto normalizadas
(NPMI) e a similaridade do cosseno;
2) C_NPMI é uma versão aprimorada da coerência C_UCI usando a informação
mútua pontual normalizada (NPMI);
3) C_UCI é baseada em uma janela deslizante (Sliding Window Algorithm) e na
informação mútua pontual (PMI) de todos os pares de palavras das principais
palavras fornecidas;
4) C_UMASS é baseado em contagens de coocorrência de documento, uma
segmentação anterior e uma probabilidade condicional logarítmica como
medida de confirmação; e
5) O Inverted RBO é uma medida de desarticulação entre os tópicos ponderados
nas classificações de palavras. A métrica Inverted RBO avalia o quão diversos
são os tópicos gerados por um método, comparando os tópicos dois a dois. O
cálculo das duas métricas de diversidade é feito sobre as 10 principais palavras
de cada tópico. O resultado igual a 0,0 indica que os tópicos são considerados
idênticos e 1,0 que os tópicos são completamente diferentes.
39

Figura: 9 - Comparativo BERTopic vs Top2Vec

Fonte: elaborado pelo autor, 2023

Usando a Métrica de Coerência de Tópicos (MCT) o BERTopic apresenta um


índice de coerência superior ao Top2Vec. Porém, analisandos subjetivamente as
saídas geradas pelo Top2Vec (figura 10), foi verificado que elas contêm um retorno
semântico excelente. Assim, ao passo em que aprofundamos no contexto factual da
pesquisa verificamos que mesmo utilizando uma base de treino (90%) e teste (10%)
não podemos fazer uma comparação parametrizada, um benchmark por assim dizer,
por óbvio é nítido que dependendo do pré-processamento a saída poderá ser
prejudicada, inclusive, utilizando o mesmo dataset. Os dois modelos utilizam
metodologias diferentes para incrementar seus hiperparâmetros. Mas é preciso citar
que o BERTopic está usando o BERTimbau (modelo pré-treinado com corpus em
português brasileiro) como embedding model.
40

Figura: 10 - Tópicos gerados pelo BERTopic

Fonte: elaborado pelo autor, 2023

É inequívoco que existe uma fluidez na elaboração dos tópicos gerados pelo
BERTopic, basta analisar e comparar os documentos do cluster com os tópicos. O
BERTopic fez a melhor performance analisando as métricas de coerências. Olhando
as saídas geradas nos tópicos criados, existe claramente uma padronização
semântica boa.
Na análise dos dados gerados na saída (figura 11), o Top2Vec preconiza que
a maior vantagem do modelo é a não remoção de stopwords, lematização e conheci-
mento a priori do número de tópicos pois não são necessários para o Top2Vec apren-
der bons vetores de tópicos. Entretanto, na prática verificou-se que o modelo é extre-
mamente influenciado pelo pré-processamento do dataset. Sem o saneamento, ele
acaba gerando tópicos com stopwords. O gerador de tópicos não cria coleções de
tópicos com fluidez semântica, deixando entrar outliers que sujam a predileção.
Mesmo utilizando o vetorizador “distiluse-base-multiligual-cased” baseado no
41

framework PyTorch e Transformers para mais de 100 línguas não foi suficiente para
sanar e limpar as stopwords de maneira correta.

Figura: 11 - Tópicos gerados pelo Top2Vec

Fonte: elaborado pelo autor, 2023

O corpus é o principal componente de todas as métricas realizadas. Sem um


bom gestor negocial que conheça a fundo o corpus, o trabalho poderá ser perdido
utilizando estritamente análise estatística pois é necessário a transversalidade de
conhecimento dos stakeholders e principalmente do cientista de dados. Somente com
seu olhar crítico, acompanhando cada fase do processamento —pipeline—ajustando
os hiperparâmetros e fazendo o fine tunning é que poderá sair algo produtivo.
O grande cuidado é verificar a qualidade da entrada dos dados “garbage in,
garbage out” —GIGO—, conceito muito utilizado na Ciências de Dados, isto é tão
importante na área de NLP, pois um dataset contaminado poderá inviabilizar toda a
42

pesquisa e seguir com premissas errôneas ao longo da jornada gerando ruídos


equivocados e premissas teratológicas. Poderíamos até seguir com algumas métricas
objetivas para enrobustecer esta conclusão, mas pragmaticamente seria inócua.
Atualmente o BERTopic é um modelo mais robusto que o Top2Vec, conforme a
quantidade de embeddings models que oferece (tabela 05):

Tabela: 5 - Quantidade de embeddings models suportados


Embedding Model BERTopic Top2Vec
BERT Sentence Transformers ☒ ☒

Doc2Vec ☒ ☒

HuggingFace Transformers ☒ ☐

Flair ☒ ☐

Spacy ☒ ☐

Universal Sentence Encoder (USE) ☒ ☒

Gensim ☒ ☐

Combinations for word and document embeddings ☒ ☐

Custom Backend / Embeddings ☒ ☐

Fonte: elaborado pelo autor, 2023

Mesmo assim, o Top2Vec tem qualidades peculiares e como exemplo temos o


termo “droga” do repositório, o modelo produziu saídas relevantes (tópicos) com base
na ordem de sua similaridade de cosseno (GHASIYA E OKAMURA, 2021).
Especificamente, a similaridade de cosseno, variando de 0 a 1, mede a similaridade
entre o termo de pesquisa e um tópico.

Fizemos um levantamento das vantagens do BERTopic e Top2Vec:9


a) o número de tópicos não é necessariamente dado de antemão. Tanto o
BERTopic quanto o Top2Vec suportam a redução hierárquica de tópicos
para otimizar o número de tópicos;

9https://towardsdatascience.com/topic-modeling-with-lsa-plsa-lda-nmf-bertopic-top2vec-a-comparison-

5e6ce4b1e4a5, acesso em 02/02/2023


43

b) embeddings de alta qualidade levam em conta a relação semântica entre


as palavras em um corpus, ao contrário da abordagem bag-of-words. Isso
leva a tópicos melhores e mais informativos;
c) devido à natureza semântica das embeddings, o pré-processamento
textual (stemming, lemmização, remoção de stopwords) não é necessário
na maioria dos casos;
d) o BERTopic suporta modelagem dinâmica de tópicos;
e) a modularidade de cada etapa (embeddings de documentos, redução de
dimensionalidade, agrupamento) é praticamente autoconsistente e pode
mudar ou evoluir dependendo dos avanços no campo, das peculiaridades
de um projeto específico ou de restrições técnicas. Pode-se, por exemplo,
usar BERTopic com incorporações Doc2Vec em vez de SBERT, ou aplicar
agrupamento K-Means em vez de HDBSCAN;
f) eles escalam melhor com corpora maiores em comparação com
abordagens convencionais (ANGELOV, 2020); e
g) tanto o BERTopic quanto o Top2Vec fornecem recursos avançados de
pesquisa e visualização integrados. Eles simplificam a investigação da
qualidade dos tópicos e impulsionam uma otimização adicional, além de
produzir gráficos de alta qualidade para apresentações.

Elencamos as desvantagens do BERTopic e Top2Vec:


a) eles funcionam melhor em textos mais curtos, como postagens de mídia
social ou manchetes de notícias. A maioria das embeddings baseadas em
Transformers tem um limite no número de tokens que podem considerar
ao construir uma representação semântica. É possível usar esses
algoritmos com documentos mais longos. Pode-se, por exemplo, dividir os
documentos em frases ou parágrafos antes da etapa de embeddings. No
entanto, isso pode não necessariamente beneficiar a geração de tópicos
significativos e representativos para documentos mais longos.
b) cada documento é atribuído a apenas um tópico. Abordagens tradicionais
como LDA, em vez disso, foram construídas com base na suposição de
que cada documento contém uma mistura de tópicos.
44

c) eles são mais lentos em comparação com os modelos convencionais


(GROOTENDORST, 2022). Além disso, um treinamento e inferência mais
rápidos podem exigir aceleradores de hardware (GPU) mais caros.
d) embora o BERTopic aproveite os modelos de linguagem grandes
baseados em Transformers para fabricar embeddings de documentos, a
representação do tópico ainda usa uma abordagem de bag of words (TF-
IDF).
e) eles podem ser menos eficazes para pequenos conjuntos de dados
(<1000 docs) (EGGER et al., 2022).

A seguir apresentamos uma (tabela 06) sintetizada dos principais aspectos dos
modelos testados.

Tabela: 6 - Descrição das características dos modelos


Métrica BERTopic Top2Vec
Encontra Encontra automaticamente o
Número de tópicos automaticamente o número número de tópicos
de tópicos
Pré-processamento não é Pré-processamento não é
Preparação de
necessário na maioria dos necessário na maioria dos casos
dados
casos
Relacionamento Cada documento é Cada documento é atribuído
documento-tópico atribuído a apenas um tópico a apenas um tópico
Embeddings semânticos Embeddings semânticos
levam a tópicos mais levam a tópicos mais
Representação de significativos e coerentes. significativos e coerentes.
tópicos Estratégia baseada em TF- Estratégia baseada em
IDF (bag-of-words) para centróides para descrição de
descrição de tópicos tópicos.
Encontrar o Suporte para redução Suporte para redução
número certo de hierárquica de tópicos hierárquica de tópicos
tópicos
HDBSCAN leva a tópicos HDBSCAN leva a tópicos
mais coerentes e mais coerentes e consistentes,
Outliers
consistentes, mas ao preço mas ao preço de ter uma porção
de ter uma porção significativa de outliers
45

significativa de outliers. K-
Means pode ser usado para
evitar esse comportamento
Melhor desempenho com Melhor desempenho com
documentos mais curtos. A documentos mais curtos. A
maioria dos modelos de maioria dos modelos de
embeddings tem um limite no embeddings tem um limite no
Cadeia de número de tokens de número de tokens de entrada. A
documentos longos entrada. A estratégia pode estratégia pode lidar com isso
lidar com isso (divisão, (divisão, média, etc), mas pode
média, etc), mas pode não não necessariamente levar a
necessariamente levar a tópicos melhores
tópicos melhores
Cadeia de Sim Sim
documentos curtos
Pode ser menos eficaz Pode ser menos eficaz com
Pequenos datasets
com pequenos conjuntos de pequenos conjuntos de dados
(<1000 docs)
dados
Dimensiona melhor com Dimensiona melhor com
Grandes datasets
corpora maiores do que os corpora maiores do que os
(>1000 docs)
modelos tradicionais modelos tradicionais
Modelagem BERTopic suporta Top2Vec não suporta
dinâmica de Modelagem dinâmica de Modelagem dinâmica de tópicos
tópicos tópicos
Tempos de treinamento Tempos de treinamento mais
mais longos em comparação longos em comparação com
com modelos clássicos e modelos clássicos e recursos
recursos computacionais computacionais (GPU)
Velocidade e (GPU) potencialmente caros. potencialmente caros. Existem
Recursos Existem estratégias de estratégias de otimização, mas
otimização, mas LDA e NMF LDA e NMF permanecem mais
permanecem mais rápidos e rápidos e menos dispendiosos
menos dispendiosos

Visualização e Visualização avançada e Visualização avançada e


Busca ferramenta de busca ferramenta de busca

Fonte: Adaptado de EGGER et al. (2022)


46

Portanto, isolando a comparação subjetivas ao BERTopic e Top2Vec, a ideia


não é dizer qual o melhor modelo gerador de tópico, preferimos uma comparação
factual dos modelos, e num primeiro momento os dois modelos geradores de tópicos
têm muitos aspectos em comum. Ambos também elaboraram rótulos bem
relacionados aos tópicos. Dessa forma, os algoritmos permitem que os pesquisadores
descubram tópicos altamente relevantes que giram em torno de um termo específico
para uma compreensão mais aprofundada.
Com isso, podemos citar algumas direções para trabalhos futuros: (i)
desenvolver tais processos para avaliar os dados em outros modelos pré-treinados,
(ii) avaliação dos tópicos gerados por meio de novas ferramentas de visualização, (iii)
investigar novos métodos de rotulação de tópicos e (iv) executar a metodologia com
um conjunto maior de dados.
47

REFERÊNCIAS

ABIODUN, Adetola. The Pandas HandBook: 100 Essential Tips and Tricks for
Beginners. 1.ed published by DACTECH Solutions, Nigeria, 2020.

AKSHAY, Kulkarni; ADARSHA, Shivananda. Natural Language Processing


Recipes: Unlocking Text Data with Machine Learning and Deep Learning using
Python. 1.ed APRESS Logan, Utah, USA, 2019.

CAMPELLO, Ricardo J. G. B; DAVOUD, Moulavi e JOERG, Sander. Density-Based


Clustering Based on Hierarchical Density Estimates. 1ed. Springer. 2013

CASANOVA, E. et al. Tts-portuguese corpus: a corpus for speech synthesis in


brazilian portuguese. Language Resources and Evaluation, 2021.

CHARTIER, Roger. Do códige ao monitor: a trajetória do escrito. Estud. av. 1994,


vol.8, n.21, pp. 185-199. ISSN 0103-4014.

DAVID, M. Blei; ANDREW Y. Ng; JORDAN, Michael I. Latent dirichlet allocation. J.


Mach. Learn. Res., 3:993–1022, March 2003.

DELIP, Rao; BRIAN, Mcmahan. Natural Language Processing with PyTorch: Build
Intelligent Language Applications Using Deep Learning. 1.ed published by O’Reilly
Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 9547, 2019.

DENIS, Rothman. Transformers for Natural Language Processing: Build innovative


deep neural network architectures for PLN with Python, PyTorch, TensorFlow, BERT,
RoBERTa, and more. 1.ed published by Packt Publishing Ltd. Livery Place 35 Livery
Street Birmingham B3 2PB, UK, 2021.
DEVLIN, J. et al. Bert: Pre-training of deep bidirectional transformers for language
understanding. arXiv preprint arXiv:1810.04805, 2018.

HILL, Felix. DeepMind’s deep learning videos 2020 with UCL, Lecture: Deep
Learning for Natural Language Processing, Youtube, 22/06/2020. Disponível em:
https://www.youtube.com/watch?v=8zAP2qWAsKg&t=2410s.Acesso em 15/02/2023.

HOBSON, Lane; COLE, Howard e HANNES, Max Hapke. Natural Language


Processing in Action: Understanding, analyzing, and generating text with Python.
1ed. Manning Publications Co. 20 Baldwin Road PO Box 761 Shelter Island, NY
11964.

JAKE, Vanderplas. Python Data Science Handbook. 2.ed published by O’Reilly


Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 9547, 2022.

JEFFREY, Pennington; SOCHER, Richard e MANNING, Christopher D. Glove: Global


vectors for word representation. In Proceedings of the 2014 conference on empirical
methods in natural language processing (EMPLN), pages 1532–1543, 2014.
48

JIANQING, Fan; RUNZE, Li; CUN-HUI, Zhang e HUI, Zou. Statistical Foundations
of Data Science. 1.ed published by CRC Press 6000 Broken Sound Parkway NW,
Suite 300, Boca Raton, FL 33487-2742, 2020.

JSON. A, Introdução. Introdução a Json. Disponível em: https://www.json.org/


jsonpt.html. Acesso em: 01 ago. 2019

LEWIS, Tunstall; VON WERRA, Leandro e WOLF, Thomas. Natural Language


Processing with Transformers: Building Language Applications with Hugging Face.
1.ed 1.ed published by O’Reilly Media, Inc., 1005 Gravenstein Highway North,
Sebastopol, CA 9547, 2022.

LOEVINGER, L. "Jurimetrics: The Next Step Foward". Heidi Online, 1949.

LOEVINGER, L. "Standards of proof in science and law". Heidi Online, 1992.

MAXIMILIANO, Carlos. “Hermenêutica e aplicação do Direito”. 20 ed. – Rio de


Janeiro: Forense, 2011. Pág. 146.

McCULLOCH, W. S. e PITTS, W. A logical calculus of the ideas immanent in


nervous activity. Bulletin of Mathematical Biophysics. p. 115–133. 1943.

MERTZ, David. Cleaning Data for Effective Data Science: Doing the other 80% of
the work with Python, R, and command-line tools. 1.ed published by Packt Publishing
Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK, 2021

NITHIN, Buduma; NIKHIL, Buduma e JOE, Papa. Fundamentals of Deep Learning:


Designing Next-Generation Machine Intelligence Algorithms. 2.ed published by
O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 9547, 2022.

PAPER, David. Data Science Fundamentals for Python and MongoDB. 1.ed
published by APRESS Logan, Utah, USA, 2018.

SEPPE, Vanden Broucke e BART, Baesens. Practical Web Scraping for Data
Science: Best Practices and Examples with Python. 1.ed APRESS Logan, Utah, USA,
2018.

SAVAŞ, Yildirim e MEYSAM, Asgari-Chenaghlu. Mastering Transformers: Build


state-of-the-art models from scratch with advanced natural language processing
techniques. 1.ed published by Packt Publishing Ltd. Livery Place 35 Livery Street
Birmingham B3 2PB, UK, 2021.

RÖDER, M., BOTH, A., e HINNEBURG, A. Exploring the space of topic coherence
measures. In Proceedings of the eighth ACM international conference on Web search
and data mining (2015).

ROSENBLATT, F. The perceptron: A probabilistic model for information storage and


organization in the brain. Psychological Review, 65(6). p. 386–408. 1958.
49

RUDER, S. Neural transfer learning for natural language processing. 2019. Tese
(Doutorado) — NUI Galway, 2019.

TURING, Alan. Alan Turing's Systems of Logic: The Princeton Thesis. 1.ed

TOMAS, Mikolov; CHEN Kai; CORRADO Greg e DEAN Jeffrey. Efficient estimation
of word representations in vector space, 2013.

SCHIESSL, J. M. Descoberta de conhecimento em texto aplicada a um sistema


de atendimento ao consumidor. 2007.

SOUZA, F.; NOGUEIRA, R. e LOTUFO, R. BERTimbau: pretrained BERT models


for Brazilian Portuguese. In Lecture Notes in Computer Science. Anais do 9th
Brazilian Conference on Intelligent Systems (BRACIS). Volume 12319. p. 403–417.
2020.

VASWANI, A. et al. Attention is all you need. arXiv preprint arXiv:1706.03762, 2017.

VIEIRA, R. e LIMA, V. L. S. Lingüística computacional: princípios e aplicações. In:


SN. Anais do XXI Congresso da SBC. I Jornada de Atualização em Inteligência
Artificial. [S.l.], 2001. v. 3, p. 47–86.

WOLF, T. et al. Huggingface’s transformers: State-of-the-art natural language


processing. arXiv preprint arXiv:1910.03771, 2019.

ZABALA, F.J. e SILVEIRA, F.F. Jurimetria: Estatística Aplicada ao Direito. Revista


Direito e Liberdade, Natal, v. 16, n. 1, p. 73-86, jan./abr. 2014.

ZHANG, Z. et al. Ernie: Enhanced language representation with informative entities.


arXiv preprint arXiv:1905.07129, 2019.

Você também pode gostar