Introduction to Information Retrieval CS 276 Information Retrieval

  • Slides: 39
Download presentation
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 7: Scoring and results assembly

Introduction to Information Retrieval Ch. 7 Nesta aula § Aumentar velocidade da classificação espaço-vetor

Introduction to Information Retrieval Ch. 7 Nesta aula § Aumentar velocidade da classificação espaço-vetor § Juntando um sistema de busca completo § Precisamos aprender uma miscelânea de tópicos e heurísticas

Introduction to Information Retrieval Sec. 6. 3. 3 Computando a pontuação de cossenos

Introduction to Information Retrieval Sec. 6. 3. 3 Computando a pontuação de cossenos

Introduction to Information Retrieval Sec. 7. 1 Classificação eficiente de cossenos. § Encontrar os

Introduction to Information Retrieval Sec. 7. 1 Classificação eficiente de cossenos. § Encontrar os K documentos na coleção “aproximada” à consulta para K cossenos consulta-documento maiores. § Classificação eficiente: § Computando um único cosseno eficientemente § Escolhendo eficientemente os K maiores valores de cosseno § Podemos fazer isto sem computar todos os N cossenos?

Introduction to Information Retrieval Sec. 7. 1 Classificação eficiente de cossenos § O que

Introduction to Information Retrieval Sec. 7. 1 Classificação eficiente de cossenos § O que estamos fazendo: resolvendo o problema dos vizinhos mais próximos a k, para um vetor consulta. § Em geral, não sabemos como fazer isto eficientemente para espaços super-dimensionados § Mas isto é resolvido por consultas pequenas, e índices padrões suportam isto bem.

Introduction to Information Retrieval Caso especial – consultas não ponderadas Sec. 7. 1 §

Introduction to Information Retrieval Caso especial – consultas não ponderadas Sec. 7. 1 § Sem ponderação nos termos de consulta § Assumimos que cada termo da consulta ocorre somente uma vez § Assim para a classificação, não precisamos normalizar os vetores da consulta. § Ligeira simplificação do algoritmo do capítulo 6

Introduction to Information Retrieval Cosseno rápido: consulta não ponderada Sec. 7. 1

Introduction to Information Retrieval Cosseno rápido: consulta não ponderada Sec. 7. 1

Introduction to Information Retrieval Sec. 7. 1 Computando os K cossenos maiores: seleção vs.

Introduction to Information Retrieval Sec. 7. 1 Computando os K cossenos maiores: seleção vs. ordenação § Tipicamente nós queremos recuperar os top K documentos (na classificação de cossenos para a consulta) § Não ordenar totalmente todos os documentos da coleção § Podemos escolher os documentos com os K maiores cossenos? § Seja J = número de documentos com cossenos diferentes de zero § Vamos buscar os K melhores destes J

Sec. 7. 1 Introduction to Information Retrieval Uso de pilha (heap) para selecionar os

Sec. 7. 1 Introduction to Information Retrieval Uso de pilha (heap) para selecionar os top K § Árvore binária em que cada valor de nó > os valores dos filhos § Seja 2 J operações para construir, então cada K “vencedor” é lido em 2 log J passos. § Para J=1 M, K=100, isto é em torno de 10% do custo para ordenação. 1 . 9. 3 . 3. 8. 1

Introduction to Information Retrieval Sec. 7. 1. 1 Gargalos § Gargalo computacional primário na

Introduction to Information Retrieval Sec. 7. 1. 1 Gargalos § Gargalo computacional primário na pontuação: computação de cossenos § Podemos evitar toda esta computação? § Sim, mas as vezes podemos errar § Um documento que não está nos top K podem influenciar a lista dos K documentos de saída § Isto é uma coisa ruim?

Introduction to Information Retrieval Sec. 7. 1. 1 Similaridade de cosseno é apenas um

Introduction to Information Retrieval Sec. 7. 1. 1 Similaridade de cosseno é apenas um proxy (representante, procurador) § Usuários possuem a tarefa da formulação da consulta § Cosseno corresponde documentos à consultas § Deste modo cosseno é apenas um proxy para a felicidade do usuário § Se nós recebemos a lista dos K documentos “próximos” aos top K por medida de cosseno, deve estar ok

Introduction to Information Retrieval Sec. 7. 1. 1 Abordagem genérica § Considere um conjunto

