Como conseguimos analisar 100 mil tweets sobre o Corona Vírus?

Lucas Juliano
Somos Tera
Published in
5 min readApr 16, 2020

Essa análise faz parte do trabalho final do curso de Data Science & Machine Learning da Tera e foi feita em conjunto com o Nicholas Furusato.

Photo by Rob Curran on Unsplash

O que fizemos?

Queríamos entender como os usuários do Twitter estavam percebendo a pandemia do Corona Vírus buscando quais eram os principais tópicos e assuntos. Entretanto, essa análise não poderia ser feita individualmente para cada tweet, já que tínhamos 100 mil tweets pra analisar.

Pra conseguir analisar todos esses dados, utilizamos uma técnica de Text-Mining. Text-mining são técnicas de Machine Learning específicad para processamento de texto. A técnica que escolhemos foi Non-negative Matrix Factorization (NMF), uma maneira de encontrarmos os principais tópicos e temas dentro de um conjunto de textos — nesse caso, tweets.

Como fizemos?

Coleta dos dados

A primeira etapa foi coletar os tweets a serem analisados. Fizemos a coleta dos tweets entre os dias 17 de Março e 4 de Abril, usando a ferramenta tweepy. Essa etapa foi realizada por outros membros do nosso grupo do projeto final do curso (obrigado, Luiza e Beatriz).

Tratamento dos dados

Depois de coletá-los, precisamos tratar esses tweets. Fizemos diversos tratamentos como: retirar emojis, acentos e palavras muito frequentes que não trazem informações (as famigeradas stop-words). Esse passo de preprocessamento é fundamental para que o modelo consiga de fato extrair padrões dos dados!

Vetorizando os tweets e criando o model NMF

Fonte: Text Vectorization and Transformation Pipelines

Antes de encontrarmos os tópicos, os tweets (textos) precisavam se fornar colunas (features). Pra isso, usamos a chamada vetorização.

A vetorização faz com que cada palavra de um tweet se torne uma coluna. Caso aquele tweet possua a palavra, a coluna receberia o número de vezes que a palavra aparece no tweet; caso não possua a palavra, a coluna recebe 0. Normalmente é chamado de veroziação “contada” (counting vectorization).

Depois de vetorizarmos, utilizamos o já mencionado modelo NMF para encontrar os principais tópicos. O NMF tem como objetivo pegar as palavras do texto e gerar tópicos, sendo que esse tópicos indicam palavras que normalmente ocorrem juntas nos textos. Por exemplo, no nosso caso, encontramos um componente onde havia as palavras “quando”, “acabar” e “quarentena”. Isso acontece porque muitos tweets falam as três palavras juntas e isso provavelmente indica que é um tema recorrente. Essas palavras ocorriam muito juntas porque as pessoas falam muito sobre o que farão quando a quarentena passar. Esse padrão faz bastante sentido.

Fonte: Ilustração do NMF

Pensando um pouco em termos matemáticos, o NMF busca encontrar uma matrix de tópicos que reconstrua os tweets do nosso conjunto. A figura abaixo mostra um pouco de como os tópicos e as palavras se combinam pra recriar os tweets (aqui chamados de documentos). Caso queira saber mais sobre o método, recomendamos esse post: Topic Modeling Quora Questions with LDA & NMF.

Analisando os tópicos

A última etapa foi analisar os tópicos gerados pelo modelo. Tentamos ir aumentando a quantidade de tópicos a serem encontrados, avaliando se esse aumento ainda assim representava assuntos significativos no modelo.

O que encontramos?

Sobre o que as pessoas falam?

Utilizando o NMF, encontramos 8 tópicos e agrupamos esses em 3 macro-tópicos:

  • Quarentena: pessoas falando sobre a quarentena, tanto do que estão fazendo durante, quanto do que pretendem fazer depois dela, entre outros.
  • Governo: referências às ações do presidente e do Governo Federal,sejam elas de apoio ou de crítica.
  • Pandemia: discussões sobre como a doença está evoluindo tanto no Brasil como no Mundo.
Representatividade de cada tópico

Dentro desses 3 macro-tópicos, temos os tópicos em si. Cada um deles sendo uma maneira diferente que o macro-tópico é percebido ou assuntos que aparecem normalmente relacionados a esse macro-tópico.

O maior dos macro-tópicos é o da Quarentena. Dentro desse tópico, identificamos três principais assuntos relacionados à quarentena:

  • Planos durante a quarentena:“… nessa quarentena estou tendo a chance de aprender”/“Eu queria fazer um curso de data science ou voltar a aprender alemão nessa quarentena”
  • Plano para depois da quarentena: “Quando acabar a quarentena eu só quero saber de trabalhar”
  • Ficar em casa: “São nove dias que eu to sem sair de casa…”

O segundo macro-tópico é o da Pandemia. Nele encontramos a maior parte dos tweets falando sobre:

  • Atualizações: tweets a respeito da evolução da doença até o momento, informando números de casos e mortes. “Morreram até agora 27 mil pessoas de corona vírus no mundo…”
  • Conscientização: indicam como os usuários estavam conscientes dos riscos e evolução da doença. “…o mundo todo vem se ajudando, até a China ajudando os EUA…”

Por último, o terceiro macro-tópico foi Governo. Esse tópico se divide de maneira equilibrada entre duas posições:

  • Apoiadores: aqueles que acreditam que as medidas tomadas estão corretas. “#BolsonaroTemRazao vcs querem vero país quebrar…”
  • Críticos: aqueles que consideram as medidas tomadas inadequadas. “O povo todinho da minha rua gritando Fora Bolsonaro e batendo panela…”

Como esses macro-tópicos mudam ao longo dos dias?

Com os macro-tópicos interpretados, vamos partir para análise desses dia a dia, buscando entender possíveis motivos pra eles variarem ao longo desse período.

Linha do tempo de evolução dos macro-tópicos no período

Podemos perceber que inicialmente o tema Pandemia era o mais comentando na rede social entre os tópicos. Uma das hipóteses para a relevância deste assunto no dia 17 de março, é que nesta data ocorreu a confirmação da primeira morte por Covid-19 no Brasil.

Já em relação ao tema Quarentena, nota-se um aumento sobre este tópico à partir do dia 18 de março. Após o inicio da quarentena nos estados de São Paulo e Rio de Janeiro, decretado nos dias 16 e 17 de março.

Sobre o último macro-tópico analisado, Governo, é possível identificar que os dias em que houve maior quantidade de assuntos relacionados ao governo foram 18 e 31 de março, datas em que aconteceram decisões politicas, pronunciamentos e os “panelaços”.

Resultados

  • O principal assunto discutido no twitter sobre o corona é sobre como a quarentena afetou a rotina e os planos das pessoas.
  • Muitas pessoas acompanhando a evolução e o status da pandemia.
  • Há tanto apoio quanto crítica às medidas do governo na rede social.
  • Vemos que há uma reação de acordo com os eventos sociais e políticos relacionados à pandemia como: o primeiro caso no Brasil,os decretos de “quarentena” e pronunciamentos do Governo Federal.

Nunca conseguiríamos analisar todos esses tweets um por um. Essa é a importância das técnicas de Machine Learning e Data Science: conseguir extrair insights e conhecimento de grandes volumes de dados.

Espero que tenham gostado!

--

--

Lucas Juliano
Somos Tera

Discovering a path across Data, Artificial Intelligence, Design, Psychology, Phenomenology— or anything else.