SlideShare uma empresa Scribd logo
1 de 36
Centro de Informática – Universidade Federal da Paraíba




              Ordenação e Recuperação de Dados
               Aula 8: Cálculo de Score




                Prof. Alexandre Duarte - http://alexandre.ci.ufpb.br
                                                                       1   1
Agenda

❶   Revisão

❶   Por que rankear?

❹   Implementação de classificação

❺   Um sistemas de buscas completo



                                     2
Agenda

❶   Revisão

❶   Por que rankear?

❹   Implementação de classificação

❺   Um sistemas de buscas completo



                                     3
Peso da frequência de termo

  A frequência logarítimica de um termo t em um documento d
   é definida da seguinte maneira:




                                                           4
Peso idf

   A frequência em documento dft é definida pelo número de
    documentos nos quais t aparece
   Definimos o peso idf de um termo t como segue:



   idf é uma medida de quão informativo é um termo.




                                                              5
Peso tf-idf


   O peso tf-idf de um termo é o produto de seus pesos tf e idf.




                                                                    6
Similaridade de cosseno entre uma consulta e
um documento




   qi é o peso tf-idf do termo i na consulta.
   di é o peso tf-idf do termo i no documento.
       e     são as normas dos vetores        e



                                                   7
Similaridade de cosseno




                          8
Aula de hoje


  A importância da classificação: Estudos do Google
  Implementação de classificação
  Um sistema de buscas completo




                                                       9
Agenda

❶   Revisão

❶   Por que rankear?

❹   Implementação de classificação

❺   Um sistemas de buscas completo



                                     10
Por que classificação é tão importante?

 Últimas aulas: Problemas com recuperação sem classificação
    Os usuários quem analisar poucos resultados – e não milhares.
    É muito difícil escrever consultas que resultem em poucos
     resultados.
    Mesmo para pesquisadores experientes
    → classificação é importante porque ela reduz um grande
     conjunto de resultados para um conjunto muito menor.
 A seguir: mais sobre “usuários querem analisar poucos
  resultados”
 Na verdade, na grande maioria dos casos, os usuários só
  examinam 1, 2 ou 3 resultados.
                                                                     11
Investigação empírica sobre os efeitos da
classificação de resultados
 Como poderíamos medir a importância da classificação de resultados de
  consultas?
 Observe em um ambiente controlado o que os usuários fazem enquanto
  estão pesquisando
     Filme-os
     Peça para “pensarem alto”
     Entreviste-os
     Monitore seus olhares
     Monitore seu tempo
     Grave e conte seus cliques de mouse
 Os slides a seguir são da apresentação do Dan Russell na JCDL
 Dan Russell é o guru da Google para “Qualidade de Busca & Felicidade dos
  Usuários”
                                                                          12
13
14
15
16
17
18
A importância da classificação: Sumário
 Leitura dos resumos: Os usuários preferem ler os resumos dos
  resultados mais bem classificados (1, 2, 3, 4) do que os resumos
  dos resultados com classificação inferior (7, 8, 9, 10).
 Cliques: Essa distribuição é ainda mais desigual para os cliques
 Em uma a cada duas consultas os usuários clicam no resultado
  número 1.
 Mesmo que o resultado número 1 não seja relevante, 30% dos
  usuários clicaram nele.
 → Classificar de forma correta é importante.
 → Classificar corretamente os melhores resultados é ainda
  mais importante.
                                                               19
Agenda

❶   Revisão

❶   Por que rankear?

❹   Implementação de classificação

❺   Um sistemas de buscas completo



                                     20
Precisaremos da frequência dos termos




 Precisaremos também das posições, não ilustradas aqui.




                                                          21
Como encontrar os top k resultados no ranking?

   Em muitas aplicações nós não precisamos de um ranking
    completo.
   Precisamos apenas dos top k resultados para um k
    pequeno(e.g., k = 100).
   Se não precisamos de um ranking completo, há alguma forma
    de eficiente para encontrar apenas os top k resultados?
   Abordagem ingênua:
      Computar os scores para todos os N documentos
      Ordenar
      Retornar os top k documentos

   Qual o problema com essa abordagem?
                                                            22
