A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introduction to Information Retrieval Introduction to Information Retrieval CS276 Information Retrieval and Web Search Christopher Manning and Prabhakar.

Apresentações semelhantes


Apresentação em tema: "Introduction to Information Retrieval Introduction to Information Retrieval CS276 Information Retrieval and Web Search Christopher Manning and Prabhakar."— Transcrição da apresentação:

1 Introduction to Information Retrieval Introduction to Information Retrieval CS276 Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan Lecture 16: Web search basics (Fundamentos da busca Web) Eduardo Augusto Silvestre

2 Introduction to Information Retrieval História breve (não-técnica) Engines baseadas em palavras chave ca Altavista, Excite, Infoseek, Inktomi, Lycos Ranking de busca paga: Goto (transformado em Overture.com Yahoo!) Sua busca no ranking dependente de quanto você pagou Leilão para palavras chave: casino era caro!

3 Introduction to Information Retrieval História breve (não-técnica) 1998+: Ranking baseado em link, guiado pelo Google Jogue longe todas as outras engines de antes salvo Inktomi Grande experiência do usuário de um modelo de negócios Enquanto isso os ganhos anuais do Goto/Overtures foram próximos de $1 bilhão Resultado: Google adicionou busca paga ads, independente dos resultados de busca Yahoo seguiu se adaptando, adquirindo Overture (para busca paga) e Inktomi (para busca) 2005+: Google ganha parte da busca, dominando na Europa e muito forte na América do Norte 2009: Yahoo! eMicrosoft propõem oferecer busca paga combinada

4 Introduction to Information Retrieval Algorithmic results. Paid Search Ads

5 Introduction to Information Retrieval Fundamentos da busca Web The Web Ad indexes Web spider Indexer Indexes Search User Sec

6 Introduction to Information Retrieval Usuário precisa Need [Brod02, RL04] Informational– quer aprender sobre alguma coisa (~40% / 65%) Navigational – quer ir para uma página (~25% / 15%) Transactional – quer fazer alguma coisa (web-mediated) (~35% / 20%) Acessar um serviço Downloads Shop Gray areas Encontrar um bom centro Busca exploratória ver o que mais Low hemoglobin United Airlines Seattle weather Mars surface images Canon S410 Car rental Brasil Sec

7 Introduction to Information Retrieval Quão longe as pessoas olham os resultados ? (Source: iprospect.com WhitePaper_2006_SearchEngineUserBehavior.pdf)iprospect.com

8 Introduction to Information Retrieval Avaliação empírica dos usuários dos resultados Qualidade de páginas varia amplamente Relevância não é suficiente Outras qualidades desejadas (não relacionadas a RI !!) Conteúdo: Confiável, diverso, não-duplicado, bem mantido Legibilidade Web : mostrar corretamente e rápido S/ aborrecimentos: pop-ups, etc Precision vs. recall Na web, recall raramente importa O que importa Precisão de 1? Compreensividade – deve ser capaz de lidar com consultas obscuras Recall importa quando o número de resultados é muito pequeno Percepção do usuário pode não ser científica, mas é signficante sobre um grande agregado

9 Introduction to Information Retrieval Relevância e validade dos resultados UI – Simples, sem bagunça, tolerante a erros Confiança – Resultados são objetivos Cobertura de tópicos para consultas polissêmicas Ferramentas fornecidas para Pre/Pós processo Mitigar erros do usuário (verificação ortográfica automática, auxílio na busca,…) Explícito: Busca dentro dos resultados, mais disso, refinar... Antecipativa: buscas relacionadas Tratar excentricidade Vocabulário específico da Web Impacto sobre stemming, verificação ortográfica, etc Endereço Web digitado na caixa de busca O primeiro, o último, o melhor e o pior … Avaliação empírica dos usuários dos resultados

10 Introduction to Information Retrieval A coleção de documentos Web S/ projeto/coordenação Criação de conteúdo distribuído, linking, democratização da publicação Conteúdo inclui verdades, mentiras, informações obsoletas, contradições … Não estruturado (texto, html, …), semi- estruturado (XML), estruturado (banco de dados)… Escala muito maior que a coleção de texto anterior … mas registros de corporações estão alcançando Crescimento – volume dobra em poucos meses, ainda continua expandindo Conteúdo pode ser gerado dinamicamente A Web Sec. 19.2

11 Introduction to Information Retrieval Spam SEO – Search Engine Optimization (Otimização da máquina de busca)

