Mineração de dados para análise preditiva de redes sociais

Publicados: 2022-03-11

As redes sociais, de uma forma ou de outra, existem desde que as pessoas começaram a interagir. De fato, junte duas ou mais pessoas e você terá a base de uma rede social. Portanto, não é surpresa que, no mundo atual da Internet em todos os lugares, as redes sociais online tenham se tornado totalmente onipresentes.

Dentro deste mundo das redes sociais online, um fenômeno particularmente fascinante da última década foi o crescimento explosivo do Twitter, muitas vezes descrito como “o SMS da Internet”. Lançado em 2006, o Twitter rapidamente ganhou popularidade global e se tornou um dos dez sites mais visitados do mundo. Em maio de 2015, o Twitter possui 302 milhões de usuários ativos que produzem coletivamente 500 milhões de Tweets por dia. E esses números estão crescendo continuamente.

Dado esse enorme volume de dados de mídia social, os analistas passaram a reconhecer o Twitter como um tesouro virtual de informações para mineração de dados, análise de redes sociais e informações para detectar tendências de opinião pública e ondas de apoio (ou oposição a) várias políticas e iniciativas sociais. As empresas de ciência de dados estão achando os tópicos de tendências do Twitter cada vez mais úteis como um substituto valioso para medir a opinião pública.

análise de redes sociais e mineração de dados

Este artigo descreve as técnicas que empreguei para uma prova de conceito que efetivamente analisou os Trend Topics do Twitter para prever, como um caso de teste de amostra, padrões regionais de votação na eleição presidencial brasileira de 2014.

A eleição

As eleições presidenciais gerais foram realizadas no Brasil em 5 de outubro de 2014. Nenhum candidato recebeu mais de 50% dos votos, então um segundo segundo turno foi realizado em 26 de outubro.

No primeiro turno, Dilma Rousseff (Partido dos Trabalhadores) obteve 41,6% dos votos, à frente de Aécio Neves (Partido da Social Democracia Brasileira) com 33,6%, e Marina Silva (Partido Socialista Brasileiro) com 21,3%. Dilma e Neves disputaram o segundo turno em 26 de outubro, com Dilma sendo reeleita por uma margem estreita, 51,6% contra 48,4% de Neves. A análise neste artigo refere-se especificamente ao segundo turno da eleição de 26 de outubro.

O Partido dos Trabalhadores (PT) é um dos maiores partidos políticos do Brasil. É o partido político dos atuais e ex-presidentes Dilma Roussef e Luis Inácio Lula da Silva. O Partido da Social Democracia Brasileira (PSDB) é o partido político do ex-presidente Fernando Henrique Cardoso.

Mineração de dados e extração de dados de tópicos de tendências do Twitter

Comecei a mineração de dados de mídia social extraindo dados do Twitter Trend Topic para as 14 cidades brasileiras para as quais os dados são fornecidos pela API do Twitter, a saber: Brasília, Belém, Belo Horizonte, Curitiba, Porto Alegre, Recife, Rio de Janeiro, Salvador, São Paulo, Campinas, Fortaleza, Goiânia, Manaus e São Luís.

Consultei a API REST do Twitter para obter os 10 principais tópicos de tendências do Twitter para essas 14 cidades em um intervalo de 20 minutos (limitado por algumas restrições que o Twitter possui em sua API). Limitar a consulta a essas 14 cidades é feito especificando seu Yahoo! GeoPlanet WOEIDs (Onde na Terra IDs).

Para esta prova de conceito, usei Python e uma biblioteca do Twitter (inteligentemente chamada de “twitter”) para obter todos os dados da rede social para o dia do segundo turno (26 de outubro), bem como os dois dias anteriores (outubro). 24 e 25). Para cada dia, realizei cerca de 70 consultas diferentes para ajudar a identificar os tópicos de tendências instantâneas.

