A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Webgraph: algoritmos e métodos Luciana Salete Buriol Instituto de Informática, Universidade Federal do Rio Grande do Sul (UFRGS) Slides de Luciana Buriol,

Apresentações semelhantes


Apresentação em tema: "Webgraph: algoritmos e métodos Luciana Salete Buriol Instituto de Informática, Universidade Federal do Rio Grande do Sul (UFRGS) Slides de Luciana Buriol,"— Transcrição da apresentação:

1 Webgraph: algoritmos e métodos Luciana Salete Buriol Instituto de Informática, Universidade Federal do Rio Grande do Sul (UFRGS) Slides de Luciana Buriol, Viviane Orengo e Leandro Wives

2 2/60 Webgraph O Webgraph é o grafo direcionado gerado a partir da estrutura de links das páginas web. cada página web é um vértice cada hyperlink entre páginas é um arco direcionado. É um grafo de grande dimensão, esparso e desconexo

3 3/60 Sumário Motivação e objetivos Recuperação de Informações Extração, armazenamento e compactação do webgraph Características topológicas e propriedades do webgraph Algoritmos de classificação Algoritmos de aproximação para cálculo de propriedades do webgraph Conclusões

4 4/60 Motivações Grande dimensão: atualmente possui mais de 24 bilhões de vértices e cerca de 500 bilhões de arcos 1998: 24 milhões de páginas 1999: 200 milhões 2003: 3.5 bilhões de páginas 2005: 11.5 bilhões de páginas 2006: 24 bilhões de páginas

5 5/60 Motivações É a fonte de dados utilizada por ferramentas de busca para organização e classificação das páginas web Não se assemelha a outras redes Diversidade de tópicos, estilos e línguas Insere uma série de desafios para a área de computação, possibilitando o surgimento de novas pesquisas e novas soluções

6 6/60 Web Crawling Coleta das páginas web

7 7/60 Coleta de páginas A coleta das páginas é realizada por uma máquina de busca ( web crawler ) Faz a busca a partir de um conjunto inicial de páginas Após extrair a página, identifica seus links Página web

8 8/60 Coleta das páginas É preciso possuir links entrantes para ser coletada Uma máquina de busca de grande dimensão deve: Identificar eficientemente páginas já extraídas Processar em paralelo Usar banda de rede limitada Usar a política da boa educação

9 9/60 Estrutura de um crawler bag seed while bag {} pick p bag download p if p is seen continue parse p for each q outlinks( p ) do if q is new then bag bag { q } end if end for store p end while

10 10/60 Estrutura de um crawler bag seed while bag {} pick p bag download p if p is seen continue parse p for each q outlinks( p ) do if q is new then bag bag { q } end if end for store p end while

11 11/60 Coleta das páginas Problemas práticos: Tempo x espaço. Ex: 42 milhões de páginas html do domínio italiano, tendo em média 10 KB por página. Espaço 400 GB: 1.33 discos de 300GB 24 bilhões de páginas: mais de 200 discos? Tempo Banda disponível: 2 Mbps 3 pontos de coleta 5.5 milhões de páginas por dia 8 dias executando

12 12/60 Coleta das páginas Algumas máquinas de busca: WIRE: Universidade do Chile UbiCrawler: Universidade Estadual de Milão; Nutch ( ): USA, implementado em Java, fácil instalação e utilização, opções para usuário Maiores detalhes em As máquinas de busca comerciais, como Google, Yahoo, Alta Vista, TodoBR, não são de domínio público

13 13/60 Armazenamento do dados Armazenamento do webgrafo e/ou conteúdo das páginas? páginas de diversos formatos: html, txt, doc, pdf, ps, ppt, etc Uma página web sem figuras, tem tamanho médio de 10 a 14 Kb

14 14/60 Recuperação de Informações na Web Trata da representação, armazenamento, organização e acesso à informação referente às páginas web R. Baeza-Yates e B. Ribeiro-Neto, Modern Information Retrieval, 1999, www2.dcc.ufmg.br/livros/irbook

15 15/60 Diferenças entre IR e Data Retrieval IR Documentos – pouca estrutura Consultas vagas e ambíguas expressas por meio de palavras- chave Consultas não recuperam todos os itens relevantes e nem todos os recuperados são relevantes. Documentos apresentados em ordem decrescente de relevância Data Retrieval Tabelas – dados estruturados Consultas claras e precisas expressas em uma linguagem (SQL) Consultas recuperam todas as tuplas relevantes e todas as tuplas recuperadas são relevantes Todas as tuplas recuperadas são igualmente relevantes à consulta

