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

Análise do Censo Demográfico com o R

Como podemos analisar dados do Censo Demográfico para produzir pesquisas e implementar políticas públicas? Mostramos nesta postagem o resultado de uma breve análise dos dados preliminares do Censo Demográfico de 2022 usando o R.

Deploy de modelos com Python + Shinylive + GitHub gastando ZERO reais

Colocar modelos em produção pode ser um grande desafio. Lidar com custos monetários, infraestrutura operacional e complexidades de códigos e ferramentas pode acabar matando potenciais projetos. Uma solução que elimina todos estes obstáculos é a recém lançada Shinylive. Neste artigo mostramos um exemplo com um modelo de previsão para o preço do petróleo Brent.

Como automatizar tarefas repetitivas usando Python? Um exemplo para largar o Excel

Manter relatórios diários com dados e análises atualizados é um desafio, pois envolve várias etapas: coleta de dados, tratamento de informações, produção de análises e atualização de relatório. Para superar este desafio algumas ferramentas como Python + Quarto + GitHub podem ser usadas para automatizar tudo que for automatizável. Neste artigo mostramos um exemplo com dados do mercado financeiro.

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.