Você está na página 1de 40

Capítulo

2

Explorando Redes Sociais Online: Da Coleta e Análise de Grandes Bases de Dados às Aplicações

Fabrício Benevenuto, Jussara M. Almeida e Altigran S. Silva

Resumo

Redes sociais online têm se tornado extremamente populares, levando ao surgimento e à crescente popularização de uma nova onda de aplicações na Web. Associado a esse cres- cimento, redes sociais estão se tornando um tema central de pesquisas em diversas áreas da Ciência da Computação. Este mini-curso oferece uma introdução ao pesquisador que pretende explorar esse tema. Inicialmente, apresentamos as principais característi- cas das redes sociais mais populares atualmente. Em seguida, discutimos as principais métricas e análises utilizadas no estudo dos grafos que formam a topologia das redes sociais. Finalmente, sumarizamos as principais abordagens para coleta e tratamento de dados de redes sociais online e discutimos trabalhos recentes que ilustram o uso de tais técnicas.

Abstract

Online social networks have become extremely popular, causing the deployment and in- creasing popularity of a new wave of applications on the Web. Associated with this popu- larity growth, online social networks are becoming a key theme in several research areas. This short course offers an introduction to the researcher who aims at exploring this theme. Initially, we present the main characteristics of current online social network ap- plications. Then, we discuss the main metrics and analyses employed to study the graphs that represent the social network topologies. Finally, we summarize the main approaches used to collect and process online social network datasets, and discuss recent work that illustrates the use of such approaches.

2.1. Introdução

Desde seu início, a Internet tem sido palco de uma série de novas aplicações, in- cluindo email, aplicações par-a-par, aplicações de comércio eletrônico assim como vários serviços Web. Atualmente, a Web vem experimentando uma nova onda de aplicações associada à proliferação das redes sociais online e ao crescimento da popularidade da mídia digital. Várias redes sociais online (OSNs - Online Social Networks ) surgiram, in- cluindo redes de profissionais (ex., LinkedIn), redes de amigos (ex., MySpace, Facebook, Orkut), e redes para o compartilhamento de conteúdos específicos tais como mensagens curtas (ex., Twitter), diários e blogs (ex., LiveJournal), fotos (ex., Flickr), e vídeos (ex., YouTube).

Redes sociais online têm atraído milhões de usuários. De acordo com a Nielsen Online [99], mídia social, termo usado em referência a conteúdo criado e disseminado via interações sociais, passou na frente de email como a atividade online mais popular. Mais de dois terços da população online global visita ou participa de redes sociais e blogs. Como comparação, se o Facebook fosse um país, este seria o terceiro país mais populoso do mundo, graças aos seus 500 milhões de usuários registrados [5]. Tanta popularidade está associada a uma funcionalidade comum de todas as redes sociais online que é permitir que usuários criem e compartilhem conteúdo nesses ambientes. Este conteúdo pode variar de simples mensagens de texto comunicando eventos do dia-a-dia até mesmo a conteúdo multimídia, como fotos e vídeos. Como conseqüência, as estatísticas sobre conteúdo ge- rado pelos usuários nesses sítios Web são impressionantes. Por exemplo, o Facebook compartilha mais de 60 bilhões de fotos, que ocupam mais de 1.5 PB de espaço [10]. A quantidade de conteúdo que o YouTube armazena em 60 dias seria equivalente ao con- teúdo televisionado em 60 anos, sem interrupção, pelas emissoras norte-americanas NBC, CBS e ABC juntas [12]. De fato, o YouTube foi acessado por mais de 100 milhões de usuários apenas em Janeiro de 2009 [1], com uma taxa de upload de 10 horas de vídeo por minuto [14].

Apesar de tanta popularidade e da enorme quantidade de conteúdo disponível, o estudo de redes sociais ainda está em sua infância, já que esses ambientes estão experi- mentando novas tendências e enfrentando diversos novos problemas e desafios. A seguir sumarizamos alguns elementos motivadores para o estudo de redes sociais online.

Comercial: Com usuários passando muito tempo navegando em redes sociais on- line, esses sítios Web têm se tornado um grande alvo para propagandas. De fato, em 2007, 1,2 bilhões de dólares foram gastos em propagandas em redes sociais on- line no mundo todo, e é esperado que este número triplique até 2011 [21]. Além disso, usuários de redes sociais online compartilham e recebem uma grande quan- tidade de informação, influenciando e sendo influenciados por seus amigos [40]. Conseqüentemente, redes sociais online estão se tornando cada vez mais um alvo de campanhas políticas [59] e de diversas outras formas de marketing viral, onde usuários são encorajados a compartilhar anúncios sobre marcas e produtos com seus amigos [78].

Sociológica: No passado o estudo de redes sociais era um domínio de sociólo- gos e antropólogos, que utilizavam, como ferramentas típicas para se obter dados,

entrevistas e pesquisas com usuários voluntários [113]. Como conseqüência, mui- tos desses estudos foram realizados com base em amostras de dados pequenas e possivelmente pouco representativas. Com a popularização de aplicações de redes sociais online, surgiu a oportunidade de estudos nesse tema com o uso de grandes bases de dados, coletadas de tais aplicações. Sistemas como Facebook, Twitter, Orkut, MySpace e YouTube possuem milhões de usuários registrados e bilhões de elos que os conectam. Redes sociais online permitem o registro em larga escala de diversos aspectos da natureza humana relacionados à comunicação, à interação entre as pessoas e ao comportamento humano, em geral: elas permitem que as pes- soas interajam mais, mantenham contato com amigos e conhecidos e se expressem e sejam ouvidas por uma audiência local ou até mesmo global. De fato, redes so- ciais online vêm funcionando como um novo meio de comunicação, modificando aspectos de nossas vidas.

Melhorias dos sistemas atuais: Assim como qualquer sistema Web, redes sociais online são vulneráveis a novas tendências e estão sujeitas a experimentarem uma rápida transferência de seus usuários para outros sistema, sem aviso prévio. Por exemplo, inicialmente o MySpace experimentou um crescimento exponencial no número de usuários. Entretanto, este crescimento foi seguido por uma forte queda depois de abril de 2008 devido a um aumento no número de usuários do Facebook [108]. Um outro exemplo é o Orkut, que inicialmente cresceu muito rapidamente em diversos lugares, mas que teve sua popularidade concretizada somente em alguns países. Dentre esses países, o Brasil é o com maior número de usuários registrados [11]. Várias razões podem explicar este tipo de fenômeno, incluindo a interface e novas utilidades do sistema, problemas de desempenho e características dos usuários, etc. Finalmente, o grande volume de dados disponíveis em diferentes redes sociais online abre um novo leque de opções para pesquisas relacionadas à recuperação de conteúdo, onde estratégias de busca e recomendação de usuários e conteúdo são cada vez mais importantes.

Outro aspecto importante está relacionado ao tráfego gerado pelas redes sociais online. Intuitivamente, existe uma diferença crucial entre publicar conteúdo na Web tradicional e compartilhar conteúdo através de redes sociais online. Quando as pessoas publicam algum conteúdo na Web, elas tipicamente fazem isso para que todos os usuários da Internet, em qualquer lugar, possam acessar. Por outro lado, quando usuários publicam conteúdo em redes sociais online, eles geralmente possuem uma audiência em mente, geralmente, seus amigos. Algumas vezes, a audiência é explicitamente definida por um usuário ou pela política do sistema. Conseqüentemente, redes sociais online constituem uma classe única de aplicações com potencial para remodelar os padrões de tráfego na Internet. Estudar aspectos de sistemas relacionados a redes sociais pode ser de grande importância para a próxima geração da infra-estrutura da Internet e para o projeto de sistemas de distribuição de conteúdo mais eficientes, eficazes e robustos [71, 102].

Segurança e conteúdo indesejável : Redes sociais online estão cada vez mais se tornando alvo de usuários maliciosos ou oportunistas que enviam propagandas não

solicitadas, spam, e até mesmo phishing. O problema se manifesta de diversas ma- neiras, tais como a inclusão de vídeos contendo spams em listas de vídeos mais populares [29, 26], o envio de spam no Twitter [24], a inclusão de metadados (par- ticularmente tags) que não descrevem adequadamente o conteúdo associado (p.ex:

tag spamming) [27], etc. Conteúdo não solicitado consome a atenção humana, tal- vez o recurso mais importante na era da informação. Em última instância, o ruído e o distúrbio causados por alguns usuários reduzem a efetividade da comunicação online.

Redes sociais online são ambientes perfeitos para o estudo de vários temas da computação, incluindo sistemas distribuídos, padrões de tráfego na Internet, mineração de dados, sistemas multimídia e interação humano-computador. Além disso, por per- mitir que usuários criem conteúdo, redes sociais vêm se tornando um tema chave em pesquisas relacionadas à organização e tratamento de grandes quantidades de dados, além de constituírem um ambiente ideal para extração de conhecimento e aplicação de técni- cas de mineração de dados. Neste mini-curso apresentamos uma visão geral sobre redes sociais, oferecendo uma base necessária ao pesquisador que pretende explorar o tema. Inicialmente, apresentamos as principais características das redes sociais mais populares atualmente. Em seguida, discutimos as principais métricas e análises utilizadas no estudo dos grafos que formam a topologia das redes sociais. Finalmente, sumarizamos as princi- pais abordagens utilizadas para coletar e tratar dados de redes sociais online e discutimos trabalhos recentes que utilizaram essas técnicas.

2.2. Definições e Características de Redes Sociais Online

Esta seção apresenta uma visão geral sobre as redes sociais online, suas principais características e mecanismos de interação entre os usuários.

2.2.1. Definição

O termo rede social online é geralmente utilizado para descrever um grupo de pessoas que interagem primariamente através de qualquer mídia de comunicação. Con- seqüentemente, baseado nessa definição, redes sociais online existem desde a criação da Internet. Entretanto, neste trabalho, nós utilizaremos uma definição um pouco mais res- trita, adotada em trabalhos anteriores [35, 85]. Nós definimos uma rede social online como um serviço Web que permite a um indivíduo (1) construir perfis públicos ou semi- públicos dentro de um sistema, (2) articular uma lista de outros usuários com os quais ele(a) compartilha conexões e (3) visualizar e percorrer suas listas de conexões assim como outras listas criadas por outros usuários do sistema.

Com base nessa definição, existem várias redes sociais online disponíveis na Web, que variam de acordo com seus objetivos primários. A Tabela 2.1 apresenta uma lista com várias redes sociais online populares atualmente, juntamente com seus principais propósitos. Uma lista atualizada e exaustiva de redes sociais online, com mais de 150 sítios Web, pode ser encontrada em [8].

Nome

Propósito

URL

Orkut

Amizades

http://www.orkut.com

Facebook

Amizades

http://www.facebook.com

MySpace

Amizades

http://www.myspace.com

Hi5

Amizades

http://www.hi5.com

LinkedIn

Professionais

http://www.linkedin.com

YouTube

Compartilhamento de vídeos

http://www.youtube.com

Flickr

Compartilhamento de fotos

http://www.flickr.com

LiveJournal

Blogs e diários

http://www.livejournal.com

Digg

Compartilhamento de (bookmarks)

http://digg.com

Twitter

Troca de mensagens curtas

http://twitter.com

LastFM

Compartilhamento de rádio/músicas

http://www.last.fm

Tabela 2.1. Algumas Redes Sociais Online Populares

2.2.2. Elementos das Redes Sociais Online

Nesta seção, discutimos várias funcionalidades oferecidas pelas principais aplica- ções de redes sociais online atuais. O objetivo desta seção não é prover uma lista completa e exaustiva de funcionalidades, mas apenas descrever as mais relevantes.

Perfis dos usuários: Redes sociais online possuem muitas funcionalidades organi-

zadas ao redor do perfil do usuário, na forma de uma página individual, que oferece

a descrição de um membro. Perfis podem ser utilizados não só para identificar o

indivíduo no sistema, mas também para identificar pessoas com interesses em co- mum e articular novas relações. Tipicamente, perfis contêm detalhes demográficos

(idade, sexo, localização, etc.), interesses (passatempos, bandas favoritas, etc.), e uma foto. Além da adição de texto, imagens e outros objetos criados pelo usuário,

o

perfil de um usuário na rede social também contém mensagens de outros membros

e

listas de pessoas identificadas como seus amigos na rede. Perfis são geralmente

acessíveis por qualquer um que tenha uma conta na rede social online ou podem ser privados, de acordo com as políticas de privacidades definidas pelo usuário.

