Eleições 2022: analisando a narrativa dos candidatos

Dando continuidade a série de exercícios de análise de dados temáticos sobre as Eleições 2022, hoje usaremos as narrativas de cada candidato a Presidente nas rodadas de entrevistas do Jornal Nacional para sintetizar quantitativamente o "tom" de cada entrevista. O objetivo é extrair os principais tópicos abordados por cada candidato nos 40 minutos de entrevista, além de mensurar a "forma" como cada candidato abordou os tópicos, ou seja, se foram emitidas emoções positivas ou negativas em sua fala.

Os códigos de replicação em R deste exercício estão disponíveis para membros do Clube AM da Análise Macro.

Para manter o exercício breve serei bastante objetivo. Já realizei neste espaço diversos exercícios semelhantes ao aqui proposto, abordando text mining, modelagem de tópicos, web scraping, análise de sentimentos, dentre outros. Portanto, hoje pularei qualquer conceitualização e/ou introdução às técnicas de análise dos dados e irei diretamente para a análise prática. Se algo ficar "solto" te peço, por favor, para verificar estes exercícios anteriores para melhor compreensão:

Além disso, membros do Clube AM podem sempre mandar dúvidas pelo chat!

Dados

Os dados que usaremos para tentar alcançar o objetivo do exercício são as transcrições (textos) das entrevistas dos candidados listados abaixo, realizadas no Jornal Nacional com os jornalistas William Bonner e Renata Vasconcellos em agosto/2022:

  • Bolsonaro (PL): entrevistado no dia 22
  • Ciro (PDT): entrevistado no dia 23
  • Lula (PT): entrevistado no dia 25
  • Tebet (MDB): entrevistada no dia 26

A fonte dos dados originais é o grupo Poder360, que compilou e disponibilizou as transcrições em seu site. Estes dados foram previamente organizados em formato de tabela pelo Gabriel Zanlorenssi, facilitando a análise, tratamento e o uso em linguagens de programação (obrigado!).

Além das transcrições, para uma parte das análises usaremos o dicionário de sentimentos (léxico) da língua portuguesa denominado OpLexicon V3.0. Esse dataset é disponibilizado através do pacote de R {lexiconPT} criado por Sillas Gonzaga.

Análises

Para cumprir com o objetivo do exercício criaremos duas visualizações de dados: uma nuvem de palavras mais frequentes nas falas de cada candidato e uma contagem de palavras classificadas como positivas/negativas pelo léxico acima referido.

Mas antes disso vamos conferir algumas estatísticas gerais da narrativa dos candidatos, por ordem alfabética e após tratamentos:

Bolsonaro usou o total de 1.140 palavras únicas em sua entrevista. Dentre os tópicos discutidos, em Economia e Política, 33,8% das palavras indicaram sentimentos positivos e 31,2% negativos, sendo o restante classificadas como palavras neutras. O tópico classificado com o sentimento mais positivo foi STF e sistema eleitoral e com sentimento mais negativo foi Política. Bolsonaro utiliza, em média, 11 palavras por sentença.

Ciro usou o total de 1.562 palavras únicas em sua entrevista. Dentre os tópicos discutidos, em Economia e Política, 31,5% das palavras indicaram sentimentos positivos e 20,2% negativos, sendo o restante classificadas como palavras neutras. O tópico classificado com o sentimento mais positivo foi Economia e com sentimento mais negativo foi Polarização. Ciro utiliza, em média, 18 palavras por sentença.

Lula usou o total de 1.223 palavras únicas em sua entrevista. Dentre os tópicos discutidos, em Economia e Política, 31,9% das palavras indicaram sentimentos positivos e 23,8% negativos, sendo o restante classificadas como palavras neutras. O tópico classificado com o sentimento mais positivo foi Corrupção e com sentimento mais negativo foi Economia. Lula utiliza, em média, 16 palavras por sentença.

Tebet usou o total de 1.387 palavras únicas em sua entrevista. Dentre os tópicos discutidos, em Economia e Política, 30,1% das palavras indicaram sentimentos positivos e 20,9% negativos, sendo o restante classificadas como palavras neutras. O tópico classificado com o sentimento mais positivo foi Política e com sentimento mais negativo foi Mulheres. Tebet utiliza, em média, 16 palavras por sentença.

Nuvem de palavras

Apesar de haverem técnicas mais sofisticadas de extrair tópicos de dados textuais, neste caso as transcrições das entrevistas, talvez uma alternativa mais simples seja uma visualização do tipo "nuvem de palavras". Sendo assim, a imagem abaixo traz as palavras mais frequentemente faladas pelos candidatos, sendo o tamanho da palavra proporcional a sua frequência. Como de praxe, elimina-se palavras "irrelevantes" para a análise (as chamadas stop words), como, por exemplo, "de", "mas", "aquilo", etc; além de se desconsiderar números/pontuações e palavras de baixa frequência para não poluir a imagem.

A vantagem da nuvem de palavras é a sua simplicidade visual, mas um possível problema é a dificuldade do nosso cérebro em olhar esse conjunto de palavras e tentar encontrar um padrão, ou seja, um tópico sobre o qual as palavras se referem. Este tipo de exercício mais aprofundado fica para uma próxima, mas se você se contenta apenas com uma nuvem de palavras, recomendo utilizar o pacote {ggwordcloud} para reproduzir essa visualização!

Análise de sentimentos

De maneira a tentar sintetizar toda esse conjunto de informações textuais, mais especificamente quais emoções elas transmitem, podemos classificar as palavras com um léxico para obter o sentimento implícito nas falas dos candidatos. Aqui eu uso o dataset OpLexicon V3.0, que classifica mais de 30 mil palavras em polaridade (sentimento) de -1, 0 e 1, ou seja, negativa, neutra e positiva.

Para finalidade de comparação, considero somente os tópicos que foram discutidos com todos os candidatos. Conforme a visualização anterior, tratamentos de dados similares também são aplicados. Ao fim, contabiliza-se a frequência do sentimento classificado das palavras, considerando somente sentimentos positivos/negativos. Dessa forma, a visualização de dados é mais facilmente assimilada pelo cérebro, pois a informação foi resumida.

Saiba mais

Os códigos de replicação em R deste exercício estão disponíveis para membros do Clube AM da Análise Macro.

Para referências sobre os temas abordados confira os links supracitados.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Como treinar e selecionar os melhores modelos de previsão no Python?

Em previsão, há uma infinidade de modelos que podem ser usados. O processo de escolha do(s) modelo(s) deve ser empírico-científico, usando métodos que visem avaliar a generalização dos algoritmos para dados novos. Neste artigo, mostramos como implementar a metodologia de validação cruzada com algoritmos de machine learning no Python, exemplificando para a previsão do IPCA.

Como selecionar variáveis para modelos de previsão no Python?

Em oposição à crença popular, grande parte dos modelos de machine learning não produzem previsões magicamente. É papel do cientista de dados executar uma boa engenharia de variáveis para não cair no clássico problema de “garbage in, garbage out” (GIGO) em aprendizado de máquina. Neste sentido, aprender a fazer uma boa seleção de variáveis é fundamental e neste artigo exploramos algumas possibilidades práticas usando o Python.

Resultado IPCA-15 - Novembro/2024

A Análise Macro apresenta os resultados do IPCA-15 de Novembro de 2024, com gráficos elaborados em Python para coleta, tratamento e visualização de dados. Todo o conteúdo, disponível exclusivamente no Clube AM, foi desenvolvido com base nos métodos ensinados nos cursos da Análise Macro, permitindo aos assinantes acesso aos códigos e replicação das análises.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.