Big Social Data: Princípios Sobre Coleta, Tratamento e Análise de Dados Sociais
Big Social Data: Princípios Sobre Coleta, Tratamento e Análise de Dados Sociais
Big Social Data: Princípios Sobre Coleta, Tratamento e Análise de Dados Sociais
cap:1
Captulo
1
Big Social Data: Princpios sobre Coleta,
Tratamento e Anlise de Dados Sociais
Abstract
Online social networks have become a popular mean of sharing and disseminating data.
From these data one can extract information about patterns of interpersonal interactions
and opinions, aiding in the understanding of a phenomenon, an event prediction or
decision making. Nowadays, the studies and techniques for social network analysis need
to work with the increase of variety and volume of data besides quickly processing them.
Therefore, new approaches are required to be employed in those analyzes. Data that have
such characteristics (volume, variety and velocity) are called Big Data. This short course
aims to present an approach for analyzing Big Data in online social networks (Social Big
Data), including the collection and processing of large volumes of social data mining and
analysis principles of social interactions.
Resumo
Os dados das redes sociais online podem ser usados para extrair informaes sobre
padres de interaes interpessoais e opinies. Esses dados podem auxiliar no
entendimento de fenmenos, na previso de um evento ou na tomada de decises. Com a
ampla adoo dessas redes, esses dados aumentaram em volume, variedade e precisam
de processamento rpido, exigindo, por esse motivo, que novas abordagens no
tratamento sejam empregadas. Aos dados que possuem tais caractersticas (volume,
variedade e necessidade de velocidade em seu tratamento), chamamo-los de Big Data.
Este minicurso visa apresentar uma abordagem de anlise de Big Data em redes sociais
online (Big Social Data), incluindo a coleta e tratamento de grande volume de dados
sociais, minerao e princpios de anlise de interaes sociais.
8
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
1.1. Introduo
A redescoberta da importncia da anlise de redes sociais se deu pelo uso intensivo das
mdias sociais. Nesta seo entenderemos os conceitos bsicos de redes sociais,
aplicaes da anlise de redes sociais e como a coleta e tratamento de dados das redes
sociais online (ou mdias sociais) podem ser caracterizados como um problema de Big
Data.
9
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
1Weblogs so pginas pessoais, ou sites sem fim lucrativos, dedicados a trazer informaes
sobre um determinado tema [Blood 2002].
10
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
2 https://wordpress.com
3 http://www.twitter.com
4 https://www.facebook.com
5 https://groups.google.com
6 https://www.flickr.com/
7 https://www.youtube.com/
8 http://www.justin.tv/
9 http://www.lastfm.com.br/
10 http://secondlife.com/
11 http://tvtag.com/
12
http://www.compete.com
11
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
12
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
Twitter
O Twitter uma rede social online que possui duas APIs diferentes para a captura dos
seus dados: REST API e Streaming API. Para a utilizao de ambas APIs necessrio
inicialmente que o usurio tenha uma conta no Twitter. Acessando a pgina
https://dev.twitter.com, possvel autenticar-se com a conta do Twitter e cadastrar uma
aplicao. Aps o cadastro da aplicao necessrio gerar o Access Token da mesma.
Importante destacar que, tanto o API Secret como o Access Token Secret da sua aplicao
no devem ser divulgados por questes de segurana. Essas chaves sero utilizadas na
autenticao da sua aplicao de captura de dados.
O Twitter trabalha com o padro de arquivo JSON. Todos os dados so recebidos
nesse formato. Um exemplo da utilizao do Streaming API pode ser visto na Figura 1.2.
Os programas usados como exemplo de crawlers para o Twitter foram codificados
em Python 2.7. No primeiro exemplo (Figura 1.3), foram utilizadas as bibliotecas
Auth1Session e json. A Auth1Session responsvel pelo estabelecimento da
conexo com o Twitter e a biblioteca JSON responsvel por transformar o texto
recebido em um objeto Python cuja estrutura no formato JSON. Assim, possvel
manipular o arquivo JSON. Um exemplo utilizando a REST API do Twitter pode ser visto
na Figura 1.3.
13
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
import json
from requests_oauthlib import OAuth1Session
key = "{sua API key}"
secret = "{sua API secret}"
token = "{seu Acess Token}"
token_secret = "{seu Acess Token Secret}"
requests = OAuth1Session(key, secret, token, token_secret)
r = requests.post('https://stream.twitter.com/1/statuses/filter.json',
data={'track': 'bom dia'},
stream=True)
for line in r.iter_lines():
if line:
print json.loads(line) # tweet retornado
14
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
Facebook
Uma das APIs de consumo disponibilizadas pelo Facebook se chama Graph API. Existe
outra API chamada Public Feed API, porm esta possui acesso restrito a um conjunto de
editores de mdia e seu uso requer aprovao prvia do Facebook [Facebook 2014].
import httplib
app_id = "{sua app id}"
app_secret = "{seu app secret}"
client_credentials = "{label para de identificao do cliente}"
url =
"/oauth/access_token?client_id="+app_id+"&client_secret="+app_secret+"&grant_type=client_credentials"
conn = httplib.HTTPSConnection("graph.facebook.com")
conn.request("GET", str(url))
response = conn.getresponse()
print response.read() #access token
Primeiramente, para utilizar a Graph API necessrio criar uma aplicao. Essa
aplicao pode ser criada no site https://developers.facebook.com/ e ser vinculada a uma
conta no Facebook. A segunda etapa consiste em gerar um access token para aquela
sesso. Um exemplo, utlizando Python 2.7, de como adquirir o access token pode ser
visto na Figura 1.4. Neste exemplo, utilizou-se a biblioteca httplib para executar a
requisio.
importante destacar que algumas requisies necessitam de um app access
token e outros necessitam do user access token. Este ltimo deve ser criado no prprio
site do Facebook atravs do endereo https://developers.facebook.com/tools
/accesstoken/.
Com o Graph API possvel buscar no Facebook por certos objetos que possuam
um determinado termo. Esses objetos podem ser usurio, pginas, eventos, grupos e
lugares. Porm, uma limitao da API que no possvel procurar por posts pblicos
onde um determinado termo aparece. Entretanto, a busca por pginas e lugares requer um
app access token, enquanto buscas pelos outros objetos utilizam o user access token.
A Figura 1.5 mostra a utilizao do Graph API na busca por usurios com o termo
Fabio, codificado utilizando Python 2.7.
As requisies ao Facebook do tipo search retornam objetos no formato JSON.
15
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
import httplib
user_access_token = "{seu user access token}"
q = "Fabio"
url_consulta = "/search?q="+str(q)+"&type=user&access_token="+str(user_access_token)
conn = httplib.HTTPSConnection("graph.facebook.com")
conn.request("GET", str(url_consulta))
response = conn.getresponse()
print response.read()
Foursquare
O Foursquare pode ser definido como uma rede geossocial, onde seus usurios podem
indicar onde se encontram ou procurar por outros usurios que estejam prximos
geograficamente. A API de consumo do Foursquare permite buscas por uma determinada
latitude e longitude a fim de retornar locais de interesse pblico daquela regio. No
retorno das requisies possvel verificar a quantidade de check-in desses locais, alm
da quantidade de pessoas que recentemente efetuaram um check-in naquele local. Alm
desta busca, a API permite outra busca por tips (dicas), que tem como retorno dicas dos
usurios sobre locais em uma determinada regio. A API pode ser acessada no site
https://developer.foursquare.com e o usurio precisa criar uma aplicao no site para
comear a utilizar. Um exemplo de requisio da API do Foursquare, codificada em
Python 2.7, pode ser visto na Figura 1.6.
Dentre os parmetros da requisio HTTP, v um apenas um controle de verso,
onde o desenvolvedor da aplicao pode informar ao foursquare se est utilizando uma verso
anterior da API. No caso, este parmetro recebe uma data no formato YYYYMMDD.
16
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
import urllib2
par_v = "20141107"
location = "40.7,-74"
query = "sushi"
response = urllib2.urlopen("https://api.foursquare.com/v2/tips/search"+
"?client_id="+client_id+
"&client_secret="+client_secret+
"&v="+par_v+
"&ll="+location+
"&query="+query)
html = response.read()
print str(html)
13Quando estamos lidando com mdias sociais, normalmente temos diferentes usurios
associados uma nica entidade. Por exemplo, imagine o Joo da Silva (entidade) que possui
vrias contas. No Twitter pode ser reconhecido como JS_RJ. No Facebook ele possui duas
contas, uma de carter profissional (Prof. Joo da Silva) e outra pessoal (Joo Carioca). O
processo de desambiguao dos ns significa identificar as diferentes contas de uma mesma
entidade e associ-las. Neste exemplo, identificaramos que JS_RJ, Prof. Joo da Silva e
Joo Carioca so diferentes contas de uma mesma pessoa.
17
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
Mtricas Individuais
A importncia de um vrtice pode ser identificada atravs do clculo de centralidade.
Uma destas centralidades o grau do vrtice (tambm conhecida como grau de
centralidade ou ainda centralidade local por Wasserman e Faust (1994)), ou seja, o
nmero de arestas conectadas diretamente a ele. A centralidade global de um vrtice,
tambm conhecida como closeness ou grau de proximidade a soma do menor caminho
entre um vrtice e os demais vrtices da rede. Um vrtice que tenha a menor soma das
menores distncias est mais perto dos demais. Ou seja, quanto maior a centralidade
global, maior ser a distncia de um membro para com os demais. Isto significa que o
trajeto de um dado, informao ou conhecimento para chegar a um destes membros
isolados maior, e consequentemente, pode demorar mais, como tambm podem chegar
deturpados e com rudo.
Outra medida de centralidade muito utilizada o betweenness ou grau de
intermediao, que est relacionado ao nmero de caminhos mnimos aos quais um
vrtice pertence. O grau de intermediao revela o quanto um vrtice est no caminho
entre os outros vrtices numa rede. Quanto maior for o valor deste grau, significa que este
vrtice uma passagem obrigatria, muitas vezes conectando diferentes grupos.
Seja xi a quantidade de todos os caminhos mnimos entre s e t (caso exista mais de
um) cujo vrtice i est includo, ento, sendo nsti um destes caminhos mnimos entre os
vrtices s e t, nsti =1, se o vrtice i pertence a este caminho mnimo e nsti =0 caso contrrio
[5], como est representado na equao (3.2):
xi = nsti
st
Mtricas da Rede
Watts e Strogatz (1998) propuseram o clculo do coeficiente de agrupamento mdio, Cm,
para a rede atravs da mdia do coeficiente de agrupamento local para cada vrtice. Ou
seja, Cm o somatrio dos coeficientes de agrupamento de cada vrtice do grafo,
normalizado pelo nmero total de vrtices.
18
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
n
Cm = 1 / n Ci
1
Outra medida o dimetro da rede, que a distncia mxima entre dois vrtices,
o maior caminho mnimo (geodsico) entre dois vrtices da rede, simbolizando o nvel de
ligao entre os vrtices da rede. Newman (2010) define a densidade de uma rede
utilizando o grau mdio da rede em questo. Primeiramente calculando o valor de M, o
nmero mximo possvel de arestas numa rede de n vrtices.
n 1
M = n n 1
2 2
Sendo G o grau mdio j calculado para esta rede com m arestas, a densidade
obtida fazendo-se:
m 2m G
= = =
n nn 1 n 1
2
Se a densidade de uma rede varia no intervalo [0,1], quanto mais prximo de zero,
menos conectada a rede. O contrrio vlido, quanto mais prximo de um, a rede
mais densa. A vantagem do uso desta medida est na simplicidade de seu clculo, no
entanto, para redes com extenso nmero de ns, torna-se custoso realizar tal clculo.
14 https://gephi.github.io/
19
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
relacionadas a ligaes e (iii) Tarefas relacionadas a grafos. Por sua vez Tarefas
relacionadas a objetos se dividem em: (i) Ranking baseado em ligao de objetos (RBLO);
(ii) Classificao baseada em ligao de objeto (CBLO); (iii) Agrupamento de objetos e
(iv) Identificao de objetos. As tarefas relacionadas a ligaes resumem-se predio
de ligaes. Por fim, as tarefas relacionadas a grafos se dividem em: (i) Descoberta de
subgrafos e (ii) Classificao de grafos. Nas prximas subsees ser feito o
detalhamento de cada mtodo. Essa taxonomia de tarefas de minerao em grafos foi
retirada de [Getoor e Diehl 2005].
20
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
21
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
22
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
grafos no exige inferncia coletiva - como necessrio para classificar vrtices e arestas
- devido ao grafo ser geralmente gerado de forma independentemente.
Existem basicamente trs abordagens que foram exploradas pelas comunidades
de minerao de dados: Programao de Lgica Indutiva (PLI); Minerao de
Caractersticas (MC); e definio de Kernel do Grafo (DK). A MC est relacionada com
as tcnicas de descoberta de grafo. A MC usualmente feita encontrando as subestruturas
informativas do grafo. Essas subestruturas so usadas para transformar os dados do grafo
em uma tabela de dados e ento aplicar classificadores tradicionais. A PLI usa relaes
como vrtice (grafo_id, vrtice_id, vrtice_label, vrtice_atributos) e aresta (grafo_id,
vrtice_id_1,vrtice_id_3,aresta_label) para ento aplicar em um sistema de PLI para
encontrar um hiptese no espao.
Encontrar todas as subestruturas frequentes em um grafo pode ser um processo
computacionalmente proibitivo. Uma abordagem alternativa faz uso dos mtodos de
kernel. Gartner [2002] e Kashima e Inokuchi [2002] proporam mtodos baseado em
medidas de caminhos no grafo para obter o kernel. Gartner [2002] conta caminhos com
rtulos iguais no inicio e no fim, enquanto Kashima e Inokuchi [2002] faz uso da
probabilidade de caminhar aleatoriamente em uma sequncia de rtulos identicos.
23
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
24
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
cada mdia. Ou seja, o YouTube possui a sua base, o Twitter a sua e assim por diante.
Antes da correlao dos dados, necessrio extrair os dados das fontes heterogneas,
cada uma com suas particularidades.
Trs exemplos de RSOs cujos dados so utilizados em muitos estudos so o
Facebook, o YouTube e o Twitter. Segundo o servio Alexa15, no ranking dos sites mais
acessados no mundo, essas trs mdias esto entre as 10 mais: O Facebook o segundo
site mais acessado no mundo atualmente, o YouTube o terceiro e o Twitter ocupa o
stimo lugar. No Brasil, o Facebook o segundo mais acessado, o YouTube o quarto e o
Twitter o dcimo segundo, segundo o ranking do Alexa Brasil16. Alm dessas mdias
digitais, existem outras redes bastante utilizadas no Brasil como LinkedIn17, Google+18 e
o Foursquare19.
Os dados das RSOs so abundantes. Para se ter uma ideia, o Facebook acessado
por mais 1 bilho de usurios a cada ms [Zuckerberg 2012; Facebook Data Center 2013]
e registrou uma mdia de 829 milhes de usurios ativos por dia no ms de junho de 2014
(624 milhes em dispositivos mveis), chegando a passar de 1,32 bilhes no dia 30 de
junho [Facebook NewsRoom 2014]. A mdia de likes (curtidas) registrada por dia passa
de 2,7 bilhes e quantidade total de itens (texto ou contedo multimdia como fotos e
vdeos) compartilhados entre amigos superior a 2,4 bilhes. Em 2011, o espao ocupado
pelas fotos compartilhadas no Facebook j ultrapassava 1,5 petabyte de espao, sendo
mais de 60 bilhes de fotos. Em 2013, o Instagram (aplicativo de compartilhamento de
fotos e vdeos curtos, pertencente ao Facebook) registrou uma mdia de 100 milhes de
usurios por ms. Diferentes tipos de relacionamentos acontecem entre os usurios do
Facebook formando redes. Por exemplo, rede amizades, citaes em mensagens ou
marcaes em imagens [Facebook NewsRoom 2014].
Outro exemplo que pode ser citado o YouTube, o qual possui uma taxa de
upload de vdeo superior a 100 horas de vdeo por minuto, sendo acessado por milhes
de usurios mensalmente [ComScore 2014; YouTube Statistics 2014]. O contedo de 60
dias do YouTube equivale a 60 de vdeos televisionado pela emissoras norte-americanas
NBC, CBS e ABS juntas [Benevenuto et al. 2011]. Dados mais recentes sobre essa mdia
informam que mais de 1 bilho de usurios visitam o YouTube mensalmente, e mais de
6 bilhes de horas de vdeo so assistidas a cada ms. A identificao de mais de 400 anos
de vdeo so verificados diariamente devido as buscas por contedo e milhes de novas
assinaturas feitas todos os meses [YouTube Statistics 2014].
O Twitter, por sua vez, possui mais de 600 milhes de usurios, recebe mais de
500 milhes de mensagens por dia e tem uma mdia de 271 milhes de usurios ativos
por ms. Em julho, o total de atividades registradas era de 646 milhes e 2,1 bilhes de
consultas foram realizadas em mdia. No Twitter, as redes podem ser formadas
observando quem segue quem, quem mencionou quem ou quem fez um retweet
(republicou a mensagem de) quem [Twitter Statistics 2014; About Twitter 2014].
As grandes empresas como Facebook, Google (proprietria do YouTube) e
Twitter possuem centros de dados espalhados pelo mundo. Alguns desses centros de
15 http://www.alexa.com/topsites
16
http://www.alexa.com/topsites/countries/BR
17
https://linkedin.com/
18
https://plus.google.com
19
https://foursquare.com/
25
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
dados ocupam grandes reas e custam milhes para serem implantados e mantidos. Por
exemplo, o centro de dados do Facebook em Iowa (o quarto da empresa) foi construdo
aps o centro de dados da empresa na Carolina do Norte nos Estados Unidos, o qual
custou aproximadamente 450 milhes [Online Tech 2011]. Empresas como as
mencionadas acima possuem polticas prprias de gerncia dos dados e definem as
tecnologias a serem utilizadas. Alm disso, elas tambm impem uma srie de restries
para acesso aos dados da sua base. Por esse motivo, os interessados em realizar anlises
precisam coletar (geralmente em perodos prximos publicao), armazenar e gerenciar
os dados do seu interesse [Costa et al. 2013]. Um exemplo so os dados publicados pelo
Facebook sobre as publicaes relacionadas Copa do Mundo de Futebol de 2014.
Segundo dados do prprio Facebook, mais de 1 bilho de interaes (publicaes,
comentrios e curtidas) ocorreram durante este evento [Facebook World Cup 2014].
Aqueles que conseguiram coletar dados sobre esse evento nessa mdia precisam
armazenar e gerenciar esses dados (um desafio parte).
Costa et al. (2012) apresentam uma discusso sobre o ciclo de vida dos dados por
meio da comparao com o ciclo de vida biolgico. Os autores observaram as seguintes
fases: gerao (nascimento), agregao (crescimento com a agregao de valores ao
dado), anlise (reproduo, quando a combinao de novos dados traz significado sobre
os dados iniciais) e apagamento (morte). O apagamento pode no ser uma tarefa to
simples, pois no simples definir quando um conjunto de dados no possui mais valor
para ser analisado. Esse valor pode ser finalizado em um contexto, mas sob outros pontos
de vista os dados podem possuir valor em novas anlises. Por esse motivo, definir quanto
tempo os dados devem permanecer armazenados (ou pelo menos parte dele) no trivial,
um dado pode ficar armazenado mais do que o seu valor consumindo recursos valiosos.
Porm, descartar um dado valioso por causa das restries de infraestrutura pode ser
lamentvel. Finalmente, no possvel definir valores fixos (prazos ou perodos exatos)
de validade dos dados. Cabe aquele que gerencia o dado tomar a deciso de descart-lo
ou no. um consenso que sempre que possvel os dados devem ser mantidos (ou seja, a
sua remoo deve ser evitada).
Somadas aos desafios de armazenar esses volumes de dados, tambm existe o
desafio de recuperar e analisar os dados dessas mdias digitais. Os problemas relacionados
ao armazenamento, recuperao e anlise so agravados por novas variaes dos dados
decorrente das alteraes nas mdias digitais ocasionadas por novas tendncias, pelo
surgimento de novas mdias digitais com caractersticas novas e por comportamentos
diferentes por parte dos usurios. Vale ressaltar que outras caractersticas desses dados
so: redundncias, inconsistncias, dados com algum tipo de falha, etc. Todavia, apesar
de todas essas dificuldades, as grandes massas de dados impulsionam a necessidade de
extrair sentido dos mesmos. Correlacion-los para compreend-los apesar das constantes
alteraes dos dados podem trazer a tona informaes preciosas, podendo se tornar
essencial no futuro.
Observamos que as tecnologias de bancos de dados utilizados nas RSOs devem
ser capazes de atender os requisitos de armazenamento e processamento de Big Data,
como alta velocidade e a capacidade de lidar com dados no relacionais, executando
consultas em paralelo [Oliveira et al. 2013a]. Pesquisadores ou qualquer interessado em
analisar esses dados tambm precisam de tecnologias adequadas. Do ponto de vista do
armazenamento, os Sistemas de Gerenciamento de Banco de Dados (SGBDs)
convencionais disponveis comercialmente no so capazes de lidar com volumes de
26
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
20
http://postgis.net/
21
http://www.geotools.org/
22
http://hbase.apache.org/
23
http://cassandra.apache.org/
24
http://www.neo4j.org/
25
http://www.postgresql.org/
27
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
28
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
capaz de gerenciar um grande volume de dados. Alm desses componentes fatores como
a complexidade do dado, o tamanho da massa de dados, a dificuldade de transporte dos
dados e a possibilidade de paralelizao dos algoritmos empregados no processamento
devem ser observados.
O processamento do volume de dados variados em tempo hbil exige tecnologias
de software e hardware adequados. O Hadoop pode ser utilizado para distribuir e
paralelizar dados em diferentes estaes de trabalhos comuns, aumentando a capacidade
de hardware por meio da clusterizao de mquinas comuns. Devido a essas
caractersticas e as demais utilizadas, o Hadoop tem sido adotado em muitos trabalhos.
29
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
30
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
31
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
32
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
33
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
34
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
1 a,b,c,d,e,f,g | ab,de,gf,dc
2 h,i,c,d,e,f,n | hc,dc,ef, en
N a,g,h,j,n,r,h | ag,ah,aj,rh
Figura 1.10: Base de grafos D, contendo N grafos. O formato da base id do
grafo, vrtices, arestas.
35
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
#MAP
import sys
sub_graf = #representao do subgrafo aqui
for ling in sys.stdin:
is_subgraph = True
lista_vertices, lista_arestas = parser_grafo(line) # transformando o arquivo do grafo em uma lista de vrtices e
outra lista de arestas
#checando se todos os vrtices de sub_graf_input so vrtices em graf
for v in sub_graf.vertices:
if v not in lista_vertices:
is_subgraph = False
break
#checando se todas arestas de sub_graf_input so arestas em graf
if is_subgraph:
for a in sub_graf.arestas:
if a not in lista_arestas:
is_subgraph = False
if is_subgraph:
print "%d\t%d"%(sub_graf.id, 1)
else:
print "%d\t%d"%(sub_graf.id, 0)
36
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
#Reducer
import sys
current_graph = None
current_count = 0
subgraph_id = None
for line in sys.stdin:
# removendo espaos em branco
line = line.strip()
37
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
1.5 Concluso
A quantidade de dados produzidos na Internet aumenta diariamente. Novas aplicaes
usadas na rede, aliadas s aplicaes existentes e ao aumento do uso de sensores e
dispositivos eletrnicos (medidores eltricos, por exemplo) aumentam cada vez mais a
quantidade de dados produzidos. As redes sociais online seguem essa tendncia.
medida que novas mdias digitais surgem e se popularizam, novas funcionalidades so
adicionadas as mdias e novos usurios participam dessas redes, levando ao aumento da
quantidade de dados oriundos de interaes sociais. As informaes das RSOs so
multidisciplinares, em grandes quantidades, produzidos rapidamente e em diferentes
fontes.
Esses dados, produzidos em grande volume, velocidade e de fontes variadas
precisam ser armazenados, gerenciados e possivelmente analisados sob diferentes ticas
para gerao de novos conhecimentos. Big data o termo empregado para esse grande
volume de dados oriundos de fontes heterogneas, produzidos, transmitidos e processados
em altas velocidades.
O volume de contedo produzido e compartilhado nas redes sociais online,
associado ao grande nmero de usurios (cidados de diferentes localidades), fonte de
diversas informaes que se propagam e agregam novos valores s informaes de
diversas reas. Atualmente, analisar essa grande massa de dados um desafio, visto que
as ferramentas utilizadas para minerao de dados, estudos de grafos, entre outras, podem
no ser adequadas para tratar com grandes volumes de dados.
Este trabalho apresentou uma discusso sobre tecnologias e abordagens para
anlises de redes sociais online, contextualizou o problema de anlise de grandes volumes
de dados, abordou as principais abordagens existentes para se trabalhar com esses dados
e apresentou um exemplo prtico de anlise de grandes volumes de dados extrados de
38
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
redes sociais online. Trabalhar com amostras maiores de dados possibilita que
informaes antes ocultas sejam aproveitadas e tragam novas e melhores informaes.
Ainda existem muitos desafios a serem enfrentados, porm a possibilidade de
trabalhar com amostras maiores de dados das redes sociais online permite que novas
informaes sejam extradas e que informaes antes obtidas sejam mais consistentes,
visto que a amostra analisada ser maior. Alm do desafio tcnico de analisar grandes
quantidades de dados, novos desafios surgem a partir dessa nova oportunidade de anlise,
visto que novas informaes que antes no eram consideradas devido s limitaes
tcnicas e humanas podem e devem ser agora consideradas. Tratar essas novas
informaes adequadamente extrapola as reas tcnicas da computao (e at da rea das
cincias exatas) visto que conhecimentos de reas de humanas (como antropologia,
sociologia, psicologia, entre outros) so necessrios. Este trabalho introduziu o tema de
Big Data e anlise de redes sociais, permitindo que pesquisadores e analistas de redes
sociais que desejam trabalhar com grande volume de dados conheam as principais
abordagens e desafios que existem atualmente. Ao mesmo tempo, este trabalho tambm
pode ser utilizado por profissionais que esto trabalhando com Big Data e desejam agora
analisar dados de redes sociais.
Referncias
About Twitter (2014) Our mission: To give everyone the power to create and share ideas
and information instantly, without barriers, Disponvel em:
https://about.twitter.com/company, Acessado em: 19 de julho de 2014.
Albuquerque, R. P., Oliveira, J., Faria, F. F., Studart, R. M., Souza, J. M.(2014),
Studying Group Dynamics through Social Networks Analysis in a Medical
Community, Social Networking, v. 03, p. 134-141.
Alonso, O., Ke, Q., Khandelwal, K., Vadrevu S. (2013), Exploiting Entities In Social
Media, Proceedings of the sixth international workshop on Exploiting semantic
annotations in information retrieval (ESAIR ), ACM, p. 9-12.
Appel, A. P., Hruschka, E.(2011), Por dentro das redes complexas: detectando grupos e
prevendo ligaes, Anais do XXVI Simpsio Brasileiro de Banco de Dados, SBC.
Bidoop Layer (2014), Solues em Big Data Baseadas em Hadoop, Disponvel em:
http://www.bidoop.es/bidoop_layer, Acessado em: 10 de maio de 2014.
Benevenuto, F., Almeida, J., Silva, A. S. (2011), Explorando Redes Sociais Online: Da
Coleta e Anlise de Grandes Bases de Dados as Aplicaces, Minicurso do XXVI
Simpsio Brasileiro de Redes de Computadores, SBC.
Beowulf (2014), The Beowulf Archives, Disponvel em: http://www.beowulf.org/,
Acessado em: 14 de fevereiro de 2014.
Castells, M. (1996), Rise of the Network Society: The Information Age: Economy,
Society and Culture, Vol. 1, John Wiley & Sons.
Chen, H. (2001), Knowledge management systems: a text mining perspective,
Arizona: Knowledge Computing Corporation.
39
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
ComScore (2014), comScore Releases March U.S. Online Video Rankings. Disponvel
em: https://www.comscore.com/por/Insights/Press-Releases/2014/4/comScore-
Releases-March-2014-US-Online-Video-Rankings, Acessado em 19 de julho de 2014.
Costa, L. H. M. K., Amorim, M. D., Campista, M. E. M., Rubinstein, M. G., Florissi, P.,
Duarte, O. C. M. B. (2012), Grandes Massas de Dados na Nuvem: Desafios e
Tcnicas para Inovao, Minicurso do XXX Simpsio Brasileiro de Redes de
Computadores e Sistemas Distribudos, SBC, p. 58.
Cozza, R., Milanesi, C., Gupta, A., Nguyen, T. H., Lu, C. K., Zimmermann, A., & De La
Vernge, H. J. (2011), Market Share Analysis: Mobile Devices, Gartner Report,
Disponvel em: http://www.gartner.com/newsroom/id/1689814, Acessado em 20 de
julho de 2014.
Dale, C., Cheng, X., Liu. J. (2007), Understanding the Characteristics of Internet Short
Video Sharing: YouTube as a Case Study, Technical Report arXiv:0707.3670v1,
Cornell University.
Dean, J., Ghemawat, S. (2008). MapReduce: simplified data processing on large
clusters. Communications of the ACM, v. 51, n. 1, p. 107-113.
DiFranzo, D., Zhang, Q., Gloria, K., Hendler, J. (2013). Large Scale Social Network
Analysis Using Semantic Web Technologies, AAAI Fall Symposium Series.
Easley, D., Kleinberg, J. (2010). Networks, crowds, and markets: Reasoning about a
highly connected world, Cambridge University Press.
Facebook (2014), Public Feed API, Disponvel em:
https://developers.facebook.com/docs/public_feed, Acessado em 21 de janeiro de
2014.
Facebook Data Center (2014), A New Data Center for Iowa, Disponvel em:
https://newsroom.fb.com/news/2013/04/a-new-data-center-for-iowa/, Acessado em
20 de julho de 2014.
Facebook NewsRoom (2014), NewsRoom, Disponvel em:
http://newsroom.fb.com/company-info/, Acessado em 20 de julho de 2014.
Facebook World Cup (2014), World Cup 2014: Facebook Tops A Billion Interactions,
Disponvel em: https://newsroom.fb.com/news/2014/06/world-cup-2014-facebook-
tops-a-billion-interactions/, Acessado em: 20 de julho de 2014.
Grtner, T. (2002), Exponential and geometric kernels for graphs, NIPS Workshop on
Unreal Data: Principles of Modeling Nonvectorial Data, Vol. 5, pp. 49-58.
Getoor, L., Diehl, C. P. (2005), Link mining: A survey, ACM SIGKDD Explorations
Newsletter, v. 7, n. 2, p. 312.
Ghemawat, S., Gobioff, H., Leung, S. T. (2003), The Google file system, ACM
SIGOPS Operating Systems Review, ACM , v. 37, n. 5, p. 29-43.
Girvan, M., Newman, M. (2002), Community structure in social and biological
networks, Proceedings of the National Academy of Sciences, v. 99, n. 12, p. 7821-
7826.
Gomide, J., Veloso, A., Meira Jr, W., Almeida, V., Benevenuto, F., Ferraz, F., Teixeira,
M. (2011), Dengue surveillance based on a computational model of spatio-temporal
40
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
41
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
Manovich, L. (2011), Trending: the promises and the challenges of big social data,
Minneapolis, MN: University of Minnesota Press.
Melo, H., Oliveira, J. (2014), Ambiente Analtico Web para Anlise da Colaborao
Cientfica no Cenrio Mdico, Anais do X Simpsio Brasileiro de Sistemas de
Informao, SBC, p.387-398 .
Menon, R. (2013), Introducing Hadoop Part II, Disponvel em:
http://rohitmenon.com/index.php/introducing-hadoop-part-ii/, Acessado em: 10 de
dezembro de 2013.
Mikolajczyk, R. T., Kretzschmar, M. (2008), Collecting social contact data in the context
of disease transmission: Prospective and retrospective study designs, Social
Networks, Elsevier, v. 30, n. 2, p. 127-135.
Monclar, R.S., Oliveira, J., Faria, F.F., Ventura, L.V.F., Souza, J. M., Campos, M.L.M.
(2012), The Analysis and Balancing of Scientific Social Networks in Cancer
Control, Handbook of Research on Business Social Networking: Organizational,
Managerial and Technological Dimensions, IGI Global, p. 915-941.
Nakamura, E. F., Loureiro, A. A. F., Frery, A. C. (2007), Information fusion for wireless
sensor networks: Methods, models, and classifications, Computing Surveys, ACM,
v. 39, n. 3, p. 9-64.
Neto, B.; Oliveira, J.; Souza, J. M. (2010). Collaboration in Innovation Networks:
Competitors can become partners, Proceedings of International Conference on
Information Society, IEEE, p. 455-461.
Newman, M. E. J. (2010), Networks: An Introduction, Oxford: Oxford University
Press.
Nodejs (2014), Node.js, Disponvel em: http://nodejs.org, Acessado em: 20 de junho
de 2014.
OMadadhain, J., Hutchins, J., Smyth, P. (2005), Prediction and ranking algorithms for
event-based network data, ACM SIGKDD Explorations Newsletter, 7(2), 23-30.
Oliveira, A. C., Salas, P. R., Roseto S., Boscarioli C., Barbosa W., Viterbo A. (2013a),
Big Data: Desafios e Tcnicas para a Anlise Eficiente de Grandes Volumes e
Variedades de Dados, Minicurso do IX Simpsio Brasileiro de Sistemas de
Informao, SBC.
Oliveira, J., Santos, R. P. (2013b), Anlise e Aplicaes de Redes Sociais em
Ecossistema de Software, Minicurso do IX Simpsio Brasileiro de Sistema de
Informao.
Online Tech (2014), Cloud computing prompts 2012 data center expansion plans,
Disponvel em: http://resource.onlinetech.com/cloud-computing-prompts- 2012-data-
center-expansion-plans/, Acessado em: 19 de julho de 2014.
Pastor-Satorras, R., Vespignani, A. (2001), Epidemic spreading in scale-free networks,
Physical Review Letters, v. 86, n. 14, p. 3200-3203.
Popescul, A; Ungar, L. H. (2003), Statistical Relational Learning for Link Prediction,
Proceedings of IJCAI workshop on learning statistical models from relational data.
42
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
Ranking, T. P. C., Order, B. (1998), The PageRank Citation Ranking: Bringing Order
to the Web. Technical Report, Stanford University, Disponvel em
http://ilpubs.stanford.edu:8090/422/1/1999-66.pdf , Acessado em: 23 de setembro de
2014.
Santos, F. B., Oliveira, J. (2014), More than Just a Game: The Power of Social Media
on Super Bowl XLVI, Social Networking, Scientific Research, v. 03, p. 142-145.
Silva, I. S., Gomide, J., Barbosa, G. A. R., Santos, W., Veloso A., Meira, W. Jr., Ferreira,
R. (2011). Observatrio da Dengue: Surveillance based on Twitter Sentiment Stream
Analysis. XXVI Simpsio Brasileiro de Banco de Dados-Sesso de Demos.
Silva, T. L. C., Arajo, A. C. N., Sousa, F. R. C., Macdo, J. A. F., Machado, J. C. (2013),
Anlise em Big Data e um Estudo de Caso utilizando Ambientes de Computao em
Nuvem. Minicurso do XXVII Simpsio Brasileiro de Banco de Dados.
Solis, B. (2007), Manifesto, The Social Media, Disponvel em:
http://www.briansolis.com/2007/06/future-of-communications-manifesto-for/ ,
Acessado em: 20 de junho 2014.
Souza, J. M., Neto, B., Oliveira, J. (2011), Innovation Networks as a Proposal to
Overcome Problems and Improve Innovation Projects. International Journal for
Infonomics, Infonomics Society, v. 4, p. 623-632.
Statistics | Facebook (2014), Disponvel em:
http://www.facebook.com/press/info.php?statistics, Acessado em: 20 de junho de
2014.
Stempel, G. H., Hargrove, T., Bernt, J. P. (2000), Relation of Growth of Use of the
Internet to Changes in Media Use from 1995 to 1999, Journalism & Mass
Communication Quarterly, SAGE Journals, v. 77, n. 1, p. 71-79.
Stroele, V., Silva, R., Souza, M.F., Mello, C. E., Souza, J. M., Zimbrao, G., Oliveira, J.
(2011), Identifying Workgroups in Brazilian Scientific Social Networks, Journal of
Universal Computer Science, v. 17, p. 1951-1970.
Studart, R. M.; Oliveira, J.; Faria, F.F.; Ventura, L.V.F.; Souza, J. M.; Campos, M.L.M.
(2011), Using social networks analysis for collaboration and team formation
identification, Proceedings of XV International Conference on Computer Supported
Cooperative Work in Design, IEEE, p. 562-569.
Svenson, P., Svensson, P., Tullberg, H. (2006), Social Network Analysis And
Information Fusion For Anti-Terrorism, Proceedings of Conference on Civil and
Military Readiness, Paper S3.1.
Lovett, T., ONeill, E., Irwin, J., Pollington, D. (2010). The calendar as a sensor: analysis
and improvement using data fusion with social networks and location Proceedings of
XXII International Conference on Ubiquitous Computing, ACM, p. 312.
Tan, W., Blake, M. B., Saleh, I., Dustdar, S. (2013), Social-Network-Sourced Big Data
Analytics. Internet Computing. IEEE Computer Society, v. 17, n. 5, p. 62-69.
Taskar, B., Abbeel, P., Koller, D. (2002), Discriminative probabilistic models for
relational data, Proceedings of the Eighteenth conference on Uncertainty in artificial
intelligence, p. 485-492
43
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
44
T
opicos em Gerenciamento de Dados e Informac
oes 2014 SBC, 1a ed. ISBN 978-85-7669-290-4
Sobre os Autores
Tiago Cruz Frana professor assistente da Universidade Federal Rural do Rio de Janeiro
(UFRRJ) e aluno de doutorado no Programa de Ps-Graduao em Informtica, onde desenvolve
pesquisas nas reas de anlise de redes sociais e big data. Tem interesse em tecnologias Web,
Engenharia de Software e Anlise de Redes Sociais. Nos ltimos anos, Tiago tem atuado nos
seguintes temas: Servios Web, Mashups Web, Web das Coisas, Anlise de Sentimentos, Fuso
de Dados Web e dados oriundos de dispositivos inteligentes.
45