12 Introduction to Information Retrieval O problema com busca paga ads … Custa dinheiro. Qual alternativa? SEO (Search Engine Optimization): Tuning sua página p/ aparercer nas primeiras posições nos resultados de algoritmos de busca p/ palavras chaves selecionadas Alternativa p/ não ter de pagar Assim, uma função de marketing Realizado por companias, webmasters e consultores (Search engine optimizers) para seus clientes Alguns perfeitamente legitimados, alguns sombrios Sec

13 Introduction to Information Retrieval Search engine optimization (Spam) Motivos Comercial, político, religioso, lobbies Promoção consolidada pela propaganda Operadores Contratantes (Search Engine Optimizers) para lobbies, companias Web masters Provedor de serviços Forums Isto é, Web master world ( )www.webmasterworld.com Truques para máquinas de busca específicas Discussão sobre papers acadêmicos Sec

14 Introduction to Information Retrieval Forma mais simples Primeira geração de máquinas confiavam em tf/idf As páginas do topo do ranking p/ consulta maui resort foram aquelas contendo mais maui s e resort s SEOs responderam com densa repetição dos termos escolhidos Isto é, maui resort maui resort maui resort Frequentemente, as repetições seriam da mesma cor como o plano de fundo da página Termos repetidos indexados pelos crawlers Mas não visível p/ humanos ou browsers Densidade de palavras puramente não pode ser confiável como um sinal de RI Sec

15 Introduction to Information Retrieval Variantes de keyword stuffing Meta-tags enganosas, repetição excessiva Texto escondido com cores, truques de folha de estilo, etc. Sec Meta-Tags = … London hotels, hotel, holiday inn, hilton, discount, booking, reservation, sex, mp3, britney spears, viagra, …

16 Introduction to Information Retrieval Cloaking Conteúdo falso serve à maquinas de busca spider DNS cloaking: Troca de endereço IP. Is this a Search Engine spider? Y N SPAM Real Doc Cloaking Sec

17 Introduction to Information Retrieval Mais técnicas spam Doorway pages (Páginas de portal) Páginas otimizadas p/ uma única palavra chave que redirecionadas para página alvo de fato Link spamming Mutual admiration societies, links ocultos, prêmios – mais um desse depois Domain flooding: numerosos domínios que apontam ou redirecionam para uma página alvo Robôs Falsa stream de consulta – rank checking programs Curve-fit ranking programs of search engines Milhões de submissões via Add-Url Sec

18 Introduction to Information Retrieval A guerra contra spam Sinais de qualidade – Prefira páginas autoritárias baseadas em: Votos dos autores (sinais de ligação) Votos dos usuários (sinais de uso) Policiando das submissões da URL Teste anti-robô Limites sobre as meta palavras chave Análise robusta de links Ignore ligações estatísticas improváveis (ou texto) Use análise de link para detectar spammers Reconhecimento de spammers por aprendizado de máquinas Treinando um conjunto baseado no conhecimento de spam Filtros amigavelmente familiares Análise linguística, técnicas de classificação, etc. Para imagens: flesh tone detectors, análise do texto fonte, etc. Intervenção editorial Listas negras Top queries audited Queixa de endereço Detecção de padrão suspeito

19 Introduction to Information Retrieval Mais sobre spam Máquinas de busca Web tem políticas das práticas SEO que eles toleram/bloqueiam Adversário da RI: a interminável (técnico) batalha entre SEOs e máquinas de busca Web Pesquisa

20 Introduction to Information Retrieval Tamanho da Web

21 Introduction to Information Retrieval Qual é o tamanho da Web ? Questões A Web é realmente infinita Conteúdo dinâmico, isto é, calendário Soft 404: é uma página válida Web estática contém duplicação sintática, principalmente devido a mirroring (~30%) Alguns servidores são raramente conectados Quem preocupa? Mídia e consequentemente o usuário Projetos de máquinas Engine crawl policy. Impacto sobre recall. Sec. 19.5

22 Introduction to Information Retrieval O que podemos tentar medir? O tamanho relativo das máquinas de busca A noção de página sendo indexada é ainda razoavelmente bem definida Já existem problemas Extensão de documento: isto é, máquinas indexam páginas não ainda crawled, pela indexação anchortext. Restrição de documento: Todas engines restringem qual é indexado (primeiras n palavras, somente palavras relevantes, etc.) A cobertura de uma máquina de busca relativa a outro processo particular crawling. Sec. 19.5