Recentemente, Boyd e colaboradores [34] mostraram que, para a maior parte dos usuários de redes sociais online, existe uma forte relação entre a identidade do indivíduo real e seu perfil na rede social.

Atualizações: Atualizações são formas efetivas de ajudar usuários a descobrir con- teúdo. Para encorajar usuários a compartilhar conteúdo e navegar por conteúdo compartilhado por amigos, redes sociais online geralmente fazem as atualizações imediatamente visíveis aos amigos na rede social. Burke e colaboradores [39] con- duziram um estudo utilizando dados de 140,000 novos usuários do Facebook para determinar que atividades como atualizações são vitais para que novos usuários contribuam para o sistema. Como atualizações podem receber comentários de ou- tros usuários, elas também são formas especiais de comunicação em redes sociais online.

Comentários: A maior parte das aplicações de redes sociais online permite que usuários comentem o conteúdo compartilhado por outros. Alguns sistemas também permitem que usuários adicionem comentários nos perfis de outros usuários. Co- mentários são um meio primordial de comunicação em redes sociais online, e tam- bém podem ser interpretados como expressão de relações sociais [19, 47]. Como exemplo, usuários do YouTube podem comentar os vídeos armazenados por outros no sistema, enquanto que tanto no Facebook quanto no Orkut, usuários podem adi- cionar comentários às fotos de outros. Da mesma forma, usuários do LiveJournal podem postar comentários em blogs, etc.

Avaliações: Em muitas redes sociais online, o conteúdo compartilhado por um usuário pode ser avaliado por outros usuários. Avaliações podem aparecer em di- ferentes níveis de granularidade e formas. No Facebook, por exemplo, usuários podem apenas gostar de uma postagem, clicando no botão “I like this”. De fato, estatísticas recentes indicam que cada usuário do Facebook avalia, em média, 9 ob- jetos por mês [5]. Ja no YouTube, vídeos podem ser avaliados com até 5 estrelas, de forma similar à avaliação empregada na categorização de hotéis. O YouTube ainda provê uma avaliação binária (positiva ou negativa) para os comentários recebidos por vídeos, na tentativa de filtrar comentários ofensivos ou contendo alguma forma de spam.

Avaliações de conteúdo são úteis de várias formas. Como exemplo, elas ajudam usuários de sistemas como o YouTube a encontrar e identificar conteúdo relevante. Avaliações podem ainda ajudar administradores a identificar conteúdo de baixa qua- lidade ou mesmo conteúdo inapropriado. Além disso, avaliações podem ser utiliza- das para identificar conteúdo em destaque, para suportar sistemas de recomendação, etc. Uma rede social online que coloca as avaliações dos usuários no centro do sis- tema é o Digg. O Digg permite que usuários avaliem URLs, notícias ou estórias e utiliza aquelas mais votadas para expor o conteúdo mais popular [77].

Listas de Favoritos: Várias aplicações sociais utilizam listas de favoritos para per- mitir que usuários selecionem e organizem seu conteúdo. Listas de favoritos ajudam usuários a gerenciar seu próprio conteúdo e podem ser úteis para recomendações so- ciais. Como exemplo, usuários podem manter listas de vídeos favoritos no YouTube

e de fotos favoritas no Flickr. Nesses sistemas, usuários podem navegar na lista de

favoritos de outros usuários para buscar novos conteúdos [42]. Conseqüentemente, listas de favoritos também facilitam a descoberta de conteúdo e a propagação de in-

formação. Sistemas como o Orkut e o Twitter também provêem listas de favoritos (fãs).

Listas de Mais Populares ( Top Lists ): Tipicamente, redes sociais online que têm

o compartilhamento de conteúdo como elemento central do sistema, como o You-

Tube que é centrado no compartilhamento de vídeos, provêem listas de conteúdo mais popular ou usuários mais populares. Geralmente, essas listas são baseadas em avaliações ou outras estatísticas do sistema relativas ao conteúdo (ex: número de visualizações, avaliações, ou comentários) ou relativas aos usuários (ex: número de assinantes).

Metadados: Em várias aplicações de redes sociais online, tais como o YouTube e o Flickr, usuários tipicamente associam metadados, como título, descrição e tags, ao conteúdo compartilhado. Metadados são essenciais para recuperação de conteúdo em redes sociais online, uma vez que grande parte dos serviços de informação (p.ex:

busca, organização de conteúdo, recomendação, propaganda) ainda utilizam os me- tadados (particularmente as tags) como principal fonte de dados [33].

2.3. Teoria de Redes Complexas

da área de redes complexa Redes sociais online são inerentemente redes comple- xas. Consequentemente, vários estudos recentes analisaram as características de diferen- tes redes sociais online utilizando como base teorias existentes da área de redes com- plexas [15, 87, 50, 72, 79, 23, 28]. De fato, o estudo de redes complexas cobre um grande número de áreas e sua teoria tem sido utilizada como ferramenta para entender vários fenômenos, incluindo o espalhamento de epidemias [88], propagação de informa- ção [115], busca na Web [38], e consequências de ataques a redes de computadores [17].

A

seguir, várias propriedades estatísticas e métricas comumente utilizadas para analizar

e

classificar rede complexas são apresentadas na seção 2.3.1. As seções 2.3.2 e 2.3.3

discutem propriedades específicas comumente associadas a várias redes complexas, a sa- ber, redes small-world e redes power-law, respectivamente. Uma revisão detalhada sobre

métricas e teoria de redes complexas pode ser encontrada na referência [93].

2.3.1. Métricas para o Estudo de Redes Complexas

Uma rede é um conjunto de elementos, que chamamos de vértices ou nodos, com conexões entre eles, chamadas de arestas. A estrutura topológica de uma rede pode ser então modelada por um grafo, que, por sua vez, pode ser caracterizado a partir de diversas métricas, discutidas a seguir. Assume-se que o leitor tenha um conhecimento sobre a terminologia utilizada em teoria de grafos.

2.3.1.1. Grau dos Vértices

Uma característica importante da estrutura de uma rede é a distribuição dos graus de seus vértices. Tal distribuição já foi caraterizada em várias redes (ex: redes de

emails[64], a topologia da Internet [56], a Web [22], e redes neurais [36]) como seguindo uma lei de potência. Em outras palavras, a probabilidade de um nodo ter grau k é pro- porcional a k α , Consequentemente, uma métrica comumente utilizada para comparar diferentes redes é o expoente α , obtido através de uma regressão linear. Valores típicos para o expoente α ficam entre 1.0 e 3.5 [54]. Para redes direcionadas, é comum analisar

as

distribuições doso grau dos nodos em ambas as direções, isto é, a distribuição do grau

de

entrada e a distribuição do grau de saída.

Como exemplo, a Figura 2.1 mostra as distribuições dos graus de entrada (es-

querda) e de saída (direita) para um grafo formado a partir das interações entre usuários

de vídeos do YouTube [23, 28]. Note que a curva da regressão linear, utilizada para se cal-

cular o expoente α , também é exibida nesses gráficos. Ferramentas como o Gnuplot [6] e

o Matlab [9] podem ser utilizados para realizar a regressão e calcular o valor de α . Para

5 10 α = 2.096 fit, R 2 = 0.987 4 10 3 10 2
5
10
α = 2.096 fit, R 2 = 0.987
4
10
3
10
2
10
1
10
0
10
10 0
10 1
10 2
10 3
10 4
# de nodos

Grau de entrada

6 10 α = 2.759 fit, R 2 = 0.987 5 10 4 10 3
6
10
α = 2.759 fit, R 2 = 0.987
5
10
4
10
3
10
2
10
1
10
0
10
0
10
10 1
10 2
10 3
# de nodos

Grau de saida

Figura 2.1. Distribuições dos Grau sde Entrada e de Saída em um Grafo de Inte- rações entre Usuários através de Vídeos do YouTube

verificar a acurácia da regressão, é comum medir o coeficiente de determinação R 2 [109]. Quanto mais próximo o valor de R 2 for de 1 (regressão perfeita), menor será a diferença entre o modelo de regressão e os dados reais.

2.3.1.2. Coeficiente de Agrupamento

O coeficiente de agrupamento ( clustering coefficient) de um nodo i, cc(i), é a razão entre o número de arestas existentes entre os vizinhos de i e o número máximo de arestas possíveis entre estes vizinhos. Como exemplo, a Figura 2.2 mostra o valor do coeficiente de agrupamento para o nodo escuro em três cenários diferentes 1 . No primeiro, todos os vizinhos do nodo estão conectados entre si e, conseqüentemente, o cc do nodo é 1. No segundo cenário, existe apenas 1 aresta entre os vizinhos do nodo dentre as 3 possíveis, deixando o nodo com cc = 1 / 3 . No último cenário, não há nenhuma aresta entre os vizinhos do nodo escuro e, portanto, o cc do nodo é 0.

os vizinhos do nodo escuro e, portanto, o cc do nodo é 0. Figura 2.2. Cálculo

Figura 2.2. Cálculo do Coeficiente de Agrupamento de um Nodo em Três Cená- rios Diferentes

Podemos notar que o coeficiente de agrupamento representa uma medida da densi- dade de arestas estabelecidas entre os vizinhos de um nodo. O coeficiente de agrupamento

1 Arestas tracejadas não existem e apenas ilustram as possíveis conexões entre os vizinhos do nodo escuro.

de uma rede, CC , é calculado como a média dos coeficiente de agrupamento de todos os seus nodos.

2.3.1.3. Componentes

Um componente em um grafo é um conjunto de nodos, onde cada nodo possui um caminho para todos os outros nodos do conjunto. Para grafos direcionados, um com- ponente é chamado de fortemente conectado (SCC - Strongly Connected Component ) quando existe um caminho direcionado entre cada par de nodos do conjunto. Um com- ponente é fracamente conectado (WCC - Weakly Connected Component ) se o caminho é não direcionado.

Um trabalho que se tornou referência no estudo de componentes em redes com- plexas aborda a estrutura da Web representada por um grafo em que nodos são páginas Web e arestas são elos existentes entre as páginas [38]. Os autores propõem um mo- delo que representa como os componentes no grafo da Web se relacionam. Este modelo, aplicado somente em grafos direcionados, possui um componente central que é o SCC, chamado também de core, e outros grupos de componentes que podem alcançar o SCC ou serem alcançados por ele. O modelo ficou conhecido como bow tie [38], pois a figura que ilustrada o modelo lembra uma gravata borboleta.

figura que ilustrada o modelo lembra uma gravata borboleta. (a) Web (b) Fórum de Java (c)

(a) Web

que ilustrada o modelo lembra uma gravata borboleta. (a) Web (b) Fórum de Java (c) Interações

(b) Fórum de Java

lembra uma gravata borboleta. (a) Web (b) Fórum de Java (c) Interações com vídeo Figura 2.3.

(c) Interações com vídeo

Figura 2.3. Estrutura dos Componentes da Web [38], do Fórum de Java [118] e do Grafo de Interações de Usuários do YouTube [28]

Este modelo tem sido utilizado por outros estudos como forma de comparar a or- ganização dos componentes de um grafo direcionado [118, 28]. A Figura 2.3, por exem- plo, ilustra o uso do modelo bow tie para comparar a estrutura dos componentes de três

redes diferentes, a saber, a rede Web, uma rede formada pelas conexões estabelecidas em um Fórum de Java e a rede estabelecidas entre usuários do YouTube. O componente cen- tral, core, das figuras corresponde à fração dos nodos do grafo que fazem parte do SCC. O componente in contém os nodos que apontam para algum nodo do core, mas não são apontados por nodos desse componente. Finalmente, o componente out corresponde aos nodos que são apontados por nodos do core. Note que há diferenças estruturais significa- tivas entre as 3 redes: a rede Web é muito mais balanceada, em termos do tamanho dos componentes, enquanto que, para as outras duas, o componente in contém um percentual muito maior dos nodos.

2.3.1.4. Distância Média e Diâmetro

A distância média de um grafo é o número médio de arestas em todos todos os caminhos mínimos existentes entre todos os pares de nodos do grafo. Normalmente, a distância média é computada apenas no SCC para grafos direcionados ou no WCC para grafos não direcionados, já que não existe caminho entre nodos localizados em compo- nentes diferentes. Outra métrica relacionada é o diâmetro do grafo. O diâmetro é definido como a distância do maior caminho mínimo existente no grafo e, em geral, é também computado somente para nodos do WCC ou do SCC.

2.3.1.5. Assortatividade

