SlideShare uma empresa Scribd logo
1 de 4
1




               Coletando relações sociais na rede Orkut
        Rogério Minhano, Universidade Federal do ABC (UFABC), Mestrado em Engenharia da Informação.


                                                                   grafo social em que os usuários são os vértices e suas relações
Resumo — Vários indícios sugerem a existência de uma rede          de amizade são as arestas.
social por trás das redes geradas nos sistemas de recomendações.      Os vértices de um grafo social é frequentemente associado a
Como provar a existência delas? Serviços de Redes sociais são      um conjunto de informações inerentes ao usuário. As mais
aplicações web que proporcionam aos seus usuários interação e
relacionamento com outras pessoas. Seus dados podem revelar        comuns são as informações pessoais (perfil), fotos, vídeos,
comportamentos importantes para a vida em sociedade. Neste         publicações, lista de amigos, mensagens e recados. Nosso
artigo descrevemos o funcionamento de um coletor web (crawling     objetivo é a recuperação do grafo, buscamos apenas a lista de
web). Mostramos também as principais características dos grafos    amigos de cada vértice. O processo de coleta inicialmente
gerados a partir das coletas.                                      formará grafos esparsos em formato de árvore. A cada vez que
                                                                   o coletor executa um ciclo completo mais arestas são
Índice de termos — grafos, redes sociais, redes complexas,
                                                                   adicionadas. Logo, espontaneamente os grafos esparsos
aplicações web, coletores web.
                                                                   começam a se agrupar formando um único grafo conectado.
                       I. INTRODUÇÃO                                  Demonstramos as primeiras impressões que tivemos do
                                                                   grafo gerado pelo coletor. Calculamos algumas métricas
   Em abril de 2010 submetemos um trabalho intitulado “Uma         estruturais em três estágios. Os grafos gerados possuem
visão do marketing viral através da análise de redes               aproximadamente um (1M), dois (2M) e três (3M) milhões de
complexas.” Nesse artigo estudamos como ocorrem as                 vértices, respectivamente.
interações e troca de recomendações entre assinantes de               Ao final, mostramos que conforme aumenta o tamanho do
revistas. Durante a pesquisa foi foram demonstrados vários         grafo coletado mais próximo o resultado fica dos resultados
indícios da existência de uma rede social por trás das             alcançados por outros pesquisadores.
recomendações. Isto é, os assinantes não recomendavam                 O Artigo está organizado da seguinte forma. A sessão II
apenas para ganharem os bônus ou benefícios oferecidos. Mais       apresenta alguns trabalhos relacionados e suas implicações
que isso, eles recomendavam porque existe realmente uma            para nossos experimentos. A sessão III trata efetivamente das
relação de troca de recomendações entre o que faz a                características e estratégias utilizadas no processo de coleta
recomendação e o recomendado. Dessas suposições surgiram           dos dados. A sessão IV discute os resultados extraídos dos
os seguintes interesses de pesquisa: Existe realmente uma rede     primeiros três milhões de usuários coletados e, finalmente, a
social por trás das recomendações? Como provar essa                sessão V expõe algumas discussões e trabalhos futuros.
existência? A forma que escolhemos para responder essas
perguntas é a comparação das redes de recomendação com                            II. TRABALHOS RELACIONADOS
uma rede social real.
   Serviços de redes sociais (SRS) são aplicações web que             Antes de tudo, dados de redes sociais são as informações de
proporcionam aos seus usuários interação e formas de               maior valor para os provedores de SRS. Eles são protegidos
relacionamento com outras pessoas que também sejam                 regras de privacidades do próprio SRS e por leis
usuárias do mesmo serviço. Essas interações são na forma de        governamentais, portanto, é difícil conseguir os dados
vídeos, mensagens instantâneas, fotos, depoimentos, e etc.         diretamente dos provedores. Em segundo lugar, é um grande
Nos SRS estão disponíveis muitas características                   desafio computacional coletar dados de milhões de usuários
comportamentais de seus usuários e, extrapolando essa visão,       das redes sociais. Muitas aplicações utilizam recursos
por trás dos dados armazenados podemos descobrir também            dinâmicos nas páginas (Ajax e DHTML) e, por isso não é
características de grupos. Por isso existe tanto interesse de      trivial desenvolver um tradutor eficiente. Além disso, essas
pesquisa nessa área. Entretanto, os SRS não disponibilizam         aplicações possuem várias formas de customização de suas
seus dados para pesquisa principalmente por questões               interfaces. Por último, a maioria dos SRS possui mecanismos
relacionadas a privacidades. Logo, existe o problema da coleta     próprios de defesa contra coletas robotizadas, portanto, a
dessas informações.                                                dificuldade é ainda maior.
   Um coletor web (ou web crawler) é uma aplicação que                Desta forma, relacionamos aqui os trabalhos de coletas que
efetua buscas na web com um objetivo especifico. Como o            julgamos mais significativos e que estão mais próximos do
Google, que coleta informações de páginas para depois              coletor que desenvolvemos.
indexá-las. Nesse artigo descreveremos o funcionamento de             A pesquisa conduzida por Mislove et al. [7] é, até onde
um coletor para recuperação de dados do SRS Orkut. Mais            temos conhecimento, o maior estudo baseado em dados
especificamente, esse coletor tem como objetivo montar um          coletados de SRS já publicado. Foram coletados 11.3 milhões
2

