Скачать презентацию Introduction to Information Retrieval CS 276 Information Retrieval Скачать презентацию Introduction to Information Retrieval CS 276 Information Retrieval

b129c2af9ef495a81cc115d296ab01b0.ppt

  • Количество слайдов: 45

Introduction to Information Retrieval CS 276 Information Retrieval and Web Search Christopher Manning and Introduction to Information Retrieval CS 276 Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan Lecture 17: Crawling and web indexes

Introduction to Information Retrieval Aula de Hoje § Crawling. § Connectivity servers. Introduction to Information Retrieval Aula de Hoje § Crawling. § Connectivity servers.

Introduction to Information Retrieval Sec. 20. 2 Basic crawler operation (operações básicas sobre rastreadores) Introduction to Information Retrieval Sec. 20. 2 Basic crawler operation (operações básicas sobre rastreadores) § Comece com sementes, as “URLs” § Buscar e analisar: § Extração do apontamento das URLs. § Coloque as URLs obtidas em uma fila. § Busque cada URL da fila, e repita a busca.

Introduction to Information Retrieval Sec. 20. 2 Crawling picture (Imagem Crawling) URLs analisadas e Introduction to Information Retrieval Sec. 20. 2 Crawling picture (Imagem Crawling) URLs analisadas e rastreadas Seed Pages (Pags. Sementes) Web Fronteiras URLs Área invisivel Web

Introduction to Information Retrieval Sec. 20. 1. 1 Imagens Simples – Complicações § Impossível Introduction to Information Retrieval Sec. 20. 1. 1 Imagens Simples – Complicações § Impossível o rastreamento na web com uma máquina. § Todas as etapas acima são distribuídas. § Páginas Maliciosas. § Páginas Spam. § Armadilhas spider – inclusões geradas dinâmicamente. § Mesmo páginas não maliciosas são desafios. § Latência/largura-banda variam para servidores remotos. § Estipulações webmaster. § Qual a profundidade do rastreamento dentro da hierarquia URL de um site ? § Espelhos de sites e páginas duplicadas. § Boas práticas – não pesquisar um servidor com muita frequência.

Introduction to Information Retrieval Sec. 20. 1. 1 O que qualquer indexador deve fazer Introduction to Information Retrieval Sec. 20. 1. 1 O que qualquer indexador deve fazer § Sendo Claro: Considerações claras implícitas e explícitas a respeito: § Apenas permitir o rastreamento da página. § Consideração robots. txt (mais detalhes posteriormente). § Ser Robusto: ser imune a armadilha da aranha e ao comportamento malicioso de outros servidores.

Introduction to Information Retrieval Sec. 20. 1. 1 O que qualquer indexador deve fazer Introduction to Information Retrieval Sec. 20. 1. 1 O que qualquer indexador deve fazer § Ser capaz de operação distríbuida: projetado para rodar em máquinas distribuídas. § Ser escalável: designado a aumentar a taxa de rastreamento, adicionando mais máquinas. § Desempenho/eficiência: permitir a utilização todal de recursos de processamento e de rede.

Introduction to Information Retrieval Sec. 20. 1. 1 O que qualquer indexador deve fazer Introduction to Information Retrieval Sec. 20. 1. 1 O que qualquer indexador deve fazer § Buscar primeiro páginas de maior qualidade. § Operação contínua: Continua pesquisando novas cópias de uma página previamente selecionada. § Extensivo: Adaptar-se a protocolos com novos formatos de dados.

Introduction to Information Retrieval Sec. 20. 1. 1 Imagem de rastreamento atualizada URLs rastreadas Introduction to Information Retrieval Sec. 20. 1. 1 Imagem de rastreamento atualizada URLs rastreadas e analisadas Págs sementes Fronteira URL Fio Crawling Web invisivel

Introduction to Information Retrieval Sec. 20. 2 Fronteira URL § Pode incluir várias páginas Introduction to Information Retrieval Sec. 20. 2 Fronteira URL § Pode incluir várias páginas a partir do mesmo host. § Deve-se tentar obter todas ao mesmo tempo. § Deve-se tentar manter todos os fios/linha de pesquisa ocupados.

