CS276: Information Retrieval and Web Search

Slides:



Advertisements
Apresentações semelhantes
Contadores e Registradores
Advertisements

Modelo Probabilístico
Construção de listas de decisão Os tópicos anteriores tratam de indução de conceitos que podem ser descritos usando uma única região de decisão Neste tópico.
Python: Funções Claudio Esperança.
Programação em Java Prof. Maurício Braga
Indexação Automática de Documentos
Especificação de Consultas
Modelos de Recuperação de Informação
Eveline Alonso Veloso PUC-MINAS
Eveline Alonso Veloso PUC-MINAS
Sinais e Sistemas – Capítulo 4
PERCEPTRON (CONTINUAÇÃO)
1 Complexidade de Algoritmos Complexidade de pior caso Complexidade de melhor caso de uso bem menos freqüente em algumas situações específicas Complexidade.
Introdução à Computação Gráfica Geometria
Descoberta de Conhecimento:
Linguagem Orientada a Matrizes COB 727
Universidade do Estado de Santa Catarina – CCT/UDESC
Arquivos Invertidos André Ferreira da Silva Jimy Marques Madeiro
Informática Teórica Engenharia da Computação
Aprendizado de Máquina
Aprendizado de Máquina
Inteligência Artificial
Informática Teórica Engenharia da Computação
Aprendizado Baseado em Instâncias – Algoritmo k-NN
Aula prática 6 Vetores e Matrizes
TRABALHO MATEMÁTICA DISCRETA
CS276: Information Retrieval and Web Search
Introduction to Information Retrieval Introduction to Information Retrieval CS276 Information Retrieval and Web Search Christopher Manning and Prabhakar.
Treinamento do Microsoft® Access® 2010
Noções de trigonometria e funções trigonométricas
Aula prática 6 Vetores e Matrizes
Fábio de Oliveira Borges
Mineração da Web Recuperação de Informação
Mineração da Web Recuperação de Informação
Recuperação de Informação Clássica
Redes Bayesianas - Aplicação em Recuperação de Informação Rudini Sampaio DCC / UFLA.
Vetores Imagine que você tem que receber o nome e a nota de 50 alunos de uma escola, e depois listar o nome de cada um e a média final de cada aluno e.
DESIGN E COMUNICAÇÃO MULTIMÉDIA 2011 / 2012 DESIGN E COMUNICAÇÃO MULTIMÉDIA 2011 / 2012 FORMADOR Gonçalo Miguel MÓDULO 25. Introdução ao ActionScript 3.0.
Computação Gráfica Aula 3 Transformações Geométricas
EBSCOhost Pesquisa avançada.
Classificacao de Texto Projeto Spam Filter
SISTEMAS OPERACIONAIS I Gerenciamento de Arquivos
Estatística Aula 13 Prof. Marllus Gustavo Ferreira Passos das Neves
Espaços e Subespaços Vetoriais
Campus de Caraguatatuba Aula 9: Noções Básicas sobre Erros (3)
Introduction to Information Retrieval Introduction to Information Retrieval CS276: Information Retrieval and Web Search Christopher Manning and Prabhakar.
Sistemas de Recomendação – Filtragem Colaborativa
Aplicações dos Modelos de Recuperação da Informação na Extração de Conteúdos na Web Metodologia de Ciência da Computação Professora: Odette Mestrinho Passos.
Sistemas Microprocessados e Microcontrolados
© 2000 Paulo Adeodato Avaliação de Desempenho de Sistemas A Arte da Apresentação de Dados Paulo Adeodato Departamento de Informática Universidade Federal.
INE Fundamentos de Matemática Discreta para a Computação
Classificação/Categorização Christian Diego – cdad Icamaan Viegas – ibvs.
Introduction to Information Retrieval Introduction to Information Retrieval CS276 Information Retrieval and Web Search Christopher Manning and Prabhakar.
CIn-UFPE1 Recuperação de Informação Modelos de Recuperação de Documentos Flávia Barros.