de usuários e 328 milhões de relações. Suas análises               Naturalmente, nosso objetivo pode ser divido em duas partes:
confirmaram grande parte das propriedades conhecidas das           a coleta dos vértices e a coleta das arestas.
redes sociais, como distribuição dos graus segundo a lei da           Os vértices de um grafo social é frequentemente associado a
potência e agrupamentos fortemente conectados. Leskovec et         um conjunto de informações inerentes ao usuário. As mais
al. [1] analisou vários algoritmos de amostragem para grafos e     comuns são as informações pessoais (perfil), fotos, vídeos,
mostrou o quanto uma coleta pode ser viciada. Gjorka et al.        publicações, lista de amigos, mensagens e recados. Todas elas,
propôs um método para amostragem que seleciona os vértices         com um nível maior ou menor de dificuldade, podem ser
uniformemente sem necessidade de conhecimento sobre a rede         recuperadas. Como nosso objetivo é a recuperação do grafo,
inteira.                                                           buscamos apenas a lista de amigos de cada vértice. Por outro
   Entretanto, todos esses trabalhos selecionam os vértices que    lado, poucas informações são associadas às arestas do grafo.
irão iniciar as coletas com alguma probabilidade. Fazem isso       Na maioria dos casos as informações tratam apenas da forma
com o objetivo de diminuir o viés do resultado. Porém, em          como o usuário categoriza seus amigos, por exemplo, amigos,
nosso caso, o objetivo é exatamente o contrário. Como nosso        companheiros de trabalho, familiares, etc. Logo, a única
ponto de partida é a rede de recomendações, buscamos formar        informação referente às arestas que nos interessa é a sua
o grafo mais conectado possível ao redor dos usuários da rede      própria existência.
de recomendações.
                                                                   Escolha dos vértices iniciais
                                                                      A escolha dos alimentadores é um passo importante no
                    III. COLETOR DE REDES SOCIAIS
                                                                   processo de coleta. É denominado alimentador o vértice pelo
Definição                                                          qual o processo de coleta é iniciado. A maioria dos coletores
   O que é um web crawler, ou coletor web? Em primeira             que estudamos escolhe aleatoriamente seus alimentadores.
instância estamos falando de uma aplicação que faz buscas e        Essa abordagem é interessante quando o objetivo é capturar
captura de informações na rede com um objetivo determinado.        um exemplo do grafo. Contudo, existem evidencias de que
O Google, por exemplo, busca páginas (no contexto mais             algumas características do grafo resultante não são fieis ao
amplo de uma página web) para depois indexá-las. No nosso          grafo real [1][2].
caso estamos falando especificamente de coletas em serviços           Em nosso caso, a pilha inicial de alimentadores é composta
de redes sociais (SRS). Logo, nosso objetivo é fazer busca nas     de uma coleção de usuários já estabelecida. Nossa pesquisa
redes e capturar informações específicas dentro de suas            consiste em demonstrar empiricamente a existência de uma
páginas.                                                           rede social por trás de uma rede de indicações, portanto, a lista
   Grande parte dos SRS fornece bibliotecas de código aberto       de indicações é nosso ponto de partida para formarmos o grafo
que auxiliam no processo de coleta dos dados. Algumas delas        social. Logo, se nosso grafo está de alguma forma diferindo da
são Facebook1, Flirck 2 e Twitter3. Entretanto, nosso objetivo é   realidade, isto ocorre propositalmente.
efetuar coletas na rede social Orkut4. O Orkut fornece uma
                                                                   Algoritmo utilizado
biblioteca para desenvolvimento de aplicações chamada Open
                                                                      Quatro algoritmos para coleta dos vértices são vastamente
Social. Essa, por sua vez, não permite a captura de
                                                                   utilizados na prática.
informações da rede. Logo, uma característica preponderante
em nosso coletor é a simulação de um paginador (web                   •    BFS (breadth-first search): É o algoritmo mais
browser) e o tratamento das páginas recuperadas.                           popular, faz seleção simples do primeiro item da pilha.
Qual a finalidade do coletor?                                         •    Greedy: O coletor seleciona o vértice com o maior
   Toda rede social pode ser modelada como um grafo. Um                    grau5 na pilha, desde que o vértice não tenha sido
grafo é um formalismo matemático que serve para representar                coletado ainda.
objetos e relações entre eles. Esta simples estrutura encontra-       •    Lottery: O coletor seleciona o vértice com maior
se em uma grande diversidade de aplicações como circuitos                  probabilidade proporcional ao seu grau. Este algoritmo
elétricos, estradas, vários tipos de redes, ecossistemas,                  prefere os vértices com os graus maiores, mas ele
relações sociais, interação molecular, bases de dados,                     também seleciona os de graus menores para reduzir o
estruturas de controle de programas e sistemas de permissões               viés da amostra.
de sistemas de segurança. Estes são alguns exemplos da                •    Hypothetical greedy: O coletor sempre seleciona o
grande variedade de aplicações da teoria dos grafos.                       vértice com maior grau na pilha, dado que o maior grau
   Da perspectiva de um grafo, os usuários dos SRS podem ser               aqui é o maior grau no grafo real, isto é, o maior grau
modelados como vértices e suas relações sociais como arestas.              verdadeiro. Um cenário típico para aplicação desse
O objetivo deste artigo é discutir o processo de busca e                   algoritmo é a amostragem de um subgrafo de um grafo
recuperação de dados do grafo social por trás do Orkut.                    maior.

1
    http://www.facebook.com/
                                                                   5
2
    http://www.flickr.com/                                           Grau de um vértice é a quantidade de arestas conectadas a ele. Geralmente
3                                                                  são divididos em graus direcionados de entrada e graus de saída. Porém, como
    http://www.twitter.com/
                                                                   na SRS Orkut uma pessoa adicionada como amigo precisa necessariamente
4
    http://www.orkut.com/                                          aceitar o convite, o vértice criado não é direcionado.
3

   O algoritmo utilizado em nosso coletor é o BFS por ser o                 Da mesma forma, podemos observar que a média do
que melhor se encaixa em nossas necessidades.                               coeficiente de agrupamento7 também é crescente.
   Sendo assim, o processo de coleta do grafo social pode ser
                                                                            Tabela 1: Métricas gerais sobre as redes. (G) Nome do grafo, (V)