23 Introduction to Information Retrieval Nova definição ? (IQ é qualquer medida de teste IQ) A Web indexável estaticamente é qualquer índice de máquina de busca. Diferentes máquinas tem diferentes preferências max url depth, max count/host, regras anti-spam, regras de prioridade, etc. Diferentes indexes de máquinas diferentes coisas sobre a mesma URL: frames, meta palavras chaves, restrições de documentos, extensões de documentos,... Sec. 19.5

24 Introduction to Information Retrieval A B = (1/2) * Tamanho A A B = (1/6) * Tamanho B (1/2)* Tamanho A = (1/6)* Tamanho B Tamanho A / Tamanho B = (1/6)/(1/2) = 1/3 Exemplo URLs de A aleatoriamente Checar se contido em B e vice- versa A B Cada teste envolve: (i) Amostra (ii) Verificação Tamanho relativo do Overlap Dado duas máquinas A e B Sec. 19.5

25 Introduction to Information Retrieval URLs de amostra Estratégia ideal: Gerar uma URL aleatoriamente e checar a restrição (containment) em cada índice. Problema: URLs aleatórias são difíceis de econtrar! Suficiente gerar uma URL aleatória contida em uma dada máquina. Abordagem 1: Gerar uma URL aleatória contida em uma dada máquina Suficiente para a estimar o tamanho relativo Abordagem 2: Random walks / IP addresses Na teoria: poderia nos dar uma estimativa verdadeira do tamanho da web Sec. 19.5

26 Introduction to Information Retrieval Métodos estatísticos Abordagem1 Consultas aleatórias Buscas aleatórias Approach 2 Endereços de IP aleatórios Passeio aleatório (Random walks) Sec. 19.5

27 Introduction to Information Retrieval URLs aleatórias de consultas aleatórias Gerar uma consula aleatória: como ? Vocabulário: 400,000+ palavras de um web crawl Consultas conjuntivas: w 1 e w 2 Isto é, vocalists AND rsi Pegue 100 URLs de resultado da máquina A Escolha uma URL aleatória como candidata para checar a presenção na máquina B Isso distribuição induz a um peso de probabilidade W(p) para cada página Conjetura: W(SE A ) / W(SE B ) ~ |SE A | / |SE B | Sec. 19.5

28 Introduction to Information Retrieval Verificação baseada na consulta Strong Query para checar se uma máquina B tem um documento D: Download D. Pegue a lista de palavras. Use 8 palavras de baixa frequencia como AND da consulta para B Cheque se D está presente no conjunto de resultados. Problemas: Duplicações próximas Frames Redirecionamentos Time-outs das máquians Consultas de 8 palavras são de um bom tamanho ? Sec. 19.5

29 Introduction to Information Retrieval Vantagens e desvantagens Sec Statistically sound under the induced weight. Biases induced by random query Query Bias: Favors content-rich pages in the language(s) of the lexicon Ranking Bias: Solution: Use conjunctive queries & fetch all Checking Bias: Duplicates, impoverished pages omitted Document or query restriction bias: engine might not deal properly with 8 words conjunctive query Malicious Bias: Sabotage by engine Operational Problems: Time-outs, failures, engine inconsistencies, index modification.

30 Introduction to Information Retrieval Buscas aleatórias Escolha buscas aleatórias extraídas de um registro local [Lawrence & Giles 97] ou construir buscas aleatórias [Notess] Use somente consultas com um pequeno conjunto de resultados. Conte URLs normalizadas no conjunto de resultados. Use estatísticas Sec. 19.5

31 Introduction to Information Retrieval Vantagens e desvantagens Vantagem Pode ser uma melhor percepção humana da cobertura Questões Exemplos são relacionados com o fonte do registro Duplicados Problemas estatísticos técnicos (deve ter resultados, ratio average not statistically sound) Sec. 19.5

32 Introduction to Information Retrieval Buscas aleatórias 575 e 1050 queries from the NEC RI employee logs 6 Engines in 1998, 11 in 1999 Implementação: Restrito a consultas com < 600 resultados no total URLs contadas da máquina de busca depois da verificação do emparelhamento da consulta Razão do tamanho computada & overlap para consultas individuais Tamanho estimado do índice & overlap pela média de todas as consultas Sec. 19.5

33 Introduction to Information Retrieval adaptive access control neighborhood preservation topographic hamiltonian structures right linear grammar pulse width modulation neural unbalanced prior probabilities ranked assignment method internet explorer favourites importing karvel thornber zili liu Consultas do estudo de Lawrence e Giles softmax activation function bose multidimensional system theory gamma mlp dvi2pdf john oliensis rieke spikes exploring neural video watermarking counterpropagation network fat shattering dimension abelson amorphous computing Sec. 19.5