Use um heap mínimo para selecionar os top k
documentos entre os N

  Use um heap mínimo binário
  Um heap binário mínimo é uma árvore binária na qual o valor
   de cada nó é menor do que o valor dos seus filhos.
  Precisamos de O(N log k) operações para construir um heap
   mínimo (onde N é o número de documentos) . . .
  . . . depois precisamos de O(k log k) operações para encontrar
   os top k resultados




                                                                23
Heap binário mínimo




                      24
Selecionado os top k documentos em O(N log k)

  Objetivo: Manter os top k documentos encontrados até o
   momento
  Usar um heap binário mínimo
  Para processar um novo documento d’ com score s′:
     Pegar o valor mínimo hm do heap (O(1))
     Se s′ ˂ m processar o próximo documento
             h
     Se s′ > hm heap-delete-root (O(log k))
     Heap-add s′ (O(log k))




                                                            25
Formas mais eficientes para encontrar os top k
documentos: Heuristicas
  Ideia 1: Reordenar as listas de postings
     Ao invés de ordenar os postings pelo docID . . .
     . . . ordenar de acordo com alguma medida da “expectativa de
      relevância”.
  Ideia 2: Usar heurísticas para podar o espaço de buscas
     Não dá garantias de corretude . . .
     . . . mas falham com pouca frequência.
     Na prática, próximo de tempo constante.




                                                                     26
Ordenação independente do docID
  Até agora: a lista de postings foi ordenada de acordo com o
   docID.
  Alternativa: utilizar uma medida independente de consulta da
   “qualidade” de uma página
  Exemplo: PageRank g(d) de uma página d, uma medida de
   quantas páginas “boas” tem links para a página d (capítulo 21)
  Ordenar os documentos nas postings listings de acordo com o
   PageRank: g(d1) > g(d2) > g(d3) > . . .
  Definir o score composto de um documento:
                net-score(q, d) = g(d) + cos(q, d)
  Este esquema suporta terminação precoce: não precisamos
   processar totalmente as listas de postings para achar os top k.
                                                                 27
Ordenação independente do docID
 Ordenar os documentos nas listas de postings de acordo com o
  PageRank: g(d1) > g(d2) > g(d3) > . . .
 Definir o score composto de um documento:
               net-score(q, d) = g(d) + cos(q, d)
 Suponha: (i) g → [0, 1]; (ii) g(d) < 0.1 para o documento d que
  estamos processando; (iii) o menor ranking dos top k
  documentos encontrados até agora é 1.2
 Portanto, todos os próximos scores serão < 1.1.
 Já encontramos os top k resultados e podemos parar o
  processamento e ignorar o restante da lista de posting.


                                                               28
Agenda

❶   Revisão

❶   Por que rankear?

❹   Implementação de classificação

❺   Um sistema de buscas completo



                                     29
Sistema de buscas completo




                             30
Índices estratificados
  Ideia básica:
      Criar uma série de índices, correspondendo a importância dos termos
       indexados
      Durante o processamento da consulta, iniciar pela séria de mais alta
       importância
      Se a séria mais alta retornar pelo menos k resultados, encerrar o
       processamento
      Se menos que k resultados forem encontrados: repetir o processo para
       a série seguinte
  Exemplo: sistema com duas séries
      Série 1: Índice com todos os títulos
      Série 2: Índice com o resto dos documentos
      Documentos que contem os termos da consulta no título são resultados
       melhores do que os que só contem os termos da consulta no corpo do
       texto.                                                            31
Índice estratificado




                       32
Índices Estratificados


  Acredita-se que o uso de índices estratificados foi uma das
   razões para o Google apresentar em seu lançamento uma
   melhor qualidade em seus resultados de busca que seus
   competidores.
     juntamente com o PageRank




                                                                 33
Sistema de buscas completo




                             34
Vimos até o momento

  Pré-processamento de documentos (linguístico)
  Índices posicionais
  Índices estratificados
  Correção ortográfica
  Índices com k-gramas para correção ortográfica e consulta com
   coringas
  Processamento de consulta
  Classificação de documentos



                                                              35
Componentes que ainda não vimos
  Cache de documentos: utilizado para gerar os sumários dos
   resultados
  Índices por zona: separam os índices por diferentes zonas no
   documento: corpo, texto selecionado texto âncora, texto nos
   metadados, etc
  Funções de classificação com aprendizagem de máquina
  Classificação por proximidade (e.g., classificar melhor
   documentos onde os termos da consulta aparecem juntos
   numa mesma página em relação a documentos onde os termos
   aparecem em diferentes páginas)
  Parsing da consulta
                                                             36