Introduction to Information Retrieval Sec. 7. 1. 1 Abordagem genérica § Considere um conjunto A de candidatos, com K < |A| << N § A não necessariamente contém os top K, mas possui muitos documentos dentre os top K § Retorna os top K documentos em A § Imagine A como uma poda dos não-candidatos (pruning non-contenders) § A mesma abordagem é também utilizada para outras (não-cosseno) funções de pontuação § Vamos ver diversos esquemas a seguir desta abordagem

Introduction to Information Retrieval Sec. 7. 1. 2 Eliminação de índices § O algoritmo

Introduction to Information Retrieval Sec. 7. 1. 2 Eliminação de índices § O algoritmo básico Fast. Cosine. Score da Fig 7. 1 apenas considera os documentos contendo pelo menos um termo da consulta § Além disso: § Apenas considera termos de consulta com alto idf § Apenas considera documentos que contém muitos termos de consulta

Introduction to Information Retrieval Termos de consulta com alto idf apenas Sec. 7. 1.

Introduction to Information Retrieval Termos de consulta com alto idf apenas Sec. 7. 1. 2 § Para uma consulta do tipo catcher in the rye § Apenas acumula a pontuação de catcher e rye § Intuição: in e the contribui muito pouco para a pontuação e então não altera muito a ordenação do rank § Benefício: § Postings de termos de baixo idf possuem muitos documentos estes (muitos) documentos são eliminados do conjunto A de candidatos

Introduction to Information Retrieval Sec. 7. 1. 2 Documentos contendo muitos termos de consulta

Introduction to Information Retrieval Sec. 7. 1. 2 Documentos contendo muitos termos de consulta § Qualquer documento com pelo menos um termo de consulta é um candidato para a lista de saída dos top K § Para consultas multi-termos, apenas é computada a pontuação para documentos contendo muitos dos termos da consulta § Digamos, ao menos 3 dos 4 § Estabelece uma “conjunção suave” nas consultas vistas em sistemas de busca web (Google) § Fácil de implementar percorrendo os postings

Sec. 7. 1. 2 Introduction to Information Retrieval 3 de 4 termos da consulta

Sec. 7. 1. 2 Introduction to Information Retrieval 3 de 4 termos da consulta Antony 3 4 8 16 32 64 128 Brutus 2 4 8 16 32 64 128 Caesar 1 3 5 Calpurnia 2 8 13 21 34 13 16 32 Pontuação apenas computada para os docs 8, 16 e 32.

Introduction to Information Retrieval Sec. 7. 1. 3 Listas dos campeões § Pré computar

Introduction to Information Retrieval Sec. 7. 1. 3 Listas dos campeões § Pré computar para cada termo t do dicionário, os r documentos de maios peso dentre os t’s postings § Chamado de lista de campeões (champion list) para t § (aka fancy list ou top docs para t) § Note que r deve ser escolhido no tempo de construção do índice § Portanto, é possível que r < K § Ao tempo de consulta , apenas computa pontuação para documentos na lista de campeões de algum termo da consulta § Pegue os K documentos de maior pontuação dentre estes

Sec. 7. 1. 4 Introduction to Information Retrieval Pontuação de qualidade estática § Queremos

Sec. 7. 1. 4 Introduction to Information Retrieval Pontuação de qualidade estática § Queremos os documentos do topo do ranking que sejam relevantes e autoritários § Relevância está sendo modelada pela pontuação de cossenos. § Autoridade é uma propriedade tipicamente independente de consulta de um documento. § Exemplos de sinais de autoridade § § § Wikipedia entre os sites Artigos em certos jornais Um paper com muitas citações Many diggs, Y!buzzes ou del. icio. us marks (Pagerank) Quantitativo

Introduction to Information Retrieval Sec. 7. 1. 4 Modelagem de autoridade § Atribui a

Introduction to Information Retrieval Sec. 7. 1. 4 Modelagem de autoridade § Atribui a cada documento uma pontuação de qualidade independente de consulta em [0, 1] para cada documento d § Denote isto por g(d) § Portanto, uma quantidade como o número de citações é dimensionado em [0, 1]

Introduction to Information Retrieval Sec. 7. 1. 4 Pontuação líquida § Considere uma pontuação