resumido nos seguintes passos:                                              Número de vértices, (A) Número de arestas, (MV) Média dos
    1.   Organizar os vértices alimentadores em uma pilha (a                graus dos vértices, (CA) Média do coeficiente de agrupamento e
                                                                            (α) Parâmetro de escala.
         ordem é indiferente porque de qualquer forma todos
         serão coletados);                                                      G          V              A          MV          CA           α
    2.   Selecionar o primeiro vértice alimentador;
    3.   Coletar o vértice no SRS;                                             1M     924.764        996.575        2,155     0,000246      1,041
    4.   Armazenar a lista de amigos do vértice;                               2M     1.741.084      996.575        2,289     0,000514      1,129
    5.   Voltar para o passo dois até que toda lista de amigos                 3M     2.479.609      3.479.396      2,806     0,000782      1,463
         dos alimentadores seja coletada;
    6.   Categorizar os vértices coletados como alimentadores e             Distribuição Lei da Potência
         voltar para o primeiro passo até que o sexto nível seja               A teoria das redes complexas tem sido usada vastamente no
         alcançado.                                                         estudo de interações humanas. Vários autores mostraram que
                                                                            essas redes frequentemente seguem uma distribuição chamada
   O processo de coleta inicialmente formará grafos esparsos                Power-law, ou lei da potência [5]. Esta distribuição possui
em formato de árvore. A cada vez que o coletor executa um                   uma função de densidade de probabilidade (FDP) da forma
ciclo completo mais arestas são adicionadas. Logo,                                        , onde      é a probabilidade de encontrarmos o
espontaneamente os grafos esparsos começam a se agrupar                     valor , é uma constante e é um parâmetro da distribuição
formando um único grafo conectado. Isso acontece devido ao                  chamado de parâmetro de escala. De forma geral, para todas
efeito mundos pequenos, que demonstra que as pessoas em um                  as redes encontradas na natureza, o parâmetro de escala
grafo real estão sempre a menos de seis passos de separação                 encontra-se próximo dos limites dois e três, isto é,        .
[3]. O coletor será finalizado ao final da coleta do sexto nível.           Um outro termo, que também caracteriza essas redes, muito
                                                                            comum encontrado na literatura é redes de escala livre.
                   IV. PRIMEIROS RESULTADOS
   Nosso objetivo nesta sessão é demonstrar as primeiras
impressões que tivemos do grafo gerado pelo coletor. Para
isso calculamos algumas métricas estruturais de interesse geral
para a rede gerada em três estágios. Os grafos gerados
possuem aproximadamente um (1M), dois (2M) e três (3M)
milhões de vértices, respectivamente. Utilizaremos como
exemplo grafos com no máximo três milhões devido ao custo
computacional dos algoritmos executados.
Métricas de interesse
  Nós usamos apenas métricas para medidas estruturais das
redes. Como todas elas são utilizadas e discutidas vastamente
na literatura não iremos defini-las uma a uma. Apenas nos
momentos essenciais para o entendimento do texto
explicaremos o significado. Contudo, para um melhor
entendimento dos cálculos empregados na obtenção das                        Figura 1: Distribuição de probabilidade        em função da
medidas, indicamos a seguinte leitura [6].                                  conectividade dos vértices para os grafos 1M, 2M e 3M.
   Na Tabela 1 podemos observar a progressão na
                                                                               Existem várias formas de se estimar o parâmetro de escala
conectividade6 dos vértices. A métrica MV é a média de
                                                                            de uma lei da potência. Uma abordagem bastante utilizada é
conectividade dos vértices. Aqui, podemos traduzir como a
                                                                            construir um histograma dos dados e traçar um gráfico em
média de amigos de um usuário. Em todos os três casos
                                                                            escala logarítmica (log-log) dos valores. O resultado é uma
estudados a média deu abaixo de três, o que está muito longe
                                                                            linha muito próxima de uma reta. Contudo, em vários casos
do esperado. Isso acontece porque o coletor faz buscas em
                                                                            esse método não é eficiente e a maioria de seus resultados são
largura, logo, como explicamos na sessão III, os resultados
                                                                            pobres comparado a técnicas mais precisas como o Maximum
serão sempre em formato de árvores. Mesmo assim podemos
                                                                            Likelihood Estimation (MLE), ou estimação da máxima
observar que a progressão na conectividade está acontecendo.
                                                                            verossimilhança[5]. Utilizaremos à técnica MLE.

                                                                            7
                                                                              Coeficiente de agrupamento representa a probabilidade de existir uma
                                                                            relação entre A e C, dado que A conhece B e B conhece C. Logo, quanto mais
6
  Conectividade de um vértice representa a quantidade de vértices que são   próximo o coeficiente chegar de 1 maior é a probabilidade de A, B e C se
adjacentes a ele.                                                           conhecerem.
4

   A Figura 1 mostra a diferença entre as FDPs nos três grafos.   resultado. Portanto, esperamos constatar em trabalhos futuros
