Indexação Automática de Documentos

Slides:



Advertisements
Apresentações semelhantes
Medidas de Avaliação de Sistemas de Recuperação de Informação
Advertisements

Grupo:Danilo de Carvalho Gleimar B. Baleeiro Rodrigo Duarte
Modelo de Redes de Crenças
Modelo Probabilístico
Operações sobre o Texto
Operações sobre as Consultas
Checkpoint SGBD com alta demanda de transações Checkpoint
Parte 1: Organização de Computadores
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Ambientais Ciência da Computação Aula 06: Funções.
Linguagem de Programação IX Métodos de Ordenação
Arquitetura e organização de computadores
Especificação de Consultas
Propriedades de Documentos
Recuperação de Imagens
Modelos de Recuperação de Informação
Eveline Alonso Veloso PUC-MINAS
Eveline Alonso Veloso PUC-MINAS
Conceitos Gerais relacionados a Recuperação de Informação
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula /08/2011 Professor Leomir J. Borba-
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula.
Hash Extensivel Rápido acesso a dados com um custo mínimo de processamento (overhead cost).
Pesquisa em Memória Primária
Medida do Tempo de Execução de um Programa
Medida do Tempo de Execução de um Programa
Pesquisa em Memória Primária
Indexação e Hashing Muitas consultas referenciam apenas uma pequena porção dos registros em uma tabela. Portanto necessitamos ser capaz de localizar estes.
Classificação (Ordenação) de dados
UNIVERSIDADE FEDERAL DE SANTA CATARINA - UFSC PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA E GESTÃO DO CONHECIMENTO EGC – GESTÃO DO CONHECIMENTO E FERRAMENTAS.
Análise Léxica Supondo o trecho de programa abaixo:
Central de Serviços de TI
Arquivos Invertidos André Ferreira da Silva Jimy Marques Madeiro
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
Fundamentos da Informática
Prof. Natalia Castro Fernandes Engenharia de Telecomunicações – UFF 2º semestre/2012.
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
Linguagem de Programação II Parte V
Linguagem de Programação II Parte IX
Sistemas Operacionais
Árvore de Pesquisa Memória Secundária Engenharia de Computação - UFG.
Apresentação. Notas & Novidades Este quadro tem a finalidade de oferecer Informações, Notas e Novidades na área de Normalização Técnica Na barra de ferramentas,
Hashing - Espalhamento
Universidade Católica de Pelotas Mestrado em Ciência da Computação
Mineração da Web Recuperação de Informação
Mineração na Web Introdução a 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.
Conteúdo Processos e threads Partes do processo
Recuperação de Informação
SISTEMAS OPERACIONAIS I
Sistemas Operacionais
Geração de Código aula-12-geração-de-código.pdf.
SISTEMAS OPERACIONAIS I
Sistemas Operacionais
Capítulo VIII Ambientes de Execução
SISTEMAS OPERACIONAIS I Gerenciamento de Arquivos
TEXTO DE REFERÊNCIA COMO TRABALHAR…
SISTEMAS OPERACIONAIS I
Introdução a Banco de Dados Aula 04
1 Efficient Phrase Querying with an Auxiliary Index (SIGIR) 2002 Trabalho realizado por: Trabalho realizado por: João Casteleiro Alves João Casteleiro.
Nomeação de arquivos – Cap 4.1.1
Back-End Compilação aula-11-back-end.pdf.
Tabela Hash Alunos : Gustavo Jorge Zanin nºUSP
Lista Linear Base para outras estruturas
1 24/4/ :29 FMU – 1. Semestre – Tecnologia – Analise e Desenvolvimento de Sistemas Professor: Eduardo Silvestri Aluno:Clóvis de Oliveira- RA
Sistemas de Arquivos Sistemas Operacionais Profa. Priscila Facciolli
Daniel Paulo Introdução Informações de uma tabela ou view podem ser encontradas de maneira mais rápida através da utilização.
Estrutura de Dados Aula 3 - Listas
Sistemas de Arquivos. Alocação em memória – Problemas Quantidade Limitada de Informações Perda de informações quando o processo é terminado Vários processos.
Classificação (Ordenação) de dados. Roteiro Contextualização e definições sobre Classificação Métodos de Classificação de Dados.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais FATEC-PB Professor: Gustavo Wagner
Transcrição da apresentação:

Indexação Automática de Documentos Eveline Alonso Veloso PUC-MINAS