Introduction to Information Retrieval Sec. 7. 1. 4 Pontuação líquida § Considere uma pontuação total simples combinando relevância de cossenos e autoridade § net-score(q, d) = g(d) + cosseno(q, d) § Podemos usar alguma outra combinação do que ponderação de igualdade § De fato, qualquer função dos dois “sinais” da felicidade do usuário – mais a frente § Agora nós buscamos os top K documentos por pontuação líquida

Introduction to Information Retrieval Top K por pontuação líquida – métodos rápidos Sec. 7.

Introduction to Information Retrieval Top K por pontuação líquida – métodos rápidos Sec. 7. 1. 4 § Primeira idéia: Ordene todos os postings por g(d) § Chave: este é uma ordenação comum para todos os postings § Portanto, simultaneamente podemos percorrer os postings dos termos da consulta para § Interseção de Postings § Computação de pontuação de cossenos

Introduction to Information Retrieval Sec. 7. 1. 4 Por que ordenar os postings por

Introduction to Information Retrieval Sec. 7. 1. 4 Por que ordenar os postings por g(d)? § Sob ordenação-g(d), documentos com pontuação top são prováveis de aparecer antes percorrendo os postings § Em aplicações de limite de tempo (digamos, são retornados quaisquer resultados de busca possível em 50 ms), permitindo parar de percorrer os postings mais cedo § Redução de pontuação de computação para todos documentos nos postings

Introduction to Information Retrieval Sec. 7. 1. 4 Lista de Campeões em ordenação g(d)

Introduction to Information Retrieval Sec. 7. 1. 4 Lista de Campeões em ordenação g(d) § Podemos combinar a lista de campeões com ordenação g(d) § Mantendo para cada termo uma lista de campeões dos r documentos com maior g(d) + tf-idftd § Buscar os top-K resultados de apenas os documentos que estão na lista de campeões

Introduction to Information Retrieval Sec. 7. 1. 4 Listas de altas e baixas §

Introduction to Information Retrieval Sec. 7. 1. 4 Listas de altas e baixas § Para cada termo, mantemos duas listas de postings chamados altas e baixas § Pense como alta como a lista de campeões § Quando percorremos os postings de uma consulta, apenas atravessar a lista de altos primeiros § Se nós pegamos mais do que K documentos, selecionamos os top K e paramos § Do contrário procedemos pegando os documentos da lista de baixas § Podemos usar mesmo para pontuações simples de cossenos, sem a qualidade global g(d) § Um modo de segmentar o indice em dois níveis

Introduction to Information Retrieval Sec. 7. 1. 5 Posting Impacto-ordenado § Nós queremos apenas

Introduction to Information Retrieval Sec. 7. 1. 5 Posting Impacto-ordenado § Nós queremos apenas computar a pontuação para documentos para o qual o wft, d é alto o suficiente § Nós vamos ordenar a lista de postings wft, d § Agora: nem todos os postings em uma ordem comum! § Como computamos a pontuação a fim de recuperar os top K? § Duas idéias seguem

Introduction to Information Retrieval Sec. 7. 1. 5 1. Terminação mais cedo § Quando

Introduction to Information Retrieval Sec. 7. 1. 5 1. Terminação mais cedo § Quando percorremos as listas dos postings dos termos, paramos mais cedo quando § Um número fixo r de documentos é atingido § wft, d cai para menos de um limite fixado § Seja a união dos conjuntos de resultados documentos § Um para os postings de cada termo da consulta § Computa apenas a pontuação dos documentos nesta união

Introduction to Information Retrieval Sec. 7. 1. 5 2. Termos idf-ordenados § Quando consideramos

Introduction to Information Retrieval Sec. 7. 1. 5 2. Termos idf-ordenados § Quando consideramos os postings dos termos da consulta § Imagine eles em ordem decrescente de idf § Termos com idf altos provavelmente contribui mais para a pontuação § A medida que atualizamos a pontuação de contribuição de cada termo da consulta § Paramos se a pontuação do documento não muda relativamente § Podemos aplicar para cosseno ou alguma outra pontuação líquida

Introduction to Information Retrieval Sec. 7. 1. 6 Poda de grupo: pré-processamento § Pegue