De acordo com Newman [92], assortatividade é uma medida típica de redes soci- ais. Uma rede exibe propriedades assortativas quando nodos com muitas conexões tendem a se conectar a outros nodos com muitas conexões. Para caracterizar a assortatividade de uma rede, medimos o grau médio de todos os vizinhos dos nodos com grau k , dado por knn(k ). A assortatividade ou disassortatividade de uma rede é geralmente estimada ava- liando os valores de knn(k ) em função de k . Valores crescentes indicam assortatividade, isto é, nodos com graus maiores tendem a se conectar a nodos com um número maior de conexões. Valores decrescentes de knn(k ) em função de k , por sua vez, indicam uma rede disassortativa.

2.3.1.6. Betweenness

Betweeness é uma medida relacionada à centralidade dos nodos ou de arestas na rede. O betweeness B (e) de uma aresta e é definido como o número de caminhos mínimos entre todos os pares de nodos em um grafo que passam por e [95]. Se existem múltiplos caminhos mínimos entre um par de nodos, cada caminho recebe um peso de forma que a soma dos pesos de todos os caminhos seja 1. Conseqüentemente, o betweenness de uma aresta e pode ser expressado como:

B(e) =

u V,vV

σ e (u , v )

σ(u , v)

(1)

onde σ (u , v) representa o número de caminhos mínimos entre u e v, e σ e (u , v) representa o número de caminhos mínimos entre u e v que incluem e. O betweenness de uma aresta indica a importância dessa aresta no grafo em termos de sua localização. Arestas com maior betweenness fazem parte de um número maior de caminhos mínimos e, portanto, são mais importantes para a estrutura do grafo.

De forma similar, o betweenness pode ser computado para um nodo ao invés de uma aresta. Neste caso, a medida do betweenness mede o número de caminhos mínimos que passam pelo dado nodo. Nodos que possuem muitos caminhos mínimos que passam por eles possuem maior betweenness, indicando uma maior importância para a estrutura da rede.

2.3.1.7. Reciprocidade

Uma forma interessante de se observar a reciprocidade de um nodo i em um grafo direcionado é medindo a porcentagem dos nodos apontados por i que apontam para ele. Em outras palavras, a reciprocidade (R(i)) é dada por:

R(i) = |O(i)I (i)| |O(i)|

(2)

onde O(i) é o conjunto de nodos apontados por i e I (i) é o conjunto de nodos que apontam para i.

Outra métrica interessante de ser observada é o coeficiente de reciprocidade ρ , uma métrica que captura a reciprocidade das interações em toda a rede [60]. O coeficiente de reciprocidade ρ é definido pelo coeficiente de correlação entre entidades da matriz de adjacência representativa do grafo direcionado. Em outras palavras, seja a matriz a definida como a i j = 1 se há uma aresta de i para j no grafo, e a i j = 0, caso contrário. Definimos a reciprocidade da rede ρ como :

= j (a i j a¯ )(a ji a¯ ) ρ = i

= j (a i j a¯ ) 2

i

,

(3)

onde o valor médio a¯ = i = j a i j / N (N 1 ) e N é o número de usuários no grafo. O coeficiente de reciprocidade indica se o número de arestas recíprocas na rede é maior ou menor do que o de uma rede aleatória. Se o valor ρ é maior do que 0, a rede é recíproca; caso contrário, ela é anti-recíproca.

2.3.1.8. PageRank

O PageRank é um algoritmo interativo que assinala um peso numérico para cada nodo com o propósito de estimar sua importância relativa no grafo. O algoritmo foi ini- cialmente proposto por Brin and Page [37] para ordenar resultados de busca do protótipo de máquina de busca da Google. A intuição por trás do PageRank é que uma página Web

é importante se existem muitas páginas apontando para ela ou se existem páginas impor-

tantes apontando para ela. A equação que calcula o PageRank (PR) de um nodo i, PR(i),

é definida da seguinte forma:

PR(i) = (1 d ) + d

vS (i)

PR(v )

N v

(4)

onde S (i) é o conjunto de páginas que apontam para i, N v denomina o número de arestas que saem do nodo v, e o parâmetro d é um fator que pode ter valor entre 0 e 1.

O algoritmo do PageRank tem sido aplicado em outros contextos, como por exem-

plo, para encontrar usuários experientes em fóruns especializados [118] e usuários influ- entes no Twitter [116, 73]. Além disso, existem outras modificações do PageRank com propósitos específicos, como por exemplo, a detecção de spam na Web [66].

2.3.2. Redes Small-World

O conceito de redes small-world ficou bastante conhecido com o famoso experi-

mento de Milgram [84]. Este experimento consistiu de um grupo de voluntários tentando enviar uma carta para uma pessoa alvo através de outras pessoas que eles conheciam. Milgram enviou cartas a várias pessoas. As cartas explicavam que ele estava tentando atingir uma pessoa específica em uma cidade dos EUA e que o destinatário deveria re- passar a carta para alguém que ele achasse que poderia levar a carta o mais próximo do seu destino final, ou entregá-la diretamente, caso o destinatário final fosse uma pessoa conhecida. Antes de enviar a carta, entretanto, o remetente adicionava seu nome ao fim da carta, para que Milgram pudesse registrar o caminho percorrido pela carta. Das cartas que chegaram com sucesso ao destino final, o número médio de passos requerido para o alvo foi 6, resultado que ficou conhecido como o princípio dos seis graus de separação.

Em termos das propriedades das redes sociais que discutimos, uma rede pode ser considerada small-world se ela tiver duas propriedades básicas: coeficiente de agrupa- mento alto e diâmetro pequeno [114]. Estas propriedades foram verificadas em várias redes como a Web [18, 38], redes de colaboração científica [91, 94] em que pesquisado- res são nodos e arestas ligam co-autores de artigos, redes de atores de filmes [20] em que atores são nodos e arestas ligam atores que participaram do mesmo filme, e redes sociais online [15, 87, 50, 79, 23, 28]. Em particular, Mislove e colaboradores [87] verificaram propriedades small-world em quatro redes sociais online: LiveJournal, Flickr, Orkut, e YouTube.

2.3.3. Redes Power-Law e Livres de Escala

Redes cujas distribuições dos graus dos nodos seguem uma lei de potência (Seção 2.3.1.1) são ditas redes power-law. Redes livres de escala ( scale free ) são uma classe de redes que seguem leis de potência caracterizadas pela seguinte propriedade: nodos de grau alto tendem a se conectar a outros nodos de grau alto. Barabási e colaboradores [22] propuseram um modelo para gerar redes livre de escala, introduzindo o conceito de co- nexão preferencial (preferential attachment ). O modelo diz que a probabilidade de um nodo se conectar a outro nodo é proporcional ao seu grau. Os autores do modelo ainda

mostraram que, sob certas circunstâncias, este modelo produz redes que seguem leis de potência. Mais recentemente, Li e colaboradores [80] criaram uma métrica para medir se uma rede é livre de escala ou não, além de prover uma longa discussão sobre o tema.

2.4. Técnicas de Coleta de Dados

Em um passado recente, redes sociais eram um domínio de sociólogos e antro- pólogos, que utilizavam pesquisas e entrevistas com pequenos grupos de usuários como ferramentas de coleta de dados [113]. Com o surgimento das redes sociais online, a ob- tenção de dados reais em larga escala se tornou possível, e pesquisadores de diversas áreas da computação começaram a realizar coletas de dados.

Diferentes áreas de pesquisa demandam diferentes tipos de dados e, por isso, exis- tem várias formas de se obter dados de redes sociais online. A Figura 2.4 apresenta possíveis pontos de coleta de dados, que variam desde entrevistas com os usuários até à instalação de coletores localizados em servidores proxy ou em aplicações. A seguir discutimos essas diferentes abordagens, bem como trabalhos que ilustram o uso dessas estratégias.

2.4.1. Dados dos Usuários

o uso dessas estratégias. 2.4.1. Dados dos Usuários Figura 2.4. Possíveis Pontos de Coleta de Dados

Figura 2.4. Possíveis Pontos de Coleta de Dados

Um método comum de se analisar o uso de redes sociais online consiste em con- duzir entrevistas com usuários desses sistemas. Em particular, esta estratégia tem sido bastante empregada pela comunidade da área de interface homem-máquina [107, 69, 43, 32, 97], para a qual entrevistas estruturadas são as formas mais populares de obtenção de dados.

Como exemplo, através de entrevistas com usuários do Facebook, Joinson e seus colaboradores [69] identificaram várias razões pelas quais usuários utilizam o sistema, tais como conexão social, compartilhamento de interesses, compartilhamento e recuperação de conteúdo, navegação na rede social e atualização do seu estado atual. Chapman e Lahav [43] conduziram entrevistas e analisaram os padrões de navegação de 36 usuários de quatro nacionalidades diferentes para examinar diferenças etnográficas no uso de redes sociais online.

2.4.2.

Dados de Pontos Intermediários

Existem duas técnicas comuns utilizadas para coletar dados de pontos de agre- gação de tráfego na rede. A primeira consiste em coletar os dados que passam por um provedor de serviços Internet (ISP) e filtrar as requisições que correspondem a acessos às rede sociais online. A segunda consiste em coletar dados diretamente de um agregador de redes sociais. A seguir, discutimos alguns trabalhos que fizeram o uso dessas estratégias.

2.4.2.1. Servidores Proxy

o uso dessas estratégias. 2.4.2.1. Servidores Proxy Figura 2.5. Exemplo de um Servidor Proxy Intermediando o

Figura 2.5. Exemplo de um Servidor Proxy Intermediando o Tráfego entre Clien- tes e Servidores

Coletar dados de um servidor proxy tem sido uma estratégia utilizada em vários estudos sobre o tráfego da Internet [52, 65, 82, 117]. A Figura 2.5 ilustra como um servidor proxy funciona como um agregador de tráfego de seus clientes, podendo ser utilizados para delimitar uma porção da rede, composta por computadores em uma mesma localização geográficas.

Dado o crescente interesse por vídeos na Web, alguns trabalhos recentes utilizaram servidores proxy para obter dados do tráfego gerado por sistemas de compartilhamento de vídeos, como o YouTube. Gill e colaboradores [61] caracterizaram o tráfego do YouTube coletando dados de um servidor proxy localizado na universidade de Calgary, no Canadá. Eles mostraram que requisições de HTTP GET, utilizadas para fazer o download de con- teúdo do YouTube, correspondem a 99.87% do total das requisições que passam pelo servidor proxy. Eles ainda caracterizaram diversas métricas relacionadas a estas requisi- ções tais como a duração, a idade e a categoria dos vídeos. Mais recentemente, os mesmos autores caracterizam sessões de usuários no YouTube [62]. Eles mostraram que uma ses- são típica dura cerca de 40 minutos, caracterizando também o tempo entre sessões e os tipos de conteúdo transferidos em cada sessão. Finalmente, Zink e colaboradores [119] também estudaram o tráfego de vídeos do YouTube coletado no servidor proxy de uma universidade. Eles também analisaram, via simulação, os benefícios da adoção de abor- dagens de caches locais e globais para vídeos bem como do uso de arquiteturas P2P para

distribuição de vídeos. De maneira geral, eles mostraram que essas abordagens poderiam reduzir significativamente o volume de tráfego, permitindo acesso aos vídeos de forma mais rápida.

Em um trabalho recente, Schneider e colaboradores [105] extraíram dados de re- des sociais online de um provedor de acesso a Internet e reconstruíram ações realizadas pelos usuários em suas navegações por diferentes redes sociais online. Em outras pa- lavras, eles criaram o que foi chamado de clickstream [44] para redes sociais online, capturando cada passo da navegação dos usuários do ISP. Eles discutiram amplamente a metodologia de reconstrução dos acessos dos usuários e, com base nesses dados, anali- saram as seqüências de requisições realizadas pelos usuários vários sistemas, incluindo o Facebook.

2.4.2.2. Agregadores de Redes Sociais

Agregadores de redes sociais são sistemas que permitem acesso a várias redes sociais simultaneamente, através de um portal único. Esses sistemas ajudam usuários que utilizam várias redes sociais online a gerenciar seus perfis de uma forma mais simples e unificada [70, 106]. Ao se conectarem a um agregador de redes sociais online, usuários podem acessar suas contas através de uma interface única, sem precisar se conectar em cada rede social separadamente. Isto é feito através de uma conexão HTTP em tempo real realizada em duas etapas: a primeira etapa ocorre entre o usuário e o agregador de redes sociais, enquanto a segunda etapa ocorre entre o sistema agregador e as redes sociais. Agregadores tipicamente comunicam com redes sociais online através de APIs, como o OpenSocial [7], e todo o conteúdo é exibido através da interface do sistema agregador. A Figura 2.6 descreve o esquema de interação entre os usuários, um sistema agregador e algumas redes sociais online. Através dessa interface, um usuário pode utilizar várias funcionalidades de cada rede social que ele está conectado, tais como checar atualizações de amigos, enviar mensagens e compartilhar fotos.

