Introduction to Information Retrieval Introduction to Information Retrieval CS276 Information Retrieval and Web Search Christopher Manning and Prabhakar Raghavan Lecture 1: Boolean retrieval
Introduction to Information Retrieval 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. 2
Introduction to Information Retrieval Desestruturado (texto) vs. Estruturado (banco de dados) em Empresa de dados estatísticos
Introduction to Information Retrieval 4 Desestruturado (texto) vs. Estruturado (banco de dados) em 2009
Introduction to Information Retrieval Técnicas RI Recuperação Booleana; Modelo Clássico; Matriz de Incidência; Índice Invertido; Otimização de consultas.
Introduction to Information Retrieval The classic search model Corpus TASK Info Need Query Verbal form Results SEARCH ENGINE Query Refinement
Introduction to Information Retrieval Matriz Incidência (Termos x Documentos) 1 se documento contem termo, 0 caso contrario Brutus AND Caesar BUT NOT Calpurnia Sec. 1.1
Introduction to Information Retrieval 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: AND AND = (Brutus) (Caesar) (Calpurnia) (Resposta) 8 Sec. 1.1
Introduction to Information Retrieval Í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; 9 Brutus Calpurnia Caesar Sec
Introduction to Information Retrieval Índice Invertido Em memória, podemos usar listas ligadas ou arrays de tamanhos variáveis; 10 Dicionário Listas Ordenado pelo by docID Listas Sec. 1.2 Brutus Calpurnia Caesar
Introduction to Information Retrieval Tokenizer Token stream. Friends RomansCountrymen Construção Índice Invertido Linguistic modules Tokens modificados. friend romancountryman Indexer Índice Invertido friend roman countryman More on these later. Documentos para indexar. Friends, Romans, countrymen. Sec. 1.2
Introduction to Information Retrieval Passos Indexador: Token Dividir os documentos em pares (termos, Document ID). I did enact Julius Caesar I was killed i' the Capitol; Brutus killed me. Doc 1 So let it be with Caesar. The noble Brutus hath told you Caesar was ambitious Doc 2 Sec. 1.2
Introduction to Information Retrieval Passos Indexador: Ordenação Ordenar termos. Ordem alfabética Sec. 1.2
Introduction to Information Retrieval 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; Sec. 1.2
Introduction to Information Retrieval Custo de Armazenamento 15 Ponteiros Termos e freqüên cias Sec. 1.2 Listas dos docIDs
Introduction to Information Retrieval Consulta com operador: AND Considere a consulta: Brutus AND Caesar Recuperar a lista do termo Brutus; Recuperar a lista do termo Caesar; Interseção (“Merge”) das duas listas: Brutus Caesar Sec. 1.3
Introduction to Information Retrieval Interseção de duas listas (“merge” algorithm) 17
Introduction to Information Retrieval Exemplo: merge algorithm Brutus Caesar 2 8 Obs: As listas devem estar ordenadas pelo docID. Sec. 1.3
Introduction to Information Retrieval Conclusões Modelo Booleano Ainda e utilizado em sistemas: , 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) 19 Sec. 1.1
Introduction to Information Retrieval Otimização de consultas Qual a melhor maneira de realizar a consulta abaixo? Brutus Caesar Calpurnia Query: Brutus AND Calpurnia AND Caesar 20 Sec. 1.3
Introduction to Information Retrieval Exemplo de otimização de consultas Inicie com os termos com as menores freqüências, ou seja, que possuem as menores listas. 21 Por isso e importante armazenar a freqüência dos termos Execute a consulta como (Calpurnia AND Brutus) AND Caesar. Sec. 1.3 Brutus Caesar Calpurnia
Introduction to Information Retrieval 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). 22 Sec. 1.3
Introduction to Information Retrieval Course staff Professor: Christopher Manning Office: Gates 158 Professor: Prabhakar Raghavan inc.comPrabhakar Raghavan inc.com TAs: Andrey Guev, Shakti Sinha, Roshan Sumbaly In general, don’t use the above addresses, but: Newsgroup: su.class.cs276[preferred] 23