arquivo invertido grupo:danilo de carvalho gleimar b. baleeiro rodrigo duarte

23
Arquivo Invertido Grupo:Danilo de Carvalho Gleimar B. Baleeiro Rodrigo Duarte

Upload: internet

Post on 16-Apr-2015

119 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Arquivo Invertido Grupo:Danilo de Carvalho Gleimar B. Baleeiro Rodrigo Duarte

Arquivo Invertido

Grupo:Danilo de Carvalho Gleimar B. Baleeiro

Rodrigo Duarte

Page 2: Arquivo Invertido Grupo:Danilo de Carvalho Gleimar B. Baleeiro Rodrigo Duarte

Roteiro

Motivação Introdução Arquivo Invertido Tipos de Consultas Métodos Tecnologia

Page 3: Arquivo Invertido Grupo:Danilo de Carvalho Gleimar B. Baleeiro Rodrigo Duarte

Motivação

Como recuperar informação?

Aumento do volume de dados armazenados na forma de textos. Ex.:bibliotecas digitais

Buscas seqüenciais atenderiam ao propósito?

Page 4: Arquivo Invertido Grupo:Danilo de Carvalho Gleimar B. Baleeiro Rodrigo Duarte

Motivação

A construção de uma estrutura de dados(índices) diminuiria o tempo de resposta na busca.

De que modo poderia se recuperar esses textos?

Page 5: Arquivo Invertido Grupo:Danilo de Carvalho Gleimar B. Baleeiro Rodrigo Duarte

Introdução

O que é Índice?- Mecanismo utilizado para localizar um dado termo em um texto(custo < linear).

Tipo de Índices- Arquivos Invertidos (inverted files)- Arquivos de Assinatura (singature files)- Mapas de Bits (bitmaps)

Page 6: Arquivo Invertido Grupo:Danilo de Carvalho Gleimar B. Baleeiro Rodrigo Duarte

Arquivo Invertido

Composição:- Vocabulário : Arranjo contendo todas as palavras do texto.

- Ocorrências: Lista de todos os documentos (identificados por números) nos quais uma palavra ocorre.

Page 7: Arquivo Invertido Grupo:Danilo de Carvalho Gleimar B. Baleeiro Rodrigo Duarte

Exemplo

Documento Texto

1Pease porridge hot,pease porridge cold.

2 Pease porridge in the post.

3 Nine days old.

4 Some like it hot, some like it cold

5 Some like it in the pot.

6 Nine days old.

Page 8: Arquivo Invertido Grupo:Danilo de Carvalho Gleimar B. Baleeiro Rodrigo Duarte

ExemploNúmero Termo Ocorrências Documento

1 Cold 2 1,4

2 Days 2 3,6

3 Hot 2 1,4

4 In 2 2,5

5 It 2 4,5

6 Like 2 4,5

7 Nine 2 3,6

8 Old 2 3,6

9 Pease 2 1,2

10 Porridge 2 1,2

11 Pot 2 2,5

12 Some 2 4,5

13 the 2 2,5

Page 9: Arquivo Invertido Grupo:Danilo de Carvalho Gleimar B. Baleeiro Rodrigo Duarte

Consultas Termo único: Busca no vocabulário e

recupera a lista de ocorrências.

Conjunção: “termo AND termo”

Disjunção: “termo OR termo”

Negação: “NOT “

Page 10: Arquivo Invertido Grupo:Danilo de Carvalho Gleimar B. Baleeiro Rodrigo Duarte

Métodos para construção de Índices

Matriz de Freqüência

- Cada linha corresponde a um documento e cada coluna corresponde a um termo do vocabulário

Page 11: Arquivo Invertido Grupo:Danilo de Carvalho Gleimar B. Baleeiro Rodrigo Duarte

Exemplocold days hot in it like nine old pease porridge pot some the

1 1 - 1 - - - - - 2 2 - - -

2 - - - 1 - - - - 1 1 1 - 1

3 - 1 - - - - 1 1 - - - - -

4 1 - 1 - 2 2 - - - - - 2 -

5 - - - 1 1 1 - - - - 1 1 1

6 - 1 - - - - 1 1 - - - - -

Page 12: Arquivo Invertido Grupo:Danilo de Carvalho Gleimar B. Baleeiro Rodrigo Duarte

Construção É necessário a leitura do documento da

coleção, ao final escrever a matriz, linha por linha no disco.

Construção é bastante simples.