Introduction to Information Retrieval Sec. 20. 2 Boas praticas explicitas e implicitas § Explicit Introduction to Information Retrieval Sec. 20. 2 Boas praticas explicitas e implicitas § Explicit politeness: especificações do webmaster em que partes do web site pode ser feita o rastreamento. § robots. txt. § Implicit politeness: mesmo sem especificação evitar acessar qualquer site várias vezes.

Introduction to Information Retrieval Sec. 20. 2. 1 Robots. txt § Protocolo para dar Introduction to Information Retrieval Sec. 20. 2. 1 Robots. txt § Protocolo para dar acesso limitado a aranha (“robots”) em um website, original em 1994. § www. robotstxt. org/wc/norobots. html § Website anuncia para a solicitação o que pode e o que não pode ser recuperado. § Para a URL, cria um arquivo URL/robots. txt. § Este arquivo especifica as restrições de acesso.

Introduction to Information Retrieval Sec. 20. 2. 1 Robots. txt exemplo § Nenhum robô Introduction to Information Retrieval Sec. 20. 2. 1 Robots. txt exemplo § Nenhum robô deve pesquisar uma URL começando com "/yoursite/temp/", exceto o robo chamado “searchengine": User-agent: * Disallow: /yoursite/temp/ User-agent: searchengine Disallow:

Introduction to Information Retrieval Sec. 20. 2. 1 Etapas de processamento do rastreamento § Introduction to Information Retrieval Sec. 20. 2. 1 Etapas de processamento do rastreamento § Escolha a URL a partir da fronteira. § Buscar o documento URL. § Analisar a URL. Which one? § Resumo de links de outros docs(URLs). § Verifique se a URL tem um conteúdo ja visitado § Se não, adicione aos índices. § Para cada extração URL: E. g. , only crawl. edu, obey robots. txt, etc. § Certifique-se de ter testado os filtros para URL. § Verifique se já está na fronteira (eliminar URL duplicada).

Introduction to Information Retrieval Sec. 20. 2. 1 Arquitetura básica de Rastreamento DNS WWW Introduction to Information Retrieval Sec. 20. 2. 1 Arquitetura básica de Rastreamento DNS WWW Doc FP’s robots filters URL set Filtro URL Elimina Dup URL Analisar Pesquisa Tem conteudo? Fronteira URL

Introduction to Information Retrieval Sec. 20. 2. 2 DNS (Domain Name Server) § Um Introduction to Information Retrieval Sec. 20. 2. 2 DNS (Domain Name Server) § Um serviço de pesquisa na internet. § Com a URL, recuperar o indereço de IP. § Serviço prestado por um conjunto de servidores distribuídos – com isso aumenta a frequência da pesquisa (no mesmo segundo). § Implementações OS comuns de pesquisa DNS bloqueio: apenas um pedido fica pendente por vez. § Soluções: § DNS caching. § Solução DNS batch – encaminha todos os pedidos juntos.

Introduction to Information Retrieval Sec. 20. 2. 1 Análise: Normalização URL § Quando um Introduction to Information Retrieval Sec. 20. 2. 1 Análise: Normalização URL § Quando um documento obtido é analisado, alguns dos links extraídos são URLs relativas. § E. x. , at http: //en. wikipedia. org/wiki/Main_Page Temos um link relativo para /wiki/Wikipedia: General_disclaimer que o mesmo que o URL absoluto. http: //en. wikipedia. org/wiki/Wikipedia: General_disclaimer § Durante a análise, deve-se normalizar (expansão) como URLs relativos.

Introduction to Information Retrieval Sec. 20. 2. 1 Conteúdo da visita? § A duplicação Introduction to Information Retrieval Sec. 20. 2. 1 Conteúdo da visita? § A duplicação é difundida na Web. § Se a página buscada já existe no índice, não usar o processo. § Isto é verificado através da zona de impressão digital do documento.