Mais conteúdo relacionado

Destaque

Dicionários e Recuperação Tolerante
Dicionários e Recuperação ToleranteDicionários e Recuperação Tolerante
Dicionários e Recuperação ToleranteAlexandre Duarte
 
Modelo de Espaço Vetorial
Modelo de Espaço VetorialModelo de Espaço Vetorial
Modelo de Espaço VetorialAlexandre Duarte
 
Scalable sentiment classification for big data analysis using naive bayes cla...
Scalable sentiment classification for big data analysis using naive bayes cla...Scalable sentiment classification for big data analysis using naive bayes cla...
Scalable sentiment classification for big data analysis using naive bayes cla...Tien-Yang (Aiden) Wu
 
Aula espaço vetorial
Aula espaço vetorialAula espaço vetorial
Aula espaço vetorialTuane Paixão
 
Sistemas de recomendação
Sistemas de recomendaçãoSistemas de recomendação
Sistemas de recomendaçãoAnderson Dantas
 
Introduction to text classification using naive bayes
Introduction to text classification using naive bayesIntroduction to text classification using naive bayes
Introduction to text classification using naive bayesDhwaj Raj
 
Aula 02 - Recuperação da Informação / Modelos de Sistemas de Recuperação
Aula 02 - Recuperação da Informação / Modelos de Sistemas de RecuperaçãoAula 02 - Recuperação da Informação / Modelos de Sistemas de Recuperação
Aula 02 - Recuperação da Informação / Modelos de Sistemas de RecuperaçãoNilton Heck
 

Destaque (10)

Construção de Índices
Construção de ÍndicesConstrução de Índices
Construção de Índices
 
Dicionários e Recuperação Tolerante
Dicionários e Recuperação ToleranteDicionários e Recuperação Tolerante
Dicionários e Recuperação Tolerante
 
Modelo de Espaço Vetorial
Modelo de Espaço VetorialModelo de Espaço Vetorial
Modelo de Espaço Vetorial
 
Scalable sentiment classification for big data analysis using naive bayes cla...
Scalable sentiment classification for big data analysis using naive bayes cla...Scalable sentiment classification for big data analysis using naive bayes cla...
Scalable sentiment classification for big data analysis using naive bayes cla...
 
Naive Bayes | Statistics
Naive Bayes | StatisticsNaive Bayes | Statistics
Naive Bayes | Statistics
 
Aula espaço vetorial
Aula espaço vetorialAula espaço vetorial
Aula espaço vetorial
 
Sistemas de recomendação
Sistemas de recomendaçãoSistemas de recomendação
Sistemas de recomendação
 
Introduction to text classification using naive bayes
Introduction to text classification using naive bayesIntroduction to text classification using naive bayes
Introduction to text classification using naive bayes
 
Aula 02 - Recuperação da Informação / Modelos de Sistemas de Recuperação
Aula 02 - Recuperação da Informação / Modelos de Sistemas de RecuperaçãoAula 02 - Recuperação da Informação / Modelos de Sistemas de Recuperação
Aula 02 - Recuperação da Informação / Modelos de Sistemas de Recuperação
 
Projeto de Experimentos
Projeto de ExperimentosProjeto de Experimentos
Projeto de Experimentos
 

Semelhante a Cálculo de Score

Avaliação de Sistemas de Recuperação da Informação
Avaliação de Sistemas de Recuperação da InformaçãoAvaliação de Sistemas de Recuperação da Informação
Avaliação de Sistemas de Recuperação da InformaçãoAlexandre Duarte
 
Defesa de Artigo: "GPU-NB: A Fast CUDA -based Implementation of Naive Bayes"
Defesa de Artigo: "GPU-NB: A Fast CUDA -based  Implementation of Naive Bayes"Defesa de Artigo: "GPU-NB: A Fast CUDA -based  Implementation of Naive Bayes"
Defesa de Artigo: "GPU-NB: A Fast CUDA -based Implementation of Naive Bayes"Andrew Edberg
 
