PageRanking for Web Search

Propaganda
Renato Assuncao
UFMG
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 variations
 Duplication (exact copying, near-duplication)
 Variable quality
 Links (malicious links, 404 (broken link), redirects,
dead-ends)
 No easy way to evaluate performance
Recuperação de informação na WEB
 PRIMEIRO 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 atualizado
 SEGUNDO PASSO
 Recebe query de usuário
 Encontra muitas páginas relevantes
 Passa a um algoritmo de PageRank para ordenar e exibir as
páginas
Estrutura de Links da web
 Webpages 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 PageRank
 Sergey Brin and Larry Page
 Comecaram em 1995 enquanto estudantes de PhD em
Stanford
Web como um grafo
O que e’ o rank de uma pagina P?




Seja r(P) o rank da pagina P
r(P) ≥ 0
Ele e’ uma medida da relevância da pagina na WEB
Quando 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.
Exemplo: r(P)’s somam 100%
O que e’ o rank de uma pagina P?
 Seja r(P) ≥ 0 o rank da pagina P
 Esta medida
 Não depende de nenhuma query especifica
 não depende do interesse do usuário que vai fazer a
busca
 Não depende do tipo de assunto pelo qual ele tem ou
não tem interesse
 e’ 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
web
 Os 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 relevantes
 Este 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 P
 Seja B_P o conjunto de paginas que apontam para P
 Isto e’, B_P = conjunto dos nos que levam diretamente
a P em um único passo
 Para 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
Relevância por indicação
Exemplo:
Procedimento recursivo
 Calculo-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 itere
 Suponha que existam n paginas em toda Web
 Comece com
1/n
 Itere sucessivamente ate convergir
Iteração matricial
 Procedimento iterativo em forma matricial
 Seja
 Procedimento iterativo em forma matricial
 Seja
 Então
Iteração matricial
 A iteração matricial
 Fica reduzida a
 tj   tj 1P   tj 2 PP   tj 3 PPP  ...   0t PP...P   0t P j
 Isto é, a j-ésima avaliação do vetor de page rankings é a
potência j da matriz P aplicada ao vetor inicial (1º.)
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 Markov
P = matriz estocastica:
Pij ≥ 0
Linhas 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 estocastica
elementos não-negativos
somando 1 nas linhas
P2ij = Prob (de ir de i para j em DOIS passos)
Idem para Pk
Autovetores e PageRank
 Teorema:
 Seja P a matriz n x n de transição de uma cadeia de
Markov
 Suponha que a cadeia e’ aperiodica e irredutivel
 Entao existe um único vetor  de dimensao n tal que:
 t P = t
e
t (1,...,1) = 1
 Este 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-1t P = π0t limj Pj = t
Ajustando P
 Matriz P pode NÃO SER uma matriz estocastica
 Paginas sem OUTlinks:
 Documentos pdf
 Imagens
 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 matriz
 A 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.
Teleportation
 Soluçã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
PageRank
 Com 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 1
 Como encontrar estes rankings na prática, já que G é
uma matriz “bilionária”?
 Inviável calcular autovetor por métodos tradicionais
 Método da potência:
 Para QUALQUER vetor inicial, a sequencia π0t Gk
converge para vetor o vetor π,
 Use π0= 1/n * (1, ..., 1)
Convergência
 Rapidez 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 gap
 quanto menor o spectral gap, mais lenta a convergência
 Quanto 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 personalizados
 Different 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
 Modificando
 G = α (P + (1/n) * a.et) + (1- α) (1/n) e.et
 por
 G = α (P + (1/n) * a.et) + (1- α) e.vt
 Com probab (1- α), usuário escolhe nova página com
probab dada pelo vetor v
Vetores personalizados
 Todas as propriedades são preservadas:
 Ainda pode usar o método de potência
 Taxa de convergência governada por α
 Pode usar métodos de multiplicação de matriz esparsa
 Armazenagem mínima
 Pode fazer método ser dependente da query

Alguns detalhes finais
 SIAM meeting in 2002:
 Google declarou que atualiza mensalmente os page
rankings, tudo de novo (incluindo a criação do index)
Download