Você está na página 1de 6

Um Mecanismo de Detecção de Versões de Páginas Web para

Melhoria do Desempenho do Algoritmo de PageRank


Glauber Rodrigues da Silva, Renata de Matos Galante

Instituto de Informática – Universidade Federal do Rio Grande do Sul (UFRGS)


Caixa Postal 15.064 – 91.501-970 – Porto Alegre – RS – Brazil
{grsilva,galante}@inf.ufrgs.br

Nível: Mestrado Acadêmico

Programa de Pós-Graduação em Computação

Ingresso: 03/2007

Conclusão prevista: 03/2009

Etapas concluídas: defesa de proposta e seminário de andamento

Resumo. Os motores de busca utilizam o webgraph formado pelas páginas e seus


links para atribuir reputação às páginas web. Essa reputação é utilizada para
montar o ranking de resultados retornados ao usuário. No entanto, novas versões
de páginas com uma boa reputação podem não aparecer bem posicionadas, uma
vez que não são detectadas a priori. Este artigo propõe um mecanismo de
detecção de versões de páginas web para a melhoria do desempenho do
algoritmo de PageRank. O mecanismo consiste em posicionar no ranking novas
versões de páginas web de acordo com o escore de reputação obtido por versões
antigas dessas páginas ao longo do tempo. A contribuição desse trabalho é
aplicar a detecção de versões de modo a identificar versões de um documento
web, para melhorar o desempenho do algoritmo de PageRank. Experimentos são
propostos para validação da eficiência desse mecanismo.

Palavras-chave: recuperação de informação, armazenamento e indexação,


