• Nenhum resultado encontrado

Web Ranking. Mineração de Dados Luís Rato

N/A
N/A
Protected

Academic year: 2021

Share "Web Ranking. Mineração de Dados Luís Rato"

Copied!
39
0
0

Texto

(1)

(C) Vipin Kumar, Parallel Issues in Data Mining, VECPAR 2002

Web Ranking

Universidade de Évora, 2012 Mineração de dados / Data Mining 1

Mineração de Dados 2012

(2)

Rank de páginas web

As páginas Web não são igualmente

importantes

 www.Ze-ninguem.com versus www.youtube.com

links = votes

 www.youtube.com tem muitos milhares de links

 www.Ze-ninguem.com ... tem poucos

 Todos os links são igualmente importantes ?

(3)

Simples formulação recursiva

Cada voto de um link é proporcional à

importância à mportância da página de

origem

Se a página

P

com importância

x

tem

n

links de saída, cada link recebe

x/n

votos

A importância da página

P

é soma dos

(4)

Simples Modelo de fluxo

Exemplo com 3 sites

Yahoo M’soft Amazon y a m y/2 y/2 a/2 a/2 m

y = y /2 + a /2

a = y /2 + m

m = a /2

(5)

Resolução da equações de fluxo

 3 equações, 3 incógnitas, sem constantes  Não há solução única

 Todas as soluções são equivalentes

(à parte um factor de escala)

 Restrições adicionais força uma solução única  e.g. y+a+m = 1

 y = 2/5, a = 2/5, m = 1/5

 Para sistemas de ordem reduzida o método de

eliminação de gauss funciona mas não para sistemas de grande dimensão

(6)

Abordagem matricial

A matriz M tem uma coluna e uma linha por

cada página web

 Se página j tem n links de saída

 If j != i, then M

ij=1/n

Else Mij=0

M é uma matriz cujas colunas soma 1

r é o vector com uma entrada por cada pág.

web

 ri é a importância da página i  r é o vector do rank

(7)

Exemplo

Página j liga a 3 páginas, incluindo i

i j M r r = i 1/3

(8)

Valores próprios

As equações de fluxo podem ser escritas

r = Mr

Assim o vector do rank é um vector

próprio da matriz dos links M

 É o vector próprio principal, associado ao

(9)

Exemplo

y 1/2 1/2 0 a 1/2 0 1 m 0 1/2 0 y a m

y = y /2 + a /2

a = y /2 + m

m = a /2

r = Mr y 1/2 1/2 0 y a = 1/2 0 1 a m 0 1/2 0 m Yahoo M’soft Amazon y a m y/2 y/2 a/2 a/2 m

(10)

Método iterativo

Método iterativo

com N páginas web

Inicializar: r

0

= [1/N,….,1/N]

T 

Iterar: r

k+1

= Mr

k

Parar quando |r

k+1

- r

k

|

1

<

ε

|x|

1 = ∑1≤i≤N|xi| é a norma L1 (Manhatan)

 Pode-se usar qq outra norma e.g.,

(11)

Exemplo - iteração

Yahoo M’soft Amazon y 1/2 1/2 0 a 1/2 0 1 m 0 1/2 0 y a m y a = m 1/3 1/3 1/3 1/3 1/2 1/6 5/12 1/3 1/4 3/8 11/24 1/6 2/5 2/5 1/5 . . .

(12)

Interpretação “Random Walk”

Considerando um utilizador aleatório

 Em t, o utilizador está na pág P

 Em t+1, segue um link de saída de P

aleatoriamente

 Passa para uma pág. Q com um link de P

para Q

 Repete-se o proesso indefinidamente

p(t) é o vector com as probabilidades

que utilizador esteja na página i no

instante t

(13)

Distribuição estacionária

Onde está o utilizador em t+1?

 Segue os links aleatoriamente  p(t+1) = Mp(t)

 É um processo estocástico de Markov

Se o estado é tal que p(t+1) = Mp(t) =

p(t)

p(t) é o estado estacionário

O vector dos ranks r satisfaz r = Mr

Então o rank r é uma distribuição

(14)

Existência e unicidade

Sob certas condições a solução

estacionária é única e

independentemente do vector inicial o

resultado converge sempre para a

(15)

Spider traps

Um grupo de páginas que não tem links

do grupo para fora do grupo.

 Utilizador fica preso

Para garantir existência e unicidade não

(16)

