A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

CS276: Information Retrieval and Web Search

Apresentações semelhantes


Apresentação em tema: "CS276: Information Retrieval and Web Search"— Transcrição da apresentação:

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

2 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

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

4 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” → 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

5 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

6 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

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

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

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

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

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

12 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

13 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

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

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

16 Freqüência do documento
Sec 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.

17 Freqüência de documento
Sec 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.

18 Sec 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

19 Exemplo idf, suponha N = 1 milhão
Sec 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 Existe um valor idf para cada termo term t em uma coleção.

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

21 Coleção vs. freqüência de Documento
Sec 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.

22 Sec 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

23 Classificação final dos documentos para uma consulta
Sec Classificação final dos documentos para uma consulta

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

25

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

27 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

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

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

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

31 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]

32 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

33 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

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

35 Cosseno de similaridade ilustrado

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

37 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.0 ≈ 0.94 cos(SaS,WH) ≈ 0.79 cos(PaP,WH) ≈ 0.69

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

39 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

40 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?

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

42 Í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

43 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)

44 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”

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

46 Resources for today’s lecture
Ch. 6 Resources for today’s lecture IIR 6.2 – 6.4.3 Term weighting and cosine similarity tutorial for SEO folk!


Carregar ppt "CS276: Information Retrieval and Web Search"

Apresentações semelhantes


Anúncios Google