1 / 39

CS276 Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

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

havily
Download Presentation

CS276 Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS276Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan Lecture 7: Scoring and results assembly

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

  3. Sec. 6.3.3 Computando a pontuação de cossenos

  4. 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?

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

  6. Sec. 7.1 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

  7. Sec. 7.1 Cosseno rápido: consulta não ponderada

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

  9. Sec. 7.1 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 .3 .8 .1 .1

  10. 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?

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

  12. Sec. 7.1.1 Abordagemgené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 (pruningnon-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

  13. Sec. 7.1.2 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

  14. Sec. 7.1.2 Termos de consulta com alto idf apenas • Para uma consulta do tipo catcher in therye • Apenas acumula a pontuação de catchere rye • Intuição: in e thecontribui 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

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

  16. Sec. 7.1.2 3 2 4 4 8 8 16 16 32 32 64 64 128 128 1 2 3 5 8 13 21 34 3 de 4 termosdaconsulta Antony Brutus Caesar Calpurnia 13 16 32 Pontuaçãoapenascomputadaparaos docs 8, 16 e 32.

  17. 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’spostings • Chamado de lista de campeões (championlist) para t • (akafancylist 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

  18. Sec. 7.1.4 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 • Manydiggs, Y!buzzes ou del.icio.us marks • (Pagerank) Quantitativo

  19. 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]

  20. Sec. 7.1.4 Pontuaçãolí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

  21. Sec. 7.1.4 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

  22. Sec. 7.1.4 Porqueordenaros postings porg(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

  23. Sec. 7.1.4 Lista de Campeõesemordenaçãog(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

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

  25. 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 postingswft,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

  26. Sec. 7.1.5 1. Terminaçãomaiscedo • Quandopercorremos as listas dos postings dos termos, paramosmaiscedoquando • Um númerofixor de documentos é atingido • wft,dcaiparamenos de um limitefixado • Seja a união dos conjuntos de resultados dos documentos • Um paraos postings de cadatermodaconsulta • Computaapenas a pontuação dos documentosnestaunião

  27. Sec. 7.1.5 2. Termosidf-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

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

  29. Sec. 7.1.6 Poda de grupo: processamento de consulta • Processaumaconsultacomo segue: • Dado umaconsultaQ, encontre o líderLmais similar. • Encontreosk documentosmaissimilares entre osseguidores de L.

  30. Sec. 7.1.6 Visualização Consulta Líder Seguidor

  31. Sec. 7.1.6 Porqueutilizaramostragemaleatória • Rápido • Líderesrefletem a distribuição de dados

  32. Sec. 7.1.6 Variantesgerais • 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.

  33. Sec. 7.2.1 Índicesdiferenciados • 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

  34. Sec. 7.2.1 Exemplo de índice de camadas

  35. Sec. 7.2.2 ProximidadedaConsulta 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 strainedmercy a menor janela no documento Thequalityofmercy is notstrained é 4 (palavra) • Queremos uma função de pontuar que leve isto em conta – como?

  36. 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 risinginterest rates • Execute a consulta como uma consulta de frase • Se <K documentos que contém a a frase risinginterest rates, execute as duas consultas de frases risingintereste interest rates • Se ainda <K documentos, execute a consulta de espaço vetor risinginterest rates • Classifique os documentos correspondentes à pontuação espaço vetor • Esta seqüência é um problema para um analisador de consulta

  37. Sec. 7.2.3 Pontuação Global • Nósvimosquefunções de pontuaçãopodemcombinarcosseno, qualidadeestática, proximidade, etc. • Como sabemos a melhorcombinação? • Algumasaplicações – expert-tuned (sintoniapor expert) • Cadavezmaiscomum: aprendizado-máquina

  38. Sec. 7.2.4 Colocandotudojunto

  39. Resources • IIR 7, 6.1

More Related