Análise de Redes Sociais com Python
Women Techmakers 2015
Ana Paula Gomes
Quem
Ana Paula Gomes
Mestranda em Ciência da
Computação - UFMG
Organizer do GDG-BH /
Leader Women
Techmakers BH
Inquieta, curiosa e
apaixonada por tecnologia
O quê
1. Introdução: Redes complexas
2. Coleta de dados do Twitter
3. Modelagem em grafos e implementação
4. Uso de métricas de grafos
5. Visualização de dados
Redes complexas
Começando pelo começo
Antes de mais nada…
Precisamos responder perguntas:
Quais termos estão relacionados ao
#WomenTechmakers?
Quais pessoas são mais influentes dentre
as pessoas que falam sobre o
#WomenTechmakers?
Coleta dos dados
Precisamos usar alguma coisa
Coleta de dados
Marvel
Yelp
Foursquare
Twitter :)
Coringa:
Programmable Web
Lod-cloud
Coleta de Dados do Twitter
Modalidades:
Streaming
Search
Coleta de Dados do Twitter
Restrições:
1% da base
Search
15 requisições numa janela de 15
minutos
Coleta de Dados do Twitter
Tudo documentado em: dev.twitter.com
Passos:
Criar uma aplicação
Instalar TwitterAPI
Coleta do Twitter - conexão
from TwitterAPI import TwitterAPI
# credenciais de conexao com o Twitter
twitter_api = TwitterAPI(consumer_key='XXXX',
consumer_secret='XXXX',
access_token_key='XXXX',
access_token_secret='XXXX')
Coleta do Twitter via Search
resultado = twitter_api.request('search/tweets',
{'q': '#womentechmakers', 'lang': 'en', 'count': '100'})
Coleta do Twitter via Streaming
resultado = twitter_api.request('statuses/filter',
{'track': 'python'})
Dicas
JSON
SimpleJSON
JSONLint
Códigos de resposta
Grafos
Relacionar é preciso
Grafos
Estrutura que demonstra relacionamentos
entre entidades
Vértice Vértice
Aresta
Grafos
Estrutura que demonstra relacionamentos
entre entidades
Maria José
amigos
Grafos
Estrutura que demonstra relacionamentos
entre entidades
Maria José
Rede de amigos
Joana
Ana
Algumas métricas
Degree (grau)
Closeness
Betweenness
Clustering
Page Rank
Voltando as perguntas!
Quais termos estão relacionados ao
#WomenTechmakers?
Quais pessoas são mais influentes dentre
as pessoas que falam sobre o
#WomenTechmakers?
Modelagem - Hashtags
#IWD2015 #WTM
#mulheresNaTecnologia
#tech
Modelagem - Perfis influentes
WomenTechmakers José
Joana
Ana
NetworkX
Biblioteca para grafos: NetworkX
pip install networkx
NetworkX
import networkx as nx
G = nx.Graph()
G.add_node("ana")
G.add_node("joao")
G.add_node("camila")
G.add_edge("ana", "joao")
G.add_edge("ana", "camila")
NetworkX
nx.draw(G)
print G.edges()
nx.write_gml(G, "grafo_hashtag.gml")
Criação do grafo de hashtags
Lê o arquivo de tweets
Extrai as hashtags
Cria uma aresta para as hashtags que
estiverem em um mesmo tweet
Métricas com grafos
Algoritmos e ferramentas
Grau dos vértices
Degree (grau)
Grau de Entrada e Saída
Degree Centrality
Grau dos vértices
Influência
Número de conexões
WomenTechmakers
José
Joana
Ana
Closeness
O quão próximo um vértice está dos demais
Caminhos mínimos
WomenTechmakers
José
Joana
Ana
Closeness
Disseminação de informações
Quem é a pessoa/lugar que irá atingir mais
pessoas?
Grau de clusterização
Capacidade de um nó de conectar-se com os
outros
#IWD2015 #WTM
#mulheresNaTecnologia
#tech
Visualização de dados
O.O
Ferramentas
NetworkX /Matplotlib
Cytoscape
Gephi
iGraph
NetworkX
Gallery
Cytoscape
From Network File > GML
apgomes88@gmail.com
Dúvidas, sugestões, troca de ideias

Codelab - Análise de Redes Sociais com Python