Introduction to Information Retrieval Sec. 7. 1. 6 Poda de grupo: pré-processamento § Pegue N documentos randômicos: chame -os de líderes § Para cada outro documento, pré-compute proximidade com o líder § Documentos ligados a um líder: são os seguidores; § Provavelmente: cada líder tem ~ N seguidores.

Introduction to Information Retrieval Poda de grupo: processamento de consulta Sec. 7. 1. 6

Introduction to Information Retrieval Poda de grupo: processamento de consulta Sec. 7. 1. 6 § Processa uma consulta como segue: § Dado uma consulta Q, encontre o líder L mais similar. § Encontre os k documentos mais similares entre os seguidores de L.

Sec. 7. 1. 6 Introduction to Information Retrieval Visualização Consulta Líder Seguidor

Sec. 7. 1. 6 Introduction to Information Retrieval Visualização Consulta Líder Seguidor

Introduction to Information Retrieval Sec. 7. 1. 6 Porque utilizar amostragem aleatória § Rápido

Introduction to Information Retrieval Sec. 7. 1. 6 Porque utilizar amostragem aleatória § Rápido § Líderes refletem a distribuição de dados

Introduction to Information Retrieval Sec. 7. 1. 6 Variantes gerais § Tenha cada seguidor

Introduction to Information Retrieval Sec. 7. 1. 6 Variantes gerais § Tenha cada seguidor ligados a b 1=3 (digamos) líderes mais próximos. § Da consulta, encontre b 2=4 (digamos) líderes mais próximos e seus seguidores. § Pode reincindir na construção Líder/Seguidor.

Introduction to Information Retrieval Sec. 7. 2. 1 Índices diferenciados § Quebre postings em

Introduction to Information Retrieval Sec. 7. 2. 1 Índices diferenciados § Quebre postings em listas hierárquicas § Muito importante § … § Menos importante § Pode ser feito por g(d) ou outra medida § Índices invertidos quebrados em camadas de importâncias decremental § Na hora da consulta utilize as maiores camadas a não ser que não complete os K documentos § Se acontecer passe para a camada abaixo

Introduction to Information Retrieval Exemplo de índice de camadas Sec. 7. 2. 1

Introduction to Information Retrieval Exemplo de índice de camadas Sec. 7. 2. 1

Introduction to Information Retrieval Sec. 7. 2. 2 Proximidade da Consulta e termo §

Introduction to Information Retrieval Sec. 7. 2. 2 Proximidade da Consulta e termo § Consulta de texto livre: apenas um conjunto de termos escrito em uma caixa de pesquisa – comum na web § Usuários preferem documentos em que os termos da consulta ocorrem com proximidade entre si § Seja w a menor janela em um documento que contém todos os termos da consulta, por exemplo, § Para a consulta strained mercy a menor janela no documento The quality of mercy is not strained é 4 (palavra) § Queremos uma função de pontuar que leve isto em conta – como?

Introduction to Information Retrieval Sec. 7. 2. 3 Analisadores de consultas § Consulta de

Introduction to Information Retrieval Sec. 7. 2. 3 Analisadores de consultas § Consulta de texto livre de um usuário pode de fato resultar em uma ou mais consultas para indexar, por exemplo, a consulta rising interest rates § Execute a consulta como uma consulta de frase § Se <K documentos que contém a a frase rising interest rates, execute as duas consultas de frases rising interest e interest rates § Se ainda <K documentos, execute a consulta de espaço vetor rising interest rates § Classifique os documentos correspondentes à pontuação espaço vetor § Esta seqüência é um problema para um analisador de consulta

Introduction to Information Retrieval Sec. 7. 2. 3 Pontuação Global § Nós vimos que

Introduction to Information Retrieval Sec. 7. 2. 3 Pontuação Global § Nós vimos que funções de pontuação podem combinar cosseno, qualidade estática, proximidade, etc. § Como sabemos a melhor combinação? § Algumas aplicações – expert-tuned (sintonia por expert) § Cada vez mais comum: aprendizado-máquina

Introduction to Information Retrieval Colocando tudo junto Sec. 7. 2. 4

Introduction to Information Retrieval Colocando tudo junto Sec. 7. 2. 4

Introduction to Information Retrieval Resources § IIR 7, 6. 1

Introduction to Information Retrieval Resources § IIR 7, 6. 1