Introduction to Information Retrieval Sec. 20. 2. 1 Filtros e robots. txt § Filtros Introduction to Information Retrieval Sec. 20. 2. 1 Filtros e robots. txt § Filtros – expressões regulares para URL’s serem ou não rastreadas. § Uma vez obtido o arquivo robots. txt que é obtido a partir de um site, não precisa buscar outras vezes. § Se o fizer, tem a queima da largura da banda, hits web server. § Arquivos robots. txt escondidos.

Introduction to Information Retrieval Sec. 20. 2. 1 Eliminação de URL Duplicada § Para Introduction to Information Retrieval Sec. 20. 2. 1 Eliminação de URL Duplicada § Para um rastreamento não contínuo (oneshot) verifique se a URL extraída não esta na fronteira. § Para um rastreamento contínuo – veja detalhes de implementação para a fronteira.

Introduction to Information Retrieval Sec. 20. 2. 1 Distribuindo o Rastreador § Executar múltiplos Introduction to Information Retrieval Sec. 20. 2. 1 Distribuindo o Rastreador § Executar múltiplos crawl threads, em diferentes processos – em nós potencialmente diferentes § Distribuição geográfica de nós. § Partições em Hosts que estão sendo rastreados em nós. § Hash usado para partição. § Como esses nós se comunicam?

Introduction to Information Retrieval Sec. 20. 2. 1 Comunicação entre nós § A saída Introduction to Information Retrieval Sec. 20. 2. 1 Comunicação entre nós § A saída do filtro URL em cada nó é enviada para a URL Duplicate Eliminator em todos os nós. DNS WWW Doc FP’s Análise Busca robots filters Vista com conteúdo? Fronteira URL Para Outros Host Fitro splitter URL De outros hosts URL set Elim URL Dup

Introduction to Information Retrieval Sec. 20. 2. 3 Fronteira URL : duas razões principais Introduction to Information Retrieval Sec. 20. 2. 3 Fronteira URL : duas razões principais § Politeness: não atingiu um servidor web com frequência. § Freshness: rastrear algumas páginas com mais frequência que outras. § Ex. , páginas (busca a novos sites) cujo conteúdo muda frequentemente. Esses objetivos podem ser conflitantes. (Ex. , simples falha na fila de prioridades– muitos links conduzem para suas próprias páginas, causando uma explosão de acessos. ).

Introduction to Information Retrieval Sec. 20. 2. 3 Clareza – desafios § Mesmo se Introduction to Information Retrieval Sec. 20. 2. 3 Clareza – desafios § Mesmo se restringir apenas um segmento para buscar a partir de um host, ele pode ser acessado repetidamente. § Heurística Comun: insere um espaço de tempo entre os pedidos sucessivos ao hust>> tempo para buscar as hospedagens mais recentes.

Introduction to Information Retrieval Sec. 20. 2. 3 Fronteira URL : Mercator scheme URLs Introduction to Information Retrieval Sec. 20. 2. 3 Fronteira URL : Mercator scheme URLs Prioridade K filas de frente Seletor de fila Tendenciosa rota De frente para traz da fila B filas de volta Únicas em cada host Voltar ao seletor de fila Requisitando Crawl thread URL

Introduction to Information Retrieval Sec. 20. 2. 3 Mercator URL frontier § § Flui Introduction to Information Retrieval Sec. 20. 2. 3 Mercator URL frontier § § Flui a partir do topo para a fronteira das URLs. Filas de frente gerenciam a priorização. Filas de traz aplica clareza. Cada fila é FIFO.

Introduction to Information Retrieval Sec. 20. 2. 3 Filas da Frente Priorização 1 K Introduction to Information Retrieval Sec. 20. 2. 3 Filas da Frente Priorização 1 K Seletor de fila tendenciosa, de frente para traz da rota da fila