Referências BAEZA-YATES, Ricardo e RIBEIRO-NETO, Berthier. Modern Information Retrieval. 1ª edição, New York: ACM Press, 1999, capítulo 8.

Introdução Quando um sistema de recuperação de informação processa uma consulta; deve recuperar e retornar documentos relevantes para essa consulta. Consideremos inicialmente consultas compostas por palavras-chave. Para determinar os documentos relevantes para uma consulta composta por palavras- chave; é necessário que o sistema de recuperação de informação determine primeiro os documentos onde os termos da consulta são encontrados.

Problema Que estrutura de dados deve ser utilizada; de forma que possamos encontrar rapidamente os documentos onde os termos utilizados na consulta aparecem?

Busca Seqüencial Opção mais óbvia: procurar os termos especificados na consulta seqüencialmente nos documentos. Essa opção é considerada apenas quando o documento: é pequeno; não pode se submeter a nenhum pré- processamento. Exemplo: localizar do Microsoft Word.

Índices Segunda opção: construção e manutenção de estruturas de dados chamadas de índices; que aumentam a velocidade da busca. É interessante construir e manter um índice quando a coleção de documentos: é muito grande; é semi-estática. Coleções semi-estáticas: podem ser atualizadas a intervalos regulares de tempo; diariamente, por exemplo; mas não apresentam a inserção de milhares de palavras por segundo. É o caso da maioria das bases de dados atuais; inclusive das coleções das máquinas de busca.

Índices Para acelerar o processamento da consulta; o índice deve ser construído antes de ser necessário consultá-lo durante o processamento da consulta. A melhor opção atualmente, para os tipos de consultas mais comuns, são os arquivos invertidos.

Arquivo Invertido Mecanismo orientado a palavra. Utilizado para indexar uma coleção de documentos; com o objetivo de acelerar o processamento das consultas posteriormente.

Arquivo Invertido A estrutura de um arquivo invertido é composta por dois elementos: vocabulário: conjunto de termos de indexação distintos da coleção. ocorrências: para cada termo do vocabulário; é indicada uma lista com todos os documentos onde esse termo aparece; lista de ocorrências. O conjunto de todas essas listas é chamado de ocorrências.

Arquivo Invertido Dependendo dos tipos de consultas oferecidos pelo sistema de recuperação de informação e do modelo de recuperação de informação utilizado; pode ser necessário armazenar, na lista de ocorrências do termo, outras informações relacionadas à ocorrência do termo no documento: frequência: número de ocorrências do termo no documento; exata posição do termo no documento; facilita o processamento de consultas por frase exata e por proximidade.

Exercício 1 Considere a coleção: d1: Este é um texto. d2: palavras. d3: Um texto tem muitas d4: Palavras são d5: compostas por letras. e construa o arquivo invertido correspondente.

Exercício 1 Operações sobre o texto: conversão de todos os caracteres para minúsculo; eliminação de marcas de pontuação; eliminação das stopwords: este, é, um, tem, são, por.

Exercício 1 Construção do arquivo invertido: vocabulário ocorrências texto 1-1-1 3-1-1 palavras 2-1-1 4-1-1 muitas 3-1-2 compostas 5-1-1 letras 5-1-2

Construção do Arquivo Invertido Para grandes coleções de documentos; como é o caso das atuais máquinas de busca; não é possível manter todo o índice em memória.

Construção do Arquivo Invertido 1º passo: Criação da estrutura que armazenará o vocabulário da coleção: o espaço necessário para armazenar o vocabulário da coleção é relativamente pequeno; por isso, em geral, a estrutura de dados utilizada para armazenar o vocabulário da coleção é mantida toda em memória. Estrutura de dados normalmente utilizada para armazenar o vocabulário da coleção: hash.

Construção do Arquivo Invertido 1º passo: Criação da estrutura que armazenará o vocabulário da coleção: é necessário então estimar o tamanho do vocabulário da coleção; essa estimativa é utilizada para alocar a quantidade de memória necessária ao hash. Recomendações: o tamanho do hash, N, deve ser: número primo; maior ou igual ao tamanho estimado para o vocabulário da coleção.

Construção do Arquivo Invertido 2º passo: Determinação da função hash: recomendação: escolher uma função hash que implique em poucas colisões. Exemplo de função hash que resulta em poucas colisões: Utilizaremos uma função hash mais simples:

