Será que existe algo nas entrelinhas das atas de política monetária do Banco Central, além da decisão sobre a taxa de juros em si? Entender sobre os fatores que levaram os diretores a decidirem o nível da taxa de juros e sobre o que esperar para o futuro é importante, mas pode ser ainda mais relevante a compreensão sobre como, em que tom e com qual sentimento estes fatores foram discutidos.
Como dizem por aí, as palavras carregam sentimentos e, assim sendo, cabe aos analistas de política monetária investigar qual sentimento que as atas de política monetária carregam. Existem diversas formas de quantificar o sentimento de um texto, algumas são simples, outras são sofisticadas e outras são obscuras. Em geral, o objetivo é o mesmo: o texto expressa um sentimento positivo, negativo ou neutro?
Aprenda a coletar, processar e analisar dados na formação de Do Zero à Análise de Dados com Python.
Neste exercício, aplicamos a técnica de análise de sentimentos para as atas de política monetária no Brasil utilizando uma abordagem obscura, ou seja, através de modelos de inteligência artificial (IA) chamados de Modelos de Linguagem Grande (LLM, no inglês). A abordagem é obscura pois, ao contrário de outros exercícios com o mesmo objetivo, aqui não há muito controle sobre os resultados que são obtidos. Por outro lado, resultados podem ser obtidos sem muito esforço, o que é uma grande vantagem.
Com o objetivo de quantificar o sentimento das últimas 30 atas do COPOM, utilizamos o modelo LLM da Google, chamado Gemini, para construir um índice de 0 a 100 com o sentimento das atas — sendo 0 igual a sentimento negativo, 50 igual a sentimento neutro e 100 igual a sentimento positivo. Todo o procedimento é feito através do Python, permitindo a automatização da coleta de dados, processamento, engenharia de prompt e comunicação com a API.
Para obter o código e o tutorial deste exercício faça parte do Clube AM e receba toda semana os códigos em R/Python, vídeos, tutoriais e suporte completo para dúvidas.
Passo 01: bibliotecas de Python
Para quantificar o sentimento da política monetária com IA, utilizaremos as seguintes bibliotecas no Python:
- os para gerenciar chave de token da API do Google.
- json para ler arquivos das atas do COPOM no formato JSON.
- requests para fazer a comunicação com a API do Banco Central.
- langchain_community para processar e armazenar as atas do COPOM.
- langchain_google_genai para usar a API do modelo Gemini (Google).
- langchain para estruturar a engenharia de prompt com os textos das atas do COPOM.
- pandas para trabalhar com dados tabulares.
- plotnine para gerar visualizações gráficas de dados.
Certifique-se de ter todas as bibliotecas instaladas.
Passo 02: autenticação na API do Google
Para utilizar o modelo de inteligência artificial Gemini, é necessário obter uma chave de token na plataforma Google AI Studio (veja mais informações aqui).
Com a chave de token em mãos, defina uma variável de ambiente com nome GOOGLE_API_KEY
para armazenar a chave.
Passo 03: atas de política monetária do COPOM
Para analisar o sentimento das atas de política monetária do COPOM, é preciso fazer um processamento de dados, que envolve as seguintes etapas:
- Definir quais atas serão analisadas (aqui utilizamos como amostra a partir da ata nº 232).
- Importar a ata para o Python utilizando a API do Banco Central.
- Extrair o conteúdo da ata em formato de texto e salvar metadados relevantes.
Passo 04: engenharia de prompt
Para que o modelo de inteligência artificial quantifique o sentimento da política monetária, é fundamental definir uma instrução clara sobre o que e como deve ser feito. Esse procedimento é feito seguindo estas etapas:
- Definir qual modelo será utilizado e com quais configurações (aqui utilizamos o Gemini Pro com temperatura igual a zero).
- Instruir o modelo de inteligência artificial a quantificar o sentimento do texto e retornar em um índice entre 0 e 100.
Você é um cientista de dados experiente em machine learning e em NLP, dominando as técnicas de análise de sentimentos. Sua tarefa é analisar o sentimento do texto a seguir. Retorne o sentimento do texto em um índice de 0 a 100, sendo 0 o sentimento mais negativo, 100 o sentimento mais positivo e 50 o sentimento neutro:
“{DOCUMENTO}”
Índice: - Combinar a instrução, o texto da ata e as definições do modelo.
Passo 05: análise de sentimento da política monetária
Por fim, utilizamos as definições acima para obter a análise de sentimento da política monetária histórica para a amostra selecionada de atas do COPOM, conforme exposto no gráfico abaixo:
Conclusão
Análise de sentimentos é uma técnica de Processamento de Linguagem Natural (PLN) que serve para revelar o sentimento contido em um texto. Neste exercício, aplicamos esta técnica para analisar as atas das reuniões do COPOM, revelando o que os diretores de política monetária discutem nas entrelinhas. Utilizando um modelo de Inteligência Artificial através do Python, produzimos ao final um índice de 0 a 100 para sintetizar a análise histórica.
Quer aprender mais?
Clique aqui para fazer seu cadastro no Boletim AM e baixar o código que produziu este exercício, além de receber novos exercícios com exemplos reais de análise de dados envolvendo as áreas de Data Science, Econometria, Machine Learning, Macroeconomia Aplicada, Finanças Quantitativas e Políticas Públicas diretamente em seu e-mail.