1 / 23

CS276 Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

CS276 Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan Lecture 1: Boolean retrieval. Definições.

kenton
Download Presentation

CS276 Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan

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

E N D

Presentation Transcript


  1. CS276Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan Lecture 1: Boolean retrieval

  2. Definições • Técnicas para encontrar documentos de natureza não estruturada(texto em geral) que satisfaça uma necessidade de informação de um usuário a partir de grande quantidade de documentos. • Coleção: Conjunto de documentos • Objetivo: Recuperar os documentos com informações que são relevantes para a necessidade do usuário.

  3. Desestruturado (texto) vs. Estruturado (banco de dados) em 1996 Empresa de dados estatísticos

  4. Desestruturado (texto) vs. Estruturado (banco de dados) em 2009

  5. Técnicas RI • Recuperação Booleana; • Modelo Clássico; • Matriz de Incidência; • Índice Invertido; • Otimização de consultas.

  6. The classic search model TASK Info Need Verbal form Query SEARCHENGINE QueryRefinement Results Corpus

  7. Sec. 1.1 Matriz Incidência (Termos x Documentos) 1 se documento contem termo, 0 caso contrario BrutusANDCaesarBUTNOTCalpurnia

  8. Sec. 1.1 Matriz de Incidência • Cada linha representa um termo. • Cada coluna representa um documento. • Cada posição do vetor pode assumir 0/1. • Onde: 0  Ausencia no texto e 1  aparece no texto. • Exemplo consulta: Brutus, Caesar and not Calpurnia (complemento); • Fazer uma operacao AND nas linhas Brutus, Caesar e Calpurnia. • Exemplo: • 110100 AND 110111 AND 101111 = 100100 (Brutus) (Caesar) (Calpurnia) (Resposta)

  9. Sec. 1.2 1 2 4 11 31 45 173 1 2 4 5 6 16 57 132 Índice Invertido • Para cada termo t, nos devemos criar uma lista com os números onde o termo t aparece; • Onde: docID, representa um número de documento; Brutus 174 Caesar Calpurnia 2 31 54 101

  10. Sec. 1.2 1 2 4 11 31 45 173 1 2 4 5 6 16 57 132 Dicionário Listas Índice Invertido • Em memória, podemos usar listas ligadas ou arrays de tamanhos variáveis; Listas Brutus Caesar Calpurnia 2 31 54 101 Ordenado pelo by docID

  11. Sec. 1.2 Tokenizer Friends Romans Countrymen Token stream. Linguistic modules More on these later. friend friend roman countryman Tokens modificados. roman Indexer 2 4 countryman 1 2 Índice Invertido 16 13 ConstruçãoÍndice Invertido Documentos para indexar. Friends, Romans, countrymen.

  12. Sec. 1.2 Passos Indexador: Token • Dividir os documentos em pares (termos, Document ID). Doc 1 Doc 2 I did enact Julius Caesar I was killed i' the Capitol; Brutus killed me. So let it be with Caesar. The noble Brutus hath told you Caesar was ambitious

  13. Sec. 1.2 Passos Indexador: Ordenação • Ordenar termos. • Ordem alfabética

  14. Sec. 1.2 Passos Indexador: Dicionário & Listas • Criar dicionário de termos; • Adicionar na lista os documentos que o termos aparecem; • Adicionar a freqüência do termo;

  15. Sec. 1.2 Custo de Armazenamento Listas dos docIDs Termos e freqüências Ponteiros

  16. Sec. 1.3 2 4 8 16 32 64 1 2 3 5 8 13 21 Consulta com operador: AND • Considere a consulta: BrutusANDCaesar • Recuperar a lista do termo Brutus; • Recuperar a lista do termo Caesar; • Interseção (“Merge”) das duas listas: 128 Brutus Caesar 34

  17. Interseção de duas listas(“merge” algorithm)

  18. Sec. 1.3 Brutus Caesar 13 128 2 2 4 4 8 8 16 16 32 32 64 64 8 1 1 2 2 3 3 5 5 8 8 21 21 13 34 Exemplo: merge algorithm 128 2 34 Obs: As listas devem estar ordenadas pelo docID.

  19. Sec. 1.1 Conclusões Modelo Booleano • Ainda e utilizado em sistemas: • E-mail, catalogo de Bibliotecas; • Modelo de RI utilizado por 3 décadas. • Processamento lento para consultar grande volume de termos e documentos • Exemplo: Um milhão de documentos, cada documento aproximadamente com 1000 termos. • Exatidão nas consultas • Exemplo: • a) Procurar palavra Brutus; • b) Procurar palavras iniciadas com a letra B. (impossível)

  20. Sec. 1.3 2 4 8 16 32 64 128 1 2 3 5 8 16 21 34 Otimização de consultas • Qual a melhor maneira de realizar a consulta abaixo? Brutus Caesar Calpurnia 13 16 Query: BrutusANDCalpurniaANDCaesar 20

  21. Sec. 1.3 2 4 8 16 32 64 128 1 2 3 5 8 16 21 34 Exemplo de otimização de consultas • Inicie com os termos com as menores freqüências, ou seja, que possuem as menores listas. Por isso e importante armazenar a freqüência dos termos Brutus Caesar Calpurnia 13 16 Execute a consulta como (CalpurniaANDBrutus)AND Caesar.

  22. Sec. 1.3 Otimização mais geral • e.g., (madding OR crowd) AND (ignoble OR strife) • Pegue freqüência dos documentos para todos os termos. • Estime o tamanho de cada OR pela soma das freqüências dos documentos. • Processar em ordem crescente pelo tamanho das listas (OR).

  23. Course staff • Professor: Christopher ManningOffice: Gates 158 manning@cs.stanford.edu • Professor: Prabhakar Raghavanpragh@yahoo-inc.com • TAs: Andrey Guev, Shakti Sinha, Roshan Sumbaly • In general, don’t use the above addresses, but: • Newsgroup: su.class.cs276 [preferred] • cs276-aut0910-staff@lists.stanford.edu

More Related