Como podemos perceber a quantidade de vértices com                que nossas suposições estejam corretas.
probabilidade parecida é preponderante. Isso é resultado do
processo de coleta. A cada nível coletado no grafo, os vértices                 V. DISCUSSÃO E TRABALHOS FUTUROS
que são coletados invariavelmente possuem poucas arestas.            O tamanho do grafo coletado até abril de 2010 é de
Isto é, certamente ele possuirá uma aresta ligada ao              aproximadamente 15 milhões de vértices e 40 milhões de
alimentador e, além dessa, algumas arestas a mais que são         arestas. A quantidade de arestas cresce mais rápido que a de
referentes aos seus amigos que já foram coletados e               vértices, como é esperado. É difícil estimar a quantidade atual
armazenados. Conforme o processo de coleta avança, avança         de usuários ativos no SRS Orkut. Nas páginas oficiais sobre
também a quantidade de arestas em relação aos vértices. Logo,     estatísticas estão disponíveis apenas informações sobre a
como nesse estágio os três grafos possuem quantidades de          porcentagem de usuários por país. O Brasil é o primeiro da
vértices e arestas próximas, a probabilidade de um vértice que    lista e representa 50,6% dos usuários ativos [4]. Porém,
acabou de ser coletado tende a ser pequena. Com o passar do       baseados apenas nessas informações não é possível quantificar
tempo esperamos que essa linha formada na Figura 1 chegue         a porcentagem de usuários já coletados na rede.
cada vez mais próximo de uma reta. O parâmetro de escala             Isso é uma grande preocupação, pois não temos formas de
mostrado Tabela 1 também está abaixo do esperado para uma         estimar o final do processo de coleta. No estágio atual, o
rede social (            ), mas também demonstra avanços          coletor já recuperou aproximadamente metade do segundo
conforme o tamanho do grafo aumenta.                              nível, isto é, utilizando os vértices do primeiro nível como
                                                                  alimentadores. Então, ao final dessa fase, teremos dois níveis
                                                                  completos e um apenas com as arestas do alimentador e dos
                                                                  amigos que já haviam sido coletados. Como nosso objetivo é
                                                                  coletarmos um grafo altamente conectado, modificaremos a
                                                                  estratégia de coleta. O coletor passará recuperar as relações
                                                                  entre os usuários armazenados no segundo nível. Isso será o
                                                                  estágio final de nossa coleta.
                                                                     Contudo, os dados atualizados da coleta mostram que todos
                                                                  os resultados mostrados nesse artigo estão cada vez mais
                                                                  coerentes com os resultados apontados por outros
                                                                  pesquisadores.

                                                                                                REFERÊNCIAS
                                                                  [1]   J. Leskovec and C. Faloutsos, “Sampling from large graphs,” in
                                                                        KDD’06: Proceedings of the 12th ACM SIGKDD international
                                                                        conference on Knowledge discovery and data mining, 2006, pp. 631–
                                                                        636.
Figura 2: A conectividade média (knn) dos vizinhos mais           [2]   S. H. Lee, P.-J. Kim, and H. Jeong, “Statistical properties of sampled
próximos em função da conectividade do vértice (k) para os              networks,” Phys. Rev. E, no. 73, p. 016102, 2006.
grafos 1M, 2M e 3M.                                               [3]   D. J. Watts and S. H. Strogatz, “Collective dynamics of ‘small-world’
                                                                        networks,” Nature, vol. 393, pp. 440–442, 1998.
                                                                  [4]   Orkut (2010). All Members. http://www.orkut.com/MembersAll,
Correlação entre os vértices                                            Acessado em 05/05/2010.
   A Figura 2 mostra qual é a relação preponderante entre os      [5]   A. Clauste, C. R. Shalizi, and M. E. J. Newman. Power-law distributions
vértices do grafo. Para isso mostramos uma correlação entre             in empirical data. SIAM Review, 2009.
os valores obtidos pelo algoritmo k-vizinhos mais próximos,       [6]   Luciano F. Costa, Francisco A. Rodrigues, Gonzalo Travieso, and P.R.
                                                                        Villas Boas, Characterization of complex networks: A survey of
ou k-nearest neighbors knn e o grau dos vértices k . Logo,              measurements, Advances in Physics, volume 56, pp 167-242, 2007.
obtemos dessa correlação a frequência em que os vértices de       [7]   A. Mislove, M. Marcon, K. P. Gummadi, P. Druschel, and B.
diferentes graus se relacionam. Isso pode nos indicar, por              Bhattacharhjee. Measurement and analysis of online social networks.
                                                                        Proceedings of the internatonal ACM conference SIGCOMM, pages 29-
exemplo, que vértices altamente conectados tendem a se                  42, 2007.
conectar com vértices de baixa conectividade ou se os vértices    [8]   M. Gjoka, M. Kurant, C. T. Butts, and A. Markopoulou, “Unbiased
se conectam com vértices de conectividade similares. Como               sampling of facebook,” 2009.
podemos perceber os vértices de nossa amostra tendem a se
conectar com vértices menos conectados. Outros trabalhos já
mostraram que os usuários da rede Orkut tendem a se conectar
com usuários de conectividade semelhantes [7]. Portanto,
atribuímos essa disparidade no comportamento a quantidade
limitada de arestas que estamos trabalhando.
   É esperado que o resultado da Figura 2 fique mais próximo
de uma linha horizontal. Como podemos ver, conforme
aumenta o tamanho da rede mais próximo disso fica o

Mais conteúdo relacionado

Semelhante a Crawling Orkut

Análise de Redes Sociais: novas possibilidades de serviços e pesquisa para bi...
Análise de Redes Sociais: novas possibilidades de serviços e pesquisa para bi...Análise de Redes Sociais: novas possibilidades de serviços e pesquisa para bi...
Análise de Redes Sociais: novas possibilidades de serviços e pesquisa para bi...
Dalton Martins
 
Explore suas redes nas midias sociais
Explore suas redes nas midias sociaisExplore suas redes nas midias sociais
Explore suas redes nas midias sociais
7Bridges
 

Semelhante a Crawling Orkut (20)

Seminário de Uso das Redes Sociais Para Publicação Cientifica na USP_Dalton M...
Seminário de Uso das Redes Sociais Para Publicação Cientifica na USP_Dalton M...Seminário de Uso das Redes Sociais Para Publicação Cientifica na USP_Dalton M...
Seminário de Uso das Redes Sociais Para Publicação Cientifica na USP_Dalton M...
 
Análise de Redes Sociais: novas possibilidades de serviços e pesquisa para bi...
Análise de Redes Sociais: novas possibilidades de serviços e pesquisa para bi...Análise de Redes Sociais: novas possibilidades de serviços e pesquisa para bi...
Análise de Redes Sociais: novas possibilidades de serviços e pesquisa para bi...
 
Oficina Gepgi - UFPEL
Oficina Gepgi - UFPELOficina Gepgi - UFPEL
Oficina Gepgi - UFPEL
 
