Pagerank para Ordenação de Resultados em Ferramenta de Busca

Propaganda
Pagerank para Ordenação de Resultados em Ferramenta
de Busca na Web
Leandro Zulian Gallina1, Roberto Rosa Júnior1
1
Instituto de Informática – Universidade Federal do Rio Grande do Sul (UFRGS)
Porto Alegre – RS – Brazil
{lzgallina,rsrjunior}@inf.ufrgs.br
Abstract. This survey presents PageRank, a page ranking algorithm used by
Google to order search results. Presented in 1998 by Lawrence Page and
Sergey Brin, PageRank counts the number of links that point to a given Web
page to discover its importance, added by a weight attribution dependent on
the sites that point to that page. This avoids manipulation on the search engine
results. It also references a second work where the authors bring a method of
using Multi-resolution Community-based Popularity in order to improve
precision on ranking results of queries.
Resumo. Esta survey apresenta o PageRank, algoritmo de ranking de paginas
da Web utilizado pelo Google para ordenação de resultados. Apresentado em
1998 por Lawrence Page e Sergey Brin, o PageRank é baseado na contagem
de links que apontam para determinada pagina da Internet e aplica a
ponderação de pesos para evitar que mecanismos mal intencionados enganem
o motor de busca. Também faz referência a um trabalho onde os autores
apresentam uma metodologia que usa comunidades como fator de multiresolução para formar rankings de maior precisão para buscas na Web.
1. Introdução
A Internet cria muitos desafios para a área de Information Retrieval. Ela contém um
número muito grande de documentos, estimado na casa das dezenas de bilhões de
páginas. Motores de busca na Internet precisam lidar com o fato de que estas páginas
contêm informações muito diversas, além das buscas serem realizadas por usuários
inexperientes. Adicionalmente, muitas páginas são criadas com o intuito de enganar
motores de busca e privilegiar seus resultados.
Quando os primeiros motores de busca na Internet começaram a surgir, havia a
impressão na comunidade da World Wide Web que um bom motor de busca seria
aquele que fosse capaz de indexar o maior número possível de páginas disponíveis na
Internet. No entanto, o número cada vez maior de documentos na Internet levou a um
ponto que, em 1997, havia se tornado impossível pesquisar na rede sem algum tipo de
ranking. Enquanto o número de documentos indexados havia aumentado, a capacidade
do usuário de olhar para os documentos retornados continuava a mesma. O interesse do
usuário final de um motor de busca limita-se aos primeiros dez resultados encontrados,
ou no máximo às primeiras dezenas.
Na medida em que o tamanho da Internet crescia, tornavam-se cada vez mais
necessárias ferramentas de alta precisão de busca. A noção de documentos relevantes
devia limitar-se somente aos melhores documentos de todos já que pode haver milhares
ou até milhões de documentos com alguma relevância para qualquer busca digitada. A
ferramenta de busca deve retornar somente os documentos com a máxima relevância
possível mesmo que isto diminua o recall do sistema em si.
Com base nestas necessidades, Brin e Page criaram o PageRank [Page 1998].
Esta ferramenta aproveita-se do fato de que, ao contrário de documentos de texto, a
Internet é composta por hipertexto que providencia informação auxiliar sobre as suas
páginas, como a estrutura dos links que compõem a Internet. O PageRank cria um
ranking de importância global para cada página da Internet. Este ranking é usado para
atribuir pesos aos escores de relevância retornados pelo motor de busca do Google [Brin
1998]. Adicionalmente, o serviço do Google Directory retorna documentos encontrados
em ordem determinada especificamente pelo PageRank.
2. PageRank
A análise de citações acadêmicas é uma área de estudos com extensa literatura, e já
estabelecida na época em que o PageRank foi criado. O uso de contagem de citações é
uma maneira bastante fiel de encontrar artigos científicos relevantes.
Técnicas de contagem de backlinks – links que apontam para uma determinada
página – estavam surgindo na década de 1990. No entanto, a simples contagem de
backlinks não é tão fiel quanto a contagem de citações acadêmicas; enquanto artigos
científicos são rigorosamente revisados, páginas da Internet são criadas livres de
qualquer sistema de controle ou custo. Com um programa simples, muitas páginas
podem ser criadas artificialmente, incrementando a contagem de backlinks para
determinadas páginas. Técnicas de obter atenção para páginas da Internet evoluem com
intenções de publicidade e lucro. Torna-se necessária uma ferramenta mais elaborada do
que a simples contagem de backlinks.
2.1. Estrutura de Links da Internet
As páginas da Internet possuem links que apontam para outras páginas, conhecidos
como forward links. Os links que apontam para uma determinada página são chamados
de backlinks. Enquanto nem todos os backlinks de uma página são conhecidos, ao obter
uma página da Internet é possível saber todos os forward links que ela possui.
De maneira geral, páginas com um grande número de backlinks podem ser
consideradas mais importantes do que aquelas com menos backlinks. A inovação do
PageRank vem de casos em que a contagem de citações não reflete a noção de
importância que os usuários estão procurando. Por exemplo, se uma página possui um
link de um portal como o Yahoo para ela, mesmo que este seja o único backlink desta
página, é um backlink altamente importante. Esta página deve aparecer no ranking em
uma posição mais alta do que outras páginas com muitos links porém de lugares
obscuros. O PageRank é uma tentativa de aproximar a importância de uma página
através da estrutura de links.
Assim, o PageRank é definido da seguinte maneira: uma página possui um
ranking alto se a soma dos rankings de seus backlinks é alta. Esta definição serve tanto
para o caso de uma página com muitos backlinks como para o caso de um página com
poucos backlinks muito importantes.
2.2. Algoritmo do PageRank
O PageRank forma uma distribuição probabilística sobre todas as páginas da Web, de
forma que soma dos PageRanks de todas as páginas da Web será sempre 1. O algoritmo
do PageRank pode ser aplicado para uma coleção de documentos de qualquer tamanho.
Suponha um conjunto de quatro páginas da Internet, A, B, C e D. A aproximação
inicial do PageRank seria distribuída igualmente entre os quatro documentos. Assim, os
quatro documentos iniciam o algoritmo com PageRank igual a 0,25.
Se as páginas B, C e D possuírem links para A, cada uma passaria um PageRank
de 0,25 para A. Agora, suponha que a página B possui um link para C, e a página D
possui links para as outras três páginas. A figura 1 representa a relação entre as quatro
páginas.
B
C
A
D
Figura 1. Quatro páginas da Web com links
O valor do PageRank passado a partir de cada página é distribuído igualmente
entre os forward links da página. Assim, a página B passaria um PageRank de 0,125
para A e outros 0,125 para C. A página D passaria um terço de seu PageRank para A:
Considerando que a função L retorna o número de forward links de uma
determinada página, o PageRank de A pode ser indicado como:
De maneira geral, dada uma página u, sendo Bu o conjunto de páginas que
apontam para u, o PageRank da página u pode ser expresso como o somatório do valor
do PageRank de cada página v que aponta para v dividido pelo número de links que
parte da página v:
O modelo do PageRank é baseado na suposição de um “web surfer aleatório”.
Este personagem navegaria na Internet clicando em links sucessivos aleatoriamente.
Eventualmente, ele fica “entediado” com a página que está vendo e pula para outra
página da Internet escolhida aleatoriamente. Para modelar a probabilidade do web surfer
ficar entediado, é usado um fator de amortização d que assume valores entre 0 e 1.
Normalmente, o valor d é fixo em 0,85. No caso, este valor representa a probabilidade
de 85% do web surfer clicar em um link na página que está vendo, contra 15% de
probabilidade de escolher outra página aleatoriamente para começar a navegar
novamente.
O fator de amortização d é incluído na fórmula do PageRank da seguinte
maneira, considerando que N é o número total de documentos na coleção, e que A
possui links de B, C, D... :
Esta fórmula é calculada recursivamente, porém pode começar com qualquer
conjunto de documentos até a fórmula convergir. O Google recalcula os valores de
PageRank cada vez que busca a Internet com seus crawlers e reconstrói seu índice. Na
medida em que o número total de documentos indexados pelo Google aumenta, a
aproximação inicial do PageRank para cada documento diminui.
Considera-se que a convergência é alcançada quando a variação do PageRank
entre a iteração atual e a iteração anterior alcança valores abaixo de determinado limiar.
A convergência é alcançada de forma relativamente veloz, sendo que em seus
experimentos iniciais os autores alcançaram a convergência para 322 milhões de links
em 52 iterações. A convergência para a metade destes links é alcançada em 45 iterações.
Este fato mostra a boa escalabilidade do algoritmo, considerando que conforme a
coleção de documentos cresce o número de iterações necessárias para a convergência
aumenta linearmente na proporção do logaritmo do número de documentos.
2.3. Personalização do PageRank
O fator de amortização d é um componente importante do algoritmo do PageRank.
Através de experimentações, os autores chegaram ao valor de 0,85 como sendo aquele
que apresenta melhor desempenho para uma grande coleção de documentos como a
Internet. No entanto, esta abordagem resulta em eventuais links recebendo um ranking
demasiadamente alto. Como exemplo, podemos citar avisos de copyright e listas de
mailing contendo alto número de links entre seus documentos. Nestes casos, o fator de
amortização d poderia assumir um valor mais alto, assim efetivamente diminuindo o
PageRank das páginas envolvidas.
Por outro lado, em experimentos onde o valor do fator de amortização d era
reduzido para determinados sites, verificou-se que as home pages destes sites obtinham
PageRank mais altos, seguidas pelos forward links destas home pages. Estes
experimentos mostram que é possível usar o fator de amortização para construir motores
de busca personalizados, os quais poderiam ser baseados, por exemplo, nos “Favoritos”
do navegador do usuário.
3. Aplicações do PageRank
3.1. Predição de Backlinks
Uma das possíveis aplicações do PageRank está em determinar quais serão os backlinks
de uma página. Em [CGMP98] é apresentado o trabalho do crawler do Google, que
deve sempre tentar buscar os melhores documentos antes para a partir deles navegar
para as páginas para as quais eles apontam. Através de experimentos, os autores
descobriram que o PageRank oferece uma melhor estimativa de futuras contagens de
backlinks do que as próprias contagens de backlinks.
3.2 PageRank Multi-resolucional
Outra possível aplicação do PageRank é o uso do PageRank com multi-resolução. Como
o PageRank leva em consideração todos os documentos presentes na Web para calcular
seu escore (popularidade), o resultado é uma medida generalizada sobre a popularidade
dos documentos. Podemos exemplificar isso usando dois cenários:
•
Cenário 1: você pergunta a um grupo de pessoas, aleatoriamente, na esquina das
ruas Andradas com Borges de Medeiros, no centro de Porto Alegre, sobre onde
comprar CD’s. Em sua maioria respondem que procure a loja Multisom. Se você
estiver procurando, por exemplo, o primeiro álbum do Ramones, há uma boa
chance de a loja Multisom não ser relevante para sua busca.
•
Cenário 2: imagine que dentre estas pessoas exista um pequeno grupo de
colecionadores de CDs, e que todos estes indiquem lojas de CD’s usados. Essa
indicação provavelmente terá uma maior relevância que a do grupo generalizado.
Park e Ramamohanarao [Ramamohanarao 2007] introduzem a idéia do uso de
PageRank com multi-resolução, baseado na popularidade das páginas dentro de uma
dada comunidade. Ou seja, cada documento recuperado tem seu escore calculado
baseando-se em uma determinada comunidade. O conjunto de documentos recuperados
por uma determinada consulta, relacionada a uma determinada comunidade, é ordenado
pelos escores baseados na popularidade que as páginas recuperadas pela consulta
possuem perante essa comunidade. Usando o método proposto em seu trabalho, os
autores conseguiram ampliar em 11% de precisão comparado ao PageRank tradicional.
O escore de popularidade de Park e Ramamohanarao é baseado em
comunidades. Os autores apresentam um método que pode ser usado para melhorar a
classificação dos resultados de buscas na Web. Estes escores são dinamicamente
gerados a partir de hiperlinks e armazenados para que sejam usados no momento da
consulta. Neste artigo, apresentam:
• Como calcular um conjunto de multi-resolucional baseado em comunidades
• Uma prova de que na pior resolução o método apesenta resultados iguais ao PageRank
• Como selecionar uma lista de escores baseadas na consulta do usuário.
A análise do uso da listas geradas pelo método foi aplicada ao problema de
busca de informação na Web. Foram realizados experimentos em uma coleção contendo
25 milhões de documentos Web. Entrentanto, o método pode ser aplicado para
mineração de dados quaisquer que usem correlação entre os documentos.
3.3 Comunidades como nível de resolução
Uma comunidade Web é um conjunto de páginas que contém hiperlinks em comum.
Quanto maior este nível de similaridade, mais restrita é a comunidade. No menor nível
de similaridade, temos toda a Web como uma comunidade só. No nível mais alto, temos
cada página como sua própria comunidade. Portanto, ajustando o nível de similaridade,
ajustamos a resolução da comunidade.
Até agora, as ferramentas de busca na Web aplicam apenas a resolução mais
baixa (que abrange toda a Web) para auxiliar na precisão dos resultados. Este é o caso
do Google que, ao usar PageRank, trata cada hiperlink como um voto para a página que
está referenciando. Usando estes votos pode-se calcular a popularidade de qualquer
página. O Google usa exatamente essa popularidade para ordenar seus resultados em
uma busca. Portanto para cada busca, a página mais popular (mais referenciada) perante
toda a Web obterá a melhor classificação. Isso apresenta um resultado bom para
consultas genéricas, na qual a comunidade global apresenta conhecimento adequado.
Para uma consulta mais específica, não apresentará boa aplicabilidade. Para estes casos,
os escores obtidos em uma comunidade especializada resultariam em uma ordenação
melhor dos resultados.
Isso pode ser facilmente notado o diagrama da figura 2. Nota-se que cada página
contém exatamente um link que a referencia. O escore de popularidade de cada página
será o mesmo, na medida em que o PageRank levará em consideração todo o conjunto
de documentos. Para melhores resultados, seria mais interessante usar uma lista de
PageRank para cada comunidade, sendo assim a e b populares dentro de uma
comunidade, enquanto c e d populares dentre a outra comunidade.
Figura 2. Um exemplo onde PageRank não é útil
A tabela abaixo mostra o resultado da aplicação do método apresentado no artigo
em comparação com o PageRank. Em sua menor resolução, o método tem resultados
equivalentes ao PageRank. Este resultado é obtido a partir da aplicação de um método
de fatoração matricial chamado SNMF (Symmetric Non-negative Matrix Factorisation)
a uma matriz contendo os links dos documentos.
Tabela 1. Comparativo entre PageRank e o Método multi-resolucional.
Podemos notar que o SNMF-2 traz duas listas de escores de popularidade, uma
mostrando alta popularidade para páginas a e b e a segunda mostrando alta popularidade
para c e d. Assim podemos ver que existem duas comunidades no conjunto
exemplificado na figura acima, produzindo o ranking relativo a cada comunidade. As
primeiras duas listas no SNMF-3 mostram alta popularidade para as páginas c e d,
enquanto a terceira alta popularidade para a e b. No SNMF-4, duas lista resultam alta
popularidade para a e b e duas para as paginas c e d.
Os experimentos do artigo foram realizados sobre a coleção GOV2Web, contendo 25
milhões de documentos Web, para verificar como o método poderia ser usado para
recuperar documentos mais relevantes a uma consulta. Chegou-se a um resultado com
aumento de 11% na precisão comparado ao PageRank.
4. Conclusão
O algoritmo PageRank calcula um escore de popularidade para cada documento na
Web. Este escore é medido observando-se outras páginas que os referenciam através de
hiperlinks. O conjunto de escores de popularidade é pré-computado e armazenado, para
que, quando uma consultada for realizada, os resultados sejam rapidamente ordenados.
Para o PageRank, a popularidade é a medida de confiança na informação presente no
resultado da consulta. Infelizmente, este escore é independente da consulta, pois usam
uma base de conhecimento global. Por este fato PageRank é mais eficiente quando
aplicado a consultas genéricas. Foi visto que existe um outro método, generalizado a
partir do PageRank, que utiliza multi-resolução de listas de Rank, representando escores
de popularidade dentro de diferentes comunidades de páginas Web. Para consultas de
conhecimento específico, esta metodologia pode vir a ser utilizada em ferramentas de
busca, dependendo da demanda por tal diferencial.
References
Brin, S. and Page L. (1998) “The anatomy of a large-scale hypertextual Web search
engine”, In: Computer Networks and ISDN Systems, 30 (1–7), pages 107–117,
Elsevier, EUA.
Cho J., Garcia-Molina, H. and Page, L. (1998) “Efficient crawling through url
ordering”, In: Proceedings of the Seventh International World Wide Web
Conference, Elsevier Sciences, Australia.
Page, L., Brin, S., Motwani, R. and Winograd, T. (1998) “The PageRank Citation
Ranking: Bringing Order to the Web”, Technical report, Stanford DLT Project, EUA.
Park, A. F. L. and Ramamohanarao, K. (2007) “Mining web multi-resolution
community-based popularity for information retrieval”, In: Proceedings of the 2007
ACM Conference on Information and Knowledge Management, pages 545 – 552.
Download