Reconhecimento de Emoções em Relatórios Financeiros usando Sentence-BERT (Pesquisa)
Descrição do post.
Reconhecimento de Emoções em Relatórios Financeiros usando Sentence-BERT (Pesquisa)
Python | Processamento de Linguagem Natural (NLP) | Pesquisa Acadêmica


Introdução


Esse tipo de análise pode contribuir para estudos sobre transparência corporativa, gerenciamento de impressão e comunicação financeira.
Este projeto usa técnicas de Processamento de Linguagem Natural (NLP) para investigar como empresas brasileiras alteram a linguagem de seus relatórios financeiros após a divulgação de más notícias. O objetivo foi identificar a emoção predominante em notas explicativas de 50 empresas de capital aberto.
Para isso, foi aplicada uma abordagem lexical em que o reconhecimento das emoções é feito a partir de uma lista de palavras-chaves associadas a cada emoção. Os textos foram representados por meio de embeddings gerados pela arquitetura Sentence-BERT e a emoção predominante foi determinada a partir da similaridade cosseno entre os vetores.
Por que utilizar o Sentence-BERT?


A maioria dos trabalhos em análise textual financeira utiliza modelos baseados em frequência de palavras (Bag-of-Words ou TF-IDF). Neste projeto foi utilizado o Sentence-BERT, um modelo baseado em Transformers capaz de gerar embeddings contextuais.
Isso permite representar uma mesma palavra de maneiras diferentes dependendo do contexto em que aparece, tornando a comparação entre textos muito mais robusta do que abordagens tradicionais como Word2Vec ou contagem simples de palavras.
Por exemplo, em duas frases contendo a palavra "capital", o SBERT gera vetores distintos de acordo com o contexto, enquanto o Word2Vec atribui um único vetor, independentemente do significado.


Figura - Exemplo de Embeddings: SBERT (contextual) vs WordVec (Semântico)
Dataset


O dicionário de emoções (léxico) contém 1.004 termos distribuídos em seis categorias emocionais: Alegria (301), Medo (155), Raiva (136), Repugnância (109), Surpresa (70) e Tristeza (233).
O conjunto de dados é composto por 149 notas explicativas de 50 empresas de capital aberto, divididos em 3 períodos:
t: Ano da má notícia
t-1: Ano anterior a má notícia
t+2: 2 anos após a má notícia
Tecnologias e Técnicas Utilizadas


Linguagem
Python
Principais Técnicas Aplicadas
Processamento de Linguagem Natural (NLP)
Sentence-BERT (SBERT) e geração de embeddings
Similaridade Cosseno
Classificação de emoções baseada em léxico
Pipeline do projeto




Etapa 1: Coleta e Limpeza dos Relatórios
Os relatórios foram coletados nos sites das empresas e da B3, convertidos para texto e submetidos a uma etapa de limpeza que removeu tabelas, cabeçalhos, rodapés e outros elementos não textuais antes da análise.
Figura – Antes e depois da limpeza dos relatórios


Etapa 2: Análise Descritiva
Usando as bibliotecas NLTK e Spacy, descobriu-se a quantidade de alguns elementos textuais, como número de palavras e sentenças.
Etapa 3: Criação dos embeddings
A representação vetorial dos textos foi realizada com a arquitetura SBERT. O modelo adotado foi o paraphrase-multilingual MiniLM-L12-v2 da biblioteca SentenceTransformers. Ao aplicar o modelo, cada relatório foi transformado em um embedding e os termos de cada emoção foram convertidos em um único embending.
Figura – Transformação de texto em embedding, de forma ilustrada


Etapa 4: Similaridade Cosseno
A similaridade cosseno foi utilizada para medir a proximidade entre o embedding de cada relatório e os embeddings das seis emoções. A emoção com maior similaridade foi considerada predominante.
Figura – Ilustração do cálculo da similaridade cosseno


Resultado


Gráfico – Emoções Predominantes nos Relatórios


Predominância de emoções negativas
Foram identificadas quatro emoções predominantes: Repugnância, Raiva, Medo e Surpresa, indicando predominância de emoções negativas nos relatórios analisados.
Gráficos – Variação na Contagem das emoções em t e t+2, em relação a t-1
Mudanças no discurso corporativo
88% das empresas alteraram a emoção predominante entre os períodos analisados.
As maiores mudanças ocorreram entre empresas inicialmente classificadas com medo e raiva.
A emoção Repugnância apresentou maior estabilidade, sugerindo um padrão consistente de comunicação negativa.