Algoritmos.
CIn-UFPE1 Recuperação de Informação Modelos de Recuperação de Documentos Flávia Barros.
Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem.
SISTEMAS DE INFORMAÇÃO
TUTORIAL. SABIN AMERICANA Esta base é formulada conforme a bibliografia de Joseph Sabin, bibliófilo americano que viveu entre 1821 e Com.
Modelo MCP O modelo criado em 1943 funciona de modo semelhante. Os sinais de entrada são números (dados), os neurotransmissores são “pesos” numéricos associados.
Estática Estática Histórico
Colégio da Imaculada Colégio da Imaculada Curso Técnico em Informática
Laboratório de Mídias Sociais
Arrays Outline 7.1 Introdução 7.2 Arrays 7.3 Declarando e Criando Arrays 7.4 Exemplos usando arrays 7.5 Ordenando arrays 7.6 Procurando em.
GEOMETRIA ANALITICA VETORES.
Aula 4 Bioestatística Probabilidade para variáveis aleatórias.
PC - Semana61 MODELANDO SISTEMAS LTI NO DOMÍNIO DA FREQUÊNCIA.
V ETORES E M ATRIZES Disciplina: Informática Aplicada Professor: Modesto Chaves.
Descrevendo Circuitos Lógicos Capítulo 3 Parte I
Transcrição da apresentação:

CS276: Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan Lecture 6: Scoring, Term Weighting and the Vector Space Model

Neste capítulo; IIR Sections 6.2-6.4.3 Recuperação rankeada Pontuação de documentos Frequência de termos Estatísticas de coleção Esquemas de ponderação Pontuação de espaço vetorial

Ch. 6 Recuperação rankeada Até o momento, nossas consultas tem sido todas booleanas. Os documentos coincidem ou não. É bom para usuários experientes com entendimento preciso de sua necessidades e da coleção de documentos. Bom também para as aplicações: Aplicações podem facilmente gastar com 1000s resultados. Não é bom para a maioria dos usuários. Maioria é incapaz de escrever consultas booleanas(ou são, mas acham que dá muito trabalho). Maioria dos usuários não querem percorrer 1000s de resultados Isto é particularmente verdade em buscadores web.

Problema com a busca booleana: banquete ou fome Ch. 6 Problema com a busca booleana: banquete ou fome Consultas booleanas normalmente resultam em pouquíssimo (=0) ou muitos (1000s) resultados. Consulta 1: “standard user dlink 650” → 200.000 retornos Consulta 2: “standard user dlink 650 no card found”: 0 retorno É necessário muito talento para criar uma consulta que produz um número de documentos retornados tratável. AND retorna muito pouco; OR retorna muito Cf. our discussion of how Westlaw Boolean queries didn’t actually outperform free text querying

Modelos de recuperação rankeada Ao invés de um conjunto de documentos satisfazendo uma expressão de consulta, no Modelo de recuperação rankeada, o sistema retorna uma ordenação sobre os (top) documentos da coleção referentes à uma consulta Consultas de texto livre: Ao invés de uma linguagem de consulta com operadores e expressões, a consulta do usuário é somente uma ou mais palavras em linguagem humana A princípio, existem duas escolhas diferentes, mas na prática, modelos de recuperação rankeadas são normalmente associadas com consulta de texto livre

Banquete ou fome: não é um problema da recuperação ranqueada Ch. 6 Banquete ou fome: não é um problema da recuperação ranqueada Quando em um sistema com um conjunto de resultados rankeados, grandes conjuntos de resultados não são um problema De fato, o tamanho do conjunto de resultados não é um problema Nós precisamos apenas mostrar os primeiros (top) k ( ≈ 10) resultados Nós não queremos sobrecarregar o usuário Premissa: o algorítmo de rankeamento funciona

Pontuação como a base para recuperação rankeada Ch. 6 Pontuação como a base para recuperação rankeada Nós queremos retornar de forma ordenada os documentos mais possivelmente úteis para o buscador Como podemos ordenar de forma rankeada os documentos da coleção referentes à uma consulta? Atribuir uma pontuação – digamos no intervalo [0, 1] – para cada documento Esta pontuação mede quão bem um documento e uma consulta correspondem.

Pontuação da correspondência Consulta-documento Ch. 6 Pontuação da correspondência Consulta-documento Precisamos de um modo de atribuir uma pontuação a um par consulta/documento Vamos começar com uma consulta de um termo Se o termo da consulta não ocorre no documento: a pontuação será 0 Quanto maior a frequência do termo da consulta no documento, maior deve ser sua pontuação (provavelmente) Vamos analisar algumas alternativas para isto.

