Como conseguimos analisar 100 mil tweets sobre o Corona Vírus?
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.
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
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.
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.
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.
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!