Introduction to Information Retrieval Sec. 20. 2. 3 Filas da Frente § Prioritizer atribui Introduction to Information Retrieval Sec. 20. 2. 3 Filas da Frente § Prioritizer atribui a URL uma prioriade inteira entre 1 e K. § Acrescenta a URL para a fila correspondente. § Heuristics para a atribuição de prioridade. § Taxa de atualização em amostras colhidas em rastreamentos anteriores. § Aplicação específica (e. x. , “rastrear sites de notícias com maior frequência”).

Introduction to Information Retrieval Sec. 20. 2. 3 Seleção tendenciosa da fila de frente Introduction to Information Retrieval Sec. 20. 2. 3 Seleção tendenciosa da fila de frente § Quando uma fila de traz solicita uma URL (em uma sequência a ser descrita): busca uma da frente da fila ao invés de buscar uma URL. § Esta escolha pode ser tedenciosa para as filas de maior prioridade ou alguma variável mais sofisticada. § Pode ser randomizada.

Introduction to Information Retrieval Sec. 20. 2. 3 Voltar a Fila da frente é Introduction to Information Retrieval Sec. 20. 2. 3 Voltar a Fila da frente é tendenciosa Volta seletor de rota da fila 1 B Volta selecionar da fila Pilha

Introduction to Information Retrieval Sec. 20. 2. 3 Back queue invariants § Cada fila Introduction to Information Retrieval Sec. 20. 2. 3 Back queue invariants § Cada fila de traz não é mantida vazia, enquanto o rastramento é feito. § Cada fila de traz só contem URL´s a partir de um único host. § Manter uma tabela de host para voltar a fila. Host name Back queue … 3 1 B

Introduction to Information Retrieval Sec. 20. 2. 3 Voltar a fila da Pilha § Introduction to Information Retrieval Sec. 20. 2. 3 Voltar a fila da Pilha § Uma entrada para cada fila de volta. § A entrada para o primeiro tempo te em que o host da fila de traz pode ser acessado novamente. § Nesse primeiro tempo para determinar a partir de: § Último acesso ao host. § Em qualquer tempo, escolhemos o buffer heuristic.

Introduction to Information Retrieval Sec. 20. 2. 3 Voltar a Fila de Processamento § Introduction to Information Retrieval Sec. 20. 2. 3 Voltar a Fila de Processamento § Um rastreador usa um fio para procurar uma URL para rastrear: § Extrai do início da pilha. § Obtem a URL na cabeça da fila q de traz correspondente (pesquisa sobre a tabela). § Verifica se a fila “q” agora esta fazia – se afirmativo, puxa uma “v” URL das filas da frente. § Se ja existir uma fila de volta para o host v’s, acrescentar v para q e buscar outra URL da frente da fila, e repetir. § Se não adicionar v a q. § Quando q não estiver vazio, criar entrada na pilha para ele.

Introduction to Information Retrieval Sec. 20. 2. 3 Number of back queues B § Introduction to Information Retrieval Sec. 20. 2. 3 Number of back queues B § Manter todos os tópicos respeitando a clareza. § Mercator recomendação: tres vezes mais como filas de traz como rastreador de tópicos. (three times as many back queues as crawler threads)

Conectividade de Servidores Conectividade de Servidores

Introduction to Information Retrieval Sec. 20. 4 Conectividade de Servidores § Suporte para consultas Introduction to Information Retrieval Sec. 20. 4 Conectividade de Servidores § Suporte para consultas gráficas rápidas na Web. § Quais URLs apontam para uma determinada URL? § Qual o ponto da URL? Mapeando armazenamentos de memória. § URL para outlinks, URL para inlinks. § Aplicações. § Controle de Rastreamento. § Análise Gráfica da Web. § Conectividade, otimização de rastreamento. § Análise do Link.

Introduction to Information Retrieval Sec. 20. 4 Campeão de Trabalhos Publicados § Boldi and Introduction to Information Retrieval Sec. 20. 4 Campeão de Trabalhos Publicados § Boldi and Vigna. § http: //www 2004. org/proceedings/docs/1 p 595. pdf § Webgraph – marcar algorítimos e implementações java. § Fundamental goal – manter listas do nó de memória. § Para isso, comprimindo as listas adjacentes é o caminho crítico.