16 16/60 O processo de IR O usuário tipicamente precisa traduzir sua necessidade de informações em forma de uma consulta (keywords). Exemplo: Necessidade de Informação: Quais as vinícolas do RS que produzem vinho com a uva Melot? Palavras-chave: vinícola RS merlot

17 17/60 Índice invertido t1t1 t2t2 t3t3... tntn Índice (dicionário) Lista de postings Normalmente em disco Em memória, se possível 17

18 18/60 Dicionário de Termos: observações Cerca de 100 milhões de palavras! Uma estimativa de Grossman e Frieder (2004), 2 milhões de termos ocupam menos de 32MB (sem compressão) Busca binária, com complexidade relativamente baixa: O (log n); ou Funções hash com lista de colisão Em coleções dinâmicas, usar outras estruturas (TRIE, PAT, PATRICIA, B-TREES) 18

19 19/60 Componentes de um sistema de IR Query Results Document Collection Process Text Search Index File Retrieve Documents Produce ranked list of matches Tokenization, Stop Word Removal, Stemming & Term Weighting Inverted File Ranking Algorithm Tokenization, Stop Word Removal, Stemming & Term Weighting

20 20/60 Formato do Webgraph os nós recebem identificadores Representação do grafo no formato IPS: lista de adjacência forward and backward Dividido em vários arquivos Tamanho para um conjunto de 200 milhões de páginas: 15 GB (21 arquivos)

21 21/60 Link Analysis Identificação da estrutura topológica do grafo Cálculo de diversas propriedades do grafo classificação das páginas web

22 22/60 Medidas Elementares Distribuição do indegree e outdegree É referente ao número de páginas que possuem grau d i, para i=1,2…max d ; Em geral a distribuição para o webgraph se apresenta como uma power law: a probabilidade de um nó possuir degree d é proporcional a para algum >1

23 23/60 Distribuição do grau das páginas

24 24/60 Indegree Distribution

25 25/60 Outdegree Distribution

26 26/60 Pagerank Distribution

27 27/60 Estrutura Macroscópica do Webgraph Graph structure in the Web, Broder et al, 2000

28 28/60 Identificando tentáculos e tubos

29 29/60 Ilhas: nós restantes

30 30/60 Medidas da estrutura bow-tie para wikigraphs

31 31/60 Biblioteca de Algoritmos para Análise de grafos de grande dimensão Desenvolvida no Dipartimento di Informatica e Sistemistica della Universita La Sapienza, Roma, Itália. Disponível gratuitamente em: Tools.htm Documentação em: D13.pdf

32 32/60 Estrutura da Biblioteca Generators Measures Search algorithms Bow-tie discovering File converters Miscellaneous

33 33/60 Pagerank As páginas web são apresentadas em ordem decrescente de seu pagerank PageRank (PR) é um valor numérico que representa o quão importante uma página é Simula o procedimento de um internauta! Selecione uma página ao acaso (aleatória) Repita até convergir: com probabilidade visita uma página vizinha com probabilidade 1- visita uma página vizinha Em geral

34 PageRank algorithm [BP 97] Um nível de propagação Boas paginas devem ser apontadas por boas paginas! 1/3

35 35/60 PageRank: propagação do ranking

36 Algoritmo HITS (Kleinberg) Define: Autority: páginas com muitos links de entrada Hub: páginas com muitos links de saída Inicialize todos pesos com valor 1 Repita ate convergir – Os hubs recebem os pesos dos authorities – Os authorities recebem os pesos dos hubs Normalize os pesos

37 Pagerand and HITS Algorithms ambos são algoritmos iterativos; cálculo através de um processo algébrico convergem para o principal autovetor da matriz de links da do webgraph (matriz de transição de uma cadeia de Markov)

38 38/60 Algoritmos de Classificação Outros alg. de classificação: Salsa, ExpertRank, etc. Avaliação: Classificação adequada Cálculo rápido Estabilidade Menos susceptível a link spamming

39 39/60 Algoritmos de memória secundária O grafo não pode ser carregado em memória principal, mas armazenado em memória secundária Algoritmos de memória secundária buscam minimizar o acesso a disco Tratando-se de grafos de grande dimensão, quase na totalidade os algoritmos não são executados em memória principal Algoritmos de memória principal, semi-externos e de memória secundária

40 40/60 Webgraph do domínio.br Um novo retrato da web brasileira, M. Modesto, A. Pereira, N. Ziviani, C. Castillos, R. Baeza-Yates, 2005 (Brasil + Chile) domínio.br 7.7 milhões de páginas e 126 milhões de links (média de 16 links por página)

41 41/60 Webgraph do domínio.br Média de 14,4 Kb por página. Anteriormente era de 9 Kb (Um retrato da web brasileira, Veloso et al, 2000) 6.4% das páginas são duplicadas 41.7% das páginas são dinâmicas