Take 1: coeficiente de Jaccard Ch. 6 Take 1: coeficiente de Jaccard Relembrando o capítulo 3: Uma medida comumente utilizada para indicar a coincidência entre dois conjuntos A e B jaccard(A,B) = |A ∩ B| / |A ∪ B| jaccard(A,A) = 1 jaccard(A,B) = 0 se A ∩ B = 0 A e B não precisam possuir o mesmo tamanho. Sempre será atribuido um número entre 0 e 1.

Problemas com Jaccard para pontuar Ch. 6 Problemas com Jaccard para pontuar Não considera a frequência do termo (quantas vezes o termo ocorre em um documento) Termos raros em uma coleção são mais informativo que termos frequentes. Jaccard não considera esta informação Precisamos de uma maneira mais sofisticada de normalizar o comprimento Mais a frente , nós utilizaremos . . . Em vez de |A ∩ B|/|A ∪ B| (Jaccard) para normalização de comprimento.

Relembrando (Capítulo 1): Matriz de incidência binaria termo-documento Sec. 6.2 Relembrando (Capítulo 1): Matriz de incidência binaria termo-documento Cada documento é representado por um vetor binario ∈ {0,1}|V|

Matrizes de contagem Termo-documento Sec. 6.2 Matrizes de contagem Termo-documento Considere o número de ocorrências de um termo em um documento: Cada documento é um vetor contador em ℕv: uma coluna abaixo

Modelo sacola de palavras Representação de vetor não considera a ordenação das palavras em um documento John e mais veloz que Mary e Mary é mais veloz que John possuem o mesmos vetores Chamamos de modelo sacola de palavra. Em um sentido, isto é um passo para trás: O índice posicional é capaz de distinguir estes dois documentos. Vamos olhar para a informação posicional da “recuperação” adiante. Por enquanto: modelo de sacola de palavras

Freqüência de termo tf A freqüência de termo tft,d do termo t em um documento d é definido como o número de vezes que t ocorre em d. Queremos usar tf quando computamos a pontuação da combinação consulta-documento. Mas como? A freqüência de termo crua não é o que queremos: Um documento com 10 ocorrências de um termo é mais relevante que um documento com 1 ocorrência do termo. Mas não 10 vezes mais relevante. A relevância não aumenta proporcionalmente com a freqüência de termo.

Ponderação Log-freqüência Sec. 6.2 Ponderação Log-freqüência O peso log freqüência do termo t em d é 0 → 0, 1 → 1, 2 → 1.3, 10 → 2, 1000 → 4, etc. Pontuação para um par documento-consulta: soma dos termos t em ambos q e d: pontuação A pontuação é 0 se nenhum dos termos da consulta estão presentes no documento.

Freqüência do documento Sec. 6.2.1 Freqüência do documento Termos raros são mais informativos do que termos freqüentes Lembre das stop words Considere um termo em uma consulta que é raro na coleção (exemplo, arachnocentric) Um documento contendo este termo tem muita possibilidade de ser relevante para a consulta arachnocentric → Nós queremos um alto peso para termos raros como arachnocentric.

Freqüência de documento Sec. 6.2.1 Freqüência de documento Termos frenquentes são mais informativos que termos raros Considere um termo que é freqüente na coleção (exemplo, alto, aumento, linha) Um documento contendo um termo assim é mais provável ser relevante que um documento que não contém Mas isso não é um bom indicador de relevância. → Para termos freqüentes, nós queremos pesos positivos altos para palavras como alto, aumento, e linha Mas pesos mais baixos que para termos raros. Nós vamos usar frequencia de documento (df) para atingir isto.

Sec. 6.2.1 Peso idf dft é a freqüência de documento de t: o número de documentos que contem t dft é uma medida inversa da informatividade de t dft  N Definimos o idf (frequencia inversa de documentos) de t por Usamos log (N/dft) em vez de N/dft para “amortecer” o efeito da idf. Vamos considerar a base do log como irrelevante

Exemplo idf, suponha N = 1 milhão Sec. 6.2.1 Exemplo idf, suponha N = 1 milhão term dft idft calpurnia 1 6 animal 100 4 sunday 1,000 3 fly 10,000 2 under 100,000 the 1,000,000 6 4 3 2 1 0 Existe um valor idf para cada termo term t em uma coleção.

Efeito da idf no ranking idf possui um efeito no ranking para consultas de um termo, como iPhone? idf não possui efeito no ranking de consultas de um termo idf afeta o ranking de documento para consultas com ao menos dois termos Para a consulta pessoa caprichosa, a ponderação idf faz as ocorrências de caprichosa contar muito mais no ranking final do documento do que ocorrências de pessoa.

