Engenhos de Busca Web Equipe: Cássio Melo, Alexandre Barza, Manuela Nascimento e Rodrigo Freitas {cam2, ab, mcn, rqf} Jul/2007 Roteiro Evolução e Desafios; Arquitetura; Rankeamento; Authorities, Hubs, Hits, PageRank e Hilltop; Spiders; Estratégias de Busca; Indexação; Browsing; Metabuscas; Conclusão. Evolução Web Gigantesco e ubíquo banco de dados, sem estrutura definida. Como se comunicar ? Evolução Web 1990 - Tim Berners-Lee do CERN(Conseil Européen pour la Recherche Nucleaire) cria o WWW; Libwww, Erwise, Voilawww, Mosaic(NCSA), etc... Evolução Web Em 1993, havia aproximadamente 50 sites; Netcraft Survey - 108,810,358 (fevereiro de 2007). Aumento de 2.000.000 % em 14 anos. "The good thing about digital media is that you can save everything. The bad thing about digital media is that you can lose everything." Desafios Dados: Descentralização; Volatilidade; Volume; Redundancia; Qualidade - The cult of the amateur is digital utopianism’s most seductive delusion… It suggests, mistakenly, that everyone has something interesting to say. Desafios Pessoas: Especificar Consulta. Interpretar a resposta. Objetivo: Respostas relevantes para cada consulta. Arquiteturas Sistemas RI padrão + WEB Principais arquiteturas Arquitetura centralizada Arquitetura distribuída Arquitetura Centralizada Web Indexer Index Query Engine Arquitetura Centralizada Arquitetura Centralizada Principais problemas: Sobrecarga dos servidores Aumento de tráfego (spiders) Informação recolhida sem coordenação Arquitetura Distribuida Authorities Definição: são páginas que são reconhecidas por proverem informações significantes, confiáveis e úteis sobre um determinado tópico Busca informação desejada dentro dos sites Authorities Authorities for query: “Java” java.sun.com comp.lang.java FAQ Authorities for query “search engine” Yahoo.com Excite.com Lycos.com Altavista.com Authorities for query “Gates” Microsoft.com roadahead.com Hubs Definição: termo para o grupo que une todos os sites web que recebem grande quantidade de links e que por sua vez fazem laço com páginas web que consideram importantes. Ou seja, são páginas de índices que provêem grande quantidade de links úteis para páginas de conteúdo relevante Authorities e Hubs Na definição de Jon Kleinberg, de hubs e autoridades: uma boa autoridade será uma página apontada por bons hubs e um bom hub será uma página que aponta para boas autoridades. HITS (Hyperlink Induced Topic Search) Tenta determinar hubs e autoridades em um tópico particular através da análise de um grafo relevante da web É baseado em fatos recursivos pois hubs apontam para autoridades e autoridades são apontadas por hubs. O peso de cada link dependerá dos índices hub e authority da página em que se encontra. O processo de cálculo é recursivo e pode envolver bilhões de páginas. Quando de sua concepção, o algoritmo mostrou-se impraticável. Construindo um subgrafo Hubs apontam para muitas autoridades. Autoridades são apontadas por muitos hubs. Hubs Authorities PageRank Atribui um peso para cada elemento “hiperlincado”. Os links são como votos. Quanto mais apontamentos a página tiver, maior vai ser o page rank dela. PageRank Medida de importância de uma página para o Google. Download da barra de ferramentas do Google. Page Rank PageRank Falhas: Qualquer página contida no índice, aumentava o PageRank da página que recebia o link. Webmasters estavam comprando links, para aumentar seu pagenRank E uma vez tendo contruído um site de alto pagerank, ficava fácil para os webmasters construírem outros sitese, de imediato, apontar links de suas próprias páginas e conseguir um bom posicionamento inicial. Solução: Algoritmo Hilltop Algoritmo Hilltop O Hilltop procura detectar hosts afiliados; se um link apontar para uma página em um host afiliado, o valor do link é descontado. Hosts afiliados = mesmos primeiros três octetos de endereço IP Ex.: Hosts com IPs 200.109.112.132 e 200.109.112.132 (ou qualquer outro host de IP 200.109.112.xxx) são considerados afiliados Algoritmo Hilltop O hilltop deixa claro que se eu quiser ter bom posicionamento do meu site de filmes é muito melhor eu ter um link em mdb.com (um expert no tópico filmes) do que um link em nature.com Spiders (Robots/Bots/Crawlers) Procuram informações nos sites Entram nas páginas e lêem o conteúdo assim como os internautas. Não avaliam o site propriamente. Avaliam o código que o gera. O código deve estar em perfeita sintonia com os critérios que esses programas utilizam. 24 Spiders (Robots/Bots/Crawlers) Alguns desses critérios: Indexação Banco de dados é criado para cada termo de busca e são relacionadas as paginas Quando se faz a busca, a spider recorre a esse banco de dados. Html- as ferramentas de buscam entendem melhor. Links- Quanto mais sites tiverem links para a página, mais relevante será essa página. 25 Estratégias de Busca Busca em Largura 26 Estratégias de Busca Busca em Profundidade 27 Prós e Contras… Busca em largura requer muita memória para guardar todos os nós do nível anterior porém é o método padrão utilizado. Busca em profundidade necessita de menos memória porém pode se “perder” em um único nó, dada a alta conectividade da Web. 28 Spider Multi-tarefa Fazer o download de páginas é o “Gargalo” dos engenhos de busca Melhor ter múltiplas “threads” rodando em hosts diferentes Maximizar a distribuição das URL’s para aumentar o “through-put” e evitar sobrecarregar um servidor. Primeiros spiders do Google tinham cerca de 300 threads cada, e juntos podiam fazer o download de cerca de 100 páginas por segundo 29 Directed/Focused Spidering Selecionam as páginas mais “interessantes” primeiro. Direcionado aos Links 30 Spidering direcionado ao Link Monitora links e verifica o in-degree e out-degree de cada página encontrada. 31 Spidering direcionado ao Link Busca na fila primeiramente páginas populares que são apontadas por muitos links (authorities). Busca na fila primeiramente páginas “sumário”com muitos links (hubs). 32 Indexação Análise Análise do Formato Reconhecimento de Linguagem Processamento de Linguagem Natural Eliminação de stopwords Operações de normalização Pontuação, espaços, uppercase,... Tokenization Reconhecimento da Seção Indexação de Meta Tag 34 Indexação A maioria dos sistemas web usam variantes do arquivo invertido Lista de palavras ordenadas com um conjunto de ponteiros para as páginas em que elas ocorrem Armazenamento da descrição de cada webpage 35 Busca no Arquivo de Índices Consulta é respondida através de busca binária no arquivo de índices Consulta formada por várias palavras o sistema recupera os índices para cada palavra isolada os resultados da recuperação são combinados para gerar a resposta final 36 Busca no Arquivo de Índices Arquivos de índices invertidos também podem armazenar as ocorrências das palavras nos documentos (full inversion) Maior custo de armazenagem Possibilidade de consultas por frases e expressões através da proximidade das palavras no documento 37 Busca no Arquivo de Índices Para encontrar palavras que iniciam com um dado prefixo, é necessário fazer duas buscas binárias na lista de palavras ordenadas Ex.: auto-análise Buscas mais complexas, como palavras com erro, requerem um tempo considerável de processamento Por causa do tamanho do vocabulário 38 Browsing Diretórios Web Pequena cobertura geralmente menos de 1% das páginas Links geralmente possuem conteúdos mais relevantes Alguns são focados em um domínio específico Muitas ferramentas de busca são híbridas Exemplo: Yahoo! 39 Browsing Diretórios Web Vantagens Documentos mais relevantes Possibilidade de armazenar o conteúdo de todas as páginas classificadas, por serem em menores quantidades Desvantagens Nem todos os documentos são classificados Documentos mudam constantemente Tentativas de classificação automática não são 100% efetivas 40 Metabuscas Servidores Web que enviam uma consulta a vários motores de busca, diretórios Web e outros bancos de dados Coletam as respostas e unificam o resultado Vantagens Habilidade em unificar resultados de várias origens Utilização de uma interface única 41 Conclusão A Internet cresce de forma rápida e não estruturada Necessidade de ferramentas de RI mais eficientes Aumento da demanda de armazenamento e processamento de sistemas de RI Apesar dos avanços, é muito difícil resolver estes problemas de forma definitiva 42