Abaixo está um exemplo do objeto JSON retornado em resposta a cada consulta (este exemplo foi baseado em uma consulta de dados em 26 de outubro às 00h40 e mostra apenas os dados de Belo Horizonte).

 [{"created_at": "2014-10-26T02:32:59Z", "trends": [{"url": "http://twitter.com/search?q=%23GolpeNoJN", "name": "#GolpeNoJN", "query": "%23GolpeNoJN", "promoted_content": null}, {"url": "http://twitter.com/search?q=%23SomosTodosDilma", "name": "#SomosTodosDilma", "query": "%23SomosTodosDilma", "promoted_content": null}, {"url": "http://twitter.com/search?q=%23EAecio45Confirma", "name": "#EAecio45Confirma", "query": "%23EAecio45Confirma", "promoted_content": null}, {"url": "http://twitter.com/search?q=Uilson", "name": "Uilson", "query": "Uilson", "promoted_content": null}, {"url": "http://twitter.com/search?q=%22Lucas+Silva%22", "name": "Lucas Silva", "query": "%22Lucas+Silva%22", "promoted_content": null}, {"url": "http://twitter.com/search?q=%22Marcelo+Oliveira%22", "name": "Marcelo Oliveira", "query": "%22Marcelo+Oliveira%22", "promoted_content": null}, {"url": "http://twitter.com/search?q=Cruzeiro", "name": "Cruzeiro", "query": "Cruzeiro", "promoted_content": null}, {"url": "http://twitter.com/search?q=Tupi", "name": "Tupi", "query": "Tupi", "promoted_content": null}, {"url": "http://twitter.com/search?q=%22Real+x+Bar%C3%A7a%22", "name": "Real x Bar\u00e7a", "query": "%22Real+x+Bar%C3%A7a%22", "promoted_content": null}, {"url": "http://twitter.com/search?q=Wanessa", "name": "Wanessa", "query": "Wanessa", "promoted_content": null} ], "as_of": "2014-10-26T02:40:03Z", "locations": [{"name": "Belo Horizonte", "woeid": 455821}] }]

Breve introdução à análise de redes sociais

A Teoria das Redes Sociais é o estudo de como as pessoas, organizações ou grupos interagem com outros dentro de sua rede. Existem três tipos principais de redes sociais:

  • As redes egocêntricas estão conectadas com um único nó ou indivíduo (por exemplo, você e todos os seus amigos e parentes).
  • As redes sociocêntricas são redes fechadas por padrão. Dois exemplos comumente usados ​​desse tipo de rede são crianças em uma sala de aula ou trabalhadores dentro de uma organização.
  • Redes de sistema aberto são redes onde as linhas de fronteira não são claramente definidas, o que torna esse tipo de rede normalmente o mais difícil de estudar. O tipo de rede sociopolítica que estamos analisando neste artigo é um exemplo de rede de sistema aberto.

As redes sociais são consideradas redes complexas, pois apresentam características topológicas não triviais, com padrões de conexão entre seus elementos que não são puramente regulares nem puramente aleatórios.

A análise de redes sociais examina a estrutura de relacionamentos entre entidades sociais. Essas entidades geralmente são pessoas, mas também podem ser grupos sociais, organizações políticas, redes financeiras, moradores de uma comunidade, cidadãos de um país e assim por diante. O estudo empírico de redes desempenhou um papel central nas ciências sociais, e muitas das ferramentas matemáticas e estatísticas usadas para estudar redes foram desenvolvidas pela primeira vez na sociologia.

Estabelecimento da rede

Para criar uma rede usando o Twitter Trend Topics, defini as seguintes regras:

  • Cada cidade é um vértice (ou seja, nó) na rede.
  • Se houver pelo menos um tópico de tendência comum entre duas cidades, há uma vantagem (ou seja, link) entre essas cidades.
  • Cada aresta é ponderada de acordo com o número de tópicos de tendência em comum entre essas duas cidades (ou seja, quanto mais tópicos de tendência duas cidades tiverem em comum, maior será o peso atribuído ao link entre elas).

Por exemplo, no dia 26 de outubro, as cidades de Fortaleza e Campinas tinham 11 trend topics em comum, então a rede para aquele dia inclui uma borda entre Fortaleza e Campinas com peso 11:

Processo de criação de rede social ilustrado

Além disso, para auxiliar no processo de ponderação das relações entre as cidades, também considerei temas que não estavam relacionados à eleição em si (a premissa é que cidades que compartilham outras prioridades e interesses comuns podem estar mais inclinadas a compartilhar as mesmas tendências políticas ).