de amigos, enviar mensagens e compartilhar fotos. Figura 2.6. Ilustração de um Usuário se Conectando a

Figura 2.6. Ilustração de um Usuário se Conectando a Múltiplas Redes Sociais Online Simultaneamente Através de um Portal Agregador

Recentemente, a partir de uma colaboração com um agregador de redes sociais online, nós coletamos dados da navegação dos usuários (i.e., clickstream) em 4 redes sociais online: Orkut, Hi5, MySpace e LinkedIn [30]. A Tabela 2.2 mostra o número de usuários, sessões e requisições HTTP para cada uma dessas redes. Baseados nesses dados e em dados coletados do Orkut, nós examinamos o comportamento dos usuários

nas redes sociais online, caracterizando as interações estabelecidas entre eles através das várias atividades realizadas.

 

# usuários

# sessões

# requisições

Orkut

36.309

57.927

787.276

Hi5

515

723

14.532

MySpace

115

119

542

LinkedIn

85

91

224

Total

37.024

58.860

802.574

Tabela 2.2. Sumário dos Dados Obtidos de um Agregador de Redes Sociais Online

2.4.3. Dados de Servidores de Redes Sociais Online

Idealmente, servidores de aplicações de redes sociais online são os locais mais adequados para a coleta de dados, uma vez que eles têm uma visão completa de todas as ações e atividades realizadas por todos os usuários do sistema um dado período de tempo. Entretanto, o acesso a dados armazenados por estes servidores, ainda que ano- nimizados, é tipicamente muito difícil. Dentre os poucos trabalhos que utilizaram dados

obtidos diretamente de servidores de redes sociais online, podemos citar o estudo de Chun

e seus colaboradores [47] sobre as interações textuais entre os usuários do Cyworld, uma

rede social bastante popular na Coréia do Sul. Eles compararam as propriedades estrutu- rais da rede de amizades explícita criada naquela aplicação com as propriedades da rede implícita estabelecida a partir de trocas de mensagens no livro de visitas do Cyworld, discutindo diversas similaridades e diferenças. Citamos também o trabalho de Baluja e colaboradores, que utilizaram dados do histórico de navegação de usuários do YouTube para criar um grafo onde cada vídeo é um nodo e arestas ligam vídeos freqüentemente vistos em seqüência. Baseados nesse grafo, eles criaram um mecanismo capaz de pro- ver sugestões de vídeos personalizadas para os usuários do YouTube. Finalmente, Duarte

e seus colaboradores [53] caracterizaram o tráfego em um servidor de blogs do UOL

(www.uol.com.br), enquanto nós estudamos a navegação dos usuários em um servidor de vídeos do UOL, chamado UOL Mais [25].

Dada a dificuldade em se obter dados diretamente de servidores de redes sociais online, uma estratégia comum consiste em visitar páginas de redes sociais com o uso de uma ferramenta automática, que chamamos de crawler ou robô, e coletar sistematica- mente informações públicas de usuários e objetos. Tipicamente, os elos entre usuários de uma rede social online podem ser coletados automaticamente, permitindo que os grafos de conexões entre os usuários sejam reconstruídos. Essa estratégia tem sido amplamente utilizada em uma grande variedade de trabalhos, incluindo estudos sobre a topologia das redes sociais online [87, 16], padrões de acesso no YouTube [41] e interações recons- truídas através de mensagens trocadas pelos usuários [112]. A seguir discutimos vários aspectos relacionados à coleta de dados de redes sociais online.

Figura 2.7. Exemplo de Busca em Largura em um Grafo 2.4.3.1. Coleta por Amostragem Idealmente,

Figura 2.7. Exemplo de Busca em Largura em um Grafo

2.4.3.1. Coleta por Amostragem

Idealmente, é sempre mais interessante coletar o grafo inteiro de uma rede social online para evitar que a coleta seja tendenciosa a um grupo de usuários da rede. En- tretanto, na maior parte das vezes, não há uma forma sistemática de se coletar todos os usuários de uma rede social online. Para esses casos é necessário coletar apenas parte do grafo. Uma abordagem comumente utilizada, chamada snowball (ou bola de neve), con- siste em coletar o grafo de uma rede social online seguindo uma busca em largura, como ilustra a Figura 2.7. A coleta inicia-se a partir de um nodo semente. Ao coletar a lista de vizinhos desse nodo, novos nodos são descobertos e então coletados no segundo passo, que só termina quando todos os nodos descobertos no primeiro passo são coletados. No passo seguinte todos os nodos descobertos no passo anterior são coletados, e assim suces- sivamente. Recomenda-se o uso de um grande número de nodos sementes para evitar que a coleta não fique restrita a um pequeno componente do grafo.

Um ponto crucial sobre a coleta por snowball é a interrupção da coleta em um passo intermediário, antes que todos os nodos alcançávels pela busca em largura sejam atingidos. Esta interrupção pode ter que ser forçada para tornar a coleta viável. Em parti- cular, a busca completa em componentes muito grandes pode gastar um tempo excessiva- mente longo e proibitivo. Entretanto, é importante ressaltar que o resultado de uma coleta parcial pode gerar medidas tendenciosas, tais como distribuições de graus dos nodos com uma tendência maior para valores grandes, o que pode, em última instância, afetar as análises e conclusões observadas. Em outras palavras, os dados obtidos via coleta por snowball com interrupção precisam ser tratados e analisados com cautela. Em outras pa- lavras, o tipo de análise a ser feita precisa ser considerado. Por exemplo, se realizarmos 3 passos da coleta, podemos calcular, com precisão, o coeficiente de agrupamento dos nodos semente. Entretanto, se quisermos computar o coeficiente de agrupamento médio de toda a rede ou outras métricas globais como distribuição de graus, distância média, etc., a coleta por snowball pode resultar em números tendenciosos caso ela não inclua pelo menos um componente completo representativo da rede completa [76, 16].

Uma abordagem bastante difundida consiste em coletar o maior componente fra- camente conectado (WCC) do grafo. Mislove e colaboradores [87] argumentam que o

maior WCC de um grafo é estruturamente a parte mais interessante de ser analisada, pois

é o componente que registra a maior parte das atividades dos usuários. Além disso, eles

mostram que usuários não incluídos no maior WCC tendem a fazer parte de um grande grupo de pequenos componentes isolados ou até mesmo totalmente desconectados. A coleta de um componente inteiro pode ser realizada com uma estratégia baseada em um esquema de busca em largura ou busca em profundidade. Quanto maior o número de sementes utilizadas maior a chance de se coletar o maior componente do grafo. Em traba- lhos recentes, nós realizamos uma busca por palavras aleatórias no YouTube para verificar se o componente coletado era o maior componente [28, 23]. Como a maior parte dos usuá- rios encontrados nessas buscas estavam no WCC do nosso grafo, os resultados desse teste sugeriram que o componente coletado era o maior WCC. Mislove e colaboradores [87] argumenta que o maior WCC de um grafo é estruturamente a parte mais interessante de ser analisada, pois é o componente que registra a maior parte das atividades dos usuá- rios. Além disso, eles mostram que usuários não incluídos no maior WCC tendem fazer parte de um grande grupo de pequenos componentes isolados ou até mesmo totalmente desconectados.

componentes isolados ou até mesmo totalmente desconectados. Figura 2.8. Exemplo de Coleta do WCC em um

Figura 2.8. Exemplo de Coleta do WCC em um Grafo Direcionado

Note que, em algumas redes sociais online como o Twitter ou o Flickr, o conceito de amizade é direcionado. Ou seja, um usuário u pode seguir um outro usuário v, sem ne-

cessariamente ser seguido por ele. Em casos como estes, ou seja, em grafos direcionados,

é necessário percorrer as arestas do grafo em ambas as direções a fim de coletar o WCC

completamente. Caso contrário, se coletarmos o grafo seguindo as arestas em apenas uma direção, não é garantido que consigamos coletar todos os nodos do WCC. A Figura 2.8 mostra que o conjunto de nodos coletados quando seguimos as arestas em ambas as dire- ções é maior do que quando seguimos apenas uma das direções. Em algumas redes não

é possível percorrer o grafo em ambas as direções e, portanto, não é possível coletar o maior WCC. Essa limitação é típica de estudos que envolvem a coleta da Web [38]. Ti-

picamente, a Web é freqüentemente coletada seguindo apenas uma direção dos elos entre páginas, já que não é possível determinar o conjunto de páginas que apontam para uma página.

Uma outra estratégia de coleta por amostragem em redes é baseada em caminha- das aleatórias ( random walks ) [100]. A idéia básica consiste em, a partir de um nodo semente v, prosseguir selecionando aleatoriamente um dos vizinhos de v , e assim suces- sivamente até que um número pre-definido B de nodos tenham sido selecionados. Um mesmo nodo pode ser selecionado múltiplas vezes. Esta é a estratégia de caminhada alea- tória mais comum disponível na literatura embora existam outras abordagens que diferem em termos de como os vizinhos são selecionados [81, 101] Assim como a coleta por snow- ball, a coleta através de caminhadas aleatórias também tem suas limitações: a precisão das estimativas depende não somente da estrutura do grafo mas também da característica sendo estimada. Em particular, dependendo da estrutura do grafo, a coleta pode ficar “presa"dentro de um subgrafo. Neste caso, as estimativas podem ser imprecisas se as características do subgrafo não forem representativas da rede como um todo. Para miti- gar este problema, Ribeiro e Towsley propuseram uma estratégia de coleta por caminhas aleatórias chamado Frontier sampling, que começa com m nodos sementes[100]. Eles ainda propuseram estimadores sem tendência para várias métricas de redes complexas, incluindo o coeficiente de agrupamento global da rede, usando as arestas coletadas pelo método proposto.

2.4.3.2. Coleta em Larga Escala

A coleta de grandes bases de dados de redes sociais online geralmente envolve

o uso de coletores distribuídos em diversas máquinas. Isso acontece não só devido ao

processamento necessário para tratar e salvar os dados coletados, mas também para evitar que servidores de redes sociais interpretem a coleta de dados públicos como um ataque a

seus servidores.

Uma forma de se realizar tal coleta, conforme descrito em [45], está representada na Figura 2.9. A estratégia consiste em utilizar (1) uma máquina mestre que mantém uma lista centralizada de usuários a serem visitados e (2) máquinas escravas, que coletam, ar- mazenam e processam os dados coletados para identificar novos usuários. Novos usuários identificados pelas máquinas escravas são repassados para a máquina mestre, que por sua vez, distribui novos usuários a serem coletados para as máquinas escravas.

2.4.3.3. Coleta por Inspeção de Identificadores

Como discutido anteriormente, idealmente, a coleta de uma rede social online

deveria incluir a rede completa e não somente uma porção dela. Em alguns sistemas como

o MySpace e o Twitter é possível realizar uma coleta completa. Esses sistemas atribuem

um identificador (ID) numérico e seqüencial para cada usuário cadastrado. Como novos usuários recebem um identificador seqüencial, podemos simplesmente percorrer todos os IDs, sem ter que verificar a lista de amigos desses usuários em busca de novos IDs para coletar.

Figura 2.9. Exemplo de Coleta Realizada de Forma Distribuída Recentemente, nós realizamos uma coleta do

Figura 2.9. Exemplo de Coleta Realizada de Forma Distribuída