Coleção vs. freqüência de Documento Sec. 6.2.1 Coleção vs. freqüência de Documento A freqüência da coleção do termo t é o número de ocorrências de t na coleção, contando múltiplas ocorrências. Exemplo: Qual palavra é um termo de consulta melhor (e deve receber um peso mais alto)? Palavra Freqüência da Coleção Freqüência do Documento insurance 10440 3997 try 10422 8760 Why do you get these numbers? Suggests df is better.

Sec. 6.2.2 Ponderação tf-idf O peso tf-idf de um termo é o produto de seu peso tf e seu peso idf. Mais conhecido como esquema de ponderação na recuperação de informação Nota: O “-” em tf-idf é um hífen, não um sinal de menos! Nomes alternativos: tf.idf, tf x idf Aumenta com o número de ocorrências dentro de um documento Aumenta com a raridade do termo na coleção

Classificação final dos documentos para uma consulta Sec. 6.2.2 Classificação final dos documentos para uma consulta

Binário → contagem → matriz de peso Sec. 6.3 Binário → contagem → matriz de peso Cada documento é representado agora por um vetor de valor real de pesos tf-idf ∈ R|V|

Documentos como vetores Sec. 6.3 Documentos como vetores Então temos um espaço vetor de dimensão |V| Termos são eixos do espaço Documentos são pontos ou vetores no espaço Muito alto-dimensional: dezenas de milhões de dimensões quando se aplica à um sistema de busca web Existem vetores muito esparsos – maioria das entradas são zero.

Consultas como vetores Sec. 6.3 Consultas como vetores Idéia chave 1: Faça o mesmo para consultas: represente elas como vetores no espaço Idéia chave 2: Classifique os documentos de acordo com sua proximidade da consulta no espaço proximidade = similaridade de vetores proximidade ≈ inverso da distancia Relembre: Nós fazemos isso porque queremos nos afastar do modelo booleano “você-está-dentro-ou-fora”. Ao contrário: classifica mais documentos relevantes do que documentos menos relevantes

Formalizando a proximidade espaço vetor Sec. 6.3 Formalizando a proximidade espaço vetor A primeira vista: distancia entre dois pontos ( = distancia entre os pontos finais de dois vetores) Distância Euclidiana? Distância Euclidiana é uma péssima idéia . . . . . . Porque distância Euclidiana é grande para vetores de tamanho diferentes.

Por que distância é uma péssima idéia Sec. 6.3 Por que distância é uma péssima idéia A distância Euclidiana entre q e d2 é grande mesmo que a distribuição dos termos na consulta q e a distribuição dos termos no documento d2 forem muito similares.

Use ângulo em vez de distância Sec. 6.3 Use ângulo em vez de distância Experimento mental: pegue um documento d e anexe-o em si mesmo. Chame este documento de d′. “Semanticamente” d e d′ possuem o mesmo conteúdo A distância Euclidiana entre estes dois documentos devem ser bem grandes O ângulo entre os dois documentos é 0, correspondendo ao máximo de similaridade. Idéia chave: Classifique documentos de acordo com o ângulo da consulta.

De ângulos a cossenos As duas notações a seguir são equivalentes. Sec. 6.3 De ângulos a cossenos As duas notações a seguir são equivalentes. Classifique documentos em ordem decrescente de ângulos entre consulta e documento Classifique documentos em ordem crescente de cossenos (consulta, documento) Cosseno é uma função monotonicamente decrescente para o intervalo [0o, 180o]

Normalização de comprimento Sec. 6.3 Normalização de comprimento Um vetor pode ser (comprimento) normalizado dividindo cada um de seus componentes por seu comprimento – para isso use a norma L2 : Dividindo o vetor por sua norma L2 nos dá o vetor (na superfície da unidade hiperesfera) unidade (comprimento) Efeito nos dois documentos d and d′ (d anexado a si mesmo) do slide anterior: eles possuem vetores idênticos depois da normalização. Grandes e pequenos documentos agora possuem pesos comparaveis

cosseno(consulta,documento) Sec. 6.3 cosseno(consulta,documento) Produto vetorial Vetores Unidade qi é o peso tf-idf do termo i na consulta di é o peso tf-idf do termo i no documento cos(q,d) é o cosseno de similaridade de q e d … ou, equivalentemente, o cosseno do ângulo entre q e d. See Law of Cosines (Cosine Rule) wikipedia page