Defesa de Artigo: "A hybrid construction of a decision tree for multimedia c...
Defesa de Artigo: "A hybrid construction of a decision  tree for multimedia c...Defesa de Artigo: "A hybrid construction of a decision  tree for multimedia c...
Defesa de Artigo: "A hybrid construction of a decision tree for multimedia c...Andrew Edberg
 
5 dicas para estruturar seu teste de performance
5 dicas para estruturar seu teste de performance5 dicas para estruturar seu teste de performance
5 dicas para estruturar seu teste de performanceAriane Izac
 
Seleção de Features para Ranking
Seleção de Features para RankingSeleção de Features para Ranking
Seleção de Features para Rankingcristnascimento
 
Oficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando ROficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando RFabrício Barth
 
Reescrita de Consultas em Federações de Dados Interligados usando uma Abordag...
Reescrita de Consultas em Federações de Dados Interligados usando uma Abordag...Reescrita de Consultas em Federações de Dados Interligados usando uma Abordag...
Reescrita de Consultas em Federações de Dados Interligados usando uma Abordag...Danusa Ribeiro
 
Resumo sobre Recovering from a decade: a systematic mapping of information re...
Resumo sobre Recovering from a decade: a systematic mapping of information re...Resumo sobre Recovering from a decade: a systematic mapping of information re...
Resumo sobre Recovering from a decade: a systematic mapping of information re...Avelino Ferreira Gomes Filho
 
Desenvolvimento Orientado a Documentação? Utilizando doctests para tornar seu...
Desenvolvimento Orientado a Documentação? Utilizando doctests para tornar seu...Desenvolvimento Orientado a Documentação? Utilizando doctests para tornar seu...
Desenvolvimento Orientado a Documentação? Utilizando doctests para tornar seu...Adam Victor Brandizzi
 
O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?Ariane Izac
 
Deep Learning para Sistemas de Recomendação
Deep Learning para Sistemas de RecomendaçãoDeep Learning para Sistemas de Recomendação
Deep Learning para Sistemas de RecomendaçãoMarlesson Santana
 
Introdução à Revisão Sistemática da Literatura
Introdução à Revisão Sistemática da LiteraturaIntrodução à Revisão Sistemática da Literatura
Introdução à Revisão Sistemática da LiteraturaFernando Kenji Kamei
 
Ensinando agilidade de forma efetiva utilizando software livre
Ensinando agilidade de forma efetiva utilizando software livre Ensinando agilidade de forma efetiva utilizando software livre
Ensinando agilidade de forma efetiva utilizando software livre Thaiane Braga
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwareAdolfo Neto
 

Semelhante a Cálculo de Score (20)

Avaliação de Sistemas de Recuperação da Informação
Avaliação de Sistemas de Recuperação da InformaçãoAvaliação de Sistemas de Recuperação da Informação
Avaliação de Sistemas de Recuperação da Informação
 
Mecanismo de Busca
Mecanismo de BuscaMecanismo de Busca
Mecanismo de Busca
 
Defesa de Artigo: "GPU-NB: A Fast CUDA -based Implementation of Naive Bayes"
Defesa de Artigo: "GPU-NB: A Fast CUDA -based  Implementation of Naive Bayes"Defesa de Artigo: "GPU-NB: A Fast CUDA -based  Implementation of Naive Bayes"
Defesa de Artigo: "GPU-NB: A Fast CUDA -based Implementation of Naive Bayes"
 
Clustering (Agrupamento)
Clustering (Agrupamento)Clustering (Agrupamento)
Clustering (Agrupamento)
 
Defesa de Artigo: "A hybrid construction of a decision tree for multimedia c...
Defesa de Artigo: "A hybrid construction of a decision  tree for multimedia c...Defesa de Artigo: "A hybrid construction of a decision  tree for multimedia c...
Defesa de Artigo: "A hybrid construction of a decision tree for multimedia c...
 
Deep Learning e NLP
Deep Learning e NLPDeep Learning e NLP
Deep Learning e NLP
 
5 dicas para estruturar seu teste de performance
5 dicas para estruturar seu teste de performance5 dicas para estruturar seu teste de performance
5 dicas para estruturar seu teste de performance
 
Seleção de Features para Ranking
Seleção de Features para RankingSeleção de Features para Ranking
Seleção de Features para Ranking
 
Oficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando ROficina: construção de modelos descritivos e preditivos utilizando R
Oficina: construção de modelos descritivos e preditivos utilizando R
 
Web Data Mining com R
Web Data Mining com RWeb Data Mining com R
Web Data Mining com R
 
Reescrita de Consultas em Federações de Dados Interligados usando uma Abordag...
Reescrita de Consultas em Federações de Dados Interligados usando uma Abordag...Reescrita de Consultas em Federações de Dados Interligados usando uma Abordag...
Reescrita de Consultas em Federações de Dados Interligados usando uma Abordag...
 
Resumo sobre Recovering from a decade: a systematic mapping of information re...
Resumo sobre Recovering from a decade: a systematic mapping of information re...Resumo sobre Recovering from a decade: a systematic mapping of information re...
Resumo sobre Recovering from a decade: a systematic mapping of information re...
 
Desenvolvimento Orientado a Documentação? Utilizando doctests para tornar seu...
Desenvolvimento Orientado a Documentação? Utilizando doctests para tornar seu...Desenvolvimento Orientado a Documentação? Utilizando doctests para tornar seu...
Desenvolvimento Orientado a Documentação? Utilizando doctests para tornar seu...
 
O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?O que eu deveria saber antes de testar performance?
O que eu deveria saber antes de testar performance?
 
Apresentacao curso-2017-08-08
Apresentacao curso-2017-08-08Apresentacao curso-2017-08-08
Apresentacao curso-2017-08-08
 
Deep Learning para Sistemas de Recomendação
Deep Learning para Sistemas de RecomendaçãoDeep Learning para Sistemas de Recomendação
Deep Learning para Sistemas de Recomendação
 
Introdução à Revisão Sistemática da Literatura
Introdução à Revisão Sistemática da LiteraturaIntrodução à Revisão Sistemática da Literatura
Introdução à Revisão Sistemática da Literatura
 
Workshop MongoDB
Workshop MongoDBWorkshop MongoDB
Workshop MongoDB
 
Ensinando agilidade de forma efetiva utilizando software livre
Ensinando agilidade de forma efetiva utilizando software livre Ensinando agilidade de forma efetiva utilizando software livre
Ensinando agilidade de forma efetiva utilizando software livre
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
 

Mais de Alexandre Duarte

Táticas para Projeto de Experimentos
Táticas para Projeto de ExperimentosTáticas para Projeto de Experimentos
Táticas para Projeto de ExperimentosAlexandre Duarte
 
Fazer Ciência é Difícil!
Fazer Ciência é Difícil!Fazer Ciência é Difícil!
Fazer Ciência é Difícil!Alexandre Duarte
 
Escolhendo um Projeto de Pesquisa
Escolhendo um Projeto de PesquisaEscolhendo um Projeto de Pesquisa
Escolhendo um Projeto de PesquisaAlexandre Duarte
 
Ciência da Computação como Ciência
Ciência da Computação como CiênciaCiência da Computação como Ciência
Ciência da Computação como CiênciaAlexandre Duarte
 
Metodologia da Pesquisa Científica: Introdução
Metodologia da Pesquisa Científica:  IntroduçãoMetodologia da Pesquisa Científica:  Introdução
Metodologia da Pesquisa Científica: IntroduçãoAlexandre Duarte
 
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazerGráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazerAlexandre Duarte
 
Panorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPBPanorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPBAlexandre Duarte
 
Sumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis NominaisSumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis NominaisAlexandre Duarte
 
Correlação e Classificação
Correlação e ClassificaçãoCorrelação e Classificação
Correlação e ClassificaçãoAlexandre Duarte
 
Sumarização Estatística 2D
Sumarização Estatística 2DSumarização Estatística 2D
Sumarização Estatística 2DAlexandre Duarte
 
Sumarização Estatística 1D
Sumarização Estatística 1DSumarização Estatística 1D
Sumarização Estatística 1DAlexandre Duarte
 
Preparação e Limpeza de Dados
Preparação e Limpeza de DadosPreparação e Limpeza de Dados
Preparação e Limpeza de DadosAlexandre Duarte
 