42 42/60 Webgraph do domínio.br Idioma: português 88,6% inglês 11,2% e espanhol 1,16% Domínio: 91.1% com.br 2.7% org.br 0,3% edu.br Extensão: html: 97.92% pdf: 0.88 % doc: 0.48%

43 43/60 Propriedades Avançadas Cálculo do número de triângulos do grafo Cálculo do número de cliques bipartidos de pequena dimensão Cálculo do coeficiente de clustering

44 44/60 Comunidades Web emergentes Identifique todos cliques bipartidos de dimensão 3 i 10

45 45/60 Bases de Dados Alternativas Wikipedia : maior enciclopédia online do mundo Cada artigo é um nó e cada hyperlink entre artigos é um arco do grafo Poucos links externos Um grafo pode ser gerado para cada língua Língua Inglesa: nós (15 arcos por nó) Possui informação temporal

46 46/60 Algoritmos de Data Stream algoritmos de aproximação baseados em probabilidade usam memória limitada Originalmente: dados são lidos uma única vez em forma de stream Usam sketch (tipo e numero de funções hash) ou amostragem (amostra e tamanho da amostragem) Já propostos: triângulos, cliques bipartidos e coeficiente de clustering

47 47/60 Contando o Número de Triângulos de um Grafo Dado um grafo G=(V,E), onde V e o conjunto de nós e E o conjunto de arcos, considere todas as triplas de três nós V; T0T0 T1T1 T2T2 T3T3

48 Contando o Número de Triângulos de um Grafo O que é uma amostra? ? ? a b v Seleciona-se um arco e=(a,b) E e um no v V \ {a,b}, e observa-se a ocorr ê ncia dos outros arcos.

49 Contando o Número de Triângulos de um Grafo Quantas amostras deste tipo tem um grafo? A seguinte propriedade e verdadeira para qualquer grafo T 1 + 2T 2 + 3T 3 = |E|(|V|-2) Triplas do tipo T 0 nao fazem parte desta amostra

50 Contando o Número de Triângulos de um Grafo Os algoritmos podem se beneficiar da estrutura dos dados Em geral são polinomiais de baixa ordem Motivação: necessidade de cálculos on the fly, cálculo de propriedades do webgraph, redes de sensores, etc.

51 51/60 Compressão Níveis de compressão: Conteúdo da página URL da página Webgraph Usa técnicas especializadas que permitem grande compressão e rápido acesso aos dados.

52 52/60 Observações levadas em consideração para compressão Consecutividade: muitos links num mesmo web site são similares lexicograficamente. Ex: Localidade: cerca de 80% dos links são locais, ou seja, apontam para páginas no mesmo domínio Similaridade: Páginas do mesmo domínio tendem a ter muitos links que apontam para as mesmas páginas

53 53/60 Compressão das URLs São ordenadas lexicograficamente e armazenadas com indicação de similaridade + diferença em relação à precedente. Proposto em 1997 pelo Alta Vista: obtém redução de 70%.

54 54/60 Lista de Adjacência em Código Delta Lista Adj Vért ices

55 55/60 Lista de Adjacência em Código Delta -3 = (primeiro item) Lista Adj Vért ices Lista Adj Vért ices

56 56/60 Compressão do Webgraph Melhor compressão = ( ) bits por arco: Universidade Estadual de Milão (http://webgraph.dsi.unimi.it) Compressão vs. tempo de acesso Acesso seqüencial e aleatório

57 57/60 Conclusões Tópico atual, com muitos trabalhos em aberto e muitas conferências na área Deve-se ter uma visão geral, mas especializar-se em poucos tópicos Reúne resultados de diversas áreas Equilíbrio entre teórico e pratico Os estudos são recentes, de interesse atual, e ainda carece de muita pesquisa Muitos problemas de dimensões diversas

58 58/60 Tópicos de Interesse GERAL: Algoritmos e Otimização Algoritmos de memória secundária propor algoritmos de data stream para o cálculo de propriedades avançadas Geração de grafos sintéticos evolução temporal do grafo: geração de grafos, propriedades e classificação. determinar como tais propriedades podem aprimorar as ferramentas de busca

59 59/60 Áreas Relacionadas Algoritmos Recuperação de informações Mineração de dados Banco de dados Inteligência Artificial Processamento de Linguagem natural

60 60/60 Contato Luciana Salete Buriol


Carregar ppt "Webgraph: algoritmos e métodos Luciana Salete Buriol Instituto de Informática, Universidade Federal do Rio Grande do Sul (UFRGS) Slides de Luciana Buriol,"

Apresentações semelhantes


Anúncios Google