Introduction to Information Retrieval Sec. 20. 4 Listas Adjacentes § O conjunto de vizinhos Introduction to Information Retrieval Sec. 20. 4 Listas Adjacentes § O conjunto de vizinhos de um nó. § Suponha cada URL representada por um número inteiro. § Ex. , para uma pagina web de 4 billion, precisa de 32 bits por nó. § Simplesmente, isso demanda 64 bits para representar cada hyperlink.

Introduction to Information Retrieval Sec. 20. 4 Compressão da Lista Adjacente § Propriedades exploradas Introduction to Information Retrieval Sec. 20. 4 Compressão da Lista Adjacente § Propriedades exploradas na comprensão: § Similaridade (entre listas). § Localidade (vários links por página vá para “próxima” página). § Usar os espaços na codificação das listas ordenadas. § Distribuição dos valores nos espaços.

Introduction to Information Retrieval Sec. 20. 4 Armazenamento § Boldi/Vigna buscar descer a média Introduction to Information Retrieval Sec. 20. 4 Armazenamento § Boldi/Vigna buscar descer a média de ~3 bits/link. § (URL para URL da borda). § Como? Why is this remarkable?

Introduction to Information Retrieval Sec. 20. 4 Principais idéias de Boldi/Vigna § Considere lexicographicamente Introduction to Information Retrieval Sec. 20. 4 Principais idéias de Boldi/Vigna § Considere lexicographicamente ordenada a lista de URLs, ex. : § § § www. stanford. edu/alchemy www. stanford. edu/biology/plant/copyright www. stanford. edu/biology/plant/people www. stanford. edu/chemistry

Introduction to Information Retrieval Boldi/Vigna Sec. 20. 4 Porque 7? § Cada uma dessas Introduction to Information Retrieval Boldi/Vigna Sec. 20. 4 Porque 7? § Cada uma dessas listas tem uma lista adjacente. § Principal idéia: devido aos modelos, a lista de adjacentes de um nó é similar a uma das 7 URLs anteriores lexicographicamente ordenadas. § Lista expressa adjacente para um desses termos. § E. x. , considere esta lista de adjacentes: § § 1, 2, 4, 8, 16, 32, 64 1, 4, 9, 16, 25, 36, 49, 64 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144 1, 4, 8, 16, 25, 36, 49, 64 Codificar como (-2), remove 9, soma 8

Introduction to Information Retrieval Sec. 20. 4 Codificando nas lacunas § Dada uma lista Introduction to Information Retrieval Sec. 20. 4 Codificando nas lacunas § Dada uma lista ordenada de inteiros x, y, z, …, representar por x, y-x, z-y, … § Compactar cada inteiro utilizando um código. § código - numero de bits = 1 + 2 lg x § d código : … § Informação teórica vinculada: 1 + lg x bits § z código: Funciona bem para inteiros a partir de uma lei de força Boldi Vigna DCC 2004

Introduction to Information Retrieval Sec. 20. 4 As principais vantagens de BV § Depende Introduction to Information Retrieval Sec. 20. 4 As principais vantagens de BV § Depende apenas de uma ordenação local regular. § Ordenação Lexicographica funciona bem para a Web. § Consultas nas adjacencias podem responder muito bem. § Para buscar na vizinhança, rastrear a cadeia de protótipos. § Esta sequência é geralmente curta (a semelhança é principalmente intra-hospedeiro). § Pode também limitar o comprimento da cadeia durante a codificação. § Um algorítimo de passagem é fácil de aplicar.

Introduction to Information Retrieval Recursos § IIR Chapter 20 § Mercator: A scalable, extensible Introduction to Information Retrieval Recursos § IIR Chapter 20 § Mercator: A scalable, extensible web crawler (Heydon et al. 1999). § A standard for robot exclusion. § The Web. Graph framework I: Compression techniques (Boldi et al. 2004).