1 / 46

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

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

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

  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. 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. 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. 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. 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) = 0se A ∩ B = 0 • A e B não precisam possuir o mesmo tamanho. • Sempre será atribuido um número entre 0 e 1.

  10. 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. 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. 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 eMary é 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 emd. • 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. 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. 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.

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

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

  19. Sec. 6.2.1 Exemplo idf, suponha N = 1 milhão 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. 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)?

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

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

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

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

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

  28. 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 documentod2 forem muito similares.

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

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

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

  32. Sec. 6.3 cosseno(consulta,documento) Vetores Unidade Produto vetorial 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.

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

  34. Cosseno de similaridade ilustrado

  35. 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? Freqüência de termos (contagem) Nota: Para simplificar este exemplo, nós não fizemos a ponderação idf.

  36. Sec. 6.3 3 documentos, continuação do exemplo. Ponderação Log freqüência Depois da normalização de comprimento 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

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

  38. Sec. 6.4 Ponderação tf-idf possui muitas variantes

  39. 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 … Uma péssima idéia?

  40. Sec. 6.4 Exemplo tf-idf: lnc.ltc Documento: car insurance auto insurance Consulta: best car insurance Comprimento do Doc= Ponto = 0+0+0.27+0.53 = 0.8

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

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

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

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

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

More Related