Microsoft fica uma spider trap

Yahoo M’soft Amazon y 1/2 1/2 0 a 1/2 0 0 m 0 1/2 1 y a m y a = m 1 1 1 1 1/2 3/2 3/4 1/2 7/4 5/8 3/8 2 0 0 3 . . .

(17)

Teletransporte aleatório

A solução do Google para as spider traps

a cada passo, há duas opções:

 Com probabilidade β, segue um link

 Com probabilidade 1-β, salta para qq página

aleatoriamente

 Valores típicos para β estão na gama 0.8 a

0.9

Um utilizador preso numa spider trap

(18)

Teletransporte aleatório (

β = 0.8

)

Yahoo M’soft Amazon 1/2 1/2 0.8*1/2 0.8*1/2 0.2*1/3 0.2*1/3 0.2*1/3 y 1/2 a 1/2 m 0 y 1/2 1/2 0 y 0.8* 1/3 1/3 1/3 y + 0.2* 1/2 1/2 0 1/2 0 0 0 1/2 1 1/3 1/3 1/3 1/3 1/3 1/3 1/3 1/3 1/3 y 7/15 7/15 1/15 a 7/15 1/15 1/15 m 1/15 7/15 13/15 0.8 + 0.2

(19)

Teletransporte aleat. (

β = 0.8

)

Yahoo M’soft Amazon 1/2 1/2 0 1/2 0 0 0 1/2 1 1/3 1/3 1/3 1/3 1/3 1/3 1/3 1/3 1/3 y 7/15 7/15 1/15 a 7/15 1/15 1/15 m 1/15 7/15 13/15 0.8 + 0.2 y a = m 1 1 1 1.00 0.60 1.40 0.84 0.60 1.56 0.776 0.536 1.688 7/11 5/11 21/11 . . .

(20)

Rank

Construir a matriz A (NxN)

 A

ij = βMij + (1-β)/N

Verificar que A é uma matriz de Markov

O vector dos

ranks

r é o vector próprio

principal

satisfaz r = Ar

Equivalente - distribuição estacionária

do utilizador aleatório (com

teletransporte)

(21)

Becos-sem-saída

Páginas sem links de saída são becos

sem saída

 Não há site para ir no próximo passo

 No passo seguinte todas as probabilidades

(22)

Microsoft torna-se um

beco-sem-saída

Yahoo M’soft Amazon y a = m 1 1 1 1 0.6 0.6 0.787 0.547 0.387 0.648 0.430 0.333 0 0 0 . . . 1/2 1/2 0 1/2 0 0 0 1/2 0 1/3 1/3 1/3 1/3 1/3 1/3 1/3 1/3 1/3 y 7/15 7/15 1/15 a 7/15 1/15 1/15 m 1/15 7/15 1/15 0.8 + 0.2 Soma não é 1!

(23)

Becos-sem-saída

Teletransporte

 Seguir links de teletrasporte com

probabilidade 1

 Ajustar a matriz

Cortar(Prune)

 Preprocessar o grafo eliminando os becos

sem saída

 Calcular o rank em grafos reduzidos

 Aproximar os valores nos becos-sem-saída

(24)

Cálculo rank

Factor chave multiplicação

matriz-vector

rnew = Arold

Simples se tivermos muita memória para

A, r

old

, r

new

Se N = 1 bilião de páginas

 4 bytes para cada entrada

 2 biliões de entradas para vectores, approx

8GB

 Matriz A tem N2 entradas

 1018 entradas !!!... 4 biliões de GB!!!! 4

(25)

Re-escrita da equação

r = Ar, onde

A

ij

=

β

M

ij

+ (1-

β

)/N

r

i

=

1≤j≤N

A

ij

r

j

r

i

=

1≤j≤N

[

β

M

ij

+ (1-

β

)/N] r

j

=

β ∑

1≤j≤N

M

ij

r

j

+ (1-

β

)/N

1≤j≤N

r

j

=

β ∑

1≤j≤N

M

ij

r

j

+ (1-

β

)/N, dado que |r| = 1

r =

β

Mr + [(1-

β

)/N]

N

(26)

Formulação com matrizes

esparsas

 Re-escrita:  r = βMr + [(1-β)/N] N  [(1-β)/N]

N é um vector N com entradas (1-β)/N

M é esparsa!

 10 links por nó, aprox 10 N entradas

 Em cada iteração:

rnew = βMrold