Gráficos – Análise Descritiva


Relatórios mais difíceis de serem lidos
Após as más notícias, os relatórios passaram a apresentar:
maior quantidade de palavras
sentenças mais longas
maior complexidade textual
Esse padrão aumenta o esforço congnitivo para extrair informações, dificultando a interpretação e a tomada de decisão. E segunda a literatura, essa seria uma maneira de ofuscar as informações relacionadas a má notícia (BLOOMFIELD, 2002, p. 7- 8).


Interpretação do Resultado
Os resultados sugerem que empresas não modificam apenas o conteúdo divulgado após uma má notícia, mas também a forma como comunicam essas informações. Sendo uma estratégia compatível com o gerenciamento de impressão, no qual organizações ajustam a linguagem utilizada em seus relatórios para influenciar a percepção dos leitores (GINER-SOROLLA ET AL., 2018).
Limitações e trabalhos futuros


A amostra contempla apenas 149 relatórios financeiros.
Estudos futuros podem ampliar o conjunto de empresas e períodos analisados.
Com uma base maior, seria possível aplicar modelos estatísticos e de aprendizado de máquina para investigar a relação entre emoções, tipo de má notícia e gerenciamento de impressões.
Apêndice: Como funciona o SBERT?


Onde,
u: embedding da sentença A
v: embedding da sentença B
O SBERT opera em cinco etapas principais (REIMERS; GUREVYCH, 2019):
As sentenças A e B são inseridas em dois modelos BERT idênticos com pesos compartilhados.
Cada cópia do modelo BERT gera uma sequência de embeddings contextuais, um para cada token. Ou seja, ele não produz um único vetor para a frase inteira, mas sim um vetor (embedding) para cada token da sentença.
Em seguida, uma camada de pooling transforma os vetores de saída do BERT em um único vetor de tamanho fixo. Isso pode ser feito calculando a média (mean pooling) ou o valor máximo (max pooling) dos vetores de todos os tokens da sentença.
Esses vetores de tamanho fixo são os embeddings u e v (REIMERS; GUREVYCH, 2019).
Os vetores resultantes são utilizados para calcular a similaridade de cosseno das sentenças A e B. A arquitetura usa uma função objetiva de regressão que resulta em uma saída entre -1 e 1 (REIMERS; GUREVYCH, 2019)
Figura – Arquitetura SBERT para calcular pontuações de similaridade


O SBERT é um modelo usado para pesquisa semântica e tarefas não supervisionadas, como agrupamento. Ele é uma modificação do modelo BERT que emprega estruturas de rede siamesas para derivar embeddings de frases (ou vetores de frases). Isso reduz o tempo de cálculo da similaridade de cosseno (REIMERS; GUREVYCH, 2019).
Uma rede siamesa é um tipo especial de rede neural na qual duas redes idênticas tem os mesmos pesos (REIMERS; GUREVYCH, 2019). Elas são usadas lado a lado para comparar dois elementos.
Referências


BLOOMFIELD, R. J. The “Incomplete Revelation Hypothesis” and Financial Reporting. SSRN Electronic Journal, 2002. Disponível em: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=312671 Acesso em: 20 mai. 2023
GINER-SOROLLA, R. et al. What Makes Moral Disgust Special? An Integrative Functional Review. Advances in Experimental Social Psychology, v. 57, p. 223–289, 2018. Disponível em: https://www.sciencedirect.com/science/article/pii/S0065260117300357# . Acesso em: 16 abr. 2025.
REIMERS, N.; GUREVYCH, I. Sentence-BERT: Sentence embeddings using Siamese BERT-networks. arXiv preprint arXiv:1908.10084, 2019. Disponível em: https://arxiv.org/abs/1908.10084 . Acesso em 06 mar. 2025
Contato
Obrigada pela visita! Fique à vontade para entrar em contato, será um prazer te responder.
Copyright © 2025 - 2026. Catarina Aguiar. Todos os direitos reservados.