Recentemente, nós realizamos uma coleta do Twitter seguindo essa estratégia. Nós solicitamos aos administradores do Twitter a permissão para realizar uma coleta em larga escala. Em resposta, eles adicionaram os endereços IPs de 58 máquinas sob nosso controle em uma lista branca, com permissão para coletar dados. Cada uma das 58 máquinas, localizadas no Max Planck Institute for Software Systems (MPI-SWS), na Alemanha 2 , teve permissão para coletar dados a uma taxa máxima de 20 mil requisições por hora. Utilizando a API do Twitter, nosso coletor investigou todos os 80 milhões de IDs de forma seqüencial, coletando todas as informações públicas sobre esses usuários, bem como seus elos de seguidores e seguidos e todos os seus tweets. Dos 80 milhões de contas inspecionadas, nós encontramos cerca 55 milhões em uso. Isso acontece porque o Twitter apaga contas inativas por um período maior do que 6 meses. No total, coletamos cerca de 55 milhões de usuários, quase 2 bilhões de elos sociais e cerca de 1.8 bilhões de tweets. Ao inspecionar as listas de seguidores e seguidos coletadas, nós não encontramos nenhum identificador acima dos 80 milhões inspecionados, sugerindo que nós coletamos todos os usuários do sistema na época. Esses dados foram utilizados recentemente em dois trabalhos, um sobre detecção de spammers no Twitter [24] e o outro sobre medição de influência no Twitter [40].

Torkjazi e colaboradores [108] também exploraram o uso de IDs sequenciais para inspecionar o surgimento de novos usuários no MySpace.

2 Esta coleta foi realizada durante uma visita de 5 meses ao MPI-SWS

2.4.3.4.

Coleta em Tempo Real

Redes sociais online possibilitam que usuários comuns expressem suas opiniões sobre os mais diversos assuntos, e propaguem informações que consideram relevantes em tempo real. É interessante notar como a interatividade e a avaliação do fluxo de

informações em tempo real passou a ser um fator importante para várias aplicações Web, que monitoram fenômenos dinâmicos ocorridos na Web. Como exemplo, Google e Bing

já indexam tweets públicos como forma de prover busca por informação em tempo real.

Do ponto de vista científico, informações disponibilizadas em tempo real na Web

têm sido utilizadas de diferentes formas. O Google Insights 3 , por exemplo, permite que o usuário consulte informações geográficas e temporais relacionadas ao volume de uma de- terminada consulta, permitndo também que o usuário salve essas informações em formato CSV. De fato, informações extraídas em tempo real do Google Insights foram utilizadas para demonstrar que o volume de buscas na Web permite monitorar eventos tais como

o nível de desemprego e a ocorrência de doenças em tempo real [46, 63]. Em particu-

lar, Ginsberg e colaboradores [63] propuseram um método para monitorar ocorrências de gripe baseado em buscas realizadas no Google. Eles mostraram que, em áreas com grande população de usuários de máquinas de buscas, o volume de buscas relacionadas à gripe é proporcional à ocorrência da doença.

Em um trabalho recente, Sakaki e colaboradores [103] mostraram o poder da in- formação disponibilizada em tempo real nas redes sociais online propondo um meca- nismo para detecção de ocorrências de terremotos baseado em monitoramento do Twitter.

A abordagem, que consiste em simplesmente identificar tweets relacionados a terremotos

por região, foi capaz de enviar alertas sobre terremotos mais rapidamente do que agências meteorológicas. Mais recentemente, Tumasjan e colaboradores [110] mostraram que opi- niões identificadas em tweets relacionados à eleição federal alemã foi capaz de refletir o

sentimento político registrado fora das redes sociais.

Para o caso específico do Twitter, é bastante simples coletar informações em

tempo real, uma vez que o sistema oferece uma API com diversas opções relacionadas

à coleta de dados em tempo real. Como exemplo, para coletar em tempo real uma amos-

tra aleatória de tweets públicos basta executar o seguinte comando em algum terminal

UNIX, fornecendo o usuário e senha de um usuário registrado no Twitter.

curl http://stream.twitter.com/1/statuses/sample.json -uLOGIN:SENHA

2.4.3.5. Utilizando APIs

No contexto de desenvolvimento Web, uma API é tipicamente um conjunto de tipos de requisições HTTP juntamente com suas respectivas definições de resposta. Em aplicações de redes sociais online é comum encontrarmos APIs que listam os amigos de um usuário, seus objetos, suas comunidades, etc.

APIs são perfeitas para a coleta de dados de redes sociais online, pois oferecem

3 http://www.google.com/insights/search

Figura 2.10. Exemplo da API do Twitter: http://twitter.com/users/show/fbenevenuto.xml os dados em formatos estruturados

Figura 2.10. Exemplo da API do Twitter: http://twitter.com/users/show/fbenevenuto.xml

os dados em formatos estruturados como XML e JSON. Como exemplo, a Figura 2.10 mostra o resultado de uma busca por informações de um usuário no Twitter. Além dessa função, o Twitter ainda oferece várias outras funções em sua API. Com a API do Twitter é possível coletar 5000 seguidores de um usuário através de uma única requisição. A coleta dessa informação através do sítio Web convencional necessitaria de centenas de requisições, visto que o Twitter só mostra alguns seguidores por página. Além disso, cada página conteria uma quantidade muito grande de dados desnecessários, que deveriam ser tratados e excluídos.

Vários sistemas possuem APIs, incluindo Twitter, Flickr, YouTube, Google Ma- pas, Yahoo Mapas, etc. Com tantas APIs existentes, é comum ver aplicações que utilizam duas ou mais APIs para criar um novo serviço, que é o que chamamos de Mashup. Uma interessante aplicação chamada Yahoo! Pipes [13], permite a combinação de diferentes APIs de vários sistemas para a criação automatizada de Mashups.

2.4.3.6. Ferramentas e Bibliotecas

Desenvolver um coletor pode ser uma tarefa bastante complicada devido à di- versidade de formatos de páginas. Entretanto, coletar redes sociais online é, e m geral, diferente de coletar páginas da Web tradicional. As páginas de uma rede social online são, em geral, bem estruturadas e possuem o mesmo formato, pois são geradas auto ma- ticamente, enquanto que, na Web tradicional, as páginas podem ser criadas por qualquer pessoa em qualquer formato. Além disso, como cada indivíduo ou objeto em uma rede social, em geral, possui um identificador único, temos certeza sobre quais as informações obtivemos quando coletamos uma página.

Existem várias ferramentas que podem ser utilizadas para se coletar dados de redes sociais online. Como cada pesquisa requer um tipo de coleta e cada coleta de dados possui sua particularidade, desenvolver o próprio coletor pode ser necessário. A Figura 2.11 mostra o uso da biblioteca LWP na linguagem Perl. Este código realiza a coleta dos seguidores de um usuário no Twitter através de sua API. De maneira similar, o código

em Python da Figura 2.12 utiliza a biblioteca URLLIB para realizar a mesma tarefa. O resultado da execução dos coletores é a lista de seguidores de um usuário do Twitter em formato XML, como ilustra a Figura 2.13.

do Twitter em formato XML, como ilustra a Figura 2.13. Figura 2.11. Exemplo de Uso da

Figura 2.11. Exemplo de Uso da Biblioteca LWP em Perl

2.13. Figura 2.11. Exemplo de Uso da Biblioteca LWP em Perl Figura 2.12. Exemplo de Uso

Figura 2.12. Exemplo de Uso da Biblioteca URLLIB em Python

2.4.3.7. Ética dos Coletores

É importante ressaltar que o uso de ferramentas automáticas de coleta (coletores

ou robôs), se feito sem o devido cuidado, pode causar problemas de sobrecarga nos ser- vidores alvos da coleta, o que, em última instância, pode afetar a qualidade de serviço da aplicação alvo. Para evitar que isto aconteça, muitos servidores adotam um protocolo conhecido como R obots.txt, no qual sítios Web regulamentam o que pode e o que não pode ser coletado do sistema. Este método é bastante utilizado pelos administradores de sistemas para informar aos robôs visitantes quais diretórios de um sítio Web não devem ser coletados. Ele se aplica a qualquer tipo de coleta, seja ela parte de uma pesquisa sobre redes sociais online, ou um dos componentes centrais de uma máquina de busca como o Google [37].

O R obots.txt nada mais é do que um arquivo que fica no diretório raiz dos sítios

e contém regras para coleta. Estas regras podem ser direcionadas a robôs específicos ou

podem ser de uso geral, tendo como alvo qualquer robô. Ao visitar um site, os robôs devem primeiramente buscar pelo arquivo R obots.txt a fim de verificar suas permissões. Exemplos desses arquivos são:

http://portal.acm.org/robots.txt

http://www.google.com/robots.txt

Figura 2.13. Resultado da Execução dos Coletores em Perl e Python http://www.globo.com/robots.txt

Figura 2.13. Resultado da Execução dos Coletores em Perl e Python

http://www.globo.com/robots.txt

http://www.orkut.com.br/robots.txt

http://www.youtube.com/robots.txt

http://www.robotstxt.org/robots.txt

A seguir mostramos um exemplo simples de regra em um arquivo R obots.txt. Essa

regra restringe todos os crawlers de acessarem qualquer conteúdo no sistema.

User-agent: * Disallow: /

É possível ainda especificar restrições a alguns robôs específicos ou restringir o

acesso a alguns diretórios específicos. Como exemplo, o sítio Web www.globo.com ofe- rece restrições para todos os robôs nos seguintes diretórios.

User-agent: *

Disallow: /PPZ/ Disallow: /Portal/ Disallow: /Java/ Disallow: /Servlets/ Disallow: /GMC/foto/ Disallow: /FotoShow/ Disallow: /Esportes/foto/ Disallow: /Gente/foto/ Disallow: /Entretenimento/Ego/foto/

No caso de coleta de redes sociais online, é importante verificar não só o arquivo R obots.txt dos sistemas, mas também os termos de uso do sistema.

2.4.4. Dados de Aplicações

Em uma tentativa bem sucedida de enriquecer a experiência dos usuários de redes sociais online, o Facebook realizou uma de suas maiores inovações: abriu sua plataforma para desenvolvedores de aplicações [4]. Com esta inovação, desenvolvedores são capa- zes de criar diferentes tipos de aplicações. Com o sucesso no Facebook, outros sistemas como Orkut e MySpace também adotoram essa estratégia. Como consequência, o nú- mero e a variedade de aplicações criadas nestes sistemas cresceram significativamente. O Facebook sozinho possui atualmente mais de 81,000 aplicaçõess 4 [2]. Empresas como a Zynga, especializadas em desenvolver essas aplicações, contam com mais de 80 milhões de usuários registrados em suas aplicações [2].

milhões de usuários registrados em suas aplicações [2]. Figura 2.14. Funcionamento de Aplicações no Facebook e

Figura 2.14. Funcionamento de Aplicações no Facebook e no Orkut

A Figura 2.14 mostra o funcionamento de uma aplicação terceirizada em execução em redes sociais online como o Facebook ou o Orkut. Aplicações são caracterizadas pela presença de um servidor da rede social intermediando toda a comunicação entre o cliente e o servidor da aplicação. Tipicamente, o cliente envia a requisição ao servidor da rede social online, que a repassa ao servidor da aplicação. Então, o servidor da aplicação manda de volta a resposta ao servidor da rede social, que a repassa ao cliente [90].

Aplicações podem ser utilizadas para o estudo de interações entre os usuários que utilizam as aplicações e também podem ser úteis para coletar outras informações dos usuários, tais como lista de amigos e atividades executadas durante uma sessão. Alguns trabalhos fizeram uso dessa estratégia para estudar os usuários de redes sociais online. Nazir e colaboradores [89] analisaram características de aplicações no Facebook, desen- volvendo e lançando suas próprias aplicações. Em particular, eles estudaram a formação

4 Uma grande lista de aplicações do Facebook pode ser encontrada na seguinte referência [3].

de comunidades online a partir de grafos de interação entre os usuários de suas aplicações. Mais recentemente, os mesmos autores estudaram várias características relacionadas ao desempenho de suas aplicações no Facebook [90].

2.5. Extração de Informação

A extração e o tratamento de informação a partir dos dados coletados são etapas essenciais para permitir diferentes análises incluindo identificação de padrões de com- portamento de usuários em diferentes sistemas, identificação de tópicos de interesse dos usuários, etc. Nesta seção, discutimos brevemente os principais desafios relacionados a essas etapas. Em particular, a identificação de entidades nomeadas, tais como pessoas, organizações e produtos, encontradas em porções de texto, assim como a derivação de relacionamentos entre estas entidades, representam importantes problemas, com diversas aplicações interessantes. O nosso objetivo nesta seção não é detalhar todas as particulari- dades e soluções para estes problemas, que são tipicamente abordados por pesquisadores de outras áreas tais como Bancos de Dados, Recuperação de Informação, Mineração de Dados e Processamento de Linguagem Natural. Entretanto, reconhecendo a necessidade de expertises complementares para o estudo de redes sociais online, achamos benéfico para o leitor o contato, ainda que superficial, com estes tópicos.

2.5.1. Visão Geral