serviços de dados para web.
1. Introdução
A natureza distribuída das informações disponíveis na Internet levou à busca constante de
maneiras eficientes de executar consultas sobre uma grande coleção de documentos. Os
motores de busca realizam essa tarefa, porém, devido ao grande número de documentos da
coleção, o número de documentos relevantes para uma consulta pode facilmente ter
milhões de itens. Devido a este fator, a montagem de um ranking de resultados eficiente
passou a ser uma tarefa crucial. A estrutura de links, comum nos documentos HTML,
fornece uma maneira de estimar quais são as páginas mais "populares", partindo-se da
premissa de que quanto maior o número de links que apontam para certa página (links esses
vindos também de páginas populares), mais popular essa página é.
Os algoritmos que levam em conta essa estrutura de links na montagem do ranking
dos resultados de uma pesquisa são chamados de algoritmos de análise de links. O
algoritmo de PageRank [Page, Brin, Motwani and Winograd 1998] é o que mais tem
destaque nesta família de algoritmos. O termo PageRank é comumente atribuído a um
número que diz o quanto uma página web é relevante na Internet, ou seja, quanto maior
esse número, maior é a relevância da página. O algoritmo PageRank tem como principal
objetivo simular o comportamento de um usuário ao navegar na Internet. Em outras
palavras, o número do PageRank de uma página diz respeito a quão fácil/difícil seria
encontrar esta página partindo de uma URL randômica e, seguindo os links, se tentasse
chegar a página desejada. Quanto maior o valor resultante PageRank, mais fácil seria
encontrar a página procurada [Brin and Page 1998].
A velocidade em que a estrutura da Internet se modifica acaba por trazer alguns
problemas ao algoritmo de PageRank. Novas versões de uma página web, com alto grau de
relevância, não irão ter o mesmo grau de relevância da página original, mesmo para as
versões de um mesmo documento. Por exemplo, considerando uma página web p, um fator
importante para constituir o ranking pelos motores de busca é a quantidade de outras
páginas que apontam para p. Contudo, novas versões desta página terão uma baixa taxa de
links que apontam para elas, pois as páginas que apontam para p não sabem da existência
de suas novas versões. A detecção de versões pode melhorar o posicionamento no ranking
de versões de p, baseado nos links que apontam para p. Por exemplo, considerando a
página www.tempoglauber.com.br/glauber/Biografia/vida.htm que por anos foi apontada
por outras páginas como a página mais relevante sobre a biografia do cineasta Glauber
Rocha e por isso tem uma alta reputação nos mecanismos de busca. Porém, supondo que o
domínio tempoglauber.com.br seja adquirido por uma empresa que deseja colocar outro
tipo de conteúdo no site e que a página sobre a biografia de Glauber Rocha tenha migrado
para www.glauberrocha.com.br/glauber-bio.html, sofrendo pequenas alterações relativas
ao conteúdo do site na qual a mesma está hospedada. As páginas que apontam para a
antiga versão, além de terem links quebrados, não poderão atribuir reputação para a nova
versão da página, visto que não sabem da existência de uma nova versão da página
referenciada. Ao detectar que as duas páginas na verdade são versões de um mesmo
documento lógico, é possível atribuir um escore de reputação único para o documento,
propiciando um melhor posicionamento no ranking da nova versão da página da biografia
de Glauber Rocha.
O objetivo deste trabalho é especificar um mecanismo para detecção de versões de
páginas web, visando melhorar o cálculo do PageRank. Pretende-se fazer com que o grau
de relevância de uma página seja computado, considerando o escore de suas versões
antigas, mantendo assim, o grau de importância que a página obteve ao longo do tempo.
Isto significa que uma nova versão da página ou a alteração de sua localização, como por
exemplo a mudança de sua URL, não cause prejuízo ao seu posicionamento no ranking de
resultados do motor de busca.
O restante do texto está organizado da seguinte forma. A seção 2 descreve os
trabalhos relacionados. A seção 3 apresenta o mecanismo de detecção de versões proposto
para a melhoria do desempenho do algoritmo de PageRank. A seção 4 apresenta as
considerações finais e os trabalhos futuros para validação da proposta.
2. Trabalhos Relacionados
Após a publicação do artigo The PageRank Citation Ranking: Bringing Order to the Web
[Page, Brin, Motwani and Winograd 1998] surgiram vários outros trabalhos propondo
técnicas para melhorar a lógica e o desempenho do algoritmo de PageRank, comumente
chamados de variantes do algoritmo original, porém a idéia central de ranking baseado na
análise dos links é sempre mantida. Um exemplo foi a proposta de variante do algoritmo de
PageRank que leva em conta os atributos das páginas web [Baeza-yates and Davis 2004].
Em outro trabalho foi proposto um conjunto de algoritmos baseados em links (link-based),
os quais propagam a importância das páginas através dos links [Baeza-yates, Boldi and
Castillo 2006]. Berlt et al [Berlt, Moura, Carvalho, Cristo, Ziviani and Couto 2007]
propõem uma variante do algoritmo de PageRank chamada Hiperpagerank. O
Hiperpagerank é computado utilizando um hipergrafo ao invés de utilizar o webgraph
utilizado pelo PageRank. Neste hipergrafo, as páginas são agrupadas de acordo com algum
critério de particionamento – páginas, domínios ou hosts, por exemplo – a fim de eliminar
links “internos” desse particionamento para o cálculo da reputação de páginas web.
Outros trabalhos propõem a detecção de “quase duplicatas” (do inglês near-
duplicates) de páginas web. Monika Henzinger [Henzinger 2006] apresenta um
comparativo entre os dois principais algoritmos de cálculo de similaridade [Broder,
Glassman, Manasse and Zweig 1997] [Charikar 2002], utilizados para detecção de quase
duplicatas de páginas web. Manku et al em [Manku, Jain and Das Sarma 2007] utiliza o
algoritmo de fingerprints proposto por Charikar para a detecção de quase duplicatas com o
intuito de melhorar o desempenho do processo de webcrawler. Os experimentos
apresentados no trabalho de Manku et al demonstram que o algoritmo de Charikar pode ser
utilizado eficientemente mesmo em repositórios contendo bilhões de páginas web.
Apesar de existirem várias pospostas para variantes do algoritmo de PageRank, um
problema em aberto é o de considerar versões antigas das páginas web para melhorar a
relevância das versões atuais. Um fator importante para constituir o ranking pelos motores
de busca é a quantidade de outras páginas que apontam para p. Contudo, novas versões de
p terão uma baixa taxa de links que apontam para elas pois as páginas que apontam para p
não sabem da existência de novas versões de p. Nesse contexto, a detecção de versões pode
melhorar a posição no ranking de versões de p baseado nos links que apontam para p
3. Proposta para Detecção de Versões para Melhoria do Desempenho do
PageRank
Esta seção apresenta o mecanismo proposto para a detecção de versões de páginas web que
tem como principal objetivo atribuir um escore as novas versões de uma página baseado na
relevância de todas as versões da página em questão. A atribuição de um escore unificado a
todas as versões de um mesmo documento lógico na web é uma tarefa a ser realizada para
cumprir esse objetivo. Especificar um novo escore de relevância, o qual é atribuído a
documentos lógicos na web e não diretamente a páginas web passa a ser um dos requisitos
desse trabalho. Documentos lógicos são um modo de representar diferentes versões e
réplicas de páginas web como um mesmo documento na web.
A Figura 1 apresenta os componentes do mecanismo proposto. O mecanismo
proposto tem como fonte de informações o repositório de páginas de um motor de busca.
Ao realizar a indexação das páginas desse repositório são detectadas quais páginas são
versões de um mesmo documento. A partir dessa indexação, da detecção de versões e da
análise dos links entre os documentos lógicos, monta-se o webgraph denominado
DocumentGraph. O Módulo de Ranking executa o algoritmo de PageRank tendo como
base o DocumentGraph para a atribuição do escore denominado DocumentRank.