Cosseno para vetores comprimento-normalizados Para vetores comprimento-normalizados, cosseno de similaridade é simplesmente o produto vetorial (ou produto escalar): para q, d comprimento-normalizados.

Cosseno de similaridade ilustrado

Cosseno de similaridade entre 3 documentos Sec. 6.3 Cosseno de similaridade entre 3 documentos Quão similares são as novelas SaS: Sense and Sensibility PaP: Pride and Prejudice, and WH: Wuthering Heights? term SaS PaP WH affection 115 58 20 jealous 10 7 11 gossip 2 6 wuthering 38 Freqüência de termos (contagem) Nota: Para simplificar este exemplo, nós não fizemos a ponderação idf.

3 documentos, continuação do exemplo. Sec. 6.3 3 documentos, continuação do exemplo. Ponderação Log freqüência Depois da normalização de comprimento term SaS PaP WH affection 3.06 2.76 2.30 jealous 2.00 1.85 2.04 gossip 1.30 1.78 wuthering 2.58 term SaS PaP WH affection 0.789 0.832 0.524 jealous 0.515 0.555 0.465 gossip 0.335 0.405 wuthering 0.588 cos(SaS,PaP) ≈ 0.789 × 0.832 + 0.515 × 0.555 + 0.335 × 0.0 + 0.0 × 0.0 ≈ 0.94 cos(SaS,WH) ≈ 0.79 cos(PaP,WH) ≈ 0.69

Computando a pontuação de cossenos Sec. 6.3 Computando a pontuação de cossenos

Ponderação tf-idf possui muitas variantes Sec. 6.4 Ponderação tf-idf possui muitas variantes n default is just term frequency ltc is best known form of weighting

Ponderação pode diferir em consultas vs documentos Sec. 6.4 Ponderação pode diferir em consultas vs documentos Muitos sistemas de busca permitem ponderações diferentes para consultas vs. documentos Notação SMART: denota a combinação em uso por um sistema, com a notação ddd.qqq, usando o acrônimo da tabela anterior Um esquema muito comum de ponderação é: lnc.ltc Documento: logarítmico tf (l como o primeiro caractere), nenhuma normalização idf e cosseno Consulta: logarítmico tf (l na coluna mais a esquerda), idf (t na segunda coluna), cosseno … Leaving off idf weighting on documents is good for both efficiency and system effectiveness reasons. Uma péssima idéia?

Exemplo tf-idf: lnc.ltc Sec. 6.4 Exemplo tf-idf: lnc.ltc Documento: car insurance auto insurance Consulta: best car insurance Termo Consulta Documento Prod tf-raw tf-wt df idf wt n’lize auto 5000 2.3 1 0.52 best 50000 1.3 0.34 car 10000 2.0 0.27 insurance 1000 3.0 0.78 2 0.68 0.53 Comprimento do Doc= Ponto = 0+0+0.27+0.53 = 0.8

Índices paramétricos e de zona Sec. 6.1 Índices paramétricos e de zona Até o momento, um documento foi uma seqüência de termos De fato documentos tem múltiplas partes, algumas com semântica especial: Autor Título Data de publicação Linguagem Formato etc. Isto constitui o metadado de um documento

Campos As vezes queremos procurar por estes metadados Sec. 6.1 Campos As vezes queremos procurar por estes metadados Exemplo, encontre documentos cujo autor é William Shakespeare do ano 1601, contendo alas poor Yorick Ano = 1601 é um exemplo de um campo Também, sobrenome do autor = shakespeare, etc Índices paramétricos ou de campo: postings para cada valor de campo As vezes construído árvores de faixa (exemplo, para datas) Campos de consulta tipicamente são tratados como conjunções (documento deve ter como autor shakespeare)

Sec. 6.1 Zona Uma zona é uma região do documento que contem uma quantidade arbitrária de texto, por exemplo, Título Abstract Referencias … A construção de índices invertidos de zonas também permitem as consultas Exemplo, “encontre documentos com merchant na zona de título e correspondam à consulta gentle rain”

Exemplo de índices de zonas Sec. 6.1 Exemplo de índices de zonas Zonas codificadas no dicionário vs. postings.

Resources for today’s lecture Ch. 6 Resources for today’s lecture IIR 6.2 – 6.4.3 http://www.miislita.com/information-retrieval-tutorial/cosine-similarity-tutorial.html Term weighting and cosine similarity tutorial for SEO folk!