As redes sociais online são atualmente importantes plataformas para produção, processamento e fluxo de informação. Tal informação pode se originar dentro das redes ou fora delas e pode ser utilizada como fonte primária ou complementar para derivar co- nhecimento sobre a própria rede, seus membros, seus temas, suas comunidades, etc. No entanto, esta informação quase sempre ocorre em um formato textual, não estruturado, em linguagem natural e até mesmo em estilo telegráfico ou informalmente codificado. Isso é um grande empecilho para que esta informação possa ser processada de maneira automática e para que dela se possa derivar conhecimento latente. Como exemplo, uma mesma entidade (p.ex: uma pessoa ou uma localidade) pode ser referenciada de várias formas, devido às variações introduzidas por diferentes formas de grafia, aspectos regio- nais ou culturais, uso de abreviaturas, erros tipográficos e outras razões associadas com o uso convencional.

Em contextos já bastante explorados como sítios e páginas da Web, técnicas de áreas como Recuperação de Informação, Mineração de Dados e Processamento de Lin- guagem Natural têm sido aplicadas com muito sucesso para extrair informação e deri- var conhecimento de corpus textuais. No entanto, no contexto de redes sociais online, este corpus tem uma natureza totalmente diversa. De fato, nestas redes, o corpus tex- tual é formado por micro-documentos como tweets, blog posts, comentários, feeds, tags, cujo tratamento deve ser necessariamente diferente do que é normalmente aplicado a, por exemplo, páginas Web. Além disto, dado o caráter informal de várias informações dispo- nibilizadas em redes sociais online, técnicas de processamento de linguagem natural são difíceis de serem aplicadas devido à ausência de padrões linguísticos. Além disso, nos corpora textuais encontrados em redes sociais online existe muito lixo e ruído informa- cional (palavras escritas erradas, de baixa qualidade sintática ou semântica) dificultando esta tarefa ainda mais.

Por exemplo, técnicas de extração aberta de informações na Web [55] que se ba- seiam em modelos linguísticos gerais de como relacionamentos são expressos em um idioma, são o estado da arte em extração de entidades e relacionamentos de páginas Web. No entanto, como os modelos utilizados nestas técnicas são construídos a partir de carac- terísticas linguísticas através da identificação de partes de discurso nos documentos-alvo, elas dificilmente poderiam ser aplicadas em micro-documentos (por exemplo, tweets), onde estas características podem não se apresentar.

Apesar das dificuldades mencionadas, a extração de informações contidas no cor- pus textual de redes sociais pode ajudar a responder de forma automática e efetiva ques- tões como:

Quem fala com quem sobre que assunto?

Quem são os atores principais nas redes? Onde estão localizados?

Que assuntos e tópicos emergem, se disseminam e desaparecem nos eco-sistemas sociais digitais?

Que indivíduos e grupos promovem e suprimem estes assuntos e tópicos?

Qual a polaridade (positiva, negativa ou neutra) das opiniões emitidas na rede sobre assuntos, pessoas, empresas, etc.?

Um Exemplo: Observatório da Web

Um exemplo de como a identificação de entidades é uma tarefa importante para a análise de redes sociais online é o Observatório das Eleições 2010 5 , que é uma instân- cia do Observatório da Web [104], projeto desenvolvido no âmbito do InWeb (Instituto Nacional de Ciência e Tecnologia para a Web).

Este observatório foi desenvolvido para monitorar, em tempo real, o que estava sendo veiculado sobre as eleições de 2010 nas várias mídias e pelos vários usuários da Web. O seu objetivo era ajudar a traçar um panorama do cenário eleitoral do ponto de vista das informações e das opiniões que circulavam na Web e nas redes sociais online, incluindo jornais, revistas, portais e o Twitter. Foi implementado como um portal utili- zando dezenas de ferramentas softwares inéditas de captura e análise de dados baseadas em código livre ou aberto.

As entidades correlatas ao contexto das eleições foram o alvo principal do moni- toramento. Isso incluía além dos candidatos à presidência, políticos com influência na eleição, como o ex-presidente Lula. Em muitos casos, o monitoramento era concentrado em eventos, ou seja, acontecimentos importantes no contexto observado, tais como um debate, por exemplo, e que pudessem ter um grande efeito no conteúdo das fontes obser- vadas.

A partir da identificação das entidades no textos coletados em tempo real, é pos- sível gerar uma série de produtos de análise e visualização. Um exemplo de um destes produtos é apresentado na Figura 2.15.

5 http://www.observatorio.inweb.org.br/eleicoes2010 .

Figura 2.15. Exemplo de Visualização de Dados Gerados a Partir da Identificação de Entidades no

Figura 2.15. Exemplo de Visualização de Dados Gerados a Partir da Identificação de Entidades no Observatório das Eleições.

No observatório, antes da extração propriamente dita, é realizado um pré- processamento dos textos coletados, incluindo a padronização da codificação dos carac-

teres, a eliminação de código HTML, cabeçalhos e anúncios de páginas coletadas através

de feeds, e o uso de métodos tradicionais de pré-processamento de textos [83] tais como a

remoção de stop words (palavras de pouco valor informacional como artigos, preposições

e conjunções) e o stemming, que consiste na extração dos radicais das palavras do texto.

A identificação de entidades nos textos é feita através da ferramenta Illinois Named Entity

Tagger [98], que utiliza técnicas de processamento de linguagem natural para identificar referências a entidades (pessoas, organizações, locais, etc.) em texto livre. Apos a fase de

identificação, segue-se uma fase de desambiguação de entidades. Isso é necessário por- que os métodos identificação de entidades têm dificuldade, em geral, de diferenciar “José Serra” de “Serra da Piedade”, ou “Lula presidente” de “Lula Molusco”. Para isso, um método de classificação foi utilizado para aprender a associar entidades a determinados contextos.

A Figura 2.16 ilustra um RSS feed processado para identificação de entidades

pelo Observatório das Eleições. As tags são usadas como identificadores para distinguir

as duas entidades em todos os textos processados.

A pré-candidata do PT à Presidência da República <Person2> Dilma Rousseff </Person2> , quer juntar ao seu redor o maior número de legendas que hoje es- tão na base aliada do presidente <Person1> Luiz Inácio Lula da Silva </Person1>

Figura 2.16. Exemplo de RSS Feed com Entidades Identificadas no Observatório das Eleições

2.5.2.

Identificação de Entidades

O problema de identificação de entidades nomeadas (Named Entity Recognition –

NER) consiste em encontrar palavras que ocorrem em um documento ou trecho de texto não estruturado e que façam referência a entidades do mundo real. Este problema tem sido estudado em vários contexto como identificação de nomes de pessoas e companhias em notícias, identificação de genes e proteínas e publicações biomédicas, etc. [48]. A Figura 2.17(a) ilustra o resultado típico da aplicação de um método de extração de enti- dades.

<pessoa> Odorico Paraguaçu <pessoa> foi <cargo> prefeito </cargo> eterno de <local> Sucupira </local>, cidadezinha localizada em algum lugar da <local> Bahia </local>, a qual governou com muita sabedoria e inteligência. Dotado de uma habilidade incrível com as palavras fruto de seu curso na <organização> Uni- versidade de Sourbone </organização>), cativava as massas numa época em que os comícios não tinham nem fanfarra, quanto mais bandas completas. 6

 

(a)

Odorico

Paraguaçu

foi

prefeito

eterno

de

Sucupira

pessoa

pessoa

outro cargo

outro outro

local

(b)

Figura 2.17. Exemplo de um trecho de texto com entidades identificadas (a) e como uma sequência rotulada (b)

Uma abordagem comum para o problema de NER é a de rotulamento de sequên-

cias. Um documento é representado como uma sequência x de tokens x 1 ,

classificador associa x a uma sequência paralela de rótulos y = y 1 ,

é um rótulo pertencente a um conjunto Y . Uma atribuição correta dos rótulos permite a

identificação direta das entidades. Por exemplo, na sequência ilustrada na Figura 2.17(b), cada token recebe um rótulo, sendo que um rótulo especial outro é associado aos tokens que não são partes de nomes de entidades.

A construção do classificador pode ser feita usando técnicas de aprendizagem de

máquina, ou seja, utilizando dados de treinamento que representam exemplos de mapea- mento de sequências x para sequências y . Isso é feito, em geral, através de documentos manualmente anotados de forma similar ao que está ilustrado na Figura 2.17(b). Es- tes classificadores são gerados pelo no aprendizado de modelos sequenciais tais como Hidden Markov Models [58] ou Conditional Random Fields [74] ou suas variações (por exemplo, [49]).

, x n e um , y N , onde cada y i

2.5.3. Resolução de Entidades

Uma vez que as referências a entidades são identificadas em um certo corpus, algumas aplicações podem requerer ainda que sejam estabelecidas correspondências entre referências distintas que se refiram a uma mesma entidade do mundo real. Este problema

é conhecido como Resolução de Entidades [31].

Existem na realidade dois subproblemas relacionados ao problema de resolução

de entidades, os quais ilustramos pelos trechos de texto apresentados na Figura 2.18.

D 1

D

D

2

3

O Acre é o estado mais à oeste do Brasil, seu território é inteiramente recoberto pela Floresta Amazônica. É também berço de grandes nomes como <pessoa>Marina Silva</pessoa>, política, e <pessoa>Glória Perez</pessoa>, novelista.

Ao lado da então ministra da Casa Civil, <pessoa>Dilma Rousseff</pessoa>, <pessoa>Lula</pessoa> acabou recebendo uma amostra do óleo na <pessoa>Marina</pessoa> da <pessoa>Glória</pessoa>, no Rio, para onde o evento foi transferido.

A candidata <pessoa>Dilma</pessoa>, vencedora do primeiro turno das eleições, telefonou hoje para a candidata <pessoa>Marina</pessoa> do PV e a parabenizou pelo seu desempenho nas urnas.

Figura 2.18. Exemplo de um Trecho de Texto com Entidades Identificadas (a) e como uma Sequência Rotulada (b).

O primeiro subproblema consiste em determinar o conjunto de referências distin-

tas no corpus que são utilizadas para se referir a mesma entidade no mundo real. Este é caso de “Marina Silva” em D 1 e “Marina” em D 3 , e também de “Dilma Rousseff” em D 2 e “Dilma” em D 3 . Este subproblema é conhecido como Identificação [31] ou Co- referência [68]. Note que este problema também pode ser causado por erros de escrita, formatação, etc., ou mesmo pelo uso de apelidos (p.ex., “Dilma”) e anáforas (p.ex., “a ministra”).

O segundo subproblema consiste em distinguir quando referências muito simila-

res, ou até mesmo exatamente iguais, se referem a diferentes entidades do mundo real. Esse é o caso de “Marina” em D 3 e em D 2 e também de “Glória Perez” em D 3 e “Glória”

em D 2 . Este problema é chamado de Desambiguação [31]. Note que neste caso espe- cífico o problema foi causado por uma falha do processo de identificação de entidades em D 2 . Tais problemas são comuns e, dependendo do domínio de aplicação, podem ser exacerbados pelo uso de abreviações.

A solução do problema de resolução de entidades pode ser determinante para a

qualidade dos resultados obtidos a partir da análise das entidades extraídas. Por outro lado, se neglicenciado, este problema pode comprometer o conhecimento derivado destes resultados. Por exemplo, as análises realizadas pelo Observatório das Eleições poderiam ser seriamente afetadas se referências ao candidato “José Serra” e à “Serra da Piedade” não sofressem desambiguação.

Na literatura recente, o problema de resolução entidades tem sido tratado através do cálculo da similaridade entre os atributos associados às entidades (no caso de bancos de dados) [51] ou utilizando, quando possível, grafos de co-ocorrência de entidades [31]. Em corpora textuais, ferramentas linguísticas têm sido usadas para solução deste pro- blema [96]. No caso do Observatório das Eleições, o problema foi tratado através de uma solução simples baseada em classificação usando centroides [67], que neste caso são usado para representar o contexto em que determinada entidade é tipicamente encontrada em termos de vocabulário recorrente.

2.6.

Bases de Dados Disponíveis na Web

Vários trabalhos que coletaram dados de redes sociais online oferecem disponi- bilizam os dados coletados para a comunidade acadêmica. A seguir, algumas bases con- tendo dados públicos disponíveis na Web são relacionadas.

Dados sobre Orkut, Flickr, LiverJournal e YouTube. Foram utilizados no traba- lho [87] e estão disponíveis em http://socialnetworks.mpi-sws.org/

data-imc2007.html