Figura 1. Detector de Versões com os outros componentes de um motor de busca.

O objetivo do mecanismo é detectar que um certo conjunto de páginas web


representam diferentes versões de um mesmo documento do mundo real. Essa detecção é
feita de forma offline, ou seja, a partir do repositório de páginas, são detectadas quais
páginas são versões de um mesmo documento.
A detecção de diferentes versões de um mesmo documento lógico é feita através do
algoritmo de fingerprints proposto por Charikar [Charikar 2002]. Esse algoritmo já teve
sua eficiência comprovada na detecção de quase duplicatas [Manku, Jain and Das Sarma
2007]. Com a manipulação dos parâmetros de entrada utilizados por Manku et al, pode-se
utilizar o algoritmo de fingerprints para a detecção de versões. A eficiência desse algoritmo
para a tarefa de detecção de versões é uma das tarefas que está em fase de
desenvolvimento, além daquelas apresentadas na seção 4..
Feita essa detecção, esse novo conhecimento é representado no webgraph. A Figura
2(B) apresenta uma evolução do grafo da Figura 2(A), no qual as páginas e e f são
detectadas e representadas como versões da página d.

Figura 2. Webgraph baseado em páginas (A), no qual é aplicada a detecção de


versões (B), resultando no DocumentGraph (C).
A partir dessa detecção, é proposta uma nova representação das páginas no
webgraph. A idéia principal é que versões de uma mesma página sejam representadas no
webgraph através de um único vértice, visto que representam um único documento no
mundo real. A Figura 2(C) mostra a página d e suas versões representadas com um único
vértice, denominado DocumentGraph.
Com esse novo modelo denominado DocumentGraph é possível rodar algoritmos
de análise de links com pouca ou nenhuma alteração em suas estrutura, visto que a
estrutura que serve como entrada é a mesma, porém com outro significado.
Com base no modelo de DocumentGraph é possível realizar a atribuição de escores
do algoritmo de PageRank a partir de um grafo que represente somente documentos do
mundo real e não várias versões de um mesmo documento. A partir dessa atribuição de
escores baseada no DocumentGraph (baseado em documentos) e não físico (baseado em
páginas), pode-se atribuir um valor de PageRank a um documento lógico e não a um
conjunto de páginas que na verdade são versões de um mesmo documento lógico. Esse
valor de PageRank atribuído a um documento lógico é denominado DocumentRank.
O DocumentRank é um valor que visa atribuir um escore a documentos da web,
independente de quantas versões ou réplicas esse documentos tenham em diferentes sites
da Internet. O valor de PageRank ainda pode ser utilizado para realizar a ordenação entre
as páginas que representam versões de um mesmo documento web. Experimentos
comparativos devem ser realizados para medir o impacto da utilização do DocumentRank
ao invés do PageRank.
Ao ordenar os resultados de uma busca considerando o valor de DocumentRank
garante-se que todas as versões de um mesmo documento estejam em posições próximas
no ranking. Considerando o grafo apresentado na Figura 2(A), e supondo que o voto de
relevância dado pela página web c para a página f é de pouco peso, enquanto os votos de
relevância das páginas a e b tem um peso significativo, o posicionamento no ranking de
resultados da página f - em um universo de outras páginas com conteúdo semelhante -
estaria bem distante das páginas d e e. De outra forma, ao considerar que as páginas d, e e f
são versões de uma mesma página (Figura 2(B)) e representá-las no modelo de
DocumentGraph (Figura 2(C)) garante-se que estas páginas estarão em posições próximas
no ranking montando pelo algoritmo de PageRank. Os valores de DocumentRank e
PageRank podem ainda ser utilizados em conjunto para promover uma sumarização dos
resultados apresentados para o usuário de um motor de busca.
4. Considerações Finais e Trabalhos Futuros
Como produto do trabalho realizado até o momento, tem-se a especificação do
funcionamento do mecanismo de detecção em conjunto com os outros componentes de um
motor de busca. A proposta do modelo DocumentGraph e de um escore de reputação a
partir do mesmo - denominado DocumentRank - são conceitos apresentados e também
fazem parte da solução para o problema apresentado.
A principal tarefa a ser realizada é a validação da solução através de experimentos.
Os experimentos a serem realizados têm como objetivo medir a eficiência do escore
DocumentRank em comparação com o escore de PageRank. O objetivo dos experimentos é
comparar esses dois escores. Para realizar essa comparação, serão utilizadas métricas
consolidadas de avaliação de motores de busca pela área de recuperação de informações.
Serão comparados os resultados obtidos por uma série de consultas pré-
selecionadas as quais serão aplicadas sobre a coleção WBR03. Tanto as consultas quanto a
coleção, tem como base o extinto motor de busca TodoBR. A coleção WBR03 é o
repositório de páginas do motor de busca no ano de 2003, composto por mais de 12
milhões de páginas.
Para medir a qualidade dos resultados obtidos quando o ranking de páginas é
ordenado seguindo o escore baseado no valor de DocumentRank, serão utilizadas as
diferentes métricas conforme o tipo de consulta. A métrica Mean Reciprocal Rank (MRR)
valoriza a posição no ranking do resultado considerado correto, quanto mais próximo ao
topo, melhor o escore obtido e por isso ela é utilizada em consultas navegacionais.
Consultas navegacionais são aquelas cujo desejo do usuário é ir a algum site e somente um
resultado satisfaz a consulta. Para consultas informacionais – consultas com o objetivo de
obter alguma informação sobre algum tópico específico, nas quais mais de um resultado
satisfazem à consulta - será utilizada a métrica Mean Average Precision (MAP). A métrica
MAP unifica em um mesmo escore os valores clássicos da recuperação de informação:
precisão e revocação. Serão comparados os resultados obtidos pelas consultas quando for
utilizado como escore o valor de DocumentRank e quando for utilizado como escore o
valor de PageRank.
O principal comportamento a ser avaliado é o melhor posicionamento no ranking
de páginas relevantes de uma certa consulta quando for utilizado o escore de
DocumentRank. Esse comportamento é esperado principalmente quando uma página bem
ranqueada tiver versões novas, porém essas com um baixo PageRank.
A principal contribuição desse trabalho é a apresentação de um mecanismo para
detecção de versões de páginas web para melhoria do desempenho do algoritmo de
PageRank. Como parte da solução, é apresentada uma extensão do modelo de webgraph
baseado em documentos lógicos, denominada DocumentGraph.
Referências
Baeza-yates, R. and Davis, E. (2004) Web page ranking using link attributes. In Proceedings of the
13th international World Wide Web conference on Alternate track papers & posters.
Baeza-yates, R., Boldi, P. and Castillo, C. (2006) Generalizing PageRank: damping functions for
link-based ranking algorithms. In Proceedings of the 29th annual international ACM SIGIR
conference on Research and development in information retrieval. Pags: 308 – 315.
Berlt, K., Moura, E. S., Carvalho, A. L. C., Cristo, M., Ziviani N. and Couto, T. (2007) A
hypergraph model for computing page reputation on web collections. In Anais do Simpósio
Brasileiro de Banco de Dados, pages 35-49.
Brin, S. and Page, L. (1998) The anatomy of a large-scale hypertextual Web search engine. 7th
WWW Conference, Brisbane, Australia.
Broder, A. Z., Glassman, S. C., Manasse, M. S., and Zweig, G. (1997) Syntactic clustering of the
Web. In Selected Papers From the Sixth international Conference on World Wide Web (Santa
Clara, California, United States).
Charikar, M. S. (2002) Similarity estimation techniques from rounding algorithms. In Proceedings
of the Thiry-Fourth Annual ACM Symposium on theory of Computing (Montreal, Quebec,
Canada, May 19 - 21, 2002). STOC '02. ACM, New York, NY, 380-388
Henzinger, M. (2006) Finding near-duplicate web pages: a large-scale evaluation of algorithms. In
Proceedings of the 29th Annual international ACM SIGIR Conference on Research and
Development in information Retrieval (Seattle, Washington, USA, August 06 - 11). SIGIR '06.
Manku, G. S., Jain, A., and Das Sarma, A. (2007) Detecting near-duplicates for web crawling. In
Proceedings of the 16th international Conference on World Wide Web (Banff, Alberta, Canada,
May 08 - 12). WWW '07. ACM, New York, NY, 141-150.
Page, L., Brin, S., Motwani, R. and Winograd T. (1998) The PageRank citation ranking: Bringing
order to the Web. Tech. report, Stanford University.

Você também pode gostar