Embora a ordem dos tópicos de tendência possa ter algum significado para a análise, para fins de simplificação da prova de conceito, optei por ignorar a ordem dos tópicos na lista de tópicos de tendência.

Topologia de rede

A topologia de rede é essencialmente o arranjo dos vários elementos (links, nós, etc.) de uma rede. Para a rede social que estamos analisando, a topologia da rede não muda drasticamente ao longo dos 3 dias, pois os nós da rede (ou seja, as 14 cidades) permanecem fixos. No entanto, diferenças podem ser detectadas nos pesos dos links entre os nós, uma vez que o número de tópicos de tendência comuns entre as cidades varia ao longo dos 3 dias, conforme mostrado na comparação abaixo da topologia da rede no dia 24 vs. dia 25.

Topologia de rede social ilustrada

Prevendo resultados eleitorais usando dados de tópicos de tendências do Twitter

Para nos ajudar a prever os resultados das eleições, consideramos não apenas os tópicos de tendência em comum entre as cidades, mas também como o conteúdo desses tópicos se relaciona com o provável apoio a cada um dos dois principais partidos políticos; ou seja, Partido dos Trabalhadores (PT) e Partido da Social Democracia Brasileira (PSDB).

Primeiro, criei uma lista de palavras e frases percebidas para indicar uma inclinação positiva ou apoio a uma das partes. (Preencher esta lista é reconhecidamente uma tarefa altamente complexa. No contexto desta prova de conceito, eu deliberadamente adotei uma abordagem simplificada. Se alguma coisa, isso torna o calibre dos resultados ainda mais intrigante, uma vez que uma lista de termos mais ajustada e frases presumivelmente melhorariam ainda mais a precisão dos resultados.)

Então, para cada nó, eu conto:

  • o número de seus links que incluem termos que indicaram suporte para PT
  • o número de seus links que incluem termos que indicavam apoio ao PSDB

Usando novamente a cidade de Fortazela como exemplo, acabei com contagens de:

 Fortaleza['PT'] = 56 Fortaleza['PDSB'] = 37

Concluímos, assim, que os moradores de Fortaleza têm uma preferência geral pelo Partido dos Trabalhadores (PT).

Resultados e Conclusões

Com base nesse algoritmo, a análise produz resultados surpreendentemente semelhantes aos resultados eleitorais reais, especialmente quando se considera a simplicidade geral de nossa abordagem. Aqui está uma comparação dos resultados preditivos com base nos dados do Twitter Trend Topic em comparação com os resultados reais das eleições (o vermelho é usado para representar o Partido dos Trabalhadores e o azul é usado para representar o Partido da Social Democracia Brasileira):

análise de redes sociais e mineração de dados

O rigor científico aprimorado, bem como algoritmos e métricas mais sofisticados, sem dúvida, melhorariam ainda mais os resultados.

Aqui estão algumas métricas, por exemplo, que podem ser usadas para inferir a importância ou influência de um nó, o que, por sua vez, pode informar o tipo de análise preditiva descrita neste artigo:

  • Centralidade do nó. Existem inúmeras medidas de centralidade de nós que podem ser empregadas para ajudar a identificar os nós mais importantes ou influentes em uma rede. A centralidade de intermediação, por exemplo, considera um nó altamente importante se ele formar pontes entre muitos outros nós. A centralidade de autovalor, por outro lado, baseia a importância de um nó no número de outros nós altamente importantes que se ligam a ele.

  • Coeficiente de agrupamento. O coeficiente de agrupamento de um nó mede até que ponto os “vizinhos” de um nó estão conectados uns aos outros. Essa é outra medida que pode ser relevante para avaliar o grau presumido de influência de um nó em seus nós vizinhos.

  • Centralidade de grau. A centralidade de grau é baseada no número de links (ou seja, conexões) para um nó. Esta é uma das medidas mais simples da “significância” de um nó dentro de uma rede.

Mas mesmo sem esse nível de sofisticação, os resultados alcançados com essa simples prova de conceito forneceram uma demonstração convincente de análise preditiva eficaz usando dados do Twitter Trend Topic. Há claramente o potencial de levar a análise de dados de mídia social ainda mais longe no futuro.


Leitura adicional no Blog da Toptal Engineering:

  • Gráficos de ciência de dados com Python/NetworkX