Dados sobre os vídeos de duas categorias inteiras do YouTube. Coletados em 2007 e utilizados no artigo [41]. Disponível em http://an.kaist.ac.kr/

traces/IMC2007.html.

Dados do Flickr coletados ao longo do tempo. Esses dados foram utilizados na referência [86] e estão disponíveis em http://socialnetworks.mpi-sws.

org/data-wosn2008.html.

Dados sobre a popularidade de vídeos do YouTube com registro do crescimento e fontes dos acessos ao longo do tempo. Foram utilizados na referência [57] e estão disponívis em http://vod.dcc.ufmg.br/traces/youtime/.

Grafo completo contendo 55 milhões de usuários do Twitter e cerca de 1.8 bilhões de tweets. Esses dados foram utilizados nas referências [40, 24] e estão disponíveis no endereço http://twitter.mpi-sws.org/.

Dados sobre o grafo de amizade e postagens de amostra de usuários do Facebook. Utilizados na referência [111] e disponíveis em http://socialnetworks. mpi-sws.org/data-wosn2009.html .

Coleção de usuários do YouTube, manualmente classificados como spammers, pro- moters ou usuários legítimos. Esses dados foram utilizados nos seguintes traba- lhos [26, 29, 75]. A base de dados está disponível em http://homepages.

dcc.ufmg.br/~fabricio/testcollectionsigir09.html.

Coleção de dados do Del.icio.us e do Digg. Coleção utilizada em diferen- tes artigos e disponível em http://www.public.asu.edu/~mdechoud/ datasets.html.

2.7. Conclusões

Redes sociais online se tornaram extremamente populares e parte do nosso dia a dia, causando o surgimento de uma nova onda de aplicações disponíveis na Web. A cada dia, grandes quantidades de conteúdo são compartilhadas, e milhões de usuários interagem através de elos sociais. Apesar de tanta popularidade, o estudo de redes sociais ainda está em sua infância, já que estes ambientes estão ainda experimentando novas tendências e enfrentando diversos novos problemas e desafios.

Redes sociais online compõem ambientes perfeitos para o estudo de vários temas da computação, incluindo sistemas multimídia e interação humano-computador. Além

disso, por permitir que usuários criem conteúdo, aplicações de redes sociais vêm se tor- nando um tema chave em pesquisas relacionadas à organização e tratamento de grandes quantidades de dados, além de constituírem um ambiente ideal para extração de conheci- mento e aplicação de técnicas de mineração de dados.

Este trabalho oferece uma introdução ao pesquisador que pretende explorar o tema. Inicialmente, foram apresentadas as principais características das redes sociais mais populares atualmente. Em seguida, discutimos as principais métricas e tipos de análises utilizadas no estudo dos grafos que formam a topologia das redes sociais. Finalmente, su- marizamos as principais abordagens utilizadas para se obter dados de redes sociais online e discutimos trabalhos recentes que utilizaram essas técnicas.

Agradecimentos

Este trabalho foi parcialmente financiado pelo Instituto Nacional de Ciência e Tec- nologia para a Web (InWeb), pelo CNPq, FAPEMIG e UOL (www.uol.com.br).

Referências

[1] comscore: Americans viewed 12 billion videos online in may 2008. http:// www.comscore.com/press/release.asp?press=2324. Acessado em

Março/2010.

[2] Developer analytics. http://www.developeranalytics.com. Acessado em Março/2010.

[3] Facebook application directory. http://www.facebook.com/apps. Aces- sado em Março/2010.

[4] Facebook platform. http://developers.facebook.com. Acessado em

Março/2010.

[5] Facebook Press Room, Statistics. http://www.facebook.com/press/ info.php?statistics. Acessado em Março/2010.

[6] Gnuplot. http://www.gnuplot.info/. Acessado em Agosto/2010.

[7] Google OpenSocial. http://code.google.com/apis/opensocial/. Acessado em Março/2010.

[8] List of social network web sites. http://en.wikipedia.org/wiki/ List_of_social_networking_websites. Acessado em Março/2010.

[9] Matlab. http://www.mathworks.com/products/matlab/. Acessado em Agosto/2010.

[10] Needle in a Haystack: Efficient Storage of Billions of Photos. Facebook Enginee- ring Notes, http://tinyurl.com/cju2og. Acessado em Março/2010.

http://

[11] New york times. a web site born in u.s. finds fans in brazil.

www.nytimes.com/2006/04/10/technology/10orkut.html. Aces- sado em Março/2010.

[12] New york times. uploading the avantgarde.

http://www.nytimes.

com/2009/09/06/magazine/06FOB-medium-t.htm . Acessado em Ju-

lho/2010.

http://pipes.yahoo.com/pipes. Acessado em

Agosto/2010.

[13] Yahoo!

pipes.

[14] YouTube fact sheet. http://www.youtube.com/t/fact_sheet. Aces- sado em Março/2010.

[15] L. Adamic, O. Buyukkokten, and E. Adar. A social network caught in the web. First Monday, 8(6), 2003.

[16] Y.-Y. Ahn, S. Han, H. Kwak, S. Moon, and H. Jeong. Analysis of topological characteristics of huge online social networking services. In World Wide Web Con- ference (WWW), pages 835–844, 2007.

[17] R. Albert, H., Jeong, and A. Barabasi. Error and attack tolerance of complex networks. Nature, 406(6794):378–382, 2000.

[18] R. Albert, H. Jeong, and A. Barabasi. Diameter of the world wide web. Nature, 401:130–131, 1999.

[19] N. Ali-Hasan and L. Adamic. Expressing social relationships on the blog through links and comments. In AAAI Conference on Weblogs and Social Media (ICWSM),

2007.

[20] A. Amaral, A. Scala, M. Barthelemy, and E. Stanley. Classes of small-world networks. 97(21):11149–11152, 2000.

[21] B. Williamson. Social network marketing: ad spending and usage. EMarketer Report, 2007. http://tinyurl.com/2449xx. Acessado em Março/2010.

[22] A. Barabasi and R. Albert. Emergence of scaling in random networks. Science, 286(5439), 1999.

[23] F. Benevenuto, F. Duarte, T. Rodrigues, V. Almeida, J. Almeida, and K. Ross. Understanding video interactions in YouTube. In ACM Conference on Multimedia (MM), pages 761–764, 2008.

[24] F. Benevenuto, G. Magno, T. Rodrigues, and V. Almeida. Detecting spammers on twitter. In Annual Collaboration, Electronic messaging, Anti-Abuse and Spam Conference (CEAS), 2010.

[25] F. Benevenuto, A. Pereira, T. Rodrigues, V. Almeida, J. Almeida, and M. Gonçal- ves. Characterization and analysis of user profiles in online video sharing systems. Journal of Information and Data Management, 1(2):115–129, 2010.

[26] F. Benevenuto, T. Rodrigues, V. Almeida, J. Almeida, and M. Gonçalves. Detecting spammers and content promoters in online video social networks. In Int’l ACM Conference on Research and Development in Information Retrieval (SIGIR) , pages 620–627, 2009.

[27] F. Benevenuto, T. Rodrigues, V. Almeida, J. Almeida, M. Gonçalves, and K. Ross. Video pollution on the web. First Monday, 15(4), April 2010.

[28] F. Benevenuto, T. Rodrigues, V. Almeida, J. Almeida, and K. Ross. Video interacti- ons in online video social networks. ACM Transactions on Multimedia Computing, Communications and Applications (TOMCCAP), 5(4):1–25, 2009.

[29] F. Benevenuto, T. Rodrigues, V. Almeida, J. Almeida, C. Zhang, and K. Ross. Identifying video spammers in online social networks. In Workshop on Adversarial Information Retrieval on the Web (AIRWeb), pages 45–52, 2008.

[30] F. Benevenuto, T. Rodrigues, M. Cha, and V. Almeida. Characterizing user beha- vior in online social networks. In ACM SIGCOMM Internet Measurement Confe- rence (IMC), pages 49–62, 2009.

[31] I. Bhattacharya and L. Getoor. Collective entity resolution in relational data. ACM Trans. Knowl. Discov. Data, 1, 2007.

[32] J. Binder, A. Howes, and A. Sutcliffe. The problem of conflicting social spheres:

effects of network structure on experienced tension in social network sites. In ACM SIGCHI Conference on Human factors in Computing Systems (CHI) , pages 965– 974, 2009.

[33] S. Boll. Multitube–where web 2.0 and multimedia could meet. IEEE MultiMedia, 14(1):9–13, 2007.

[34] D. Boyd. Why Youth (Heart) Social Network Sites: The Role of Networked Publics in Teenage Social Life. Cambridge, MA, 2007.

[35] D. Boyd and N. Ellison. Social network sites: Definition, history, and scholarship. Journal of Computer-Mediated Communication, 13(1-2), 2007.

[36] V. Braitenberg and A. Schüz. Cortex: Statistics and Geometry of Neuronal Con- nectivity. Springer-Verlag, 1998.

[37] S. Brin and L. Page. The anatomy of a large-scale hypertextual web search engine. Computer Networks and ISDN Systems, 30(1-7):107–117, 1998.

[38] A. Broder, R. Kumar, F. Maghoul, P. Raghavan, S. Rajagopalan, R. Stata, A. Tom- kins, and J. Wiener. Graph structure in the web. Computer Networks , 33:309–320,

2000.

[39] M. Burke, C. Marlow, and T. Lento. Feed me: Motivating newcomer contribu- tion in social network sites. In ACM SIGCHI Conference on Human factors in Computing Systems (CHI), pages 945–954, 2009.

[40] M. Cha, H. Haddadi, F. Benevenuto, and K. Gummadi. Measuring user influence in twitter: The million follower fallacy. In In 4th International AAAI Conference on Weblogs and Social Media (ICWSM), 2010.

[41] M. Cha, H. Kwak, P. Rodriguez, Y.-Y. Ahn, and S. Moon. I tube, you tube, every- body tubes: Analyzing the world’s largest user generated content video system. In ACM SIGCOMM Conference on Internet Measurement (IMC), pages 1–14, 2007.

[42] M. Cha, A. Mislove, and K. Gummadi. A measurement-driven analysis of infor- mation propagation in the Flickr social network. In World Wide Web Conference (WWW), pages 721–730, 2009.

[43] C. Chapman and M. Lahav. International ethnographic observation of social networking sites. In ACM SIGCHI Conference on Human factors in Computing Systems (CHI), pages 3123–3128, 2008.

[44] P. Chatterjee, D. L. Hoffman, and T. P. Novak. Modeling the clickstream: im- plications for web-based advertising efforts. Marketing Science, 22(4):520–541,

2003.

[45] D. Chau, Pandit, S. Wang, and C. Faloutsos. Parallel crawling for online social networks. In World Wide Web Conference (WWW), pages 1283–1284, 2007.

[46] H. Choi and H. Varian. Predicting the present with google trends. http://bit. ly/2iujV3. Accessed in Jan/2011, 2009.

[47] H. Chun, H. Kwak, Y. Eom, Y.-Y. Ahn, S. Moon, and H. Jeong. Comparison of online social relations in volume vs interaction: a case study of Cyworld. In ACM SIGCOMM Internet Measurement Conference (IMC), pages 57–70, 2008.

[48] W. Cohen and S. Sarawagi. Exploiting Dictionaries in Named Entity Extraction:

Combining Semi-Markov Extraction Processes and Data Integration Methods. In Proc. 10th ACM SIGKDD Intl. Conf. on Knowl. Discov. and Data Mining , pages 89–98, 2004.

[49] E. Cortez, A. S. da Silva, M. A. Gonçalves, and E. S. de Moura. Ondux: on- demand unsupervised learning for information extraction. In Proceedings of the 2010 international conference on Management of data, SIGMOD ’10, pages 807– 818, 2010.

[50] X. Dale and C. Liu. Statistics and social network of YouTube videos. In Int’l Workshop on Quality of Service (IWQoS), 2008.

[51] J. de Freitas, G. L. Pappa, A. S. da Silva, M. A. Gonçalves, E. S. de Moura, A. Ve- loso, A. H. F. Laender, and M. G. de Carvalho. Active learning genetic program- ming for record deduplication. In IEEE Congress on Evolutionary Computation , pages 1–8, 2010.

[52] F. Duarte, F. Benevenuto, V. Almeida, and J. Almeida. Locality of reference in an hierarchy of web caches. In IFIP Networking Conference (Networking) , pages 344–354, 2006.