34 Introduction to Information Retrieval Endereços de IP aleatórios Gere endereços de IP aleatórios Encontre um servidor web do endereço dado Se existir um Pegue todas as páginas do servidor Dessas, escolha uma aleatoriamente Sec. 19.5

35 Introduction to Information Retrieval Endereços de IP aleatórios Requisição HTTP p/ um endereço de IP aleatório Ignorada: vazio or autorização requerida ou excluída [Lawr99] Estima-se que 2.8M de endereços de IP executando em servicores web crawlable (16 milhões no total) dos 2500 servidores observados OCLC usando IP de amostra encontrou 8.7 M hosts em 2001 Netcraft [Netc02] acessou 37.2 milhões hosts em Julho 2002 [Lawr99] crawled exaustivamente 2500 Estimou o tamanho da web como 800 milhões de páginas Estimou o uso de metadados descritores: Meta tags (palavra chave, descrição) em 34% das páginas Sec. 19.5

36 Introduction to Information Retrieval Vantagens e desvantagens Vantagens Estatísticas claras Independente das estratégias de crawling Desvantagens Não trata duplicação Muitos hosts podem compartilhar um IP, ou não aceitar requisições Não tem garantia que todas as páginas estão linkadas para uma página raiz Lei do poder para páginas #/hosts geraram bias em direção a sites com poucas páginas. Mas bias podem ser quantificados precisamente Influenciado potencialmente por spamming (múltiplos IPs para um mesmo servidor para evitar bloqueio de IP) Sec. 19.5

37 Introduction to Information Retrieval Passeio aleatório (Random walks) Veja a Web como um grafo dirigido Construa um passeio aleatório nesse grafo Inclua várias regras de pulo para voltar a sites já visitados Não fique presos em spider traps! Pode seguir todos os links! Convirja para uma distribuição estacionária Deve assumir o grafo como finito e independente do caminho. Condições não estão satisfeitas (cookie crumbs, flooding) Tempo para convergência não é realmente conhecido Exemplo de distribuição estacionária do passeio Use o método da consulta forte para checar a cobertura pelos SE (Search Engines) Sec. 19.5

38 Introduction to Information Retrieval Vantagens e desvantagens Vantagens Método estatisticamente claro pelo menos na teoria! Podia trabalhar até mesmo para uma web infinita (assumindo convergência) sobre certas métricas. Desvantagens Lista de sementes é um problema. Aproximação prática pode não ser válida. Distribuiçã não uniforme Subject to link spamming Sec. 19.5

39 Introduction to Information Retrieval Conclusão Sem soluções perfeitas Várias novas idéias mas o problema está ficando difícil Estudos quantitativos são fascinantes e um bom problema de pesquisa Sec. 19.5

40 Introduction to Information Retrieval Detecção de duplicações Sec. 19.6

41 Introduction to Information Retrieval Documentos duplicados A Web é cheia de conteúdo duplicado Detecção de duplicação restrito = exata Não é comum Mas muitos, muitos casos perto de duplicação Isto é, última data de modificação a única diferença entre duas cópias de uma página Sec. 19.6

42 Introduction to Information Retrieval Duplicado/Detecção de duplicação próxima Duplicação: Emparelhamento idêntico, pode ser detectado com impressão digital (fingerprints) Duplicação próxima: Emparelhamento próximo Visão geral Calcula a similaridade estática com uma edit-distance measure Use similaridade limiar para detectar duplicações próximas Isto é, similaridade > 80% => Documentos são aproximadamente duplicados Sec. 19.6

43 Introduction to Information Retrieval Calculando similaridade Características: Segmentos de um documento (breakpoints naturais ou artificiais) Shingles (Word N-Grams) a rose is a rose is a rose a_rose_is_a rose_is_a_rose is_a_rose_is a_rose_is_a Medida de similaridade entre dois documentos (= conjuntos de shingles) Conjunto de interseção Especificamente (Tamanho_interseção / Tamanho_união) Sec. 19.6

44 Introduction to Information Retrieval Shingles + Conjunto de intersecção Calcular o conjunto exato de interseção de shingles entre todos os pares de documentos é caro Aproximar utilizando um conjunto de esclha inteligente of shingles de cada (um esboço) Estimativa(tamanho da intersecção / tamanho da união) baseado em um pequeno esboço Doc A Shingle set A Sketch A Doc B Shingle set B Sketch B Jaccard Sec. 19.6