Introdução ao Projeto de Experimentos
Introdução ao Projeto de ExperimentosIntrodução ao Projeto de Experimentos
Introdução ao Projeto de ExperimentosAlexandre Duarte
 
Introdução ao Projeto de Surveys
Introdução ao Projeto de SurveysIntrodução ao Projeto de Surveys
Introdução ao Projeto de SurveysAlexandre Duarte
 
Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Alexandre Duarte
 
Introdução à Analise de Dados - aula 3 - Agregação de Dados
Introdução à Analise de Dados - aula 3 - Agregação de DadosIntrodução à Analise de Dados - aula 3 - Agregação de Dados
Introdução à Analise de Dados - aula 3 - Agregação de DadosAlexandre Duarte
 

Mais de Alexandre Duarte (20)

Táticas para Projeto de Experimentos
Táticas para Projeto de ExperimentosTáticas para Projeto de Experimentos
Táticas para Projeto de Experimentos
 
Causalidade e Abdução
Causalidade e AbduçãoCausalidade e Abdução
Causalidade e Abdução
 
Fazer Ciência é Difícil!
Fazer Ciência é Difícil!Fazer Ciência é Difícil!
Fazer Ciência é Difícil!
 
Atividades Científica
Atividades CientíficaAtividades Científica
Atividades Científica
 
Escolhendo um Projeto de Pesquisa
Escolhendo um Projeto de PesquisaEscolhendo um Projeto de Pesquisa
Escolhendo um Projeto de Pesquisa
 
Ciência da Computação como Ciência
Ciência da Computação como CiênciaCiência da Computação como Ciência
Ciência da Computação como Ciência
 
Metodologia da Pesquisa Científica: Introdução
Metodologia da Pesquisa Científica:  IntroduçãoMetodologia da Pesquisa Científica:  Introdução
Metodologia da Pesquisa Científica: Introdução
 
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazerGráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazer
 
Panorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPBPanorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPB
 
Agrupamento com K-Means
Agrupamento com K-MeansAgrupamento com K-Means
Agrupamento com K-Means
 
Sumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis NominaisSumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis Nominais
 
Correlação e Classificação
Correlação e ClassificaçãoCorrelação e Classificação
Correlação e Classificação
 
Sumarização Estatística 2D
Sumarização Estatística 2DSumarização Estatística 2D
Sumarização Estatística 2D
 
Sumarização Estatística 1D
Sumarização Estatística 1DSumarização Estatística 1D
Sumarização Estatística 1D
 
Transformação de Dados
Transformação de DadosTransformação de Dados
Transformação de Dados
 
Preparação e Limpeza de Dados
Preparação e Limpeza de DadosPreparação e Limpeza de Dados
Preparação e Limpeza de Dados
 
Introdução ao Projeto de Experimentos
Introdução ao Projeto de ExperimentosIntrodução ao Projeto de Experimentos
Introdução ao Projeto de Experimentos
 
Introdução ao Projeto de Surveys
Introdução ao Projeto de SurveysIntrodução ao Projeto de Surveys
Introdução ao Projeto de Surveys
 
Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01
 
Introdução à Analise de Dados - aula 3 - Agregação de Dados
Introdução à Analise de Dados - aula 3 - Agregação de DadosIntrodução à Analise de Dados - aula 3 - Agregação de Dados
Introdução à Analise de Dados - aula 3 - Agregação de Dados
 

Último

geografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundogeografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundonialb
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNASQUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNASEdinardo Aguiar
 
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresaulasgege
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptxSlides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptxLuizHenriquedeAlmeid6
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOMarcosViniciusLemesL
 
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxSlide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxconcelhovdragons
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresLilianPiola
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfcartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfIedaGoethe
 
Atividade com a letra da música Meu Abrigo
Atividade com a letra da música Meu AbrigoAtividade com a letra da música Meu Abrigo
Atividade com a letra da música Meu AbrigoMary Alvarenga
 
Bingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosBingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosAntnyoAllysson
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfIedaGoethe
 

Último (20)

geografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundogeografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundo
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNASQUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
 
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autores
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptxSlides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxSlide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
 
Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
 
treinamento brigada incendio 2024 no.ppt
treinamento brigada incendio 2024 no.ppttreinamento brigada incendio 2024 no.ppt
treinamento brigada incendio 2024 no.ppt
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfcartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
 