[53] F. Duarte, B. Mattos, A. Bestavros, V. Almeida, and J. Almeida. Traffic characte- ristics and communication patterns in blogosphere. In Conference on Weblogs and Social Media (ICWSM), 2007.

[54] H. Ebel, L. Mielsch, and S. Bornholdt. Scale free topology of e-mail networks. Physical Review E, 66(3):35103, 2002.

[55] O. Etzioni, M. Banko, S. Soderland, and D. S. Weld. Open information extraction from the web. Commun. ACM, 51(12):68–74, December 2008.

[56] M. Faloutsos, P. Faloutsos, and C. Faloutsos. On power-law relationships of the Internet topology. In Annual Conference of the ACM Special Interest Group on Data Communication (SIGCOMM), pages 251–262, 1999.

[57] F. Figueiredo, F. Benevenuto, and J. Almeida. The tube over time: Characterizing popularity growth of youtube videos. In Proceedings of the 4th ACM International Conference of Web Search and Data Mining (WSDM), 2011.

[58] D. Freitag and A. McCallum. Information Extraction with HMM Structures Lear- ned by Stochastic Optimization. In Proc. of the 17th Nat. Conf. on Art. Intell. and 12th Conf. on Innov. Appl. of Art. Intell., pages 584–589, 2000.

[59] E. Gabrilovich, S. Dumais, and E. Horvitz. Newsjunkie: Providing personalized newsfeeds via analysis of information novelty. In World Wide Web Conference (WWW), pages 482–490, 2004.

[60] D. Garlaschelli and M. Loffredo. Patterns of link reciprocity in directed networks. Physical Review Letters, 93(26):268701, 2004.

[61] P. Gill, M. Arlitt, Z. Li, and A. Mahanti. YouTube traffic characterization: A view from the edge. In ACM SIGCOMM Conference on Internet Measurement (IMC) , pages 15–28, 2007.

[62] P. Gill, M. Arlitt, Z. Li, and A. Mahanti. Characterizing user sessions on YouTube. In IEEE Multimedia Computing and Networking (MMCN), 2008.

[63] J. Ginsberg, M. H. Mohebbi, R. S. Patel, L. Brammer, M. S. Smolinski, and L. Bril- liant. Detecting influenza epidemics using search engine query data. Nature, 457:1012–4, 2009.

[64] L. Gomes, J. Almeida, V. Almeida, and W. Meira. Workload models of spam and legitimate e-mails. Performance Evaluation, 64(7-8), 2007.

[65] K. Gummadi, R. Dunn, S. Saroiu, S. Gribble, H. Levy, and J. Zahorjan. Measu- rement, modeling, and analysis of a peer-to-peer file-sharing workload. In ACM Symposium on Operating Systems Principles (SOSP), 2003.

[66] Z. Gyöngyi, H. Garcia-Molina, and J. Pedersen. Combating web spam with trus- trank. In Int’l. Conference on Very Large Data Bases (VLDB), pages 576–587,

2004.

[67] E.-H. Han and G. Karypis. Centroid-based document classification: Analysis and experimental results. In Proceedings of the 4th European Conference on Principles of Data Mining and Knowledge Discovery, pages 424–431, 2000.

[68] J. Hobbs. Coherence and coreference*. Cognitive science, 3(1):67–90, 1979.

[69] A. Joinson. Looking at, looking up or keeping up with people?: motives and use of Facebook. In ACM SIGCHI Conference on Human factors in Computing Systems (CHI), pages 1027–1036, 2008.

[70] R. King. When your social sites need networking, BusinessWeek, 2007. http:

//tinyurl.com/o4myvu. Acessado em Março/2010.

[71] B. Krishnamurthy. A measure of online social networks. In Conference on Com- munication Systems and Networks (COMSNETS), 2009.

[72] R. Kumar, J. Novak, and A. Tomkins. Structure and evolution of online social networks. In ACM SIGKDD Int’l Conference on Knowledge Discovery and Data Mining (KDD), 2006.

[73] H. Kwak, C. Lee, H. Park, and S. Moon. What is twitter, a social network or a news media? In Int’l World Wide Web Conference (WWW), 2010.

[74] J. D. Lafferty, A. McCallum, and F. C. N. Pereira. Conditional random fields:

Probabilistic models for segmenting and labeling sequence data. In Proceedings of the Eighteenth International Conference on Machine Learning , ICML’01, pages 282–289, 2001.

[75] H. Langbehn, S. Ricci, M. Gonçalves, J. Almeida, G. Pappa, and F. Benevenuto. A multi-view approach for detecting spammers and content promoters in online video social networks. Journal of Information and Data Management, 1(3):1–16,

2010.

[76] S. Lee, P. Kim, and H. Jeong. Statistical properties of sampled networks. Physical Review E, 73(30):102–109, 2006.

[77] K. Lerman. Social information processing in news aggregation. IEEE Internet Computing, 11(6):16–28, 2007.

[78] J. Leskovec, L. A. Adamic, and B. A. Huberman. The dynamics of viral marketing. ACM Transactions on the Web (TWEB), 1(1):228–237, 2007.

[79] J. Leskovec and E. Horvitz. Planetary-scale views on a large instant-messaging network. In World Wide Web Conference (WWW), 2008.

[80] L. Li, D. Alderson, J. Doyle, and W. Willinger. Towards a theory of scale-free graphs: Definition, properties, and implications. Internet Mathematics , 2(4), 2005.

[81] L. Lovász. Random Walks on Graphs: A Survey. Combinatorics, 2:1–46, 1993.

[82] A. Mahanti, D. Eager, and C. Williamson. Temporal locality and its impact on web proxy cache performance. Performance Evaluation Journal , 42(2-3):187– 203, 2000.

[83] C. D. Manning, P. Raghavan, and H. Schütze. Introduction to Information Retrie- val. Cambridge University Press., 2008.

[84] S. Milgram. The small world problem. Psychology Today, 2:60–67, May 1967.

[85] A. Mislove. Online Social Networks: Measurement, Analysis, and Applications to Distributed Information Systems. PhD thesis, Rice University, Department of Computer Science, 2009.

[86] A. Mislove, H. Koppula, K. Gummadi, P. Druschel, and B. Bhattacharjee. Growth of the flickr social network. In ACM SIGCOMM Workshop on Social Networks (WOSN), pages 25–30, 2008.

[87] A. Mislove, M. Marcon, K. Gummadi, P. Druschel, and B. Bhattacharjee. Measu- rement and analysis of online social networks. In ACM SIGCOMM Conference on Internet Measurement (IMC), pages 29–42, 2007.

[88] C. Moore and M. Newman. Epidemics and percolation in small-world networks. Physical Review E, 61(5):5678, 2000.

[89] A. Nazir, S. Raza, and C. Chuah. Unveiling facebook: A measurement study of social network based applications. In ACM SIGCOMM Conference on Internet Measurement (IMC), pages 43–56, 2008.

[90] A. Nazir, S. Raza, D. Gupta, C. Chua, and B. Krishnamurthy. Network level fo- otprints of facebook applications. In ACM SIGCOMM Conference on Internet Measurement (IMC), pages 63–75, 2009.

[91] M. Newman. The structure of scientific collaboration networks. 98(2):404–409,

2001.

[92] M. Newman. Assortative mixing in networks. Physical Review E , 89(20):208701,

2002.

[93] M. Newman. The structure and function of complex networks. SIAM Review , 45:167–256, 2003.

[94] M. Newman. Coauthorship networks and patterns of scientific collaboration. 101(1):5200–5205, 2004.

[95] M. Newman and M. Girvan. Finding and evaluating community structure in networks. Physical Review E, 69(2):26113, 2004.

[96] V. Ng. Shallow semantics for coreference resolution. In Proceedings of the 20th International Joint Conference on Artificial Intelligence, pages 1689–1694, 2007.

[97] J. Otterbacher. ‘helpfulness’ in online communities: a measure of message quality. In ACM SIGCHI Conference on Human factors in Computing Systems (CHI), pages 955–964, 2009.

[98] L. Ratinov and D. Roth. Design challenges and misconceptions in named entity re- cognition. In Proceedings of the Thirteenth Conference on Computational Natural Language Learning, CoNLL ’09, pages 147–155, 2009.

[99] N. O. Report. Social networks & blogs now 4th most popular online activity, 2009. http://tinyurl.com/cfzjlt. Acessado em Março/2010.

[100] B. Ribeiro and D. Towsley. Estimating and Sampling Graphs with Multidimensi- onal RandomWalks. In Proceedings ACM SIGCOMM Internet Measurement Con- ference, 2010.

[101] C. P. Robert and G. Casella. Monte Carlo Statistical Methods . Springer-Verlag, second edition, 2005.

[102] P. Rodriguez. Web infrastructure for the 21st century. WWW’09 Keynote, 2009 . http://tinyurl.com/mmmaa7. Acessado em Março/2010.

[103] T. Sakaki, M. Okazaki, and Y. Matsuo. Earthquake shakes twitter users: real- time event detection by social sensors. In WWW ’10: Proceedings of the 19th international conference on World wide web, pages 851–860, 2010.

[104] W. Santos, G. Pappa, W. Meira Jr., D. Guedes, A. Veloso, V. Almeida, A. Pereira,

P. Guerra, A. Silva, F. Mourão, T. Magalhães, F. Machado, L. Cherchiglia, L. Si-

mões, R. Batista, F. Arcanjo, G. Brunoro, N. Mariano, G. Magno, M. T. Ribeiro,

L. Teixeira, A. S. Silva, B. W. Reis, and R. H. Silva. Observatório da web: Uma pla-

taforma de monitoração, síntese e visualização de eventos massivos em tempo real. In Anais do XXXVII Seminário Integrado de Hardware e Software, SEMISH’10,

pages 110–120, 2010.

[105] F. Schneider, A. Feldmann, B. Krishnamurthy, and W. Willinger. Understanding online social network usage from a network perspective. In ACM SIGCOMM In- ternet Measurement Conference (IMC), pages 35–48, 2009.

[106] S. Schroeder. 20 ways to aggregate your social networking profiles, Mashable, 2007. http://tinyurl.com/2ceus4. Acessado em Março/2010.

[107] J. Thom-Santelli, M. Muller, and D. Millen. Social tagging roles: publishers, evan- gelists, leaders. In ACM SIGCHI Conference on Human factors in Computing Systems (CHI), pages 1041–1044, 2008.

[108] M. Torkjazi, R. Rejaie, and W. Willinger. Hot today, gone tomorrow: On the migra- tion of myspace users. In ACM SIGCOMM Workshop on Online social networks (WOSN), pages 43–48, 2009.

[109] K. S. Trivedi. Probability and statistics with reliability, queuing and computer science applications. John Wiley and Sons Ltd., Chichester, UK, 2002.

[110] A. Tumasjan, T. Sprenger, P. Sandner, and I. Welpe. Predicting elections with twitter: What 140 characters reveal about political sentiment. 2010.

[111] B. Viswanath, A. Mislove, M. Cha, and K. Gummadi. On the evolution of user interaction in facebook. In Proceedings of the 2nd ACM SIGCOMM Workshop on Social Networks (WOSN’09), 2009.

[112] B. Viswanath, A. Mislove, M. Cha, and K. P. Gummadi. On the evolution of user interaction in Facebook. In ACM SIGCOMM Workshop on Online Social Networks (WOSN), pages 37–42, 2009.

[113] S. Wasserman, K. Faust, and D. Iacobucci. Social Network Analysis: Methods and Applications (Structural Analysis in the Social Sciences). Cambridge University Press, 1994.

[114] D. Watts. Small Worlds: the Dynamics of Networks Between Order and Random- ness. Princeton University Press, 1999.

[115] D. Watts. A simple model of global cascades on random networks. 99(9):5766– 5771, 2002.

[116] J. Weng, E.-P. Lim, J. Jiang, and Q. He. Twitterrank: finding topic-sensitive influ- ential twitterers. In ACM international conference on Web search and data mining (WSDM), pages 261–270, 2010.

[117] C. Williamson. On filter effects in web caching hierarchies. ACM Transactions on Internet Technology (TOIT), 2(1):47–77, 2002.

[118] J. Zhang, M. Ackerman, and L. Adamic. Expertise networks in online commu- nities: Structure and algorithms. In World Wide Web Conference (WWW), pages 221–230, 2007.

[119] M. Zink, K. Suh, Y. Gu, and J. Kurose. Watch global, cache local: YouTube network traces at a campus network - measurements and implications. In IEEE Multimedia Computing and Networking (MMCN), 2008.