Entretanto a solução é cara.-Ex.:Bíblia contém 8.965 termos e 31.101 documento. Tamanho da matriz (8.965 X 31.101 X 4 bytes = 1GB

Page 13: Arquivo Invertido Grupo:Danilo de Carvalho Gleimar B. Baleeiro Rodrigo Duarte

Inversão em Memória

- O índice é todo construído em memória principal.

- Estrutura usada para armazenamento será a tabela hash.

Métodos para construção de Índices

Page 14: Arquivo Invertido Grupo:Danilo de Carvalho Gleimar B. Baleeiro Rodrigo Duarte

... continuação

- Listas encadeadas em memória para armazenar as listas invertidas dos termos.

- O método leva cerca de 6 horas para indexar uma coleção de 5GB e consome 4GB de memória principal e nenhum espaço extra em disco.

Page 15: Arquivo Invertido Grupo:Danilo de Carvalho Gleimar B. Baleeiro Rodrigo Duarte

Algoritmo1. /*Inicialização*/

Crie uma estrutura de dicionário vazia S.2. /* Fase um: coleta das características dos termos */

Para cada documento Dd na coleção, 1 ≤ d ≥ N,

(a) Leia Dd realizando o parser para obter termos indexáveis.(b) Para cada termo indexável t Є Dd,

i. Faça fd,t receber a freqüência do termo t em Dd

ii.Busque por t em Siii.Se t não estiver em S, insira-o.iv.Adicione um nó armazenado (d, fd,t) na lista

Page 16: Arquivo Invertido Grupo:Danilo de Carvalho Gleimar B. Baleeiro Rodrigo Duarte

... continuação

3. /*Fase dois: saída do arquivo invertido*/Para cada termo 1 ≤ d ≥ n,

(a) Inicialize uma nova entrada do arquivo invertido(b) Para cada (d, fd,t) na lista correspondente a t, Adicione (d, fd,t) a essa entrada do arquivo invertido.(c) Se requerido, comprima a entrada do arquivo invertido.(d) Adicione essa entrada do arquivo invertido ao arquivo invertido.

Page 17: Arquivo Invertido Grupo:Danilo de Carvalho Gleimar B. Baleeiro Rodrigo Duarte

Exemplo

Page 18: Arquivo Invertido Grupo:Danilo de Carvalho Gleimar B. Baleeiro Rodrigo Duarte

Inversão baseada em Ordenação( sorted-based )

- O principal problema dos métodos descritos anteriormente é o alto consumo de memória principal.

- O uso de disco é inevitável quando grandes quantidades de texto precisam ser indexadas.

Métodos para construção de Índices

Page 19: Arquivo Invertido Grupo:Danilo de Carvalho Gleimar B. Baleeiro Rodrigo Duarte

... continuação

- Triplas <termo,doc,freq> são armazenadas em arquivos temporários.

- O índice é obtido ordenando-se estas triplas em ordem ascendente do termo e depois do documento.

Page 20: Arquivo Invertido Grupo:Danilo de Carvalho Gleimar B. Baleeiro Rodrigo Duarte

Resultados

A inversão para um coleção de 5GB leva cerca de 20 horas usando 40 MB de memória principal e 8 GB de espaço extra em disco.

Devido a quantidade de espaço em disco consumida, este método é considerado melhor para coleções de tamanho moderado (10 a 100MB)

Page 21: Arquivo Invertido Grupo:Danilo de Carvalho Gleimar B. Baleeiro Rodrigo Duarte

Redução de custos Utilizar técnicas de compressão e

estratégias mais sofisticadas de intercalação

- Compressão dos arquivos temporários

- Intercalação de múltiplos caminhos

- Intercalação in-place

Page 22: Arquivo Invertido Grupo:Danilo de Carvalho Gleimar B. Baleeiro Rodrigo Duarte

Tecnologia

Nenhuma maquina de busca comercial usa todas as técnicas (compressão + indexação).

Seguem o “hard way” – hardware way – muito disco e muita memoria principal

Page 23: Arquivo Invertido Grupo:Danilo de Carvalho Gleimar B. Baleeiro Rodrigo Duarte

Referências http://www.dcc.ufla.br/~psleitao/COM187/c

om187.mbooleano.pdf

http://www.comp.ufla.br/monografias/ano2002/Geracao_de_arquivo_invertido_utilizando_Programacao_Paralela_MPI.pdf

http://homepages.dcc.ufmg.br/~nivio/cursos/pa02/seminarios/seminario3/seminario3.html