Mineração de dados da web social Matthew A. Russell Novatec Authorized Portuguese translation of the English edition of Mining the Social Web, First Edition ISBN 9781449388348 © 2010, Matthew Russell. This translation is published and sold by permission of O'Reilly Media, Inc., the owner of all rights to publish and sell the same. Tradução em português autorizada da edição em inglês da obra Mining the Social Web, First Edition ISBN 9781449388348 © 2010, Matthew Russell. Esta tradução é publicada e vendida com a permissão da O'Reilly Media, Inc., detentora de todos os direitos para publicação e venda desta obra. © Novatec Editora Ltda. 2011. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização, por escrito, do autor e da Editora. Editor: Rubens Prates Tradução: Rafael Zanolli Revisão gramatical: Jeferson Ferreira Revisão técnica: Leonardo Naressi (Direct Performance) Editoração eletrônica: Camila Kuwabata / Carolina Kuwabata ISBN: 978-85-7522-245-4 Histórico de impressões: Agosto/2011 Primeira edição Novatec Editora Ltda. Rua Luís Antônio dos Santos 110 02460-000 – São Paulo, SP – Brasil Tel.: +55 11 2959-6529 Fax: +55 11 2950-8869 E-mail: [email protected] Site: www.novatec.com.br Twitter: twitter.com/novateceditora Facebook: facebook.com/novatec LinkedIn: linkedin.com/in/novatec Dados Internacionais de Catalogação na Publicação (Câmara Brasileira do Livro, SP, Brasil) Russell, Matthew A. Mineração de dados da Web social / Matthew A. Russell ; [tradução Rafael Zanolli]. -São Paulo : Novatec Editora ; Sebastopol, CA : O`Really, 2011. Título original: Mining the social Web. Bibliografia ISBN 978-85-7522-245-4 1. Comunicações digitais 2. Desenvolvimento de sites na Web 3. Ferramentas de busca na Web 4. Internet (Rede de computadores) 5. Rede de relações sociais 6. Redes sociais I. Título. 11-04206 CDD-005.13307 Índices para catálogo sistemático: 1. Desenvolvimento de aplicações na web : Programação : Processamento de dados : Estudo e ensino 005.13307 OGF20110725 (CIP) Sumário Prefácio à edição brasileira..................................................................................................................13 Prefácio..............................................................................................................................................15 Capítulo 1 ■ Introdução: hacking de dados do Twitter...........................................................................22 Instalação de ferramentas de desenvolvimento em Python..................................................................... 22 Coleta e manipulação de dados do Twitter............................................................................................ 24 Experimentando com a API do Twitter........................................................................................... 25 Análise de frequência e diversidade léxica....................................................................................... 28 Visualização de grafos de tweets..................................................................................................... 36 Síntese: visualização de retweets com o Protovis.................................................................................... 39 Comentários finais.............................................................................................................................. 39 Capítulo 2 ■ Microformatos: quando marcação semântica e senso comum se encontram.......................41 XFN e amigos...................................................................................................................................... 42 Exploração de conexões sociais com o XFN.......................................................................................... 44 Rastreamento em largura-primeiro de dados do XFN..................................................................... 46 Coordenadas geográficas: um assunto que une praticamente tudo......................................................... 53 Artigos da Wikipédia + Google Maps = viagem a passeio?.............................................................. 54 Fatiando e picando receitas (isso faz bem à saúde)................................................................................. 57 Reunindo críticas de restaurantes..........................................................................................................61 Resumo............................................................................................................................................... 63 Capítulo 3 ■ Caixas de e-mail: elas nunca saem de moda......................................................................64 mbox: noções básicas sobre caixas de e-mail Unix................................................................................ 65 mbox + CouchDB = Análise descontraída de e-mails.............................................................................71 Carregamento em massa de documentos no CouchDB.....................................................................74 Ordenação inteligente.................................................................................................................... 75 Análise de frequência inspirada em mapeamento/redução..................................................................... 78 Ordenação de documentos por valor.............................................................................................. 84 couchdb-lucene: indexação de texto completo e muito mais............................................................ 86 Threading de conversas........................................................................................................................ 90 Olha quem está falando................................................................................................................. 96 Visualização de “eventos” de e-mails com o SIMILE Timeline............................................................... 101 Análise de seus próprios dados de emails.............................................................................................104 A extensão Gaph Your (Gmail) Inbox para o Chrome...........................................................................105 Comentários finais.............................................................................................................................106 9 10 Mineração de dados da web social Capítulo 4 ■ Twitter: amigos, seguidores e operações de conjuntos.....................................................107 APIs RESTful e que empregam OAuth.................................................................................................108 Não, você não pode saber minha senha.........................................................................................109 Uma máquina poderosa de coleta de dados......................................................................................... 112 Um breve interlúdio de refatoração................................................................................................ 115 Redis: um servidor de estruturas de dados.................................................................................... 116 Operações elementares de conjuntos............................................................................................. 117 Adição de métricas básicas para amigos/seguidores........................................................................120 Cálculo de similaridade computando amigos e seguidores em comum...........................................126 Medição da influência..................................................................................................................127 Construção de grafos de amizade.................................................................................................. 132 Detecção e análise de cliques.........................................................................................................134 API “Strong Links” da InfoChimps................................................................................................138 Visualização interativa em grafo 3D...............................................................................................140 Resumo.............................................................................................................................................. 142 Capítulo 5 ■ Twitter: o tweet, todo o tweet, o nada além do tweet......................................................144 Caneta : Espada :: Tweet : Metralhadora (?!?).......................................................................................144 Análise de tweets (uma entidade por vez).............................................................................................148 Explorando os tweets (do Tim).....................................................................................................150 Quem Tim retwitta mais frequentemente?............................................................................................164 Qual a influência de Tim?............................................................................................................. 167 Quantos dos tweets de Tim contêm hashtags?................................................................................ 170 Justaposição de redes sociais latentes (ou #JustinBieber versus #TeaParty)........................................... 172 Quais entidades coocorrem com maior frequência nos tweets de #JustinBieber e #TeaParty?.......... 174 Na média, quais tweets têm mais hashtags, os de #JustinBieber ou os de #TeaParty?...................... 179 Qual é retwittado com maior frequência: #JustinBieber ou #TeaParty?.......................................... 179 Quanta coincidência existe entre as entidades dos tweets de #TeaParty e #JustinBieber?................. 181 Visualização de toneladas de tweets.....................................................................................................183 Visualização de tweets com nuvens de tags....................................................................................184 Visualização de estruturas de comunidade em resultados de busca do Twitter.................................187 Comentários finais....................................................................................................................... 191 Capítulo 6 ■ LinkedIn: agrupe sua rede profissional por diversão (e lucro?)..........................................192 Motivações para agrupamentos...........................................................................................................193 Agrupamento de contatos por cargo.................................................................................................... 197 Padronização e contagem de cargos............................................................................................... 197 Métricas usuais de similaridade para agrupamentos......................................................................199 Uma abordagem gulosa aos agrupamentos....................................................................................203 Agrupamentos hierárquicos e das k-médias....................................................................................211 Busca de informações estendidas de perfil............................................................................................ 214 Agrupamento geográfico de sua rede................................................................................................... 219 Mapeamento de sua rede profissional com o Google Earth............................................................. 219 Mapeamento de sua rede profissional com Cartogramas Dorling....................................................224 Comentários finais.............................................................................................................................225 Capítulo 7 ■ Google Buzz: TF-IDF, similaridade de cosseno e colocações...............................................226 Buzz = Twitter + Blogs (???).................................................................................................................227 Sumário 11 Exploração de dados com o NLTK......................................................................................................230 Fundamentos da mineração de texto...................................................................................................234 Uma introdução-relâmpago à TF-IDF............................................................................................234 Consulta de dados do Buzz com a TF-IDF...........................................................................................240 Localização de documentos semelhantes.............................................................................................242 A teoria por trás dos modelos de espaço vetorial e da similaridade de cosseno................................242 Agrupamentos de posts utilizando similaridade de cosseno...........................................................245 Representação da similaridade utilizando visualizações em grafos..................................................247 O Buzz e os bigramas...................................................................................................................249 Como se faz o mix das colocações: tabelas de contingência e funções de pontuação..............................253 Exploração de seus dados do Gmail.....................................................................................................257 Acesso ao Gmail com OAuth...............................................................................................................258 Busca e parsing de mensagens de e-mails.............................................................................................259 Antes que você tente construir um mecanismo de busca…....................................................................262 Comentários finais............................................................................................................................ 264 Capítulo 8 ■ Blogs et al.: Processamento de linguagem natural (e muito mais)....................................265 NLP: uma introdução ao estilo Pareto................................................................................................. 266 Sintaxe e semântica...................................................................................................................... 266 Um breve exercício de raciocínio...................................................................................................267 Um processo típico de NLP com o NLTK............................................................................................ 268 Detecção de frases em blogs com o NLTK............................................................................................272 Resumo de documentos......................................................................................................................276 Análise do algoritmo para criação de resumos de Luhn................................................................. 284 Análise centrada em entidades: um entendimento mais profundo dos dados........................................ 286 Qualidade das análises.................................................................................................................295 Comentários finais...................................................................................................................... 298 Capítulo 9 ■ Facebook: a rede social capaz de tudo.............................................................................299 Explorando os dados de sua rede social.............................................................................................. 300 De zero ao token de acesso em menos de 10 minutos..................................................................... 300 APIs de consulta do Facebook...................................................................................................... 306 Visualização de dados do Facebook..................................................................................................... 318 Visualização de sua rede social inteira........................................................................................... 318 Para onde foram todos meus amigos? (um jogo orientado por dados)...................................................333 Visualização de dados do mural como uma nuvem (giratória) de tags...................................................338 Comentários finais............................................................................................................................ 340 Capítulo 10 ■ A web semântica: uma discussão descontraída..............................................................342 Uma revolução evolucionária?.............................................................................................................342 Um homem não pode viver apenas de fatos......................................................................................... 344 Suposições de mundo aberto versus de mundo fechado................................................................ 344 Inferências sobre um mundo aberto com FuXi.................................................................................... 346 Esperança.......................................................................................................................................... 348 Sobre o autor......................................................................................................................................358 Colofão..............................................................................................................................................358 Índice remissivo................................................................................................................................349