39
Introduction to Information Retrieval Introduction to Information Retrieval CS276 Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan Lecture 7: Scoring and results assembly

CS276 Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

  • Upload
    havily

  • View
    31

  • Download
    0

Embed Size (px)

DESCRIPTION

CS276 Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan Lecture 7: Scoring and results assembly. Ch. 7. Nesta aula. Aumentar velocidade da classificação espaço-vetor Juntando um sistema de busca completo - PowerPoint PPT Presentation

Citation preview

Page 1: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

Introduction to

Information Retrieval

CS276Information Retrieval and Web Search

Christopher Manning and Prabhakar RaghavanLecture 7: Scoring and results assembly

Page 2: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

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

Ch. 7

Page 3: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

Computando a pontuação de cossenos

Sec. 6.3.3

Page 4: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

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?

Sec. 7.1

Page 5: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

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.

Sec. 7.1

Page 6: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

Caso especial – consultas não ponderadas 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

Sec. 7.1

Page 7: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

Cosseno rápido: consulta não ponderada

Sec. 7.1

Page 8: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

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

Page 9: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

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 2J operações para construir, então cada K

“vencedor” é lido em 2log J passos. Para J=1M, K=100, isto é em torno de 10% do custo

para ordenação.1

.9 .3.8.3

.1

.1

Sec. 7.1

Page 10: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

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?

Sec. 7.1.1

Page 11: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

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

Sec. 7.1.1

Page 12: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

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 dos 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

Sec. 7.1.1

Page 13: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

Eliminação de índices O algoritmo básico FastCosineScore 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

Sec. 7.1.2

Page 14: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

Termos de consulta com alto idf apenas 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

Sec. 7.1.2

Page 15: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

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

Page 16: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

3 de 4 termos da consulta

BrutusCaesarCalpurnia

1 2 3 5 8 13 21 342 4 8 16 32 64128

13 16

Antony 3 4 8 16 32 64128

32

Pontuação apenas computada para os docs 8, 16 e 32.

Sec. 7.1.2

Page 17: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

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.3

Page 18: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

Quantitativo

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)

Sec. 7.1.4

Page 19: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

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]

Sec. 7.1.4

Page 20: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

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

Sec. 7.1.4

Page 21: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

Top K por pontuação líquida – métodos rápidos 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

Sec. 7.1.4

Page 22: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

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

Sec. 7.1.4

Page 23: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

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

Sec. 7.1.4

Page 24: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

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

Sec. 7.1.4

Page 25: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

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

Sec. 7.1.5

Page 26: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

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 dos documentos Um para os postings de cada termo da consulta

Computa apenas a pontuação dos documentos nesta união

Sec. 7.1.5

Page 27: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

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

Sec. 7.1.5

Page 28: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

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.

Sec. 7.1.6

Page 29: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

Poda de grupo: processamento de consulta 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

Page 30: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

Visualização

Consulta

Líder Seguidor

Sec. 7.1.6

Page 31: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

Porque utilizar amostragem aleatória Rápido Líderes refletem a distribuição de dados

Sec. 7.1.6

Page 32: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

Variantes gerais Tenha cada seguidor ligados a b1=3 (digamos) líderes

mais próximos. Da consulta, encontre b2=4 (digamos) líderes mais

próximos e seus seguidores. Pode reincindir na construção Líder/Seguidor.

Sec. 7.1.6

Page 33: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

Í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

Sec. 7.2.1

Page 34: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

Exemplo de índice de camadas

Sec. 7.2.1

Page 35: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

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?

Sec. 7.2.2

Page 36: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

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

Sec. 7.2.3

Page 37: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

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

Sec. 7.2.3

Page 38: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

Colocando tudo junto

Sec. 7.2.4

Page 39: CS276 Information Retrieval and Web Search Christopher Manning and  Prabhakar  Raghavan

Introduction to Information Retrieval

Resources IIR 7, 6.1