codelab - análise de redes sociais com python
TRANSCRIPT
Análise de Redes Sociais com PythonWomen 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 complexasComeç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 dadosPrecisamos 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
GrafosRelacionar é preciso
Grafos
Estrutura que demonstra relacionamentos entre entidades
Vértice VérticeAresta
Grafos
Estrutura que demonstra relacionamentos entre entidades
Maria Joséamigos
Grafos
Estrutura que demonstra relacionamentos entre entidades
Maria José
Rede de amigosJoana
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
NetworkXimport 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 grafosAlgoritmos 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 dadosO.O
Ferramentas
NetworkX /Matplotlib
Cytoscape
Gephi
iGraph
Cytoscape
From Network File > GML
[email protected]úvidas, sugestões, troca de ideias