Download - Renato Assuncao UFMG. What is different about the web? (Kumar) Volume (45 billions – ver )
Renato AssuncaoUFMG
What is different about the web? (Kumar)Volume (45 billions – ver
http://www.worldwidewebsize.com)Change (23% per day, dynamic content)Decay (short half-life)Heterogeneity (HTML, AJAX, pdf, images)Language variationsDuplication (exact copying, near-duplication)Variable qualityLinks (malicious links, 404 (broken link),
redirects, dead-ends)No easy way to evaluate performance
Recuperação de informação na WEBPRIMEIRO PASSO:
Criar um índice das páginas e de seus conteúdos: Web crawler
indexar as páginas recuperar conteúdo
Este índice deve ser constantemente atualizadoSEGUNDO PASSO
Recebe query de usuárioEncontra muitas páginas relevantesPassa a um algoritmo de PageRank para ordenar
e exibir as páginas
Estrutura de Links da webWebpages sao ligadas INLinks e OUTlinks So os outlinks sao criados.Porque as pessoas criam outlinks?
dar autoridade e aprovação as paginas apontadas
E’ uma indicação (latente) de que o apontador confia na pagina apontada.
Google’s PageRankSergey Brin and Larry PageComecaram em 1995 enquanto estudantes de
PhD em Stanford
O que e’ o rank de uma pagina P?Seja r(P) o rank da pagina Pr(P) ≥ 0 Ele e’ uma medida da relevância da pagina na
WEBQuando um procedimento de text mining
identificar QUAIS os documentos que parecem relevantes para MINHA BUSCA, eles serão retornados numa dada ordem.
Esta ordem e’ aquela determinada pelos rankings r(P)s das paginas que foram encontradas.
Assim, a ordem de apresentação das paginas depende apenas dos valores de r(P), quanto maior r(P) mais a frente na lista.
O que e’ o rank de uma pagina P?Seja r(P) ≥ 0 o rank da pagina PEsta medida
Não depende de nenhuma query especificanão depende do interesse do usuário que vai
fazer a buscaNão depende do tipo de assunto pelo qual ele
tem ou não tem interessee’ um numero absoluto!!Ele e’ calculado de antemão e guardado numa
tabela.
Como os rankings são usados?Suponha tabela com um ranking r(P) para cada
pagina da webOs rankings r(P)’s somam 100%A cada consulta especifica:
Encontramos as paginas que parecem relevantes, um subconjunto de todas as paginas
Pegamos os rankings r(P)’s dessas paginas relevantesEste e’ apenas um subconjunto dos rankings e NÃO
SOMAM 100%Retornamos as paginas relevantes na ordem dos seus
r(P)’s
Como obter o rank r(P)? Seja r(P) o rank da pagina PSeja B_P o conjunto de paginas que apontam
para PIsto e’, B_P = conjunto dos nos que levam
diretamente a P em um único passoPara cada pagina Q em B_P, calcule seu rank
r(Q)A indicacao de uma pagina que aponta para
poucas outras paginas e’ mais relevante do que a indicacao de uma pagina que aponta para milhares de outras
Procedimento recursivoCalculo-Definicao de r(P) depende do valor de
r(Q) das outras paginas vizinhas. O r(Q) dessas vizinhas depende do rank r(P).Dilema do ovo e da galinha: começa com valor
inicial fictício para r(P) e itereSuponha que existam n paginas em toda Web
Comece com 1/n
Itere sucessivamente ate convergir
Iteração matricialProcedimento iterativo em forma matricialSeja
Procedimento iterativo em forma matricialSeja
Então
Iteração matricialA iteração matricial
Fica reduzida a
Isto é, a j-ésima avaliação do vetor de page rankings é a potência j da matriz P aplicada ao vetor inicial (1º.)
jtttj
tj
tj
tj PPPPPPPPPP 00321 ......
Funciona... Mas como e porque?Processo iterativo converge ou pode
prosseguir indefinidamente?Sob que circunstancias ou propriedades de P
vamos ter convergencia?Vai convergir para algo que faz sentido no
contexto de Web retrieval information?Converge sempre para um único vetor ou
pode convergir para mais de um vetor ?Depende dos valores iniciais r0(Pi)? Quanto tempo para convergir?
Grafo matriz de vizinhança
Passeando aleatoriamente na Web
P e’ a matriz de transicao de uma cadeia de MarkovP = matriz estocastica:
Pij ≥ 0Linhas somam 1
Estados = nos do grafo
Em cada instante, pule para nova pagina escolhendo um link ao acaso
Matriz de transicao
Pij = Prob(de ir de i para j em um passo)
P2 = PP tambem e’ matriz estocasticaelementos não-negativos somando 1 nas linhas
P2ij = Prob (de ir de i para j em DOIS
passos)
Idem para Pk
Autovetores e PageRankTeorema:
Seja P a matriz n x n de transição de uma cadeia de Markov
Suponha que a cadeia e’ aperiodica e irredutivelEntao existe um único vetor de dimensao n tal que:
t P = t e t (1,...,1) = 1Este vetor e’ chamado de distribuição estacionaria.ESTE VETOR E’ O RANKING DAS PAGINAS
WEB!!!!!Alem disso, limk Pk = (1,...,1) t
Isto implica que limj jt = limj j-1
t P = π0t limj Pj = t
Ajustando PMatriz P pode NÃO SER uma matriz estocasticaPaginas sem OUTlinks:
Documentos pdfImagens
Geram linhas com elementos Pij=0, que somam ZERO
Isto e’, substitua a linha nula por uma linha com todos os valores iguais a 1/numero de paginas na web
Assim, se chegar nesta pagina, pula para uma outra pagina escolhida ao acaso na web.
Outro ajuste na matrizA matriz modificada para superar as paginas
sem links e’ a matriz S.Precisamos de mais uma modificação.
Existem também regiões quase absorventes que dificultam a convergência para uma dist estacionária
São quase-cliques, grupos fechados de páginas que se interapontam mas que possuem poucas ligações com o resto da web.
TeleportationSolução de Brin and Page:Ocasionalmente, com probab (1- α) o surfista da
Web escolhe uma das n páginas da web ao acaso para recomeçar.
Seja e = (1,...,1) Em termos matriciais: G α S + (1- α) (1/n) e.et
α ≈ 0.85 no Google
PageRankCom estas modificacoes (isto é, com a matriz
G), o algoritmo PageRank encontra os rankings:E’ o único autovetor π pela esquerda da matriz
G que possui autovalor 1Como encontrar estes rankings na prática, já
que G é uma matriz “bilionária”? Inviável calcular autovetor por métodos
tradicionaisMétodo da potência:
Para QUALQUER vetor inicial, a sequencia π0t
Gk converge para vetor o vetor π, Use π0= 1/n * (1, ..., 1)
ConvergênciaRapidez da convergência depende do segundo
maior autovalor de G = α (P + (1/n) * a.et) + (1- α) (1/n) e.et
Primeiro (maior) autovalor é 1 (matriz estocástica)Todos os outros autovalores têm módulo menor
que 1 (Teorema de Perron-Frobenius)Segundo maior autovalor 2 :
Diferença 1 - 2 : spectral gapquanto menor o spectral gap, mais lenta a
convergênciaQuanto menor α, mais rápida a convergência mas
pior a representação da estrutura da web.Google PageRank itera entre 50 e 100 vezes para
obter convergência
Vetores personalizadosDifferent teleportation:
Ao invés de usar (1/n) e.et, use e.vt
v é um vetor de probabilidade de dimensão n e.vt é uma matriz n x n
ModificandoG = α (P + (1/n) * a.et) + (1- α) (1/n) e.et
porG = α (P + (1/n) * a.et) + (1- α) e.vt
Com probab (1- α), usuário escolhe nova página com probab dada pelo vetor v
Vetores personalizadosTodas as propriedades são preservadas:
Ainda pode usar o método de potênciaTaxa de convergência governada por α Pode usar métodos de multiplicação de matriz
esparsaArmazenagem mínima
Pode fazer método ser dependente da query
Alguns detalhes finaisSIAM meeting in 2002:
Google declarou que atualiza mensalmente os page rankings, tudo de novo (incluindo a criação do index)