analises bases de dados

47
Coleta e Análise de Grandes Bases de Dados de Redes Sociais Online Fabrício Benevenuto Jussara M. Almeida Altigran S. da Silva Departamento de Ciência da Computação Universidade Federal de Ouro Preto Ouro Preto, MG, Brasil [email protected] Departamento de Ciência da Computação Universidade Federal de Minas Gerais Belo Horizonte, MG, Brasil [email protected] Departamento de Ciência da Computação Universidade Federal do Amazonas Manaus, AM, Brasil [email protected] 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 crescimento, 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í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 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 increasing popu- larity of a new wave of applications on the Web. Associated with this popularity 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 1

Upload: girleno

Post on 25-Sep-2015

277 views

Category:

Documents


13 download

DESCRIPTION

Analises base de dados

TRANSCRIPT

  • Coleta e Anlise de Grandes Bases de Dados deRedes Sociais Online

    Fabrcio Benevenuto Jussara M. Almeida Altigran S. da Silva?

    Departamento de Cincia da ComputaoUniversidade Federal de Ouro Preto

    Ouro Preto, MG, [email protected]

    Departamento de Cincia da ComputaoUniversidade Federal de Minas Gerais

    Belo Horizonte, MG, [email protected]

    ?Departamento de Cincia da ComputaoUniversidade Federal do Amazonas

    Manaus, AM, [email protected]

    Resumo

    Redes sociais online tm se tornado extremamente populares, levando ao surgimento e crescente

    popularizao de uma nova onda de aplicaes na Web. Associado a esse crescimento, redes sociais

    esto se tornando um tema central de pesquisas em diversas reas da Cincia da Computao. Este

    mini-curso oferece uma introduo ao pesquisador que pretende explorar esse tema. Inicialmente,

    apresentamos as principais caractersticas das redes sociais mais populares atualmente. Em seguida,

    discutimos as principais mtricas e anlises 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 tcnicas.

    Abstract

    Online social networks have become extremely popular, causing the deployment and increasing popu-

    larity of a new wave of applications on the Web. Associated with this popularity 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

    1

  • current online social network applications. Then, we discuss the main metrics and analyses employed

    to study the graphs that represent the social network topologies. Finally, we summarize the main ap-

    proaches used to collect and process online social network datasets, and discuss recent work that

    illustrates the use of such approaches.

    1.1. IntroduoDesde seu incio, a Internet tem sido palco de uma srie de novas aplica-

    es, incluindo email, aplicaes par-a-par, aplicaes de comrcio eletrnico,assim como vrios servios Web. Atualmente, a Web vem experimentandouma nova onda de aplicaes associada proliferao das redes sociais on-line e ao crescimento da popularidade da mdia digital. Vrias redes sociaisonline (OSNs - Online Social Networks) surgiram, incluindo redes de profissio-nais (ex., LinkedIn), redes de amigos (ex., MySpace, Facebook, Orkut), e redespara o compartilhamento de contedos especficos, tais como mensagens cur-tas (ex., Twitter), dirios e blogs (ex., LiveJournal), fotos (ex., Flickr), e vdeos(ex., YouTube).

    Redes sociais online tm atrado milhes de usurios. De acordo com aNielsen Online [Nielsen Online 2010], mdia social, termo usado em refernciaa contedo criado e disseminado via interaes sociais, passou na frente deemail como a atividade online mais popular. Mais de dois teros da populaoonline global visita ou participa de redes sociais e blogs. Como comparao, seo Facebook fosse um pas, este seria o terceiro pas mais populoso do mundo,graas aos seus 500 milhes de usurios registrados [Facebook 2010c]. Tantapopularidade est associada a uma funcionalidade comum de todas as redessociais online que permitir que usurios criem e compartilhem contedo nes-ses ambientes. Este contedo pode variar de simples mensagens de textocomunicando eventos do dia-a-dia at mesmo a contedo multimdia, comofotos e vdeos. Como conseqncia, as estatsticas sobre contedo geradopelos usurios nesses stios Web so impressionantes. Por exemplo, o Face-book compartilha mais de 60 bilhes de fotos, que ocupam mais de 1.5 PBde espao [Facebook 2010d]. A quantidade de contedo que o YouTube ar-mazena em 60 dias seria equivalente ao contedo televisionado em 60 anos,sem interrupo, pelas emissoras norte-americanas NBC, CBS e ABC jun-tas [New York Times 2010a]. De fato, o YouTube foi acessado por mais de 100milhes de usurios apenas em Janeiro de 2009 [comScore 2010], com umataxa de upload de 10 horas de vdeo por minuto [YouTube 2010].

    Apesar de tanta popularidade e da enorme quantidade de contedo dispo-nvel, o estudo de redes sociais ainda est em sua infncia, j que esses am-bientes esto experimentando novas tendncias e enfrentando diversos novosproblemas e desafios. A seguir sumarizamos alguns elementos motivadorespara o estudo de redes sociais online.

    Comercial: Com usurios passando muito tempo navegando em re-des sociais online, esses stios Web tm se tornado um grande alvopara propagandas. De fato, em 2007, 1,2 bilhes de dlares foram

    2

  • gastos em propagandas em redes sociais online no mundo todo, e esperado que este nmero triplique at 2011 [eMarketer 2007]. Almdisso, usurios de redes sociais online compartilham e recebem umagrande quantidade de informao, influenciando e sendo influenciadospor seus amigos [Cha et al. 2010]. Conseqentemente, redes sociaisonline esto se tornando cada vez mais um alvo de campanhas pol-ticas [Gabrilovich et al. 2004] e de diversas outras formas de marketingviral, onde usurios so encorajados a compartilhar anncios sobre mar-cas e produtos com seus amigos [Leskovec et al. 2007].

    Sociolgica: No passado o estudo de redes sociais era um domniode socilogos e antroplogos, que utilizavam, como ferramentas tpi-cas para se obter dados, entrevistas e pesquisas com usurios volun-trios [Wasserman et al. 1994]. Como conseqncia, muitos desses es-tudos foram realizados com base em amostras de dados pequenas epossivelmente pouco representativas. Com a popularizao de aplica-es de redes sociais online, surgiu a oportunidade de estudos nessetema com o uso de grandes bases de dados, coletadas de tais apli-caes. Sistemas como Facebook, Twitter, Orkut, MySpace e YouTubepossuem milhes de usurios registrados e bilhes de elos que os co-nectam. Redes sociais online permitem o registro em larga escala dediversos aspectos da natureza humana relacionados comunicao, interao entre as pessoas e ao comportamento humano, em geral: elaspermitem que as pessoas interajam mais, mantenham contato com ami-gos e conhecidos, e se expressem e sejam ouvidas por uma audincialocal ou at mesmo global. De fato, redes sociais online vm funcio-nando como um novo meio de comunicao, modificando aspectos denossas vidas.

    Melhorias dos sistemas atuais: Assim como qualquer sistema Web,redes sociais online so vulnerveis a novas tendncias e esto sujeitasa experimentarem uma rpida transferncia de seus usurios paraoutros sistema, sem aviso prvio. Por exemplo, inicialmente o MySpaceexperimentou um crescimento exponencial no nmero de usurios.Entretanto, este crescimento foi seguido por uma forte queda depoisde abril de 2008 devido a um aumento no nmero de usurios doFacebook [Torkjazi et al. 2009]. Um outro exemplo o Orkut, queinicialmente cresceu muito rapidamente em diversos lugares, masque teve sua popularidade concretizada somente em alguns pases.Dentre esses pases, o Brasil o com maior nmero de usuriosregistrados [New York Times 2010b]. Vrias razes podem explicareste tipo de fenmeno, incluindo a interface e novas utilidades dosistema, problemas de desempenho e caractersticas dos usurios,etc. Finalmente, o grande volume de dados disponveis em diferentesredes sociais online abre um novo leque de opes para pesquisasrelacionadas recuperao de contedo, onde estratgias de busca

    3

  • e recomendao de usurios e contedo so cada vez mais importantes.

    Outro aspecto importante est relacionado ao trfego gerado pelas re-des sociais online. Intuitivamente, existe uma diferena crucial entrepublicar contedo na Web tradicional e compartilhar contedo atravsde redes sociais online. Quando as pessoas publicam algum contedona Web, elas tipicamente fazem isso para que todos os usurios daInternet, em qualquer lugar, possam acessar. Por outro lado, quandousurios publicam contedo em redes sociais online, eles geralmentepossuem uma audincia em mente, geralmente, seus amigos. Algu-mas vezes, a audincia explicitamente definida por um usurio oupela poltica do sistema. Conseqentemente, redes sociais online cons-tituem uma classe nica de aplicaes com potencial para remodelaros padres de trfego na Internet. Estudar aspectos de sistemas rela-cionados a redes sociais pode ser de grande importncia para a pr-xima gerao da infra-estrutura da Internet e para o projeto de sis-temas de distribuio de contedo mais eficientes, eficazes e robus-tos [Krishnamurthy 2009, Rodriguez 2009].

    Segurana e contedo indesejvel: Redes sociais online esto cadavez mais se tornando alvo de usurios maliciosos ou oportunistas queenviam propagandas no solicitadas, spam, e at mesmo phishing.O problema se manifesta de diversas maneiras, tais como a inclu-so de vdeos contendo spams em listas de vdeos mais popula-res [Benevenuto et al. 2008b, Benevenuto et al. 2009a], o envio de spamno Twitter [Benevenuto et al. 2010a], a incluso de metadados (particu-larmente tags) que no descrevem adequadamente o contedo associ-ado (p.ex: tag spamming) [Benevenuto et al. 2010c], etc. Contedo nosolicitado consome a ateno humana, talvez o recurso mais importantena era da informao. Em ltima instncia, o rudo e o distrbio causadospor alguns usurios reduzem a efetividade da comunicao online.

    Redes sociais online so ambientes perfeitos para o estudo de vrios temasda computao, incluindo sistemas distribudos, padres de trfego na Inter-net, minerao de dados, sistemas multimdia e interao humano-computador.Alm disso, por permitir que usurios criem contedo, redes sociais vm setornando um tema chave em pesquisas relacionadas organizao e trata-mento de grandes quantidades de dados, alm de constiturem um ambienteideal para extrao de conhecimento e aplicao de tcnicas de mineraode dados. Neste mini-curso apresentamos uma viso geral sobre redes soci-ais, oferecendo uma base necessria ao pesquisador que pretende explorar otema. Inicialmente, apresentamos as principais caractersticas das redes soci-ais mais populares atualmente. Em seguida, discutimos as principais mtricase anlises utilizadas no estudo dos grafos que formam a topologia das redessociais. Finalmente, sumarizamos as principais abordagens utilizadas para co-

    4

  • letar e tratar dados de redes sociais online, e discutimos trabalhos recentesque utilizaram essas tcnicas.

    1.2. Definies e Caractersticas de Redes Sociais OnlineEsta seo apresenta uma viso geral sobre as redes sociais online, suas

    principais caractersticas e mecanismos de interao entre os usurios.

    1.2.1. DefinioO termo rede social online geralmente utilizado para descrever um grupo

    de pessoas que interagem primariamente atravs de qualquer mdia de comu-nicao. Conseqentemente, baseado nessa definio, redes sociais onlineexistem desde a criao da Internet. Entretanto, neste trabalho, ns utiliza-remos uma definio um pouco mais restrita, adotada em trabalhos anteri-ores [Boyd e Ellison 2007, Mislove 2009]. Definimos uma rede social onlinecomo um servio Web que permite a um indivduo (1) construir perfis pbli-cos ou semi-pblicos dentro de um sistema, (2) articular uma lista de outrosusurios com os quais ele(a) compartilha conexes e (3) visualizar e percorrersuas listas de conexes assim como outras listas criadas por outros usuriosdo sistema.

    Com base nessa definio, existem vrias redes sociais online disponveisna Web, que variam de acordo com seus objetivos primrios. A Tabela 1.1apresenta uma lista com vrias redes sociais online populares atualmente,juntamente com seus principais propsitos. Uma lista atualizada e exaustivade redes sociais online, com mais de 150 stios Web, pode ser encontradaem [Wikipedia 2010].

    Nome Propsito URLOrkut Amizades http://www.orkut.comFacebook Amizades http://www.facebook.comMySpace Amizades http://www.myspace.comHi5 Amizades http://www.hi5.comLinkedIn Professionais http://www.linkedin.comYouTube Compartilhamento de vdeos http://www.youtube.comFlickr Compartilhamento de fotos http://www.flickr.comLiveJournal Blogs e dirios http://www.livejournal.comDigg Compartilhamento de (bookmarks) http://digg.comTwitter Troca de mensagens curtas http://twitter.comLastFM Compartilhamento de rdio/msicas http://www.last.fm

    Tabela 1.1. Algumas Redes Sociais Online Populares

    5

  • 1.2.2. Elementos das Redes Sociais OnlineNesta seo, discutimos vrias funcionalidades oferecidas pelas principais

    aplicaes de redes sociais online atuais. O objetivo desta seo no proveruma lista completa e exaustiva de funcionalidades, mas apenas descrever asmais relevantes.

    Perfis dos usurios: Redes sociais online possuem muitas funcionali-dades organizadas ao redor do perfil do usurio, na forma de uma pginaindividual, que oferece a descrio de um membro. Perfis podem ser uti-lizados no s para identificar o indivduo no sistema, mas tambm paraidentificar pessoas com interesses em comum e articular novas relaes.Tipicamente, perfis contm detalhes demogrficos (idade, sexo, localiza-o, etc.), interesses (passatempos, bandas favoritas, etc.), e uma foto.Alm da adio de texto, imagens e outros objetos criados pelo usu-rio, o perfil de um usurio na rede social tambm contm mensagens deoutros membros e listas de pessoas identificadas como seus amigos narede. Perfis so geralmente acessveis por qualquer um que tenha umaconta na rede social online ou podem ser privados, de acordo com aspolticas de privacidades definidas pelo usurio.

    Recentemente, Boyd e colaboradores [Boyd 2007] mostraram que, paraa maior parte dos usurios de redes sociais online, existe uma forte re-lao entre a identidade do indivduo real e seu perfil na rede social.

    Atualizaes: Atualizaes so formas efetivas de ajudar usurios adescobrir contedo. Para encorajar usurios a compartilhar contedoe navegar por contedo compartilhado por amigos, redes sociais onlinegeralmente fazem as atualizaes imediatamente visveis aos amigosna rede social. Burke e colaboradores [Burke et al. 2009] conduziramum estudo utilizando dados de 140,000 novos usurios do Facebook econcluram que atividades como atualizaes so vitais para que novosusurios contribuam para o sistema. Como atualizaes podem recebercomentrios de outros usurios, elas tambm so formas especiais decomunicao em redes sociais online.

    Comentrios: A maior parte das aplicaes de redes sociais online per-mite que usurios comentem o contedo compartilhado por outros. Al-guns sistemas tambm permitem que usurios adicionem comentriosnos perfis de outros usurios. Comentrios so um meio primordial decomunicao em redes sociais online, e tambm podem ser interpre-tados como expresso de relaes sociais [Ali-Hasan e Adamic 2007,Chun et al. 2008]. Como exemplo, usurios do YouTube podem comen-tar os vdeos armazenados por outros no sistema, enquanto que tantono Facebook quanto no Orkut, usurios podem adicionar comentrios sfotos de outros. Da mesma forma, usurios do LiveJournal podem postarcomentrios em blogs, etc.

    6

  • Avaliaes: Em muitas redes sociais online, o contedo compartilhadopor um usurio pode ser avaliado por outros usurios. Avaliaes po-dem aparecer em diferentes nveis de granularidade e formas. No Fa-cebook, por exemplo, usurios podem apenas gostar de uma posta-gem, clicando no boto I like this. De fato, estatsticas recentes in-dicam que cada usurio do Facebook avalia, em mdia, 9 objetos porms [Facebook 2010c]. J no YouTube, vdeos podem ser avaliados comat 5 estrelas, de forma similar avaliao empregada na categorizaode hotis. O YouTube ainda prov uma avaliao binria (positiva ou ne-gativa) para os comentrios recebidos por vdeos, na tentativa de filtrarcomentrios ofensivos ou contendo alguma forma de spam.Avaliaes de contedo so teis de vrias formas. Como exemplo, elasajudam usurios de sistemas como o YouTube a encontrar e identificarcontedo relevante. Avaliaes podem ainda ajudar administradores aidentificar contedo de baixa qualidade ou mesmo contedo inapropri-ado. Alm disso, avaliaes podem ser utilizadas para identificar con-tedo em destaque, para suportar sistemas de recomendao, etc. Umarede social online que coloca as avaliaes dos usurios no centro dosistema o Digg. O Digg permite que usurios avaliem URLs, notciasou estrias, e utiliza aquelas mais votadas para expor o contedo maispopular [Lerman 2007].

    Listas de Favoritos: Vrias aplicaes sociais utilizam listas de favo-ritos para permitir que usurios selecionem e organizem seu contedo.Listas de favoritos ajudam usurios a gerenciar seu prprio contedo epodem ser teis para recomendaes sociais. Como exemplo, usuriospodem manter listas de vdeos favoritos no YouTube e de fotos favoritasno Flickr. Nesses sistemas, usurios podem navegar na lista de favo-ritos de outros usurios para buscar novos contedos [Cha et al. 2009].Conseqentemente, listas de favoritos tambm facilitam a descoberta decontedo e a propagao de informao. Sistemas como o Orkut e oTwitter tambm provem listas de favoritos (fs).

    Listas de Mais Populares (Top Lists): Tipicamente, redes sociais onlineque tm o compartilhamento de contedo como elemento central do sis-tema, como o YouTube que centrado no compartilhamento de vdeos,provem listas de contedo mais popular ou usurios mais populares.Geralmente, essas listas so baseadas em avaliaes ou outras esta-tsticas do sistema relativas ao contedo (ex: nmero de visualizaes,avaliaes, ou comentrios) ou relativas aos usurios (ex: nmero deassinantes).

    Metadados: Em vrias aplicaes de redes sociais online, tais comoo YouTube e o Flickr, usurios tipicamente associam metadados, comottulo, descrio e tags, ao contedo compartilhado. Metadados so es-senciais para recuperao de contedo em redes sociais online, uma vez

    7

  • que grande parte dos servios de informao (p.ex: busca, organizaode contedo, recomendao, propaganda) ainda utilizam os metadados(particularmente as tags) como principal fonte de dados [Boll 2007].

    1.3. Teoria de Redes ComplexasRedes sociais online so inerentemente redes complexas. Consequen-

    temente, vrios estudos recentes analisaram as caractersticas de diferentesredes sociais online utilizando como base teorias existentes da rea de re-des complexas [Adamic et al. 2003, Mislove et al. 2007, Dale e Liu 2008,Kumar et al. 2006, Leskovec e Horvitz 2008, Benevenuto et al. 2008a,Benevenuto et al. 2009b]. De fato, o estudo de redes complexas cobreum grande nmero de reas e sua teoria tem sido utilizada como fer-ramenta para entender vrios fenmenos, incluindo o espalhamento deepidemias [Moore e Newman 2000], propagao de informao [Watts 2002],busca na Web [Broder et al. 2000], e consequncias de ataques a redes decomputadores [Albert et al. 2000]. A seguir, vrias propriedades estatsticase mtricas comumente utilizadas para analizar e classificar redes complexasso apresentadas na seo 1.3.1. As sees 1.3.2 e 1.3.3 discutem pro-priedades especficas comumente associadas a vrias redes complexas, asaber, redes small-world e redes power-law, respectivamente. Uma revisodetalhada sobre mtricas e teoria de redes complexas pode ser encontrada nareferncia [Newman 2003].

    1.3.1. Mtricas para o Estudo de Redes ComplexasUma rede um conjunto de elementos, que chamamos de vrtices ou no-

    dos, com conexes entre eles, chamadas de arestas. A estrutura topolgicade uma rede pode ser ento modelada por um grafo, que, por sua vez, podeser caracterizado a partir de diversas mtricas, discutidas a seguir. Assume-seque o leitor tenha um conhecimento sobre a terminologia utilizada em teoria degrafos.

    1.3.1.1. Grau dos Vrtices

    Uma caracterstica importante da estrutura de uma rede a distribui-o dos graus de seus vrtices. Tal distribuio foi caracterizada em v-rias redes (ex: redes de emails [Gomes et al. 2007], a topologia da In-ternet [Faloutsos et al. 1999], a Web [Barabasi e Albert 1999], e redes neu-rais [Braitenberg e Schz 1998]) como seguindo uma lei de potncia. Em ou-tras palavras, a probabilidade de um nodo ter grau k proporcional a k.Consequentemente, uma mtrica comumente utilizada para comparar diferen-tes redes o expoente , obtido atravs de uma regresso linear. Valorestpicos para o expoente ficam entre 1.0 e 3.5 [Ebel et al. 2002]. Para redesdirecionadas, comum analisar as distribuies dos graus dos nodos em am-bas as direes, isto , a distribuio do grau de entrada e a distribuio dograu de sada.

    8

  • 100101102103104105

    100 101 102 103 104

    # de

    nod

    os

    Grau de entrada

    = 2.096 fit, R2 = 0.987

    100101102103104105106

    100 101 102 103

    # de

    nod

    os

    Grau de saida

    = 2.759 fit, R2 = 0.987

    Figura 1.1. Distribuies dos Graus de Entrada e deSada em um Grafo de Interaes entre Usurios atravsde Vdeos do YouTube

    Como exemplo, a Figura 1.1 mostra as distribuies dos graus de en-trada (esquerda) e de sada (direita) para um grafo formado a partir dasinteraes entre usurios de vdeos do YouTube [Benevenuto et al. 2008a,Benevenuto et al. 2009b]. Note que a curva da regresso linear, utilizada parase calcular o expoente , tambm exibida nesses grficos. Ferramentascomo o Gnuplot [Gnuplot 2010] e o Matlab [mathworks 2010] podem ser utili-zados para realizar a regresso e calcular o valor de . Para verificar a acurciada regresso, comum medir o coeficiente de determinao R2 [Trivedi 2002].Quanto mais prximo o valor de R2 for de 1 (regresso perfeita), menor ser adiferena entre o modelo de regresso e os dados reais.

    1.3.1.2. Coeficiente de Agrupamento

    O coeficiente de agrupamento (clustering coefficient) de um nodo i, cc(i), a razo entre o nmero de arestas existentes entre os vizinhos de i e o nmeromximo de arestas possveis entre estes vizinhos. Como exemplo, a Figura 1.2mostra o valor do coeficiente de agrupamento para o nodo escuro em trscenrios diferentes1. No primeiro, todos os vizinhos do nodo esto conectadosentre si e, conseqentemente, o cc do nodo 1. No segundo cenrio, existeapenas 1 aresta entre os vizinhos do nodo dentre as 3 possveis, deixandoo nodo com cc = 1/3. No ltimo cenrio, no h nenhuma aresta entre osvizinhos do nodo escuro e, portanto, o cc do nodo 0.

    Podemos notar que o coeficiente de agrupamento representa uma medidada densidade de arestas estabelecidas entre os vizinhos de um nodo. O co-eficiente de agrupamento de uma rede, CC, calculado como a mdia doscoeficientes de agrupamento de todos os seus nodos.

    1 Arestas tracejadas no existem e apenas ilustram as possveis conexes entre os vizi-nhos do nodo escuro.

    9

  • Figura 1.2. Clculo do Coeficiente de Agrupamento deum Nodo em Trs Cenrios Diferentes

    1.3.1.3. Componentes

    Um componente em um grafo um conjunto de nodos, onde cada nodopossui um caminho para todos os outros nodos do conjunto. Para grafos direci-onados, um componente chamado de fortemente conectado (SCC - StronglyConnected Component) quando existe um caminho direcionado entre cada parde nodos do conjunto. Um componente fracamente conectado (WCC - Wea-kly Connected Component) se o caminho no direcionado.

    Um trabalho que se tornou referncia no estudo de componentes em re-des complexas aborda a estrutura da Web representada por um grafo emque nodos so pginas Web e arestas so elos existentes entre as pgi-nas [Broder et al. 2000]. Os autores propem ummodelo que representa comoos componentes no grafo da Web se relacionam. Este modelo, aplicado so-mente em grafos direcionados, possui um componente central que o SCC,chamado tambm de core, e outros grupos de componentes que podem alcan-ar o SCC ou serem alcanados por ele. O modelo ficou conhecido como bowtie [Broder et al. 2000], pois a figura que ilustra o modelo lembra uma gravataborboleta.

    Este modelo tem sido utilizado por outros estudos como forma de comparara organizao dos componentes de um grafo direcionado [Zhang et al. 2007,Benevenuto et al. 2009b]. A Figura 1.3, por exemplo, ilustra o uso do modelobow tie para comparar a estrutura dos componentes de trs redes diferentes,a saber, a rede Web, uma rede formada pelas conexes estabelecidas em umFrum de Java e a rede estabelecida entre usurios do YouTube. O compo-nente central, core, das figuras corresponde frao dos nodos do grafo quefazem parte do SCC. O componente in contm os nodos que apontam paraalgum nodo do core, mas no so apontados por nodos desse componente.Finalmente, o componente out corresponde aos nodos que so apontados pornodos do core. Note que h diferenas estruturais significativas entre as 3redes: a rede Web muito mais balanceada, em termos do tamanho dos com-ponentes, enquanto que, para as outras duas, o componente in contm um

    10

  • (a) Web (b) Frum de Java

    (c) Interaes com vdeo

    Figura 1.3. Estrutura dos Componentesda Web [Broder et al. 2000], do Frum deJava [Zhang et al. 2007] e do Grafo de Interaes deUsurios do YouTube [Benevenuto et al. 2009b]

    percentual muito maior dos nodos.

    1.3.1.4. Distncia Mdia e Dimetro

    A distncia mdia de um grafo o nmero mdio de arestas em todos oscaminhos mnimos existentes entre todos os pares de nodos do grafo. Normal-mente, a distncia mdia computada apenas no SCC para grafos direciona-dos ou no WCC para grafos no direcionados, j que no existe caminho entrenodos localizados em componentes diferentes. Outra mtrica relacionada odimetro do grafo. O dimetro definido como a distncia do maior caminhomnimo existente no grafo e, em geral, tambm computado somente paranodos do WCC ou do SCC.

    1.3.1.5. Assortatividade

    De acordo com Newman [Newman 2002], assortatividade uma medidatpica de redes sociais. Uma rede exibe propriedades assortativas quando no-dos com muitas conexes tendem a se conectar a outros nodos com muitas

    11

  • conexes. Para caracterizar a assortatividade de uma rede, medimos o graumdio de todos os vizinhos dos nodos com grau k, dado por knn(k). A assor-tatividade ou disassortatividade de uma rede geralmente estimada avaliandoos valores de knn(k) em funo de k. Valores crescentes indicam assortativi-dade, isto , nodos com graus maiores tendem a se conectar a nodos com umnmero maior de conexes. Valores decrescentes de knn(k) em funo de k,por sua vez, indicam uma rede disassortativa.

    1.3.1.6. Betweenness

    Betweeness uma medida relacionada centralidade dos nodos ou dearestas na rede. O betweenessB(e) de uma aresta e definido como o nmerode caminhos mnimos entre todos os pares de nodos em um grafo que passampor e [Newman e Girvan 2004]. Se existem mltiplos caminhos mnimos entreum par de nodos, cada caminho recebe um peso de forma que a soma dospesos de todos os caminhos seja 1. Conseqentemente, o betweenness deuma aresta e pode ser expressado como:

    B(e) =X

    uV,vV

    e(u, v)

    (u, v)(1)

    onde (u, v) representa o nmero de caminhos mnimos entre u e v, e e(u, v)representa o nmero de caminhos mnimos entre u e v que incluem e. O betwe-enness de uma aresta indica a importncia dessa aresta no grafo em termos desua localizao. Arestas com maior betweenness fazem parte de um nmeromaior de caminhos mnimos e, portanto, so mais importantes para a estruturado grafo.

    De forma similar, o betweenness pode ser computado para um nodo ao in-vs de uma aresta. Neste caso, a medida do betweenness mede o nmero decaminhos mnimos que passam pelo nodo dado. Nodos que possuem muitoscaminhos mnimos que passam por eles possuem maior betweenness, indi-cando uma maior importncia para a estrutura da rede.

    1.3.1.7. Reciprocidade

    Uma forma interessante de se observar a reciprocidade de um nodo i emum grafo direcionado medindo a porcentagem dos nodos apontados por ique 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 nodosque apontam para i.

    Outra mtrica interessante de ser observada o coeficiente de re-ciprocidade, , que captura a reciprocidade das interaes em toda a

    12

  • rede [Garlaschelli e Loffredo 2004]. O coeficiente de reciprocidade definidopelo coeficiente de correlao entre entidades da matriz de adjacncia repre-sentativa do grafo direcionado. Em outras palavras, seja a matriz a definidacomo aij = 1 se h uma aresta de i para j no grafo, e aij = 0, caso contrrio.Definimos a reciprocidade da rede como:

    =

    Pi6=j(aij a)(aji a)P

    i6=j(aij a)2, (3)

    onde o valor mdio a =P

    i6=j aij/N(N 1) e N o nmero de usurios nografo. O coeficiente de reciprocidade indica se o nmero de arestas recprocasna rede maior ou menor do que o de uma rede aleatria. Se o valor maiordo que 0, a rede recproca; caso contrrio, ela anti-recproca.

    1.3.1.8. PageRank

    O PageRank um algoritmo interativo que assinala um peso numrico paracada nodo com o propsito de estimar sua importncia relativa no grafo. O al-goritmo foi inicialmente proposto por Brin and Page [Brin e Page 1998] paraordenar resultados de busca do prottipo de mquina de busca da Google. Aintuio por trs do PageRank que uma pgina Web importante se existemmuitas pginas apontando para ela ou se existem pginas importantes apon-tando para ela. A equao que calcula o PageRank (PR) de um nodo i, PR(i), definida da seguinte forma:

    PR(i) = (1 d) + dX

    vS(i)

    PR(v)

    Nv(4)

    onde S(i) o conjunto de pginas que apontam para i, Nv denomina o nmerode arestas que saem do nodo v, e o parmetro d um fator que pode ter valorentre 0 e 1.

    O algoritmo do PageRank tem sido aplicado em outros contextos, como,por exemplo, para encontrar usurios experientes em fruns especializa-dos [Zhang et al. 2007] e usurios influentes no Twitter [Weng et al. 2010,Kwak et al. 2010]. Alm disso, existem outras modificaes do PageRankcom propsitos especficos, como, por exemplo, a deteco de spam naWeb [Gyngyi et al. 2004].

    1.3.2. Redes Small-WorldO conceito de redes small-world ficou bastante conhecido com o famoso ex-

    perimento de Milgram [Milgram 1967]. Este experimento consistiu de um grupode voluntrios tentando enviar uma carta para uma pessoa alvo atravs de ou-tras pessoas que eles conheciam. Milgram enviou cartas a vrias pessoas. Ascartas explicavam que ele estava tentando atingir uma pessoa especfica emuma cidade dos EUA e que o destinatrio deveria repassar a carta para algum

    13

  • que ele achasse que poderia levar a carta o mais prximo do seu destino final,ou entreg-la diretamente, caso o destinatrio final fosse uma pessoa conhe-cida. Antes de enviar a carta, entretanto, o remetente adicionava seu nomeao fim da carta, para que Milgram pudesse registrar o caminho percorrido pelacarta. Das cartas que chegaram com sucesso ao destino final, o nmero mdiode passos requeridos para o alvo foi 6, resultado que ficou conhecido como oprincpio dos seis graus de separao.

    Em termos das propriedades das redes sociais que discutimos,uma rede pode ser considerada small-world se ela tiver duas pro-priedades bsicas: coeficiente de agrupamento alto e dimetro pe-queno [Watts 1999]. Estas propriedades foram verificadas em v-rias redes como a Web [Albert et al. 1999, Broder et al. 2000], redesde colaborao cientfica [Newman 2001, Newman 2004] em que pes-quisadores so nodos e arestas ligam co-autores de artigos, re-des de atores de filmes [Amaral et al. 2000] em que atores so no-dos e arestas ligam atores que participaram do mesmo filme, e re-des sociais online [Adamic et al. 2003, Mislove et al. 2007, Dale e Liu 2008,Leskovec e Horvitz 2008, Benevenuto et al. 2008a, Benevenuto et al. 2009b].Em particular, Mislove e colaboradores [Mislove et al. 2007] verificaram propri-edades small-world em quatro redes sociais online: LiveJournal, Flickr, Orkut,e YouTube.

    1.3.3. Redes Power-Law e Livres de EscalaRedes cujas distribuies dos graus dos nodos seguem uma lei de potncia

    (Seo 1.3.1.1) so ditas redes power-law. Redes livres de escala (scale free)so uma classe de redes que seguem leis de potncia caracterizadas pela se-guinte propriedade: nodos de grau alto tendem a se conectar a outros nodosde grau alto. Barabsi e colaboradores [Barabasi e Albert 1999] propuseramum modelo para gerar redes livres de escala, introduzindo o conceito de cone-xo preferencial (preferential attachment). O modelo diz que a probabilidadede um nodo se conectar a outro nodo proporcional ao seu grau. Os auto-res do modelo ainda mostraram que, sob certas circunstncias, este modeloproduz redes que seguem leis de potncia. Mais recentemente, Li e colabo-radores [Li et al. 2005] criaram uma mtrica para medir se uma rede livre deescala ou no, alm de prover uma longa discusso sobre o tema.

    1.4. Tcnicas de Coleta de DadosEm um passado recente, redes sociais eram um domnio de socilogos e

    antroplogos, que utilizavam pesquisas e entrevistas com pequenos grupos deusurios como ferramentas de coleta de dados [Wasserman et al. 1994]. Como surgimento das redes sociais online, a obteno de dados reais em largaescala se tornou possvel, e pesquisadores de diversas reas da computaocomearam a realizar coletas de dados.

    Diferentes reas de pesquisa demandam diferentes tipos de dados e, porisso, existem vrias formas de se obter dados de redes sociais online. A Fi-

    14

  • gura 1.4 apresenta possveis pontos de coleta de dados, que variam desdeentrevistas com os usurios at instalao de coletores localizados em ser-vidores proxy ou em aplicaes. A seguir discutimos essas diferentes aborda-gens, bem como trabalhos que ilustram o uso dessas estratgias.

    1.4.1. Dados dos Usurios

    Figura 1.4. Possveis Pontos de Coleta de Dados

    Um mtodo comum de se analisar o uso de redes sociais online con-siste em conduzir entrevistas com usurios desses sistemas. Em parti-cular, esta estratgia tem sido bastante empregada pela comunidade darea de interface homem-mquina [Thom-Santelli et al. 2008, Joinson 2008,Chapman e Lahav 2008, Binder et al. 2009, Otterbacher 2009], para a qual en-trevistas estruturadas so as formas mais populares de obteno de dados.

    Como exemplo, atravs de entrevistas com usurios do Facebook, Join-son e seus colaboradores [Joinson 2008] identificaram vrias razes pe-las quais usurios utilizam o sistema, tais como conexo social, comparti-lhamento de interesses, compartilhamento e recuperao de contedo, na-vegao na rede social e atualizao do seu estado atual. Chapman eLahav [Chapman e Lahav 2008] conduziram entrevistas e analisaram os pa-dres de navegao de 36 usurios de quatro nacionalidades diferentes paraexaminar diferenas etnogrficas no uso de redes sociais online.

    1.4.2. Dados de Pontos IntermediriosExistem duas tcnicas comuns utilizadas para coletar dados de pontos de

    agregao de trfego na rede. A primeira consiste em coletar os dados quepassam por um provedor de servios Internet (ISP) e filtrar as requisies quecorrespondem a acessos s redes sociais online. A segunda consiste em cole-tar dados diretamente de um agregador de redes sociais. A seguir, discutimosalguns trabalhos que fizeram o uso dessas estratgias.

    15

  • Figura 1.5. Exemplo de um Servidor Proxy Intermedi-ando o Trfego entre Clientes e Servidores

    1.4.2.1. Servidores Proxy

    Coletar dados de um servidor proxy tem sido uma estratgia utili-zada em vrios estudos sobre o trfego da Internet [Duarte et al. 2006,Gummadi et al. 2003, Mahanti et al. 2000, Williamson 2002]. A Figura 1.5 ilus-tra como um servidor proxy funciona como um agregador de trfego de seusclientes, podendo ser utilizado para delimitar uma poro da rede, compostapor computadores em uma mesma localizao geogrfica.

    Dado o crescente interesse por vdeos na Web, alguns trabalhos recen-tes utilizaram servidores proxy para obter dados do trfego gerado por sis-temas de compartilhamento de vdeos, como o YouTube. Gill e colaborado-res [Gill et al. 2007] caracterizaram o trfego do YouTube coletando dados deum servidor proxy localizado na universidade de Calgary, no Canad. Elesmostraram que requisies de HTTP GET, utilizadas para fazer o download decontedo do YouTube, correspondem a 99.87% do total das requisies quepassam pelo servidor proxy. Eles ainda caracterizaram diversas mtricas re-lacionadas a estas requisies, tais como a durao, a idade e a categoriados vdeos. Mais recentemente, os mesmos autores caracterizam sesses deusurios no YouTube [Gill et al. 2008]. Eles mostraram que uma sesso tpicadura cerca de 40 minutos, caracterizando tambm o tempo entre sesses eos tipos de contedo transferidos em cada sesso. Finalmente, Zink e colabo-radores [Zink et al. 2008] tambm estudaram o trfego de vdeos do YouTubecoletado no servidor proxy de uma universidade. Eles tambm analisaram, viasimulao, os benefcios da adoo de abordagens de caches locais e glo-bais para vdeos, bem como do uso de arquiteturas P2P para distribuio devdeos. De maneira geral, eles mostraram que essas abordagens poderiamreduzir significativamente o volume de trfego, permitindo acesso aos vdeos

    16

  • de forma mais rpida.Em um trabalho recente, Schneider e colaboradores [Schneider et al. 2009]

    extraram dados de redes sociais online de um provedor de acesso a Internet ereconstruram aes realizadas pelos usurios em suas navegaes por dife-rentes redes sociais online. Em outras palavras, eles criaram o que foi chamadode clickstream [Chatterjee et al. 2003] para redes sociais online, capturandocada passo da navegao dos usurios do ISP. Eles discutiram amplamente ametodologia de reconstruo dos acessos dos usurios e, com base nessesdados, analisaram as seqncias de requisies realizadas pelos usurios devrios sistemas, incluindo o Facebook.

    1.4.2.2. Agregadores de Redes Sociais

    Agregadores de redes sociais so sistemas que permitem acesso a vriasredes sociais simultaneamente, atravs de um portal nico. Esses sistemasajudam usurios que utilizam vrias redes sociais online a gerenciar seus perfisde uma forma mais simples e unificada [King 2007, Schroeder 2007]. Ao seconectarem a um agregador de redes sociais online, usurios podem acessarsuas contas atravs de uma interface nica, sem precisar se conectar em cadarede social separadamente. Isto feito atravs de uma conexo HTTP emtempo real realizada em duas etapas: a primeira etapa ocorre entre o usurio eo agregador de redes sociais, enquanto a segunda etapa ocorre entre o sistemaagregador e as redes sociais. Agregadores tipicamente comunicam com redessociais online atravs de APIs, como o OpenSocial [OpenSocial 2010], e todoo contedo exibido atravs da interface do sistema agregador. A Figura 1.6descreve o esquema de interao entre os usurios, um sistema agregador ealgumas redes sociais online. Atravs dessa interface, um usurio pode utilizarvrias funcionalidades de cada rede social que ele est conectado, tais comochecar atualizaes de amigos, enviar mensagens e compartilhar fotos.

    Figura 1.6. Ilustrao de um Usurio se Conectando aMltiplas Redes Sociais Online Simultaneamente Atra-vs de um Portal Agregador

    Recentemente, a partir de uma colaborao com um agregador de

    17

  • redes sociais online, coletamos dados da navegao dos usurios (i.e.,clickstream) em 4 redes sociais online: Orkut, Hi5, MySpace e Linke-dIn [Benevenuto et al. 2009c]. A Tabela 1.2 mostra o nmero de usurios,sesses e requisies HTTP para cada uma dessas redes. Baseados nessesdados e em dados coletados do Orkut, ns examinamos o comportamento dosusurios nas redes sociais online, caracterizando as interaes estabelecidasentre eles atravs das vrias atividades realizadas.

    # usurios # sesses # requisiesOrkut 36.309 57.927 787.276Hi5 515 723 14.532

    MySpace 115 119 542LinkedIn 85 91 224Total 37.024 58.860 802.574

    Tabela 1.2. Sumrio dos Dados Obtidos de um Agrega-dor de Redes Sociais Online

    1.4.3. Dados de Servidores de Redes Sociais OnlineIdealmente, servidores de aplicaes de redes sociais online so os locais

    mais adequados para a coleta de dados, uma vez que eles tm uma visocompleta de todas as aes e atividades realizadas por todos os usuriosdo sistema em um dado perodo de tempo. Entretanto, o acesso a dadosarmazenados por estes servidores, ainda que anonimizados, tipicamentemuito difcil. Dentre os poucos trabalhos que utilizaram dados obtidos dire-tamente de servidores de redes sociais online, podemos citar o estudo deChun e seus colaboradores [Chun et al. 2008] sobre as interaes textuaisentre os usurios do Cyworld, uma rede social bastante popular na Coriado Sul. Eles compararam as propriedades estruturais da rede de amizadesexplcita criada naquela aplicao com as propriedades da rede implcita es-tabelecida a partir de trocas de mensagens no livro de visitas do Cyworld,discutindo diversas similaridades e diferenas. Citamos tambm o trabalhode Baluja e colaboradores [Baluja et al. 2008], que utilizaram dados do hist-rico de navegao de usurios do YouTube para criar um grafo, onde cadavdeo um nodo e arestas ligam vdeos freqentemente vistos em seqn-cia. Baseados nesse grafo, eles criaram um mecanismo capaz de prover su-gestes de vdeos personalizadas para os usurios do YouTube. Finalmente,Duarte e seus colaboradores [Duarte et al. 2007] caracterizaram o trfego emum servidor de blogs do UOL (www.uol.com.br), enquanto ns estudamos anavegao dos usurios em um servidor de vdeos do UOL, chamado UOLMais [Benevenuto et al. 2010b].

    Dada a dificuldade em se obter dados diretamente de servidores de redes

    18

  • sociais online, uma estratgia comum consiste em visitar pginas de redes so-ciais com o uso de uma ferramenta automtica, que chamamos de crawler ourob, e coletar sistematicamente informaes pblicas de usurios e objetos.Tipicamente, os elos entre usurios de uma rede social online podem ser cole-tados automaticamente, permitindo que os grafos de conexes entre os usu-rios sejam reconstrudos. Essa estratgia tem sido amplamente utilizada emuma grande variedade de trabalhos, incluindo estudos sobre a topologia das re-des sociais online [Mislove et al. 2007, Ahn et al. 2007], padres de acesso noYouTube [Cha et al. 2007] e interaes reconstrudas atravs de mensagenstrocadas pelos usurios [Viswanath et al. 2009b]. A seguir discutimos vriosaspectos relacionados coleta de dados de redes sociais online.

    1.4.3.1. Coleta por Amostragem

    Figura 1.7. Exemplo de Busca em Largura em um Grafo

    Idealmente, sempre mais interessante coletar o grafo inteiro de uma redesocial online para evitar que a coleta seja tendenciosa a um grupo de usuriosda rede. Entretanto, na maior parte das vezes, no h uma forma sistemticade se coletar todos os usurios de uma rede social online. Para esses ca-sos necessrio coletar apenas parte do grafo. Uma abordagem comumenteutilizada, chamada snowball (ou bola de neve), consiste em coletar o grafode uma rede social online seguindo uma busca em largura, como ilustra a Fi-gura 1.7. A coleta inicia-se a partir de um nodo semente. Ao coletar a lista devizinhos desse nodo, novos nodos so descobertos e ento coletados no se-gundo passo, que s termina quando todos os nodos descobertos no primeiropasso so coletados. No passo seguinte todos os nodos descobertos no passoanterior so coletados, e assim sucessivamente. Recomenda-se o uso de umgrande nmero de nodos sementes para evitar que a coleta no fique restritaa um pequeno componente do grafo.

    Um ponto crucial sobre a coleta por snowball a interrupo da coleta em

    19

  • um passo intermedirio, antes que todos os nodos alcanveis pela busca emlargura sejam atingidos. Esta interrupo pode ter que ser forada para tornara coleta vivel. Em particular, a busca completa em componentes muito gran-des pode gastar um tempo excessivamente longo e proibitivo. Entretanto, importante ressaltar que o resultado de uma coleta parcial pode gerar medidastendenciosas, tais como distribuies de graus dos nodos com uma tendn-cia maior para valores grandes, o que pode, em ltima instncia, afetar asanlises e concluses observadas. Em outras palavras, os dados obtidos viacoleta por snowball com interrupo precisam ser tratados e analisados comcautela. Em outras palavras, o tipo de anlise a ser feita precisa ser con-siderado. Por exemplo, se realizarmos 3 passos da coleta, podemos calcu-lar, com preciso, o coeficiente de agrupamento dos nodos semente. Entre-tanto, se quisermos computar o coeficiente de agrupamento mdio de toda arede ou outras mtricas globais, como distribuio de graus, distncia mdia,etc., a coleta por snowball pode resultar em nmeros tendenciosos caso elano inclua pelo menos um componente completo representativo da rede com-pleta [Lee et al. 2006, Ahn et al. 2007].

    Uma abordagem bastante difundida consiste em coletar o maior com-ponente fracamente conectado (WCC) do grafo. Mislove e colaborado-res [Mislove et al. 2007] argumentam que o maior WCC de um grafo estrutu-ralmente a parte mais interessante de ser analisada, pois o componente queregistra a maior parte das atividades dos usurios. Alm disso, eles mostramque usurios no includos no maior WCC tendem a fazer parte de um grandegrupo de pequenos componentes isolados ou at mesmo totalmente desconec-tados. 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 nmero de sementes utilizadas maior a chance de se coletar omaior componente do grafo. Em trabalhos recentes, realizamos uma busca porpalavras aleatrias no YouTube para verificar se o componente coletado era omaior componente [Benevenuto et al. 2009b, Benevenuto et al. 2008a]. Comoa maior parte dos usurios encontrados nessas buscas estavam no WCC donosso grafo, os resultados desse teste sugeriram que o componente coletadoera o maior WCC.

    Note que, em algumas redes sociais online como o Twitter ou o Flickr, oconceito de amizade direcionado. Ou seja, um usurio u pode seguir umoutro usurio v, sem necessariamente ser seguido por ele. Em casos comoestes, ou seja, em grafos direcionados, necessrio percorrer as arestas dografo em ambas as direes a fim de coletar o WCC completamente. Casocontrrio, se coletarmos o grafo seguindo as arestas em apenas uma direo,no garantido que consigamos coletar todos os nodos do WCC. A Figura 1.8mostra que o conjunto de nodos coletados quando seguimos as arestas emambas as direes maior do que quando seguimos apenas uma das direes.Em algumas redes no possvel percorrer o grafo em ambas as direese, portanto, no possvel coletar o maior WCC. Essa limitao tpica de

    20

  • Figura 1.8. Exemplo de Coleta do WCC em um Grafo Direcionado

    estudos que envolvem a coleta da Web [Broder et al. 2000]. Tipicamente, aWeb freqentemente coletada seguindo apenas uma direo dos elos entrepginas, j que no possvel determinar o conjunto de pginas que apontampara uma pgina.

    Uma outra estratgia de coleta por amostragem em redes baseada emcaminhadas aleatrias (random walks) [Ribeiro e Towsley 2010]. A idia b-sica consiste em, a partir de um nodo semente v, prosseguir selecionandoaleatoriamente um dos vizinhos de v, e assim sucessivamente at que umnmero pre-definido B de nodos tenham sido selecionados. Um mesmonodo pode ser selecionado mltiplas vezes. Esta a estratgia de cami-nhada aleatria mais comum disponvel na literatura, embora existam outrasabordagens que diferem em termos de como os vizinhos so selecionados[Lovsz 1993, Robert e Casella 2005] Assim como a coleta por snowball, a co-leta atravs de caminhadas aleatrias tambm tem suas limitaes: a preci-so das estimativas depende no somente da estrutura do grafo mas tambmda caracterstica sendo estimada. Em particular, dependendo da estrutura dografo, a coleta pode ficar presa"dentro de um subgrafo. Neste caso, as es-timativas podem ser imprecisas se as caractersticas do subgrafo no foremrepresentativas da rede como um todo. Para mitigar este problema, Ribeiroe Towsley [Ribeiro e Towsley 2010] propuseram uma estratgia de coleta porcaminhos aleatrias chamada Frontier sampling, que comea com m nodossementes. Eles ainda propuseram estimadores sem tendncia para vrias m-tricas de redes complexas, incluindo o coeficiente de agrupamento global darede, usando as arestas coletadas pelo mtodo proposto.

    21

  • 1.4.3.2. Coleta em Larga Escala

    A coleta de grandes bases de dados de redes sociais online geralmenteenvolve o uso de coletores distribudos em diversas mquinas. Isso aconteceno s devido ao processamento necessrio para tratar e salvar os dados co-letados, mas tambm para evitar que servidores de redes sociais interpretema coleta de dados pblicos como um ataque a seus servidores.

    Figura 1.9. Exemplo de Coleta Realizada de Forma Distribuda

    Uma forma de se realizar tal coleta, conforme descritoem [Chau et al. 2007], est representada na Figura 1.9. A estratgiaconsiste em utilizar (1) uma mquina mestre que mantm uma lista centrali-zada de usurios a serem visitados e (2) mquinas escravas, que coletam,armazenam e processam os dados coletados para identificar novos usurios.Novos usurios identificados pelas mquinas escravas so repassados para amquina mestre, que, por sua vez, distribui novos usurios a serem coletadospara as mquinas escravas.

    1.4.3.3. Coleta por Inspeo de Identificadores

    Como discutido anteriormente, idealmente, a coleta de uma rede social on-line deveria incluir a rede completa e no somente uma poro dela. Em algunssistemas como o MySpace e o Twitter possvel realizar uma coleta completa.Esses sistemas atribuem um identificador (ID) numrico e seqencial para cada

    22

  • usurio cadastrado. Como novos usurios recebem um identificador seqen-cial, podemos simplesmente percorrer todos os IDs, sem ter que verificar a listade amigos desses usurios em busca de novos IDs para coletar.

    Recentemente, realizamos uma coleta do Twitter seguindo essa estratgia.Foi solicitado aos administradores do Twitter a permisso para realizar uma co-leta em larga escala. Em resposta, eles adicionaram os endereos IPs de 58mquinas sob nosso controle em uma lista branca, com permisso para cole-tar dados. Cada uma das 58 mquinas, localizadas no Max Planck Institutefor Software Systems (MPI-SWS), na Alemanha2, teve permisso para coletardados a uma taxa mxima de 20 mil requisies por hora. Utilizando a API doTwitter, nosso coletor investigou todos os 80 milhes de IDs de forma seqen-cial, coletando todas as informaes pblicas sobre esses usurios, bem comoseus elos de seguidores e seguidos e todos os seus tweets. Dos 80 milhes decontas inspecionadas, encontramos cerca 55 milhes em uso. Isso aconteceporque o Twitter apaga contas inativas por um perodo maior do que 6 meses.No total, coletamos cerca de 55 milhes de usurios, quase 2 bilhes de elossociais e cerca de 1.8 bilhes de tweets. Ao inspecionar as listas de seguido-res e seguidos coletadas, no encontramos nenhum identificador acima dos 80milhes inspecionados, sugerindo que coletamos todos os usurios do sistemana poca. Esses dados foram utilizados recentemente em dois trabalhos, umsobre deteco de spammers no Twitter [Benevenuto et al. 2010a] e o outrosobre medio de influncia no Twitter [Cha et al. 2010].

    Torkjazi e colaboradores [Torkjazi et al. 2009] tambm exploraram o uso deIDs sequenciais para inspecionar o surgimento de novos usurios no MySpace.

    1.4.3.4. Coleta em Tempo Real

    Redes sociais online possibilitam que usurios comuns expressem suasopinies sobre os mais diversos assuntos, e propaguem informaes que con-sideram relevantes em tempo real. interessante notar como a interatividadee a avaliao do fluxo de informaes em tempo real passou a ser um fatorimportante para vrias aplicaes Web, que monitoram fenmenos dinmicosocorridos na Web. Como exemplo, Google e Bing j indexam tweets pblicoscomo forma de prover busca por informao em tempo real.

    Do ponto de vista cientfico, informaes disponibilizadas em tempo realna Web tm sido utilizadas de diferentes formas. O Google Insights3, porexemplo, permite que o usurio consulte informaes geogrficas e tempo-rais relacionadas ao volume de uma determinada consulta, permitndo tam-bm que o usurio salve essas informaes em formato CSV. De fato, in-formaes extradas em tempo real do Google Insights foram utilizadas para

    2 Esta coleta foi realizada durante uma visita de 5 meses ao MPI-SWS realizada peloprimeiro autor deste trabalho3 http://www.google.com/insights/search

    23

  • demonstrar que o volume de buscas na Web permite monitorar eventos,tais como o nvel de desemprego e a ocorrncia de doenas em temporeal [Choi e Varian 2009, Ginsberg et al. 2009]. Em particular, Ginsberg e cola-boradores [Ginsberg et al. 2009] propuseram um mtodo para monitorar ocor-rncias de gripe baseado em buscas realizadas no Google. Eles mostraramque, em reas com grande populao de usurios de mquinas de buscas, ovolume de buscas relacionadas gripe proporcional ocorrncia da doena.

    Em um trabalho recente, Sakaki e colaboradores [Sakaki et al. 2010] mos-traram o poder da informao disponibilizada em tempo real nas redes sociaisonline propondo um mecanismo para deteco de ocorrncias de terremotosbaseado em monitoramento do Twitter. A abordagem, que consiste em sim-plesmente identificar tweets relacionados a terremotos por regio, foi capaz deenviar alertas sobre terremotos mais rapidamente do que agncias meteoro-lgicas. Mais recentemente, Tumasjan e colaboradores [Tumasjan et al. 2010]mostraram que opinies identificadas em tweets relacionados eleio federalalem foi capaz de refletir o sentimento poltico registrado fora das redes soci-ais. Mais recentemente, uma anlise geogrfica e temporal sobre dengue noTwitter foi realizada por Gomide e seus colaboradores [Gomide et al. 2011].

    Para o caso especfico do Twitter, bastante simples coletar informaesem tempo real, uma vez que o sistema oferece uma API com diversas opesrelacionadas coleta de dados em tempo real. Como exemplo, para coletarem tempo real uma amostra aleatria de tweets pblicos, basta executar oseguinte comando em algum terminal UNIX, fornecendo o usurio e senha deum usurio registrado no Twitter.

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

    1.4.3.5. Utilizando APIs

    No contexto de desenvolvimento Web, uma API tipicamente um conjuntode tipos de requisies HTTP juntamente com suas respectivas definies deresposta. Em aplicaes de redes sociais online comum encontrarmos APIsque listam os amigos de um usurio, seus objetos, suas comunidades, etc.

    APIs so perfeitas para a coleta de dados de redes sociais online, pois ofe-recem os dados em formatos estruturados como XML e JSON. Como exemplo,a Figura 1.10 mostra o resultado de uma busca por informaes de um usuriono Twitter. Alm dessa funo, o Twitter ainda oferece vrias outras funesem sua API. Com a API do Twitter possvel coletar 5000 seguidores de umusurio atravs de uma nica requisio. A coleta dessa informao atravsdo stio Web convencional necessitaria de centenas de requisies, visto que oTwitter s mostra alguns seguidores por pgina. Alm disso, cada pgina con-teria uma quantidade muito grande de dados desnecessrios, que deveriamser tratados e excludos.

    Vrios sistemas possuem APIs, incluindo Twitter, Flickr, YouTube, Google

    24

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

    Mapas, Yahoo Mapas, etc. Com tantas APIs existentes, comum ver apli-caes que utilizam duas ou mais APIs para criar um novo servio, que oque chamamos de Mashup. Uma interessante aplicao chamada Yahoo! Pi-pes [Yahoo! Pipes 2010], permite a combinao de diferentes APIs de vriossistemas para a criao automatizada de Mashups.

    1.4.3.6. Ferramentas e Bibliotecas

    Desenvolver um coletor pode ser uma tarefa bastante complicada devido diversidade de formatos de pginas. Entretanto, coletar redes sociais online, em geral, diferente de coletar pginas da Web tradicional. As pginas deuma rede social online so, em geral, bem estruturadas e possuem o mesmoformato, pois so geradas automaticamente, enquanto que, na Web tradicional,as pginas podem ser criadas por qualquer pessoa em qualquer formato. Almdisso, como cada indivduo ou objeto em uma rede social, em geral, possuium identificador nico, temos certeza sobre quais as informaes obtivemosquando coletamos uma pgina.

    Existem vrias ferramentas que podem ser utilizadas para se coletar dadosde redes sociais online. Como cada pesquisa requer um tipo de coleta e cadacoleta de dados possui sua particularidade, desenvolver o prprio coletor podeser necessrio. A Figura 1.11 mostra o uso da biblioteca LWP na linguagemPerl. Este cdigo realiza a coleta dos seguidores de um usurio no Twitter atra-vs de sua API. De maneira similar, o cdigo em Python da Figura 1.12 utiliza abiblioteca URLLIB para realizar a mesma tarefa. O resultado da execuo doscoletores a lista de seguidores de um usurio do Twitter em formato XML,como ilustra a Figura 1.13.

    25

  • Figura 1.11. Exemplo de Uso da Biblioteca LWP em Perl

    Figura 1.12. Exemplo de Uso da Biblioteca URLLIB em Python

    1.4.3.7. tica dos Coletores

    importante ressaltar que o uso de ferramentas automticas de coleta (co-letores ou robs), se feito sem o devido cuidado, pode causar problemas desobrecarga nos servidores alvos da coleta, o que, em ltima instncia, podeafetar a qualidade de servio da aplicao alvo. Para evitar que isto acon-tea, muitos servidores adotam um protocolo conhecido como Robots.txt, noqual stios Web regulamentam o que pode e o que no pode ser coletado dosistema. Este mtodo bastante utilizado pelos administradores de sistemaspara informar aos robs visitantes quais diretrios de um stio Web no devemser coletados. Ele se aplica a qualquer tipo de coleta, seja ela parte de umapesquisa sobre redes sociais online, ou um dos componentes centrais de umamquina de busca como o Google [Brin e Page 1998].

    O Robots.txt nada mais do que um arquivo que fica no diretrio raizdos stios e contm regras para coleta. Estas regras podem ser direcionadasa robs especficos ou podem ser de uso geral, tendo como alvo qualquerrob. Ao visitar um site, os robs devem primeiramente buscar pelo arquivoRobots.txt a fim de verificar suas permisses. Exemplos desses arquivos so:

    http://portal.acm.org/robots.txthttp://www.google.com/robots.txthttp://www.globo.com/robots.txthttp://www.orkut.com.br/robots.txt

    26

  • Figura 1.13. Resultado da Execuo dos Coletores emPerl e Python

    http://www.youtube.com/robots.txthttp://www.robotstxt.org/robots.txt

    A seguir mostramos um exemplo simples de regra em um arquivoRobots.txt. Essa regra restringe todos os crawlers de acessarem qualquer con-tedo no sistema.

    User-agent: *Disallow: /

    possvel ainda especificar restries a alguns robs especficos ou res-tringir o acesso a alguns diretrios especficos. Como exemplo, o stio Webwww.globo.com oferece restries para todos os robs 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/

    27

  • No caso de coleta de redes sociais online, importante verificar no s oarquivo Robots.txt dos sistemas, mas tambm os termos de uso do sistema.

    1.4.4. Dados de AplicaesEm uma tentativa bem sucedida de enriquecer a experincia dos usurios

    de redes sociais online, o Facebook realizou uma de suas maiores inovaes:abriu sua plataforma para desenvolvedores de aplicaes [Facebook 2010b].Com esta inovao, desenvolvedores so capazes de criar diferentes tiposde aplicaes. Com o sucesso no Facebook, outros sistemas, como Orkute MySpace tambm adotaram essa estratgia. Como consequncia, o nmeroe a variedade de aplicaes criadas nestes sistemas cresceram significativa-mente. O Facebook sozinho possui atualmente mais de 81,000 aplicaess4

    [DeveloperAnalytics 2010]. Empresas como a Zynga, especializadas em de-senvolver essas aplicaes, contam com mais de 80 milhes de usurios re-gistrados em suas aplicaes [DeveloperAnalytics 2010].

    Figura 1.14. Funcionamento de Aplicaes no Facebooke no Orkut

    A Figura 1.14 mostra o funcionamento de uma aplicao terceirizada emexecuo em redes sociais online, como o Facebook ou o Orkut. Aplicaesso caracterizadas pela presena de um servidor da rede social intermediandotoda a comunicao entre o cliente e o servidor da aplicao. Tipicamente, ocliente envia a requisio ao servidor da rede social online, que a repassa aoservidor da aplicao. Ento, o servidor da aplicao manda de volta a res-posta ao servidor da rede social, que a repassa ao cliente [Nazir et al. 2009].

    4 Uma grande lista de aplicaes do Facebook pode ser encontrada na seguinte refern-cia [Facebook 2010a].

    28

  • Aplicaes podem ser utilizadas para o estudo de interaes entre os usu-rios que utilizam as aplicaes e tambm podem ser teis para coletar ou-tras informaes dos usurios, tais como lista de amigos e atividades exe-cutadas durante uma sesso. Alguns trabalhos fizeram uso dessa estrat-gia para estudar os usurios de redes sociais online. Nazir e colaborado-res [Nazir et al. 2008] analisaram caractersticas de aplicaes no Facebook,desenvolvendo e lanando suas prprias aplicaes. Em particular, eles estu-daram a formao de comunidades online a partir de grafos de interao entreos usurios de suas aplicaes. Mais recentemente, os mesmos autores estu-daram vrias caractersticas relacionadas ao desempenho de suas aplicaesno Facebook [Nazir et al. 2009].

    1.5. Extrao de InformaoA extrao e o tratamento de informao a partir dos dados coletados so

    etapas essenciais para permitir diferentes anlises incluindo identificao depadres de comportamento de usurios em diferentes sistemas, identificaode tpicos de interesse dos usurios, etc. Nesta seo, discutimos brevementeos principais desafios relacionados a essas etapas. Em particular, a identifi-cao de entidades nomeadas, tais como pessoas, organizaes e produtos,encontradas em pores de texto, assim como a derivao de relacionamentosentre estas entidades, representam importantes problemas, com diversas apli-caes interessantes. O nosso objetivo nesta seo no detalhar todas asparticularidades e solues para estes problemas, que so tipicamente abor-dados por pesquisadores de outras reas tais como Bancos de Dados, Recu-perao de Informao, Minerao de Dados e Processamento de LinguagemNatural. Entretanto, reconhecendo a necessidade de expertises complemen-tares para o estudo de redes sociais online, achamos benfico para o leitor ocontato, ainda que superficial, com estes tpicos.

    1.5.1. Viso GeralAs redes sociais online so atualmente importantes plataformas para pro-

    duo, processamento e fluxo de informao. Tal informao pode se originardentro das redes ou fora delas e pode ser utilizada como fonte primria oucomplementar para derivar conhecimento sobre a prpria rede, seus membros,seus temas, suas comunidades, etc. No entanto, esta informao quase sem-pre ocorre em um formato textual, no estruturado, em linguagem natural e atmesmo em estilo telegrfico ou informalmente codificado. Isso um grandeempecilho para que esta informao possa ser processada de maneira auto-mtica e para que dela se possa derivar conhecimento latente. Como exemplo,uma mesma entidade (p.ex: uma pessoa ou uma localidade) pode ser referen-ciada de vrias formas, devido s variaes introduzidas por diferentes formasde grafia, aspectos regionais ou culturais, uso de abreviaturas, erros tipogrfi-cos e outras razes associadas com o uso convencional.

    Em contextos j bastante explorados como stios e pginas da Web, tcni-cas de reas como Recuperao de Informao, Minerao de Dados e Pro-

    29

  • cessamento de Linguagem Natural tm sido aplicadas com muito sucesso paraextrair informao e derivar conhecimento de corpus textuais. No entanto, nocontexto de redes sociais online, este corpus tem uma natureza totalmente di-versa. De fato, nestas redes, o corpus textual formado por micro-documentoscomo tweets, blog posts, comentrios, feeds, tags, cujo tratamento deve sernecessariamente diferente do que normalmente aplicado a, por exemplo, p-ginas Web. Alm disto, dado o carter informal de vrias informaes dispo-nibilizadas em redes sociais online, tcnicas de processamento de linguagemnatural so difceis de serem aplicadas devido ausncia de padres lingus-ticos. Alm disso, nos corpora textuais encontrados em redes sociais onlineexiste muito lixo e rudo informacional (palavras escritas erradas, de baixa qua-lidade sinttica ou semntica) dificultando esta tarefa ainda mais.

    Por exemplo, tcnicas de extrao aberta de informaes naWeb [Etzioni et al. 2008] que se baseiam em modelos lingusticos geraisde como relacionamentos so expressos em um idioma, so o estado daarte em extrao de entidades e relacionamentos de pginas Web. Noentanto, como os modelos utilizados nestas tcnicas so construdos apartir de caractersticas lingusticas atravs da identificao de partes dediscurso nos documentos-alvo, elas dificilmente poderiam ser aplicadas emmicro-documentos (por exemplo, tweets), onde estas caractersticas podemno se apresentar.

    Apesar das dificuldades mencionadas, a extrao de informaes contidasno corpus textual de redes sociais pode ajudar a responder de forma autom-tica e efetiva questes como:

    Quem fala com quem sobre que assunto? Quem so os atores principais nas redes? Onde esto localizados? Que assuntos e tpicos emergem, se disseminam e desaparecem nos

    eco-sistemas sociais digitais?

    Que indivduos e grupos promovem e suprimem estes assuntos e tpi-cos?

    Qual a polaridade (positiva, negativa ou neutra) das opinies emitidas narede sobre assuntos, pessoas, empresas, etc.?

    Um Exemplo: Observatrio da WebUm exemplo de como a identificao de entidades uma tarefa importante

    para a anlise de redes sociais online o Observatrio das Eleies 20105,que uma instncia do Observatrio da Web [Santos et al. 2010], projeto de-senvolvido no mbito do InWeb (Instituto Nacional de Cincia e Tecnologia paraa Web).

    Este observatrio foi desenvolvido para monitorar, em tempo real, o queestava sendo veiculado sobre as eleies de 2010 nas vrias mdias e pelos

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

    30

  • vrios usurios da Web. O seu objetivo era ajudar a traar um panorama docenrio eleitoral do ponto de vista das informaes e das opinies que circula-vam na Web e nas redes sociais online, incluindo jornais, revistas, portais e oTwitter. Foi implementado como um portal utilizando dezenas de ferramentasinditas de captura e anlise de dados baseadas em cdigo livre ou aberto.

    As entidades correlatas ao contexto das eleies foram o alvo principal domonitoramento. Isso inclua, alm dos candidatos presidncia, polticos cominfluncia na eleio, como o ex-presidente Lula. Em muitos casos, o monito-ramento era concentrado em eventos, ou seja, acontecimentos importantes nocontexto observado, tais como um debate, por exemplo, e que pudessem terum grande efeito no contedo das fontes observadas.

    A partir da identificao das entidades no textos coletados em tempo real, possvel gerar uma srie de produtos de anlise e visualizao. Um exemplode um destes produtos apresentado na Figura 1.15.

    Figura 1.15. Exemplo de Visualizao de Dados Geradosa Partir da Identificao de Entidades no Observatriodas Eleies.

    No observatrio, antes da extrao propriamente dita, realizado um pr-processamento dos textos coletados, incluindo a padronizao da codificaodos caracteres, a eliminao de cdigo HTML, cabealhos e anncios de p-ginas coletadas atravs de feeds, e o uso de mtodos tradicionais de pr-processamento de textos [Manning et al. 2008] tais como a remoo de stopwords (palavras de pouco valor informacional como artigos, preposies e con-junes) e o stemming, que consiste na extrao dos radicais das palavras dotexto. A identificao de entidades nos textos feita atravs da ferramenta

    31

  • Illinois Named Entity Tagger [Ratinov e Roth 2009], que utiliza tcnicas de pro-cessamento de linguagem natural para identificar referncias a entidades (pes-soas, organizaes, locais, etc.) em texto livre. Apos a fase de identificao,segue-se uma fase de desambiguao de entidades. Isso necessrio porqueos mtodos identificao de entidades tm dificuldade, em geral, de diferenciarJos Serra de Serra da Piedade, ou Lula presidente de Lula Molusco.Para isso, um mtodo de classificao foi utilizado para aprender a associarentidades a determinados contextos.

    A Figura 1.16 ilustra um RSS feed processado para identificao de entida-des pelo Observatrio das Eleies. As tags so usadas como identificadorespara distinguir as duas entidades em todos os textos processados.

    A pr-candidata do PT Presidncia da Repblica DilmaRousseff , quer juntar ao seu redor o maior nmero de legen-das que hoje esto na base aliada do presidente Luiz IncioLula da Silva

    Figura 1.16. Exemplo de RSS Feed com Entidades Iden-tificadas no Observatrio das Eleies

    1.5.2. Identificao de EntidadesO problema de identificao de entidades nomeadas (Named Entity Re-

    cognition NER) consiste em encontrar palavras que ocorrem em um docu-mento ou trecho de texto no estruturado e que faam referncia a entidadesdo mundo real. Este problema tem sido estudado em vrios contexto comoidentificao de nomes de pessoas e companhias em notcias, identificao degenes e protenas e publicaes biomdicas, etc. [Cohen e Sarawagi 2004]. AFigura 1.17(a) ilustra o resultado tpico da aplicao de um mtodo de extraode entidades.

    Uma abordagem comum para o problema de NER a de rotulamento desequncias. Um documento representado como uma sequncia x de tokensx1, . . . , xn e um classificador associa x a uma sequncia paralela de rtulosy = y1, . . . , yN , onde cada yi um rtulo pertencente a um conjunto Y . Umaatribuio correta dos rtulos permite a identificao direta das entidades. Porexemplo, na sequncia ilustrada na Figura 1.17(b), cada token recebe um r-tulo, sendo que um rtulo especial outro associado aos tokens que no sopartes de nomes de entidades.

    A construo do classificador pode ser feita usando tcnicas de apren-dizagem de mquina, ou seja, utilizando dados de treinamento que re-presentam exemplos de mapeamento de sequncias x para sequncias y.Isso feito, em geral, atravs de documentos manualmente anotados deforma similar ao que est ilustrado na Figura 1.17(b). Estes classificado-res so gerados pelo no aprendizado de modelos sequenciais tais como

    32

  • Odorico Paraguau foi prefeito eterno de Sucupira , cidadezinha localizada em algumlugar da Bahia , a qual governou com muita sabedoriae inteligncia. Dotado de uma habilidade incrvel com as palavras fruto deseu curso na Universidade de Sourbone),cativava as massas numa poca em que os comcios no tinham nem fan-farra, quanto mais bandas completas.6

    (a)

    Odorico Paraguau foi prefeito eterno de Sucupirapessoa pessoa outro cargo outro outro local

    (b)

    Figura 1.17. Exemplo de um trecho de texto com enti-dades identificadas (a) e como uma sequncia rotulada(b)

    Hidden Markov Models [Freitag e McCallum 2000] ou Conditional Random Fi-elds [Lafferty et al. 2001] ou suas variaes (por exemplo, [Cortez et al. 2010]).

    A maioria dos mtodos de aprendizado explora de alguma forma a carac-terstica sequencial do processo de classificao, de forma que rotulo atribudoa um token depender dos rtulos atribudos aos tokens em sua vizinhana.Por exemplo, considerando que nomes de pessoas no Brasil tm usualmenteentre trs e quatro tokens, se yi recebe o rtulo Pessoa, ento a probabilidadede yi+1,. . . ,yi+3 receberem o mesmo rtulo aumenta, enquanto que a probabi-lidade de yi+4 em diante receberem o este rtulo diminui.

    Em outras palavras, seja x uma varivel aleatria sobre uma sequenciade dados a serem rotulados. Cada xi chamado de uma observao. Sejay uma varivel aleatria sobre uma sequencia de rtulos correspondentes aestes dados. Desta forma, o problema de identificao de entidades se reduzao problema de atribuir os rtulos em y sequncia de token x de forma amaximizar a probabilidade condicional P (y|x).

    Assim, abordagem baseadas em aprendizagem de mquina paraNER consistem no aprender modelos sequenciais tais como HiddenMarkov Models [Freitag e McCallum 2000] ou Conditional Random Fi-elds [Lafferty et al. 2001] ou suas variaes (por exemplo, [Cortez et al. 2010]).

    De forma geral, o modelo de Conditional Random Fields representao estado da arte para extrao de entidades. Como descrito em[Lafferty et al. 2001], P (y|x) neste modelo estimada da seguinte forma:

    33

  • P (y|x) = 1Z(x)

    exp(

    nXi=1

    (Xk

    kfk(yi, yi1,x)) + (X`

    `g`(yi,x)))

    =1

    Z(x)exp(

    nXi=1

    (T f(yi, yi1,x) + Tg(yi,x)))

    onde

    Z(x) =Xy

    exp(

    nXi=1

    (T f(yi, yi1,x) + Tg(yi,x)))

    e f,g so conjuntos de funes pr-definidas que computam valores bin-rios para features ou caractersticas observadas entre um par de rtulos nasequncia (f) e em um determinado token na sequncia (g). Os valores de1, 2, 3, . . . , 1, 2, 3, . . . so parmetros que indicam o peso de cada fe-ature. Exemplos de features so: (1) uma funo g que retorna verdadeiro seo token em xi comea com maisculo e o rtulo yi pessoa; (2) f retornaverdadeiro se o rtulo yi1 pessoa e o rtulo yi outro. Tambm comumutilizar dicionrios ou gazeteers para gerar features. Assim, por exemplo, de-terminada funo g pode retornar verdadeiro se token em xi se encontra emum gazeteers e yi lugar;

    O treinamento de um modelo CRF consiste em fornecer um conjunto desequncias de treino corretamente rotuladas e determinar os valores dos par-metros 1, 2, 3, . . . , 1, 2, 3, . . . que maximizam P (y|x) para estes exem-plos. Existem vrias propostas na literatura para ajustar estes parmetros.Uma delas o algoritmo de gradiente descendente [Dietterich et al. 2004].

    O processo de identificao de entidades propriamente dito se d pela exe-cuo do processo de inferncia do modelo CRF treinado. Assim, dados osparmetros e , deseja-se encontrar a instncia de rtulos y que maximizaP (y|x), ou seja,

    y = argmaxy

    exp(

    nXi=1

    (T f(yi, yi1,x) + Tg(yi,x))).

    Para isso geralmente utilizado o Algoritmo de Viterbo que utiliza progra-mao dinmica fazendo somas parciais das matrizes de forma incremen-tal [Freitag e McCallum 2000].

    Como j mencionado, no Observatrio das Eleies utilizamos um sistemachamado Illinois Named Entity Tagger [Ratinov e Roth 2009] para fazer o reco-nhecimento de entidades. Este sistema se baseia no modelo CRF e tem atu-almente o melhor desempenho comparativo entre os sistemas de NER. Nestesistema, o treinamento feito para que o sistema reconhea o entidades comvrios tokens, distinguindo os tokens que ocorrem no nicio, no final da ocorrn-cia da entidade e tambm os tokens ocorrendo dentro e fora desta ocorrncia.Os autores demonstram que esta configurao melhor que o esquema de

    34

  • treinamento tradicional (incio, dentro e fora). O sistema capaz de reconhecerquatro tipos de entidades: pessoas, organizaes, locais e miscelnea. Utilizafeatures baseadas em fontes externas, tais como gazeteers e dados obtidos dawikipedia.

    1.5.3. Resoluo de EntidadesUma vez que as referncias a entidades so identificadas em um certo

    corpus, algumas aplicaes podem requerer ainda que sejam estabelecidascorrespondncias entre referncias distintas que se refiram a uma mesma en-tidade do mundo real. Este problema conhecido como Resoluo de Entida-des [Bhattacharya e Getoor 2007].

    Existem na realidade dois subproblemas relacionados ao problema de re-soluo de entidades, os quais ilustramos pelos trechos de texto apresentadosna Figura 1.18.

    D1 O Acre o estado mais oeste do Brasil, seu territrio inteiramenterecoberto pela Floresta Amaznica. tambm bero de grandes no-mes como Marina Silva, poltica, e GlriaPerez, novelista.

    D2 Ao lado da ento ministra da Casa Civil, DilmaRousseff, Lula acabou rece-bendo uma amostra do leo na Marina daGlria, no Rio, para onde o evento foi transfe-rido.

    D3 A candidata Dilma, vencedora do primeiro turno daseleies, telefonou hoje para a candidata Marina doPV e a parabenizou pelo seu desempenho nas urnas.

    Figura 1.18. Exemplo de um Trecho de Texto com Enti-dades Identificadas (a) e como uma Sequncia Rotulada(b).

    O primeiro subproblema consiste em determinar o conjunto de refern-cias distintas no corpus que so utilizadas para se referir a mesma enti-dade no mundo real. Este caso de Marina Silva em D1 e Marina emD3, e tambm de Dilma Rousseff em D2 e Dilma em D3. Este subpro-blema conhecido como Identificao [Bhattacharya e Getoor 2007] ou Co-referncia [Hobbs 1979]. Note que este problema tambm pode ser causadopor erros de escrita, formatao, etc., ou mesmo pelo uso de apelidos (p.ex.,Dilma) e anforas (p.ex., a ministra).

    O segundo subproblema consiste em distinguir quando referncias muitosimilares, ou at mesmo exatamente iguais, se referem a diferentes entidades

    35

  • do mundo real. Esse o caso de Marina emD3 e emD2 e tambm de GlriaPerez em D3 e Glria em D2. Este problema chamado de Desambigua-o [Bhattacharya e Getoor 2007]. Note que neste caso especfico o problemafoi causado por uma falha do processo de identificao de entidades em D2.Tais problemas so comuns e, dependendo do domnio de aplicao, podemser exacerbados pelo uso de abreviaes.

    A soluo do problema de resoluo de entidades pode ser determinantepara a qualidade dos resultados obtidos a partir da anlise das entidades ex-tradas. Por outro lado, se neglicenciado, este problema pode comprometero conhecimento derivado destes resultados. Por exemplo, as anlises reali-zadas pelo Observatrio das Eleies poderiam ser seriamente afetadas sereferncias ao candidato Jos Serra e Serra da Piedade no sofressemdesambiguao.

    Na literatura recente, o problema de resoluo entidades tem sido tratadoatravs do clculo da similaridade entre os atributos associados s entidades(no caso de bancos de dados) [de Freitas et al. 2010] ou utilizando, quandopossvel, grafos de co-ocorrncia de entidades [Bhattacharya e Getoor 2007].Em corpora textuais, ferramentas lingusticas tm sido usadas para soluodeste problema [Ng 2007]. No caso do Observatrio das Eleies, o problemafoi tratado atravs de uma soluo simples baseada em classificao usandocentroides [Han e Karypis 2000], que neste caso so usado para representaro contexto em que determinada entidade tipicamente encontrada em termosde vocabulrio recorrente.

    Seja ri uma referncia a entidade identificada no corpus que est sendoprocessado. Seja Di o conjunto de documentos (i.e., tweets, comentrios doYouTube, etc.) nos quais rk ocorre. Para cada documento di,k Di, extra-mos os termos (palavras) que nele se encontram e pr-processamos fazendoremoo de stop-word e steming. Tomamos ento estes termos e geramos ve-tores ~di,k de acordo com o modelo vetorial [Baeza-Yates e Ribeiro-Neto 1999],considerando que o vocabulrio do corpus corresponde ao espao de termos.

    Um centroide ~ci que representa Di definido como

    ~ci =1

    |Di|X~di,kDj

    ~di,k

    Chamamos o centroide ~ci de Contexto da referncia ri. Como sugeridoem [Han e Karypis 2000], podamos ~ci para utilizar somente os K termos maisfrequentes7, evitando assim a introduo de rudo e acelerando o processa-mento.

    Para fins de resoluo de entidades, consideramos que duas referncias rie rj so co-referentes, ou seja, se referem a mesma entidade, somente se ri similar a rj e o cosseno entre os vetores ~ci e ~cj , cos(~ci,~cj), menor ou igual a

    7 Em experimentos de calibrao determinamos K = 100 como um valor adequado.

    36

  • um limiar . Para isso, a similaridade entre ri (e.x., Marina Silva) e rj (Marinada Glria) pode ser calculada usando uma funo de similaridade de strings evalor de pode ser determinado empiricamente.

    1.6. Bases de Dados Disponveis na WebVrios trabalhos que coletaram dados de redes sociais online oferecem

    disponibilizam os dados coletados para a comunidade acadmica. A seguir,algumas bases contendo dados pblicos disponveis na Web so relacionadas.

    Dados sobre Orkut, Flickr, LiverJournal e YouTube. Foram utili-zados no trabalho [Mislove et al. 2007] e esto disponveis em http://socialnetworks.mpi-sws.org/data-imc2007.html

    Dados sobre os vdeos de duas categorias inteiras do YouTube. Cole-tados em 2007 e utilizados no artigo [Cha et al. 2007]. Disponvel emhttp://an.kaist.ac.kr/traces/IMC2007.html.

    Dados do Flickr coletados ao longo do tempo. Esses dados foram utili-zados na referncia [Mislove et al. 2008] e esto disponveis em http://socialnetworks.mpi-sws.org/data-wosn2008.html.

    Dados sobre a popularidade de vdeos do YouTube com registro docrescimento e fontes dos acessos ao longo do tempo. Foram utiliza-dos na referncia [Figueiredo et al. 2011] e esto disponvis em http://vod.dcc.ufmg.br/traces/youtime/.

    Grafo completo contendo 55 milhes de usurios do Twitter e cercade 1.8 bilhes de tweets. Esses dados foram utilizados nas refern-cias [Cha et al. 2010, Benevenuto et al. 2010a] e esto disponveis noendereo http://twitter.mpi-sws.org/.

    Dados sobre o grafo de amizade e postagens de amostra de usu-rios do Facebook. Utilizados na referncia [Viswanath et al. 2009a]e disponveis em http://socialnetworks.mpi-sws.org/data-wosn2009.html.

    Coleo de usurios do YouTube, manualmente classificados comospammers, promoters ou usurios legtimos. Esses dados fo-ram utilizados nos seguintes trabalhos [Benevenuto et al. 2009a,Benevenuto et al. 2008b, Langbehn et al. 2010]. A base de dadosest disponvel em http://homepages.dcc.ufmg.br/~fabricio/testcollectionsigir09.html.

    Coleo de dados do Del.icio.us e do Digg. Coleo utilizada emdiferentes artigos e disponvel em http://www.public.asu.edu/~mdechoud/datasets.html.

    1.7. ConclusesRedes sociais online se tornaram extremamente populares e parte do

    nosso dia a dia, causando o surgimento de uma nova onda de aplicaes dis-

    37

  • ponveis na Web. A cada dia, grandes quantidades de contedo so compar-tilhadas, e milhes de usurios interagem atravs de elos sociais. Apesar detanta popularidade, o estudo de redes sociais ainda est em sua infncia, jque estes ambientes esto ainda experimentando novas tendncias e enfren-tando diversos novos problemas e desafios.

    Redes sociais online compem ambientes perfeitos para o estudo de v-rios temas da computao, incluindo sistemas multimdia e interao humano-computador. Alm disso, por permitir que usurios criem contedo, aplicaesde redes sociais vm se tornando um tema chave em pesquisas relacionadas organizao e tratamento de grandes quantidades de dados, alm de constitu-rem um ambiente ideal para extrao de conhecimento e aplicao de tcnicasde minerao de dados.

    Este trabalho oferece uma introduo ao pesquisador que pretende explo-rar o tema. Inicialmente, foram apresentadas as principais caractersticas dasredes sociais mais populares atualmente. Em seguida, discutimos as principaismtricas e tipos de anlises utilizadas no estudo dos grafos que formam a to-pologia das redes sociais. Finalmente, sumarizamos as principais abordagensutilizadas para se obter dados de redes sociais online e discutimos trabalhosrecentes que utilizaram essas tcnicas.

    AgradecimentosEste trabalho foi parcialmente financiado pelo Instituto Nacional de Ci-

    ncia e Tecnologia para a Web (InWeb), pelo CNPq, FAPEMIG e UOL(www.uol.com.br).

    Referncias[Adamic et al. 2003] Adamic, L., Buyukkokten, O. e Adar, E. (2003). A social

    network caught in the web. First Monday, 8(6).

    [Ahn et al. 2007] Ahn, Y.-Y., Han, S., Kwak, H., Moon, S. e Jeong, H. (2007).Analysis of topological characteristics of huge online social networking servi-ces. In World Wide Web Conference (WWW), pp. 835844.

    [Albert et al. 2000] Albert, R., H., Jeong e Barabasi, A. (2000). Error and attacktolerance of complex networks. Nature, 406(6794):378382.

    [Albert et al. 1999] Albert, R., Jeong, H. e Barabasi, A. (1999). Diameter of theworld wide web. Nature, 401:130131.

    [Ali-Hasan e Adamic 2007] Ali-Hasan, N. e Adamic, L. (2007). Expressing so-cial relationships on the blog through links and comments. In AAAI Confe-rence on Weblogs and Social Media (ICWSM).

    [Amaral et al. 2000] Amaral, A., Scala, A., Barthelemy, M. e Stanley, E. (2000).Classes of small-world networks. 97(21):1114911152.

    [Baeza-Yates e Ribeiro-Neto 1999] Baeza-Yates, R. e Ribeiro-Neto, B. (1999).Modern Information Retrieval. ACM Press / Addison-Wesley.

    38

  • [Baluja et al. 2008] Baluja, S., Seth, R., Sivakumar, D., Jing, Y., Yagnik, J., Ku-mar, S., Ravichandran, D. e Aly, M. (2008). Video suggestion and discoveryfor YouTube: Taking random walks through the view graph. In World WideWeb Conference (WWW), pp. 895904.

    [Barabasi e Albert 1999] Barabasi, A. e Albert, R. (1999). Emergence of sca-ling in random networks. Science, 286(5439).

    [Benevenuto et al. 2008a] Benevenuto, F., Duarte, F., Rodrigues, T., Almeida,V., Almeida, J. e Ross, K. (2008a). Understanding video interactions in You-Tube. In ACM Conference on Multimedia (MM), pp. 761764.

    [Benevenuto et al. 2010a] Benevenuto, F., Magno, G., Rodrigues, T. e Almeida,V. (2010a). Detecting spammers on twitter. In Annual Collaboration, Electro-nic messaging, Anti-Abuse and Spam Conference (CEAS).

    [Benevenuto et al. 2010b] Benevenuto, F., Pereira, A., Rodrigues, T., Almeida,V., Almeida, J. e Gonalves, M. (2010b). Characterization and analysis ofuser profiles in online video sharing systems. Journal of Information andData Management, 1(2):115129.

    [Benevenuto et al. 2009a] Benevenuto, F., Rodrigues, T., Almeida, V., Almeida,J. e Gonalves, M. (2009a). Detecting spammers and content promotersin online video social networks. In Intl ACM Conference on Research andDevelopment in Information Retrieval (SIGIR), pp. 620627.

    [Benevenuto et al. 2010c] Benevenuto, F., Rodrigues, T., Almeida, V., Almeida,J., Gonalves, M. e Ross, K. (2010c). Video pollution on the web. FirstMonday, 15(4).

    [Benevenuto et al. 2009b] Benevenuto, F., Rodrigues, T., Almeida, V., Almeida,J. e Ross, K. (2009b). Video interactions in online video social networks. ACMTransactions on Multimedia Computing, Communications and Applications(TOMCCAP), 5(4):125.

    [Benevenuto et al. 2008b] Benevenuto, F., Rodrigues, T., Almeida, V., Almeida,J., Zhang, C. e Ross, K. (2008b). Identifying video spammers in online so-cial networks. In Workshop on Adversarial Information Retrieval on the Web(AIRWeb), pp. 4552.

    [Benevenuto et al. 2009c] Benevenuto, F., Rodrigues, T., Cha, M. e Almeida,V. (2009c). Characterizing user behavior in online social networks. In ACMSIGCOMM Internet Measurement Conference (IMC), pp. 4962.

    [Bhattacharya e Getoor 2007] Bhattacharya, I. e Getoor, L. (2007). Collectiveentity resolution in relational data. ACM Trans. Knowl. Discov. Data, 1.

    [Binder et al. 2009] Binder, J., Howes, A. e Sutcliffe, A. (2009). The problem ofconflicting social spheres: effects of network structure on experienced ten-sion in social network sites. In ACM SIGCHI Conference on Human factorsin Computing Systems (CHI), pp. 965974.

    39

  • [Boll 2007] Boll, S. (2007). Multitubewhere web 2.0 and multimedia couldmeet. IEEE MultiMedia, 14(1):913.

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

    [Boyd e Ellison 2007] Boyd, D. e Ellison, N. (2007). Social network sites: Defi-nition, history, and scholarship. Journal of Computer-Mediated Communica-tion, 13(1-2).

    [Braitenberg e Schz 1998] Braitenberg, V. e Schz, A. (1998). Cortex: Statis-tics and Geometry of Neuronal Connectivity. Springer-Verlag.

    [Brin e Page 1998] Brin, S. e Page, L. (1998). The anatomy of a large-scalehypertextual web search engine. Computer Networks and ISDN Systems,30(1-7):107117.

    [Broder et al. 2000] Broder, A., Kumar, R., Maghoul, F., Raghavan, P., Rajago-palan, S., Stata, R., Tomkins, A. e Wiener, J. (2000). Graph structure in theweb. Computer Networks, 33:309320.

    [Burke et al. 2009] Burke, M., Marlow, C. e Lento, T. (2009). Feed me: Motiva-ting newcomer contribution in social network sites. In ACM SIGCHI Confe-rence on Human factors in Computing Systems (CHI), pp. 945954.

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

    [Cha et al. 2007] Cha, M., Kwak, H., Rodriguez, P., Ahn, Y.-Y. e Moon, S.(2007). I tube, you tube, everybody tubes: Analyzing the worlds largest usergenerated content video system. In ACM SIGCOMM Conference on InternetMeasurement (IMC), pp. 114.

    [Cha et al. 2009] Cha, M., Mislove, A. e Gummadi, K. (2009). A measurement-driven analysis of information propagation in the Flickr social network. InWorld Wide Web Conference (WWW), pp. 721730.

    [Chapman e Lahav 2008] Chapman, C. e Lahav, M. (2008). International eth-nographic observati