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

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

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

Apresentações semelhantes


Apresentação em tema: "Indexação Automática de Documentos Eveline Alonso Veloso PUC-MINAS."— Transcrição da apresentação:

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

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

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

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

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

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

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

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

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

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

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

12 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

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

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

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

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

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

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

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

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

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

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

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

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

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

26 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

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

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

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

30 5º passo: intercalação dos arquivos intermediários (runs): run #1: run #2: run #3: Ocorrências: Exercício 2

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


Carregar ppt "Indexação Automática de Documentos Eveline Alonso Veloso PUC-MINAS."

Apresentações semelhantes


Anúncios Google