Atividade com a letra da música Meu Abrigo
Atividade com a letra da música Meu AbrigoAtividade com a letra da música Meu Abrigo
Atividade com a letra da música Meu Abrigo
 
Bingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosBingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteiros
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
 

Cálculo de Score

  • 1. Centro de Informática – Universidade Federal da Paraíba Ordenação e Recuperação de Dados Aula 8: Cálculo de Score Prof. Alexandre Duarte - http://alexandre.ci.ufpb.br 1 1
  • 2. Agenda ❶ Revisão ❶ Por que rankear? ❹ Implementação de classificação ❺ Um sistemas de buscas completo 2
  • 3. Agenda ❶ Revisão ❶ Por que rankear? ❹ Implementação de classificação ❺ Um sistemas de buscas completo 3
  • 4. Peso da frequência de termo  A frequência logarítimica de um termo t em um documento d é definida da seguinte maneira: 4
  • 5. Peso idf  A frequência em documento dft é definida pelo número de documentos nos quais t aparece  Definimos o peso idf de um termo t como segue:  idf é uma medida de quão informativo é um termo. 5
  • 6. Peso tf-idf  O peso tf-idf de um termo é o produto de seus pesos tf e idf. 6
  • 7. Similaridade de cosseno entre uma consulta e um documento  qi é o peso tf-idf do termo i na consulta.  di é o peso tf-idf do termo i no documento.  e são as normas dos vetores e 7
  • 9. Aula de hoje  A importância da classificação: Estudos do Google  Implementação de classificação  Um sistema de buscas completo 9
  • 10. Agenda ❶ Revisão ❶ Por que rankear? ❹ Implementação de classificação ❺ Um sistemas de buscas completo 10
  • 11. Por que classificação é tão importante?  Últimas aulas: Problemas com recuperação sem classificação  Os usuários quem analisar poucos resultados – e não milhares.  É muito difícil escrever consultas que resultem em poucos resultados.  Mesmo para pesquisadores experientes  → classificação é importante porque ela reduz um grande conjunto de resultados para um conjunto muito menor.  A seguir: mais sobre “usuários querem analisar poucos resultados”  Na verdade, na grande maioria dos casos, os usuários só examinam 1, 2 ou 3 resultados. 11
  • 12. Investigação empírica sobre os efeitos da classificação de resultados  Como poderíamos medir a importância da classificação de resultados de consultas?  Observe em um ambiente controlado o que os usuários fazem enquanto estão pesquisando  Filme-os  Peça para “pensarem alto”  Entreviste-os  Monitore seus olhares  Monitore seu tempo  Grave e conte seus cliques de mouse  Os slides a seguir são da apresentação do Dan Russell na JCDL  Dan Russell é o guru da Google para “Qualidade de Busca & Felicidade dos Usuários” 12
  • 13. 13
  • 14. 14
  • 15. 15
  • 16. 16
  • 17. 17
  • 18. 18
  • 19. A importância da classificação: Sumário  Leitura dos resumos: Os usuários preferem ler os resumos dos resultados mais bem classificados (1, 2, 3, 4) do que os resumos dos resultados com classificação inferior (7, 8, 9, 10).  Cliques: Essa distribuição é ainda mais desigual para os cliques  Em uma a cada duas consultas os usuários clicam no resultado número 1.  Mesmo que o resultado número 1 não seja relevante, 30% dos usuários clicaram nele.  → Classificar de forma correta é importante.  → Classificar corretamente os melhores resultados é ainda mais importante. 19
  • 20. Agenda ❶ Revisão ❶ Por que rankear? ❹ Implementação de classificação ❺ Um sistemas de buscas completo 20
  • 21. Precisaremos da frequência dos termos Precisaremos também das posições, não ilustradas aqui. 21
  • 22. Como encontrar os top k resultados no ranking?  Em muitas aplicações nós não precisamos de um ranking completo.  Precisamos apenas dos top k resultados para um k pequeno(e.g., k = 100).  Se não precisamos de um ranking completo, há alguma forma de eficiente para encontrar apenas os top k resultados?  Abordagem ingênua:  Computar os scores para todos os N documentos  Ordenar  Retornar os top k documentos  Qual o problema com essa abordagem? 22
  • 23. Use um heap mínimo para selecionar os top k documentos entre os N  Use um heap mínimo binário  Um heap binário mínimo é uma árvore binária na qual o valor de cada nó é menor do que o valor dos seus filhos.  Precisamos de O(N log k) operações para construir um heap mínimo (onde N é o número de documentos) . . .  . . . depois precisamos de O(k log k) operações para encontrar os top k resultados 23
  • 25. Selecionado os top k documentos em O(N log k)  Objetivo: Manter os top k documentos encontrados até o momento  Usar um heap binário mínimo  Para processar um novo documento d’ com score s′:  Pegar o valor mínimo hm do heap (O(1))  Se s′ ˂ m processar o próximo documento h  Se s′ > hm heap-delete-root (O(log k))  Heap-add s′ (O(log k)) 25
  • 26. Formas mais eficientes para encontrar os top k documentos: Heuristicas  Ideia 1: Reordenar as listas de postings  Ao invés de ordenar os postings pelo docID . . .  . . . ordenar de acordo com alguma medida da “expectativa de relevância”.  Ideia 2: Usar heurísticas para podar o espaço de buscas  Não dá garantias de corretude . . .  . . . mas falham com pouca frequência.  Na prática, próximo de tempo constante. 26
  • 27. Ordenação independente do docID  Até agora: a lista de postings foi ordenada de acordo com o docID.  Alternativa: utilizar uma medida independente de consulta da “qualidade” de uma página  Exemplo: PageRank g(d) de uma página d, uma medida de quantas páginas “boas” tem links para a página d (capítulo 21)  Ordenar os documentos nas postings listings de acordo com o PageRank: g(d1) > g(d2) > g(d3) > . . .  Definir o score composto de um documento: net-score(q, d) = g(d) + cos(q, d)  Este esquema suporta terminação precoce: não precisamos processar totalmente as listas de postings para achar os top k. 27
  • 28. Ordenação independente do docID  Ordenar os documentos nas listas de postings de acordo com o PageRank: g(d1) > g(d2) > g(d3) > . . .  Definir o score composto de um documento: net-score(q, d) = g(d) + cos(q, d)  Suponha: (i) g → [0, 1]; (ii) g(d) < 0.1 para o documento d que estamos processando; (iii) o menor ranking dos top k documentos encontrados até agora é 1.2  Portanto, todos os próximos scores serão < 1.1.  Já encontramos os top k resultados e podemos parar o processamento e ignorar o restante da lista de posting. 28
  • 29. Agenda ❶ Revisão ❶ Por que rankear? ❹ Implementação de classificação ❺ Um sistema de buscas completo 29
  • 30. Sistema de buscas completo 30
  • 31. Índices estratificados  Ideia básica:  Criar uma série de índices, correspondendo a importância dos termos indexados  Durante o processamento da consulta, iniciar pela séria de mais alta importância  Se a séria mais alta retornar pelo menos k resultados, encerrar o processamento  Se menos que k resultados forem encontrados: repetir o processo para a série seguinte  Exemplo: sistema com duas séries  Série 1: Índice com todos os títulos  Série 2: Índice com o resto dos documentos  Documentos que contem os termos da consulta no título são resultados melhores do que os que só contem os termos da consulta no corpo do texto. 31
  • 33. Índices Estratificados  Acredita-se que o uso de índices estratificados foi uma das razões para o Google apresentar em seu lançamento uma melhor qualidade em seus resultados de busca que seus competidores.  juntamente com o PageRank 33
  • 34. Sistema de buscas completo 34
  • 35. Vimos até o momento  Pré-processamento de documentos (linguístico)  Índices posicionais  Índices estratificados  Correção ortográfica  Índices com k-gramas para correção ortográfica e consulta com coringas  Processamento de consulta  Classificação de documentos 35
  • 36. Componentes que ainda não vimos  Cache de documentos: utilizado para gerar os sumários dos resultados  Índices por zona: separam os índices por diferentes zonas no documento: corpo, texto selecionado texto âncora, texto nos metadados, etc  Funções de classificação com aprendizagem de máquina  Classificação por proximidade (e.g., classificar melhor documentos onde os termos da consulta aparecem juntos numa mesma página em relação a documentos onde os termos aparecem em diferentes páginas)  Parsing da consulta 36