Netnografia - antropologia aplicada no estudo de comunidades online
Netnografia - antropologia aplicada no estudo de comunidades onlineNetnografia - antropologia aplicada no estudo de comunidades online
Netnografia - antropologia aplicada no estudo de comunidades online
 
Explore suas redes nas midias sociais
Explore suas redes nas midias sociaisExplore suas redes nas midias sociais
Explore suas redes nas midias sociais
 
2.3.2.
2.3.2. 2.3.2.
2.3.2.
 
Mídias Digitais - Apresentação da aula 02 (11/08/2012)
Mídias Digitais - Apresentação da aula 02 (11/08/2012)Mídias Digitais - Apresentação da aula 02 (11/08/2012)
Mídias Digitais - Apresentação da aula 02 (11/08/2012)
 
Apresentação redes
Apresentação redesApresentação redes
Apresentação redes
 
Monografia de conclusão
Monografia de conclusãoMonografia de conclusão
Monografia de conclusão
 
Iniciação A Redes: Conceitos Essenciais e Principais Ideias
Iniciação A Redes: Conceitos Essenciais e Principais IdeiasIniciação A Redes: Conceitos Essenciais e Principais Ideias
Iniciação A Redes: Conceitos Essenciais e Principais Ideias
 
Análise de Redes Sociais de Conteúdos
Análise de Redes Sociais de ConteúdosAnálise de Redes Sociais de Conteúdos
Análise de Redes Sociais de Conteúdos
 
Redes Sociais como Fonte de Pesquisa em Ciência Política
Redes Sociais como Fonte de Pesquisa em Ciência PolíticaRedes Sociais como Fonte de Pesquisa em Ciência Política
Redes Sociais como Fonte de Pesquisa em Ciência Política
 
Fundamentos de banco dados
Fundamentos de banco dadosFundamentos de banco dados
Fundamentos de banco dados
 
Fundamentos de banco dados
Fundamentos de banco dadosFundamentos de banco dados
Fundamentos de banco dados
 
Módulo 3 b redes sociais
Módulo 3 b   redes sociaisMódulo 3 b   redes sociais
Módulo 3 b redes sociais
 
Redes sociais
Redes sociaisRedes sociais
Redes sociais
 
POR UM MÉTODO PERSPECTIVISTA DE ANÁLISE DE REDES
POR UM MÉTODO PERSPECTIVISTA DE ANÁLISE DE REDESPOR UM MÉTODO PERSPECTIVISTA DE ANÁLISE DE REDES
POR UM MÉTODO PERSPECTIVISTA DE ANÁLISE DE REDES
 
Quem você conhece? Uma análise exploratória de redes sociais a partir de dado...
Quem você conhece? Uma análise exploratória de redes sociais a partir de dado...Quem você conhece? Uma análise exploratória de redes sociais a partir de dado...
Quem você conhece? Uma análise exploratória de redes sociais a partir de dado...
 
Redes sociais e computação social
Redes sociais e computação socialRedes sociais e computação social
Redes sociais e computação social
 
Análise de redes sociais: novas oportunidades de geração de conhecimento na Web
Análise de redes sociais: novas oportunidades de geração de conhecimento na WebAnálise de redes sociais: novas oportunidades de geração de conhecimento na Web
Análise de redes sociais: novas oportunidades de geração de conhecimento na Web
 

Último

Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
Natalia Granato
 

Último (6)

ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Assessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdfAssessement Boas Praticas em Kubernetes.pdf
Assessement Boas Praticas em Kubernetes.pdf
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 

