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.