webgraph: algoritmos e métodos luciana salete buriol instituto de informática, universidade...

57
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

Upload: internet

Post on 18-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 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,

Webgraph: algoritmos e métodos

Luciana Salete BuriolInstituto de Informática,

Universidade Federal do Rio Grande do Sul (UFRGS)

Slides de Luciana Buriol, Viviane Orengo e Leandro Wives

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

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

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

3/60

SumárioMotivação e objetivosRecuperação de InformaçõesExtração, armazenamento e compactação do webgraphCaracterísticas topológicas e propriedades do webgraphAlgoritmos de classificaçãoAlgoritmos de aproximação para cálculo de propriedades do webgraphConclusões

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

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áginas1999: 200 milhões2003: 3.5 bilhões de páginas2005: 11.5 bilhões de páginas2006: 24 bilhões de páginas

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

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

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

6/60

Web Crawling

Coleta das páginas web

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

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áginasApós extrair a página, identifica seus links

Página web

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

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”

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

9/60

Estrutura de um crawler

bag “seed” while bag {}

pick p bagdownload pif p is seen continueparse pfor each q outlinks(p) do

if q is new thenbag bag {q}

end ifend forstore p

end while

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

10/60

Estrutura de um crawlerbag “seed” while bag {}

pick p bagdownload pif p is seen continueparse pfor each q outlinks(p) do

if q is new thenbag bag {q}

end ifend forstore p

end while

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

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

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

12/60

Coleta das páginas

Algumas máquinas de busca:WIRE: Universidade do Chile

UbiCrawler: Universidade Estadual de Milão;

Nutch (www.nutch.org): USA, implementado em Java, fácil instalação e utilização, opções para usuário

Maiores detalhes em http://www.dis.uniroma1.it/buriol/Query.ppt

As máquinas de busca comerciais, como Google, Yahoo, Alta Vista, TodoBR, não são de domínio público

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

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

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

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

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

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

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

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

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

17/60

Índice invertido

t1

t2

t3

.

.

.tn

Índice(dicionário)

Lista de postings

Normalmente em disco

Em memória, se possível

17

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

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

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

19/60

Componentes de um sistema de IR

Query

Results

DocumentCollection

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

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

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)

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

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

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

22/60

Medidas ElementaresDistribuição do indegree e outdegree

É referente ao número de páginas que possuem grau di, para i=1,2…maxd;

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

αd

1

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

23/60

Distribuição do grau das páginas

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

24/60

Indegree Distribution

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

25/60

Outdegree Distribution

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

26/60

Pagerank Distribution

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

27/60

Estrutura Macroscópica do Webgraph

Graph structure in the Web, Broder et al, 2000

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

28/60

Identificando tentáculos e tubos

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

29/60

Ilhas: nós restantes

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

30/60

Medidas da estrutura bow-tie para wikigraphs

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

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: http://www.dis.uniroma1.it/~cosin/html_pages/COSIN-Tools.htm

Documentação em: http://www.dis.uniroma1.it/~cosin/publications/deliverableD13.pdf

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

32/60

Estrutura da Biblioteca

Generators

Measures

Search algorithms

Bow-tie discovering

File converters

Miscellaneous

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

33/60

Pagerank

As páginas web são apresentadas em ordem decrescente de seu pagerankPageRank (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 vizinhacom probabilidade 1-visita uma página vizinha

Em geral

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

PageRank algorithm [BP 97]

Um nível de propagaçãoBoas paginas devem ser apontadas por boas paginas!

ij:j jD

jPRε+

Nε=iPR 1

1

1/3

1/3

1/3

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

35/60

PageRank: propagação do ranking

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

Algoritmo HITS (Kleinberg)

Define:Autority: páginas com muitos links de entradaHub: 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

ji:j

ji a=h ij:j

ji h=a

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

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)

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

38/60

Algoritmos de Classificação

Outros alg. de classificação: Salsa, ExpertRank, etc.Avaliação:

Classificação adequadaCálculo rápidoEstabilidadeMenos susceptível a link spamming

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

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

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

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)

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

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

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

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.br0,3% edu.br

Extensão: html: 97.92%pdf: 0.88 %doc: 0.48%

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

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

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

44/60

Comunidades Web emergentes

Identifique todos cliques bipartidos de dimensão 3 ≤ i ≤ 10

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

45/60

Bases de Dados Alternativas

Wikipedia www.wikipedia.org: 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: 1.250.000 nós (15 arcos por nó)

Possui informação temporal

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

46/60

Algoritmos de Data Stream

algoritmos de aproximação baseados em probabilidadeusam memória limitadaOriginalmente: 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

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

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;

T0 T1 T2 T3

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

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.

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

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

T1 + 2T2 + 3T3 = |E|(|V|-2)

• Triplas do tipo T0 nao fazem parte desta amostra

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

Contando o Número de Triângulos de um Grafo

Os algoritmos podem se beneficiar da estrutura dos dadosEm geral são polinomiais de baixa ordemMotivação: necessidade de cálculos on the fly, cálculo de propriedades do webgraph, redes de sensores, etc.

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

51/60

Compressão

Níveis de compressão:Conteúdo da páginaURL da páginaWebgraph

Usa técnicas especializadas que permitem grande compressão e rápido acesso aos dados.

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

52/60

Observações levadas em consideração para compressão

Consecutividade: muitos links num mesmo web site são similares lexicograficamente.

Ex: http://my.sample.com/whitepaper/nodeA.htmlhttp://my.sample.com/whitepaper/nodeB.html

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

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

56/60

Compressão do Webgraph

Melhor compressão = (3.08 + 2.89) 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

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

57/60

Conclusões

Tópico atual, com muitos trabalhos em aberto e muitas conferências na áreaDeve-se ter uma visão geral, mas especializar-se em poucos tópicosReúne resultados de diversas áreasEquilíbrio entre teórico e praticoOs estudos são recentes, de interesse atual, e ainda carece de muita pesquisa

Muitos problemas de dimensões diversas

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

58/60

Tópicos de InteresseGERAL: Algoritmos e OtimizaçãoAlgoritmos de memória secundáriapropor algoritmos de data stream para o cálculo de propriedades avançadasGeração de grafos sintéticosevolução temporal do grafo: geração de grafos, propriedades e classificação.determinar como tais propriedades podem aprimorar as ferramentas de busca

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

59/60

Áreas Relacionadas

AlgoritmosRecuperação de informaçõesMineração de dadosBanco de dadosInteligência ArtificialProcessamento de Linguagem natural

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

60/60

Contato

Luciana Salete [email protected]

www.inf.ufrgs.br/~buriol