Crawling Orkut

  • 1. 1 Coletando relações sociais na rede Orkut Rogério Minhano, Universidade Federal do ABC (UFABC), Mestrado em Engenharia da Informação. grafo social em que os usuários são os vértices e suas relações Resumo — Vários indícios sugerem a existência de uma rede de amizade são as arestas. social por trás das redes geradas nos sistemas de recomendações. Os vértices de um grafo social é frequentemente associado a Como provar a existência delas? Serviços de Redes sociais são um conjunto de informações inerentes ao usuário. As mais aplicações web que proporcionam aos seus usuários interação e relacionamento com outras pessoas. Seus dados podem revelar comuns são as informações pessoais (perfil), fotos, vídeos, comportamentos importantes para a vida em sociedade. Neste publicações, lista de amigos, mensagens e recados. Nosso artigo descrevemos o funcionamento de um coletor web (crawling objetivo é a recuperação do grafo, buscamos apenas a lista de web). Mostramos também as principais características dos grafos amigos de cada vértice. O processo de coleta inicialmente gerados a partir das coletas. formará grafos esparsos em formato de árvore. A cada vez que o coletor executa um ciclo completo mais arestas são Índice de termos — grafos, redes sociais, redes complexas, adicionadas. Logo, espontaneamente os grafos esparsos aplicações web, coletores web. começam a se agrupar formando um único grafo conectado. I. INTRODUÇÃO Demonstramos as primeiras impressões que tivemos do grafo gerado pelo coletor. Calculamos algumas métricas Em abril de 2010 submetemos um trabalho intitulado “Uma estruturais em três estágios. Os grafos gerados possuem visão do marketing viral através da análise de redes aproximadamente um (1M), dois (2M) e três (3M) milhões de complexas.” Nesse artigo estudamos como ocorrem as vértices, respectivamente. interações e troca de recomendações entre assinantes de Ao final, mostramos que conforme aumenta o tamanho do revistas. Durante a pesquisa foi foram demonstrados vários grafo coletado mais próximo o resultado fica dos resultados indícios da existência de uma rede social por trás das alcançados por outros pesquisadores. recomendações. Isto é, os assinantes não recomendavam O Artigo está organizado da seguinte forma. A sessão II apenas para ganharem os bônus ou benefícios oferecidos. Mais apresenta alguns trabalhos relacionados e suas implicações que isso, eles recomendavam porque existe realmente uma para nossos experimentos. A sessão III trata efetivamente das relação de troca de recomendações entre o que faz a características e estratégias utilizadas no processo de coleta recomendação e o recomendado. Dessas suposições surgiram dos dados. A sessão IV discute os resultados extraídos dos os seguintes interesses de pesquisa: Existe realmente uma rede primeiros três milhões de usuários coletados e, finalmente, a social por trás das recomendações? Como provar essa sessão V expõe algumas discussões e trabalhos futuros. existência? A forma que escolhemos para responder essas perguntas é a comparação das redes de recomendação com II. TRABALHOS RELACIONADOS uma rede social real. Serviços de redes sociais (SRS) são aplicações web que Antes de tudo, dados de redes sociais são as informações de proporcionam aos seus usuários interação e formas de maior valor para os provedores de SRS. Eles são protegidos relacionamento com outras pessoas que também sejam regras de privacidades do próprio SRS e por leis usuárias do mesmo serviço. Essas interações são na forma de governamentais, portanto, é difícil conseguir os dados vídeos, mensagens instantâneas, fotos, depoimentos, e etc. diretamente dos provedores. Em segundo lugar, é um grande Nos SRS estão disponíveis muitas características desafio computacional coletar dados de milhões de usuários comportamentais de seus usuários e, extrapolando essa visão, das redes sociais. Muitas aplicações utilizam recursos por trás dos dados armazenados podemos descobrir também dinâmicos nas páginas (Ajax e DHTML) e, por isso não é características de grupos. Por isso existe tanto interesse de trivial desenvolver um tradutor eficiente. Além disso, essas pesquisa nessa área. Entretanto, os SRS não disponibilizam aplicações possuem várias formas de customização de suas seus dados para pesquisa principalmente por questões interfaces. Por último, a maioria dos SRS possui mecanismos relacionadas a privacidades. Logo, existe o problema da coleta próprios de defesa contra coletas robotizadas, portanto, a dessas informações. dificuldade é ainda maior. Um coletor web (ou web crawler) é uma aplicação que Desta forma, relacionamos aqui os trabalhos de coletas que efetua buscas na web com um objetivo especifico. Como o julgamos mais significativos e que estão mais próximos do Google, que coleta informações de páginas para depois coletor que desenvolvemos. indexá-las. Nesse artigo descreveremos o funcionamento de A pesquisa conduzida por Mislove et al. [7] é, até onde um coletor para recuperação de dados do SRS Orkut. Mais temos conhecimento, o maior estudo baseado em dados especificamente, esse coletor tem como objetivo montar um coletados de SRS já publicado. Foram coletados 11.3 milhões
  • 2. 2 de usuários e 328 milhões de relações. Suas análises Naturalmente, nosso objetivo pode ser divido em duas partes: confirmaram grande parte das propriedades conhecidas das a coleta dos vértices e a coleta das arestas. redes sociais, como distribuição dos graus segundo a lei da Os vértices de um grafo social é frequentemente associado a potência e agrupamentos fortemente conectados. Leskovec et um conjunto de informações inerentes ao usuário. As mais al. [1] analisou vários algoritmos de amostragem para grafos e comuns são as informações pessoais (perfil), fotos, vídeos, mostrou o quanto uma coleta pode ser viciada. Gjorka et al. publicações, lista de amigos, mensagens e recados. Todas elas, propôs um método para amostragem que seleciona os vértices com um nível maior ou menor de dificuldade, podem ser uniformemente sem necessidade de conhecimento sobre a rede recuperadas. Como nosso objetivo é a recuperação do grafo, inteira. buscamos apenas a lista de amigos de cada vértice. Por outro Entretanto, todos esses trabalhos selecionam os vértices que lado, poucas informações são associadas às arestas do grafo. irão iniciar as coletas com alguma probabilidade. Fazem isso Na maioria dos casos as informações tratam apenas da forma com o objetivo de diminuir o viés do resultado. Porém, em como o usuário categoriza seus amigos, por exemplo, amigos, nosso caso, o objetivo é exatamente o contrário. Como nosso companheiros de trabalho, familiares, etc. Logo, a única ponto de partida é a rede de recomendações, buscamos formar informação referente às arestas que nos interessa é a sua o grafo mais conectado possível ao redor dos usuários da rede própria existência. de recomendações. Escolha dos vértices iniciais A escolha dos alimentadores é um passo importante no III. COLETOR DE REDES SOCIAIS processo de coleta. É denominado alimentador o vértice pelo Definição qual o processo de coleta é iniciado. A maioria dos coletores O que é um web crawler, ou coletor web? Em primeira que estudamos escolhe aleatoriamente seus alimentadores. instância estamos falando de uma aplicação que faz buscas e Essa abordagem é interessante quando o objetivo é capturar captura de informações na rede com um objetivo determinado. um exemplo do grafo. Contudo, existem evidencias de que O Google, por exemplo, busca páginas (no contexto mais algumas características do grafo resultante não são fieis ao amplo de uma página web) para depois indexá-las. No nosso grafo real [1][2]. caso estamos falando especificamente de coletas em serviços Em nosso caso, a pilha inicial de alimentadores é composta de redes sociais (SRS). Logo, nosso objetivo é fazer busca nas de uma coleção de usuários já estabelecida. Nossa pesquisa redes e capturar informações específicas dentro de suas consiste em demonstrar empiricamente a existência de uma páginas. rede social por trás de uma rede de indicações, portanto, a lista Grande parte dos SRS fornece bibliotecas de código aberto de indicações é nosso ponto de partida para formarmos o grafo que auxiliam no processo de coleta dos dados. Algumas delas social. Logo, se nosso grafo está de alguma forma diferindo da são Facebook1, Flirck 2 e Twitter3. Entretanto, nosso objetivo é realidade, isto ocorre propositalmente. efetuar coletas na rede social Orkut4. O Orkut fornece uma Algoritmo utilizado biblioteca para desenvolvimento de aplicações chamada Open Quatro algoritmos para coleta dos vértices são vastamente Social. Essa, por sua vez, não permite a captura de utilizados na prática. informações da rede. Logo, uma característica preponderante em nosso coletor é a simulação de um paginador (web • BFS (breadth-first search): É o algoritmo mais browser) e o tratamento das páginas recuperadas. popular, faz seleção simples do primeiro item da pilha. Qual a finalidade do coletor? • Greedy: O coletor seleciona o vértice com o maior Toda rede social pode ser modelada como um grafo. Um grau5 na pilha, desde que o vértice não tenha sido grafo é um formalismo matemático que serve para representar coletado ainda. objetos e relações entre eles. Esta simples estrutura encontra- • Lottery: O coletor seleciona o vértice com maior se em uma grande diversidade de aplicações como circuitos probabilidade proporcional ao seu grau. Este algoritmo elétricos, estradas, vários tipos de redes, ecossistemas, prefere os vértices com os graus maiores, mas ele relações sociais, interação molecular, bases de dados, também seleciona os de graus menores para reduzir o estruturas de controle de programas e sistemas de permissões viés da amostra. de sistemas de segurança. Estes são alguns exemplos da • Hypothetical greedy: O coletor sempre seleciona o grande variedade de aplicações da teoria dos grafos. vértice com maior grau na pilha, dado que o maior grau Da perspectiva de um grafo, os usuários dos SRS podem ser aqui é o maior grau no grafo real, isto é, o maior grau modelados como vértices e suas relações sociais como arestas. verdadeiro. Um cenário típico para aplicação desse O objetivo deste artigo é discutir o processo de busca e algoritmo é a amostragem de um subgrafo de um grafo recuperação de dados do grafo social por trás do Orkut. maior. 1 http://www.facebook.com/ 5 2 http://www.flickr.com/ Grau de um vértice é a quantidade de arestas conectadas a ele. Geralmente 3 são divididos em graus direcionados de entrada e graus de saída. Porém, como http://www.twitter.com/ na SRS Orkut uma pessoa adicionada como amigo precisa necessariamente 4 http://www.orkut.com/ aceitar o convite, o vértice criado não é direcionado.
  • 3. 3 O algoritmo utilizado em nosso coletor é o BFS por ser o Da mesma forma, podemos observar que a média do que melhor se encaixa em nossas necessidades. coeficiente de agrupamento7 também é crescente. Sendo assim, o processo de coleta do grafo social pode ser Tabela 1: Métricas gerais sobre as redes. (G) Nome do grafo, (V) resumido nos seguintes passos: Número de vértices, (A) Número de arestas, (MV) Média dos 1. Organizar os vértices alimentadores em uma pilha (a graus dos vértices, (CA) Média do coeficiente de agrupamento e (α) Parâmetro de escala. ordem é indiferente porque de qualquer forma todos serão coletados); G V A MV CA α 2. Selecionar o primeiro vértice alimentador; 3. Coletar o vértice no SRS; 1M 924.764 996.575 2,155 0,000246 1,041 4. Armazenar a lista de amigos do vértice; 2M 1.741.084 996.575 2,289 0,000514 1,129 5. Voltar para o passo dois até que toda lista de amigos 3M 2.479.609 3.479.396 2,806 0,000782 1,463 dos alimentadores seja coletada; 6. Categorizar os vértices coletados como alimentadores e Distribuição Lei da Potência voltar para o primeiro passo até que o sexto nível seja A teoria das redes complexas tem sido usada vastamente no alcançado. estudo de interações humanas. Vários autores mostraram que essas redes frequentemente seguem uma distribuição chamada O processo de coleta inicialmente formará grafos esparsos Power-law, ou lei da potência [5]. Esta distribuição possui em formato de árvore. A cada vez que o coletor executa um uma função de densidade de probabilidade (FDP) da forma ciclo completo mais arestas são adicionadas. Logo, , onde é a probabilidade de encontrarmos o espontaneamente os grafos esparsos começam a se agrupar valor , é uma constante e é um parâmetro da distribuição formando um único grafo conectado. Isso acontece devido ao chamado de parâmetro de escala. De forma geral, para todas efeito mundos pequenos, que demonstra que as pessoas em um as redes encontradas na natureza, o parâmetro de escala grafo real estão sempre a menos de seis passos de separação encontra-se próximo dos limites dois e três, isto é, . [3]. O coletor será finalizado ao final da coleta do sexto nível. Um outro termo, que também caracteriza essas redes, muito comum encontrado na literatura é redes de escala livre. IV. PRIMEIROS RESULTADOS Nosso objetivo nesta sessão é demonstrar as primeiras impressões que tivemos do grafo gerado pelo coletor. Para isso calculamos algumas métricas estruturais de interesse geral para a rede gerada em três estágios. Os grafos gerados possuem aproximadamente um (1M), dois (2M) e três (3M) milhões de vértices, respectivamente. Utilizaremos como exemplo grafos com no máximo três milhões devido ao custo computacional dos algoritmos executados. Métricas de interesse Nós usamos apenas métricas para medidas estruturais das redes. Como todas elas são utilizadas e discutidas vastamente na literatura não iremos defini-las uma a uma. Apenas nos momentos essenciais para o entendimento do texto explicaremos o significado. Contudo, para um melhor entendimento dos cálculos empregados na obtenção das Figura 1: Distribuição de probabilidade em função da medidas, indicamos a seguinte leitura [6]. conectividade dos vértices para os grafos 1M, 2M e 3M. Na Tabela 1 podemos observar a progressão na Existem várias formas de se estimar o parâmetro de escala conectividade6 dos vértices. A métrica MV é a média de de uma lei da potência. Uma abordagem bastante utilizada é conectividade dos vértices. Aqui, podemos traduzir como a construir um histograma dos dados e traçar um gráfico em média de amigos de um usuário. Em todos os três casos escala logarítmica (log-log) dos valores. O resultado é uma estudados a média deu abaixo de três, o que está muito longe linha muito próxima de uma reta. Contudo, em vários casos do esperado. Isso acontece porque o coletor faz buscas em esse método não é eficiente e a maioria de seus resultados são largura, logo, como explicamos na sessão III, os resultados pobres comparado a técnicas mais precisas como o Maximum serão sempre em formato de árvores. Mesmo assim podemos Likelihood Estimation (MLE), ou estimação da máxima observar que a progressão na conectividade está acontecendo. verossimilhança[5]. Utilizaremos à técnica MLE. 7 Coeficiente de agrupamento representa a probabilidade de existir uma relação entre A e C, dado que A conhece B e B conhece C. Logo, quanto mais 6 Conectividade de um vértice representa a quantidade de vértices que são próximo o coeficiente chegar de 1 maior é a probabilidade de A, B e C se adjacentes a ele. conhecerem.
  • 4. 4 A Figura 1 mostra a diferença entre as FDPs nos três grafos. resultado. Portanto, esperamos constatar em trabalhos futuros Como podemos perceber a quantidade de vértices com que nossas suposições estejam corretas. probabilidade parecida é preponderante. Isso é resultado do processo de coleta. A cada nível coletado no grafo, os vértices V. DISCUSSÃO E TRABALHOS FUTUROS que são coletados invariavelmente possuem poucas arestas. O tamanho do grafo coletado até abril de 2010 é de Isto é, certamente ele possuirá uma aresta ligada ao aproximadamente 15 milhões de vértices e 40 milhões de alimentador e, além dessa, algumas arestas a mais que são arestas. A quantidade de arestas cresce mais rápido que a de referentes aos seus amigos que já foram coletados e vértices, como é esperado. É difícil estimar a quantidade atual armazenados. Conforme o processo de coleta avança, avança de usuários ativos no SRS Orkut. Nas páginas oficiais sobre também a quantidade de arestas em relação aos vértices. Logo, estatísticas estão disponíveis apenas informações sobre a como nesse estágio os três grafos possuem quantidades de porcentagem de usuários por país. O Brasil é o primeiro da vértices e arestas próximas, a probabilidade de um vértice que lista e representa 50,6% dos usuários ativos [4]. Porém, acabou de ser coletado tende a ser pequena. Com o passar do baseados apenas nessas informações não é possível quantificar tempo esperamos que essa linha formada na Figura 1 chegue a porcentagem de usuários já coletados na rede. cada vez mais próximo de uma reta. O parâmetro de escala Isso é uma grande preocupação, pois não temos formas de mostrado Tabela 1 também está abaixo do esperado para uma estimar o final do processo de coleta. No estágio atual, o rede social ( ), mas também demonstra avanços coletor já recuperou aproximadamente metade do segundo conforme o tamanho do grafo aumenta. nível, isto é, utilizando os vértices do primeiro nível como alimentadores. Então, ao final dessa fase, teremos dois níveis completos e um apenas com as arestas do alimentador e dos amigos que já haviam sido coletados. Como nosso objetivo é coletarmos um grafo altamente conectado, modificaremos a estratégia de coleta. O coletor passará recuperar as relações entre os usuários armazenados no segundo nível. Isso será o estágio final de nossa coleta. Contudo, os dados atualizados da coleta mostram que todos os resultados mostrados nesse artigo estão cada vez mais coerentes com os resultados apontados por outros pesquisadores. REFERÊNCIAS [1] J. Leskovec and C. Faloutsos, “Sampling from large graphs,” in KDD’06: Proceedings of the 12th ACM SIGKDD international conference on Knowledge discovery and data mining, 2006, pp. 631– 636. Figura 2: A conectividade média (knn) dos vizinhos mais [2] S. H. Lee, P.-J. Kim, and H. Jeong, “Statistical properties of sampled próximos em função da conectividade do vértice (k) para os networks,” Phys. Rev. E, no. 73, p. 016102, 2006. grafos 1M, 2M e 3M. [3] D. J. Watts and S. H. Strogatz, “Collective dynamics of ‘small-world’ networks,” Nature, vol. 393, pp. 440–442, 1998. [4] Orkut (2010). All Members. http://www.orkut.com/MembersAll, Correlação entre os vértices Acessado em 05/05/2010. A Figura 2 mostra qual é a relação preponderante entre os [5] A. Clauste, C. R. Shalizi, and M. E. J. Newman. Power-law distributions vértices do grafo. Para isso mostramos uma correlação entre in empirical data. SIAM Review, 2009. os valores obtidos pelo algoritmo k-vizinhos mais próximos, [6] Luciano F. Costa, Francisco A. Rodrigues, Gonzalo Travieso, and P.R. Villas Boas, Characterization of complex networks: A survey of ou k-nearest neighbors knn e o grau dos vértices k . Logo, measurements, Advances in Physics, volume 56, pp 167-242, 2007. obtemos dessa correlação a frequência em que os vértices de [7] A. Mislove, M. Marcon, K. P. Gummadi, P. Druschel, and B. diferentes graus se relacionam. Isso pode nos indicar, por Bhattacharhjee. Measurement and analysis of online social networks. Proceedings of the internatonal ACM conference SIGCOMM, pages 29- exemplo, que vértices altamente conectados tendem a se 42, 2007. conectar com vértices de baixa conectividade ou se os vértices [8] M. Gjoka, M. Kurant, C. T. Butts, and A. Markopoulou, “Unbiased se conectam com vértices de conectividade similares. Como sampling of facebook,” 2009. podemos perceber os vértices de nossa amostra tendem a se conectar com vértices menos conectados. Outros trabalhos já mostraram que os usuários da rede Orkut tendem a se conectar com usuários de conectividade semelhantes [7]. Portanto, atribuímos essa disparidade no comportamento a quantidade limitada de arestas que estamos trabalhando. É esperado que o resultado da Figura 2 fique mais próximo de uma linha horizontal. Como podemos ver, conforme aumenta o tamanho da rede mais próximo disso fica o