Construção do Arquivo Invertido 3º passo: Formação das triplas: cada termo de indexação identificado no documento que está sendo indexado é mapeado em uma tripla: <identificador do termo, identificador do documento, freqüência do termo no documento>, em que: identificador do termo: número identificador do termo de acordo com a tabela hash; identificador do documento: número identificador do documento que está sendo indexado; freqüência do termo no documento: nessa primeira passagem é sempre igual a 1.

Construção do Arquivo Invertido 4º passo: Ordenação das triplas: para grandes coleções de documentos, em geral, as triplas não cabem todas simultaneamente em memória. Assim, quando a quantidade de memória disponível ou os documentos a serem indexados acabam; as triplas presentes em memória são ordenadas utilizando-se um algoritmo de ordenação interna; normalmente o quicksort; armazenadas em disco; em arquivos temporários chamados de runs; e a memória é limpa; tornando-se disponível para a acomodação de novas triplas.

Construção do Arquivo Invertido 4º passo: Ordenação das triplas: durante esse passo, se duas ou mais triplas idênticas são identificadas; elas são substituídas por uma única tripla; que indica no campo freqüência do termo no documento a quantidade de triplas idênticas; e apenas essa única tripla é armazenada em disco; no run correspondente.

Construção do Arquivo Invertido Após a execução do 4º passo; o procedimento de indexação automática de documentos retorna ao 3º passo. Os 3º e 4º passos vão se repetindo; alternadamente; até que todos os documentos da coleção tenham sido completamente lidos.

Construção do Arquivo Invertido 5º passo: Intercalação dos arquivos intermediários: utilizando-se algum algoritmo de ordenação externa; geralmente intercalação balanceada; os diversos runs são agrupados em um único arquivo ordenado armazenado em disco; o arquivo de ocorrências. Em geral, esse é um arquivo binário; para facilitar a localização das triplas durante a busca.

Construção do Arquivo Invertido 5º passo: Intercalação dos arquivos intermediários: durante esse passo, quando duas ou mais triplas relacionadas à ocorrência de um mesmo termo, em um mesmo documento, são identificadas; elas são substituídas por uma única tripla; que indica no campo freqüência do termo no documento a quantidade total de ocorrências do do termo no documento. Finalmente, o hash é atualizado com a indicação; para cada termo de indexação; das posições inicial e final, no arquivo de ocorrências armazenado em disco, de suas triplas.

Busca No momento da busca; é necessário ler, do arquivo de ocorrências armazenado em disco; apenas a porção desse arquivo correspondente às informações do termo de indexação pesquisado.

Exercício 2 Considere a coleção: d1: Este é um texto. d2: palavras. d3: Um texto tem muitas d4: Palavras são d5: compostas por letras. e construa o arquivo invertido correspondente, considerando que a quantidade de memória disponível comporta apenas três triplas simultaneamente.

Exercício 2 Operações sobre o texto: conversão de todos os caracteres para minúsculo; eliminação de marcas de pontuação; eliminação das stopwords: este, é, um, tem, são, por.

Exercício 2 1º passo: 2º passo: tamanho da tabela hash (N): função hash:

Exercício 2 hash(texto) = hash(palavras) = hash(muitas) = 5 mod 5 = 0 hash(palavras) = 8 mod 5 = 3 hash(muitas) = 6 mod 5 = 1 hash(compostas) = 9 mod 5 = 4 hash(letras) = texto 1 muitas 2 3 palavras 4 compostas 5 letras

Exercício 2 3º e 4º passos: formação das triplas, ordenação e armazenamento nos arquivos intermediários (runs): <0, 1, 1> <3, 2, 1> <0, 3, 1> run #1: <0, 1, 1> <0, 3, 1> <3, 2, 1> <1, 3, 1> <3, 4, 1> <4, 5, 1> run #2: <1, 3, 1> <3, 4, 1> <4, 5, 1> <5, 5, 1> run #3: <5, 5, 1>

Exercício 2 5º passo: intercalação dos arquivos intermediários (runs): Ocorrências: <0, 1, 1> <0, 3, 1> <1, 3, 1> <3, 2, 1> <3, 4, 1> <4, 5, 1> <5, 5, 1>

Exercício 2 5º passo: atualização da tabela hash: texto - pi: 0 - pf: 1 1 muitas - pi: 2 - pf: 2 2 3 palavras - pi: 3 - pf: 4 4 compostas - pi: 5 - pf: 5 5 letras - pi: 6 - pf: 6 Ocorrências: <1, 1> <3, 1> <3, 1> <2, 1> <4, 1> <5, 1> <5, 1>