45 Introduction to Information Retrieval Esboço de um documento Crie um sketch vector (tamanho ~200) para cada documento Documentos que partilham t (digo 80%) elementos correspondentes do vetor são aproximadamente duplicados Para doc D, esboço D [ i ] é como segue: Seja f map todos shingles em um universo de 0..2 m (isto é, f = impressão digial) Seja i uma permutação aleatória em 0..2 m Escolha MIN { i (f(s))} todos shingles s em D Sec. 19.6

46 Introduction to Information Retrieval Calculando Sketch[i] para Doc1 Documento Comece com 64-bit f(shingles) Permute no número da linha com i Escolha o valor mínimo Sec. 19.6

47 Introduction to Information Retrieval Teste se Doc1.Sketch[i] = Doc2.Sketch[i] Documento 1 Documento São iguais? Teste para 200 permutações aleatórias:,,… 200 AB Sec. 19.6

48 Introduction to Information Retrieval Entretanto… Documento 1 Documento A = B se o shingle com o valor MIN na união de Doc1 e Doc2 é comum para ambos (isto é, mentem na intersecção) Reivindicação: Isso acontece com probabilidade Tamanho da intersecção / Tamanho da união B A Why? Sec. 19.6

49 Introduction to Information Retrieval Similaridade de conjunto dos conjuntos C i, C j Olhe conjuntos com uma coluna da matriz A; uma linha para cada elemento no universo. a ij = 1 indica presença do item i no conjunto j Exemplo C 1 C Jaccard(C 1,C 2 ) = 2/5 = Sec. 19.6

50 Introduction to Information Retrieval Observação chave Para colunas C i, C j, quatro tipos de linhas C i C j A 1 1 B 1 0 C 0 1 D 0 0 Notação de sobrecarga: A = # das linhas do tipo A Reivindicação Sec. 19.6

51 Introduction to Information Retrieval Min Hashing Randomly permute rows Hash h(C i ) = índice da primeira linha com 1 na coluna C i Propriedade surpreendente Por que? Ambos são A/(A+B+C) Look down columns C i, C j until first non-Type-D row h(C i ) = h(C j ) type A row Sec. 19.6

52 Introduction to Information Retrieval Min-Hash sketches Pick P random row permutations MinHash sketch Sketch D = list of P indexes of first rows with 1 in column C Similarity of signatures Let sim[sketch(C i ),sketch(C j )] = fraction of permutations where MinHash values agree Observe E[sim(sig(C i ),sig(C j ))] = Jaccard(C i,C j ) Sec. 19.6

53 Introduction to Information Retrieval Example C 1 C 2 C 3 R R R R R Signatures S 1 S 2 S 3 Perm 1 = (12345) Perm 2 = (54321) Perm 3 = (34512) Similarities Col-Col Sig-Sig Sec. 19.6

54 Introduction to Information Retrieval Implementação de truque Permuting universe even once is prohibitive Row Hashing Pick P hash functions h k : {1,…,n} {1,…,O(n)} Ordering under h k gives random permutation of rows One-pass Implementation For each C i and h k, keep slot for min-hash value Initialize all slot(C i,h k ) to infinity Scan rows in arbitrary order looking for 1s Suppose row R j has 1 in column C i For each h k, if h k (j) < slot(C i,h k ), then slot(C i,h k ) h k (j) Sec. 19.6

55 Introduction to Information Retrieval Exemplo C 1 C 2 R R R R R h(x) = x mod 5 g(x) = 2x+1 mod 5 h(1) = 11- g(1) = 33- h(2) = 212 g(2) = 030 h(3) = 312 g(3) = 220 h(4) = 412 g(4) = 420 h(5) = 010 g(5) = 120 C 1 slots C 2 slots Sec. 19.6

56 Introduction to Information Retrieval Comparando assinaturas Assinatura Matriz S Linhas = Funções Hash Colunas = Colunas Entradas = Assinaturas Pode calcular – Pair-wise similarity of any pair of signature columns Sec. 19.6

57 Introduction to Information Retrieval Todos os pares de assinatura Agora temos um método extremamente eficiente para estimar o coeficiente de Jaccard para um único par de documentos Mas ainda temos de estimar coeficientes N 2 onde N é o número de páginaw web Still slow Uma solução: locality sensitive hashing (LSH) Outra solução: sorting (Henzinger 2006) Sec. 19.6

58 Introduction to Information Retrieval More resources IIR Chapter 19


Carregar ppt "Introduction to Information Retrieval Introduction to Information Retrieval CS276 Information Retrieval and Web Search Christopher Manning and Prabhakar."

Apresentações semelhantes


Anúncios Google