(27)

Encoding da matriz esparsa

Codificam-se as entradas não nulas

 Espaço proporcional ao num de links  e.g. 10N, ou 4*10*1 bilião = 40GB  problema tratável em disco

13, 23 2 2 17, 64, 113, 117, 245 5 1 1, 5, 7 3 0

(28)

Actualização da matriz

13, 23 2 2 17, 64, 113, 117 4 1 1, 5, 6 3 0 src degree destination 0 1 2 3 4 5 6 0 1 2 3 4 5 6 rnew rold

Inicializar entradas rnew a (1-β)/N

Para cada p (grau n):

Ler para memória: p, n, dest1,…,destn, rold(p)

for j = 1..n:

rnew(dest

(29)

Actualização por blocos

3, 4 2 2 0, 5 2 1 0, 1, 3, 5 4 0 src degree destination 0 1 2 3 4 5 0 1 2 3 4 5 rnew rold

(30)

Block-Stripe Update algorithm

1 2 2 0 3 1 0, 1 4 0 src degree destination 0 1 2 3 4 5 0 1 2 3 4 5 rnew rold 4 2 2 5 3 1 5 4 0 3 2 2 3 4 0

(31)

Outro Web search/ranking

HITS - Hypertext-Induced Topic

Selection

Proposto quase ao mesmo tempo

que o PageRank (1998)

(32)

Web search/ranking

Documentos em duas classes

Authorities

- páginas com informação útil

Hubs

- páginas que ligam a Authorities

Authorities

(e.g.) - página da UE

Hubs

(e.g.) - página com lista e links para

(33)

Web search/ranking

(34)

Web search/ranking

Um bom Hub liga a muitas páginas bem

classificadas.

Uma boa Authority é apontada por muitos

Hubs bem classificados.

Cada nó tem duas classificação

enquanto hub (vector h)

(35)

Web search/ranking – HITS

Usa matrizes semelhantes ao page Rank

Matriz de transição tem 1's se existe

ligação (em vez de fracção)

Yahoo M’soft Amazon y 1 1 1 a 1 0 1 m 0 1 0 y a m A =

(36)

Web search/ranking – HITS

Classificação de Hub – Proporcional à soma

da classificação das Authorities apontadas.

h = λAa

λ é constante

Classificação de Authorities – Proporcional

à soma da classificação dos Hubs que

apontam.

a = μA

T

h

(37)

Web search/ranking – HITS

Existência de Solução

h = λAa a = μAT h h = λμAAT h a = λμATA a

h e a são os vectores próprios principais de:

(38)

Web search/ranking – HITS

Usa matrizes semelhantes ao page Rank

Matriz de transição tem 1's se existe

ligação (em vez de fracção)

Hubs Authorities

Mais densamente-conectada

(core primário)

Menos densamente-conectada

(39)

Web search/ranking -

Trusted

Rank

Raramente uma página de confiança

aponta para uma página SPAM

Inicia com um conjunto de páginas de

confiança (trusted pages)

Propaga a confiança aos links da páginas

Repete sucessivamente ....

Confiança propagada é menor que 1

Referências

Documentos relacionados

Desta forma, para atendermos as RN 209/274/313 da ANS , e continuar cumprindo com todas as exigências das constituições das Provisões Técnicas e Margem de Solvência. Exercício

DATA MINING “KDD é o processo, não trivial, de extração de informações, implícitas, previamente desconhecidas e potencialmente úteis, a partir dos dados. armazenados em

Também ocorreu visita ao Hotel Senac Barreira Roxa, bem como discussões sobre o Programa Estadual de Turismo e sinergias com o Projeto, reuniões com empresários do

A partir dessas perguntas, a pesquisa analisou o brincar em grupo de crianças com deficiência visual, formas de interação entre as crianças, formas específicas

Por sua vez, ao avaliar a relevância destas ao ensino de matemática, apesar dos alunos, em sua maioria, afirmarem não dispor desta possível prática pedagógica, 80% dos alunos

que estas ciencias se encuentran para producir una acción más eficaz y una teoría más ágil

Já Ventura (2012), ao realizar uma pesquisa exploratória com idosos, agentes e profissionais de saúde, constatou que, dos 54 idosos entrevistados, todos utilizavam

Entorno do anteriormente exposto, motivou ao autor a busca de uma alternativa que contribua para resolver tais dificuldades, pois é claro a necessidade de um