Este documento apresenta um resumo sobre análise de links e algoritmos relacionados como PageRank e TrustRank. Discute conceitos como estrutura da web, problemas como dead ends e spider traps e soluções como taxação para melhorar a qualidade dos resultados.
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Análise de Links e PageRank
1. Link Analysis
André Luis Schwerz
Rafael Liberato Roberto
Abril/ 2012
By André Luis Schwerz e Rafael Liberato Roberto . Este trabalho foi
licenciado com uma Licença Creative Commons - Atribuição -
NãoComercial 3.0 Não Adaptada.
2. Roteiro
• Introdução
• Page Rank
o Definição
o Estrutura da web
o Problemas (dead end, spider traps)
• Topic-Sensitive Page Rank
o Definição e exemplo
• Link Spam
o Spam Farm
o TrustRank
o Spam Mass
• Hub e Autoridades
2
3. Introdução
• Primeiros mecanismos de busca
o Índice Invertido
o Localização onde os termos apareciam
• Term Spam
o Tentativa de enganar a busca
o Inserção de termos na página com a mesma cor de
fundo da página
• Combate contra o Term Spam (Inovações Google)
1. Page Rank
2. Considerar também os termos que aparecem perto ou
dentro do link para aquela página
3
4. Page Rank ™
DEFINIÇÃO
• Avalia a importância da página
• O que é importância de página?
o Conteúdo
o O que outras páginas dizem sobre ela
• Conceito da Navegação Exploratória (Random
Surfers)
o Simular todas as possibilidades de navegação após
diversas iterações
o Verificar quais páginas foram mais acessadas
• Não há um algoritmo fixo para o Page Rank
4
5. Page Rank ™
DEFINIÇÃO
• Navegação Exploratória
Saída
A B A B C D
A 0 1 1 0
Entrada
B 1 0 0 1
C 1 0 0 1
D 1 1 0 0
C D
Mini Mundo Matriz de Incidência
5
6. Page Rank ™
DEFINIÇÃO
• Navegação Exploratória
Saída
A B A B C D
A 0 1/2 1 0
Entrada
B 1/3 0 0 1/2
C 1/3 0 0 1/2
D 1/3 1/2 0 0
C D
Mini Mundo Matriz de Transição
7
7. Page Rank ™
DEFINIÇÃO
• Navegação Exploratória
Saída
A B A B C D
A 0 1/2 1 0
Entrada
B 1/3 0 0 1/2
C 1/3 0 0 1/2
D 1/3 1/2 0 0
C D
Qual é a probabilidade de se chegar em B após um 1 clique?
1/4 A 1/3
1/4 B 0
1/4 0 B (1/4 * 1/3) + (1/4 * 1/2) = 5/24
C
1/4 1/2
D
8
8. Page Rank ™
DEFINIÇÃO
• Navegação Exploratória
Saída
A B A B C D
A 0 1/2 1 0
Entrada
B 1/3 0 0 1/2
C 1/3 0 0 1/2
D 1/3 1/2 0 0
C D
Qual é a probabilidade de se chegar em B após um 1 clique?
1/4 A 1/3
1/4 B 0
1/4 0 B (1/4 * 1/3) + (1/4 * 1/2) = 5/24
C
1/4 1/2
D
9
9. Page Rank ™
DEFINIÇÃO
• Navegação Exploratória
Saída
M A B C D
A B
A 0 1/2 1 0
Entrada
B 1/3 0 0 1/2
C 1/3 0 0 1/2
C D D 1/3 1/2 0 0
Simulação
𝑴 𝒗 𝒗′ = 𝑴𝒗
0 1/2 1 0 1/4 (M0,0*V0)+(M0,1*V1)+(M0,2*V2)+(M0,3*V3) 9/24
1/3 0 0 1/2 1/4 (M1,0*V0)+(M1,1*V1)+(M1,2*V2)+(M1,3*V3) 5/24
x =
1/3 0 0 1/2 1/4 (M2,0*V0)+(M2,1*V1)+(M2,2*V2)+(M2,3*V3) 5/24
1/3 1/2 0 0 1/4 (M3,0*V0)+(M3,1*V1)+(M3,2*V2)+(M3,3*V3) 5/24
10
10. Page Rank ™
DEFINIÇÃO
• Navegação Exploratória
Saída
M A B C D
A B
A 0 1/2 1 0
Entrada
B 1/3 0 0 1/2
C 1/3 0 0 1/2
C D D 1/3 1/2 0 0
Simulação
Iteração 0 1 2 3
1/4 9/24 15/48 11/32 3/9
1/4 5/24 11/48 7/32 2/9
x M= x M= x M= x M= ...
1/4 5/24 11/48 7/32 2/9
1/4 5/24 11/48 7/32 2/9
Page Rank
11
11. Page Rank ™
DEFINIÇÃO
• Navegação Exploratória
o Processo de Markov
Iteração 0 1 2 3
1/4 9/24 15/48 11/32 3/9
1/4 5/24 11/48 7/32 2/9
xM xM xM xM ...
1/4 5/24 11/48 7/32 2/9
1/4 5/24 11/48 7/32 2/9
Page Rank
o Quantas iterações?
• Até que a diferença entre um vetor para o outro seja
pequena suficiente baseado em um coeficiente
• Na prática são necessárias de 50 a 75 iterações
12
12. Page Rank ™
ESTRUTURA DA WEB
Tendrils Tendrils
de Saída de Entrada
Componente Componente Componente
de Entrada Fortemente de Saída
Conectado
Componentes
desconectados
Tubos
13
13. Page Rank ™ Tendrils
de Saída
Tendrils
de Entrada
ESTRUTURA DA WEB
Componente Componente Componente
de Entrada Fortemente de Saída
Conectado
Componentes
desconectados
Tubos
• Violação das premissas do processo de Markov
o Componente de saída e Tendrils de saída: nunca saem
o Nenhuma página do CFC ou do Componente de
entrada terminará com probabilidade (importância)
14
14. Page Rank ™ Tendrils
de Saída
Tendrils
de Entrada
PROBLEMAS
Componente Componente Componente
de Entrada Fortemente de Saída
Conectado
Componentes
desconectados
Tubos
• Dois tipos reais de problemas
o Dead End
o Spider Trap
• Soluções
o Eliminar nós da morte
o Taxação (Taxation)
15
15. Page Rank ™
DEAD END
Saída
A B C D E
A B A 0 1/2 0 0 0
Entrada
B 1/3 0 0 1/2 0
E C 1/3 0 0 1/2 0
D 1/3 1/2 0 0 0
C D
E 0 0 1 0 0
1/4 3/24 5/48 21/32 0
1/4 5/24 7/48 31/32 0
xM xM xM xM ...
1/4 5/24 7/48 31/32 0
1/4 5/24 7/48 31/32 0
Page Rank
16
16. Page Rank ™
DEAD END
• Eliminando nós da morte
Saída
A B
A B A B D
A 0 1/2 0
Entrada
E
B 1/2 0 1
C D D 1/2 1/2 0
D
1/3 1/6 3/12 5/24 2/9
1/3 3/6 5/12 11/24 4/9
xM xM xM xM ...
1/3 2/6 4/12 8/24 3/9
Page Rank
17
17. Page Rank ™
DEAD END
• Eliminando nós da morte
Saída
A B
A B A B D
A 0 1/2 0
Entrada
E
B 1/2 0 1
C D D 1/2 1/2 0
D
2/9
1 2 1 3 13
C * + * = 4/9
3 9 2 9 54
3/9
13 13
E 1 * = Page Rank
54 54
18
18. Page Rank ™
SPIDER TRAPS
Saída
A B A B C D
A 0 1/2 0 0
Entrada
B 1/3 0 0 1/2
C 1/3 0 1 1/2
C D D 1/3 1/2 0 0
𝒗′ = 𝑴𝒗
1/4 3/24 5/48 21/32 0
1/4 5/24 7/48 31/32 0
xM xM xM xM ...
1/4 11/24 29/48 205/288 1
1/4 5/24 7/48 31/32 0
Page Rank
Quando a navegação entra em C não sai mais
19
19. Page Rank ™
SPIDER TRAPS
• Taxação (Taxation) Teleporting
Ao invés de clicar em
Considerar uma probabilidade de teleporting um link, o usuário
pode acessar outra
página aleatoriamente
Navegação
𝑣′ = + teleporting pela URL.
aleatória
𝑣′ = 𝜷 ∗
Navegação
+ 𝟏 − 𝜷 ∗ teleporting 𝜷 = 0.8, 0.9
aleatória
1
1
𝑣′ = 𝜷 ∗ Mv + 𝟏− 𝜷 ∗ 𝒆/𝒏 𝒆=
1
1
20
20. Page Rank ™
SPIDER TRAPS
• Taxação (Taxation)
Saída
A B A B C D
A 0 1/2 0 0
Entrada
B 1/3 0 0 1/2
C 1/3 0 1 1/2
C D D 1/3 1/2 0 0
𝑣 ′ = 𝜷𝑴𝑣 + 𝟏 − 𝜷 𝒆/𝒏
𝑣 ′ = 𝟎. 𝟖𝑴𝑣 + 𝟎. 𝟐𝒆/𝒏
0 2/5 0 0 1/20
4/15 0 0 2/5 1/20
𝑣′ = ∗ 𝑣 +
4/15 0 4/5 2/5 1/20
4/15 2/5 0 0 1/20
21
21. Page Rank ™
SPIDER TRAPS
• Taxação (Taxation)
Saída
A B A B C D
A 0 1/2 0 0
Entrada
B 1/3 0 0 1/2
C 1/3 0 1 1/2
C D D 1/3 1/2 0 0
1/4 9/60 41/300 543/4500 15/148
1/4 13/60 53/300 707/4500 19/148
xM xM xM xM ...
1/4 25/60 153/300 2543/4500 95/148
1/4 13/60 53/300 707/4500 19/148
Page Rank
22
22. Topic-Sensitive Page Rank
• Modo em que páginas de um determinado assunto
ganham preferência na navegação exploratória
• O termo JAGUAR pode ser
o Animal
o Automóvel
o MAC O.S.
o Videogame
• Abordagem
o Identificar assuntos de preferência do usuário
o Identificar assuntos de uma página
23
23. Topic-Sensitive Page Rank
• Como identificar páginas de um determinado
assunto
• Open Directory (DMOZ)
• Como identificar assuntos de interesse do usuário?
1. Intervenção explícita
2. Inferir baseados no histórico de busca
3. Inferir baseado em informações sobre o usuário
24
24. Topic-Sensitive Page Rank
NAVEGAÇÃO INFLUENCIADA
Saída
M A B C D
A B
A 0 1/2 1 0
Entrada
B 1/3 0 0 1/2
C 1/3 0 0 1/2
C D D 1/3 1/2 0 0
𝑣 ′ = 𝜷𝑴𝑣 + 𝟏 − 𝜷 𝒆 𝒔/|𝑺|
𝑣 ′ = 𝟎. 𝟖𝑴𝑣 + 𝟎. 𝟐𝒆 𝒔/|𝑺|
0 2/5 4/5 0 0
4/15 0 0 2/5 1/10
𝑣′ = ∗ 𝑣 +
4/15 0 0 2/5 0
4/15 2/5 0 0 1/10
25
25. Topic-Sensitive Page Rank
NAVEGAÇÃO INFLUENCIADA
Saída
M A B C D
A B
A 0 1/2 1 0
Entrada
B 1/3 0 0 1/2
C 1/3 0 0 1/2
C D D 1/3 1/2 0 0
0/2 2/10 42/150 62/250 54/210
1/2 3/10 41/150 71/250 59/210
xM xM xM xM ...
0/2 2/10 26/150 46/250 38/210
1/2 3/10 41/150 71/250 59/210
Page Rank
26
26. Link Spam
• Técnica para aumentar artificialmente o Page Rank
de uma página
Alvo
Páginas
de apoio
Páginas Páginas
Spam Farm
Inacessíveis Acessíveis
27
27. Link Spam
TRUST RANK
• É um Topic-Sensitive Page Rank com dois tópicos
o Confiáveis
o Não confiáveis
• É necessário definir o conjunto de teleport
o Intervenção humana
o Controle baseado no domínio
28
28. Link Spam
SPAM MASS
𝒓−𝒕
• Spam Mass =
𝒓
• Quanto maior o Spam Mass maior a probabilidade
da página ser spam
Node Page Rank Trust Rank Spam Mass
A 3/9 54/210 0.229
B 2/9 59/210 -0.264
C 2/9 38/210 0.186
D 2/9 59/210 -0.264
29
29. Hub e Autoridades
• HITS (Hyperlink Induced Topic Search)
• Autoridades
o Fornecem informações sobre um assunto
• Hubs
o Fornecem informações de onde encontrar sobre um
assunto
A H
30
30. Atividade
matrix vector
0 1/2 1 0 1/4 9/24 0 1/2 1 0 15/48
1/3 0 0 1/2 1/4 5/24 1/3 0 0 1/2 11/48
1/3 0 0 1/2
x
1/4
=
5/24
x
1/3 0 0 1/2
=
11/48 ...
1/3 1/2 0 0 1/4 5/24 1/3 1/2 0 0 11/48
• Dado o dataset (2 arquivos)
1. Arquivo com informações sobre os nós, representado por
um List<No>
2. Arquivo com a matriz de adjacência, representado por
uma matriz de double
• Desenvolver o método que calcula o Page Rank de todas
páginas
31
32. Referências
• RAJARAMAN, A. & ULLMAN, J.D., Mining of Massive
Datasets, 2011.
• MARALAMBOS, M. & BAKENKO, D. Algorithms of the
Intelligent Web, Manning, 2009.
33