36
Recuperação de Informação Indexação de Bases de Documentos Flavia Barros

Recuperação de Informação

  • Upload
    kenny

  • View
    24

  • Download
    0

Embed Size (px)

DESCRIPTION

Recuperação de Informação. Indexação de Bases de Documentos Flavia Barros. Roteiro. Métodos de Indexação de Documentos Arquivos invertidos Arquivos de assinaturas Bitmaps. Arquivos Invertidos. Arquivo de índices invertidos - PowerPoint PPT Presentation

Citation preview

Page 1: Recuperação de Informação

Recuperação de Informação

Indexação de Bases de Documentos

Flavia Barros

Page 2: Recuperação de Informação

Roteiro

Métodos de Indexação de Documentos Arquivos invertidos Arquivos de assinaturas Bitmaps

Page 3: Recuperação de Informação

Arquivos Invertidos

Arquivo de índices invertidos é um “mecanismo” que utiliza palavras para

indexar uma coleção de documentos a fim de facilitar a tarefa de busca

Estrutura de um arquivo invertido Vocabulário

É o conjunto de todas as palavras distintas no texto Ocorrências

Lista que contém toda a informação necessária sobre cada palavra do vocabulário

documentos onde a palavra aparece, sua posição no texto, freqüência, etc…

Page 4: Recuperação de Informação

Arquivos Invertidos Vocabulário

Conjunto de termos que aparecem nos documentos Após uso de stemming, stop-words,.... Heaps’ law

O vocabulário cresce na ordem de O(n), onde é uma constante entre 0.4 e 0.6

Ex.: Trec tem 1GB de documentos e um vocabulário de 5Mb

Deve ser mantido em uma estrutura separada Cada entrada do vocabulário contém

tipicamente um termo e um ponteiro para a lista de ocorrências do termo

Page 5: Recuperação de Informação

Arquivos Invertidos Listas de Ocorrência

Cada ocorrência armazena informações que dependem do modelo de RI e do tipo de consulta permitida pelo sistema

Exemplos de listas de ocorrência: para o modelo booleano clássico, é necessário

armazenar apenas a lista de documentos onde o termo aparece

para o modelo vetorial, a ocorrência deve armazenar a freqüência do termo nos documentos

para consultas por proximidade, a ocorrência deve manter a posição dos termos nos documentos

Page 6: Recuperação de Informação

Arquivos Invertidos Exemplo

12345 6

Please porridge hot, pease porridge cold

Pease porridge in the potNine days coldSome like it hot, some like it coldSome like it in the pot Nine days old

Documento

Texto

Page 7: Recuperação de Informação

Arquivos InvertidosExemplo 1

12345 6

Please porridge hot, pease porridge cold

Pease porridge in the potNine days coldSome like it hot, some like it coldSome like it in the pot Nine days old

Documento

Texto

12345678910111213

colddayshotinitlikenineoldpeaseporridgepotsomethe

Termo

1, 43, 61, 42, 54, 54, 53, 63, 61, 21, 22, 54, 52, 5

DocsNo

Vocabulário

Listas de documentosonde termo aparece

Arquivo Invertido

Page 8: Recuperação de Informação

Arquivos InvertidosExemplo 1

12345 6

Please porridge hot, pease porridge cold

Pease porridge in the potNine days coldSome like it hot, some like it coldSome like it in the pot Nine days old

Documento

Texto

12345678910111213

colddayshotinitlikenineoldpeaseporridgepotsomethe

Termo

(1;6), (4;8)(3;2), (6;2)(1;3), (4;4)(2;3), (5;4)(4;3,7), (5;3)(4;2,6), (5;2)(3;1), (6;1)(3;3), (6;3)(1;1,4), (2;1)(1;2,5), (2;2)(2;5), (5;6)(4;1,5), (5;1)(2;4), (5;5)

(Docs; Pos)No

Vocabulário

Ocorrências e posições

Arquivo Invertido

Page 9: Recuperação de Informação

Arquivo Invertido com TF-IDF

system

computer

database

science D2, 4

D5, 2

D1, 3

D7, 4

Termos df

3

2

41

Dj, tfj

Arquivo Invertido

• Cada ocorrência indica o documento onde o termo aparece e a freqüência do termo no documento

• Entrada do vocabulário armazenaa freqüência do termo na base

Page 10: Recuperação de Informação

Arquivo Invertido com TF-IDF Construção

Texto dos documentos é pre-processadopara extrair os termos, que são armazenados de forma seqüencial juntamente com o IDs dos documentos

Page 11: Recuperação de Informação

Arquivo Invertido com TF-IDF Construção

Em seguida, o arquivo gerado é ordenado lexicograficamente (=ordem alfabética)

Page 12: Recuperação de Informação

Arquivo Invertido com TF-IDF Construção

Múltiplas entradas do termo para o mesmo documento são então agrupadas e a informação da freqüência é adicionada

Tf ij

Page 13: Recuperação de Informação

Arquivo Invertido com TF-IDF Construção

Busca em um arquivo invertido sempre começa a partir do vocabulário Assim, é sempre melhor armazenar o

vocabulário em um arquivo separado

Page 14: Recuperação de Informação

Arquivo Invertido com TF-IDF Construção

O arquivo é então separado em duas partes: vocabulário e ocorrências

vocabulário ocorrências

DF TF

Page 15: Recuperação de Informação

Arquivos Invertidos Busca

O algoritmo básico segue três passos: Busca do vocabulário

As palavras ou padrões presentes na consulta são pesquisados no vocabulário do arquivo

Recuperação de ocorrências A lista de ocorrências de todas as palavras

encontradas é recuperada Manipulação de ocorrências

As ocorrências são processadas para resolver a consulta

De acordo com o modelo de RI

Page 16: Recuperação de Informação

Arquivos Invertidos Busca

As estruturas mais usadas para armazenar o vocabulário são tabelas hash, árvores e árvores-BA alternativa mais simples é armazenar as palavras em ordem alfabética e fazer pesquisa binária Gasta menos espaço Custo de tempo da ordem de O(log n)

N=tamanho do vocabulário

Page 17: Recuperação de Informação

Arquivos Invertidos Consultas

Consulta com apenas uma palavra a busca simplesmente retorna a lista

de ocorrências da palavra que será utilizada na ordenação e

recuperação dos documentos

Consultas de contexto são um pouco mais complexas...

Page 18: Recuperação de Informação

Consultas com Contexto Grupos Nominais

Para possibilitar consultas com GNs, os sistemas de RI devem ter um arquivo invertido que armazena as posições de cada palavra no documentoProcesso Recuperar documentos que contêm as

palavras da consulta e as posições de cada palavra nos docs

fazer a intersecção dos documentos Para eliminar redundâncias

verificar a ocorrência de palavras contíguas E melhor iniciar a verificação de contigüidade

com a palavra menos comum no grupo

Page 19: Recuperação de Informação

Consultas com Contexto Grupos Nominais

12345 6

Please porridge hot, pease porridge cold

Pease porridge in the potNine days coldSome like it hot, some like it coldSome like it in the pot Nine days old

Documento

Texto

12345678910111213

colddayshotinitlikenineoldpeaseporridgepotsomethe

Termo

(1;6), (4;8)(3;2), (6;2)(1;3), (4;4)(2;3), (5;4)(4;3,7), (5;3)(4;2,6), (5;2)(3;1), (6;1)(3;3), (6;3)(1;1,4), (2;1)(1;2,5), (2;2)(2;5), (5;6)(4;1,5), (5;1)(2;4), (5;5)

(Docs; Pos)No

Vocabulário

Ocorrências e posições

Arquivo Invertido com posições dos termos

Page 20: Recuperação de Informação

Consultas com Contexto Busca com Proximidade das

Palavras

Usa uma abordagem semelhante à busca com grupos nominais Encontra todos os documentos em que

todas as palavras da consulta ocorrem Em um contexto que satisfaz as restrições

de proximidade

Durante a busca pela posição das palavras restantes Encontra a posição mais próxima de ki a p E verifica se está dentro da distância

máxima permitida

Page 21: Recuperação de Informação

Consultas BooleanasBusca em Arquivos Invertidos

Palavras combinadas com operadores booleanos Cada consulta define uma árvore sintática: Folhas são termos simples isolados Nós internos são operadores booleanos

AND

Recuperação OR

Informação Documentos

Consulta: Recuperação AND (Informação OR Documentos)

Page 22: Recuperação de Informação

Consultas BooleanasBusca com Arquivos Invertidos

Busca no arquivo invertido percorre a árvore sintática da consulta a partir das folhas Folhas correspondem à buscas por palavras

isoladas no arquivo invertido Nós internos definem operadores sobre os

conjuntos de documentos recuperados

Page 23: Recuperação de Informação

Palavra isolada Recupera documentos contendo essa

palavra

OR Recursivamente recupera e1 e e2, e faz a

união dos resultados

AND Recursivamente recupera e1 e e2, e faz a

interseção dos resultados

BUT Recursivamente recupera e1 e e2, e utiliza o

conjunto complementar dos resultados

Consultas BooleanasBusca com Arquivos Invertidos

Page 24: Recuperação de Informação

Consultas BooleanasBusca com Arquivos Invertidos

AND

Docs:1,2,4,6

OR

Docs:1,4

Docs:2,4,5

AND

Docs:1,2,4,6

Docs:1,2,4,5

Docs:1,2,4

AND

Recuperação OR

Informação Documentos

Consulta: Recuperação AND (Informação OR Documentos)

Documentos recuperados

Page 25: Recuperação de Informação

Arquivos de Assinaturas

Estrutura de indexação baseada em vetores binários: Cada palavra no vocabulário da base de

documentos é mapeada em um vetor de B-bits Sua assinatura

O mapeamento é feito pelo uso de uma ou mais funções de hash, com duas possibilidades Uma função única que define os valores de todos os

bits de uma vez, ou Uma função diferente para definir o valor de cada bit

do vetor

O livro não traz exemplos de funções de hash

Page 26: Recuperação de Informação

Arquivos de AssinaturasVocabulário da Base de

DocumentosOs valores das assinaturas raramente coincidem

para vetores com um tamanho adequado ao tamanho do vocabulário

Para boas funções de hash

Porém, os valores dos bits na vertical podem coincidir

Problemas de precisão na recuperação

Assinaturas com 16 bits

Termos

Page 27: Recuperação de Informação

Arquivos de AssinaturasAssinatura dos Documentos

A assinatura de cada documento pode ser obtida com base nas assinaturas das suas palavras

Aplicando o operador OR às assinaturas dos termos que aparecem no documento

Documento Texto Assinatura

Page 28: Recuperação de Informação

Arquivos de Assinaturas Consultas

Procedimento para consultas com uma palavra: A palavra é mapeada na sua assinatura com as

mesmas funções utilizadas no mapeamento do vocabulário da base

Realiza-se uma busca seqüencial na base de índices dos documentos por documentos relevantes

Formalização: Seja Bj a assinatura do documento Dj Seja P a assinatura da palavra da consulta Então recupere todos os documentos em que

P AND Bj = P Esses documentos provavelmente contêm a palavra

da consulta Q

Page 29: Recuperação de Informação

Arquivos de Assinaturas Consultas

Em outras palavras... Se qualquer bit com valor = 1 na

assinatura da consulta tiver valor = 0 na assinatura do documento, então com certeza o documento não contém a palavra da consulta

Se todos os bits 1 da assinatura da consulta também têm valor = 1 no documento, então provavelmente a palavra da consulta está presente no documento

Page 30: Recuperação de Informação

Arquivos de Assinaturas Dificuldades

É possível que todos os bits =1 na assinatura da consulta

tenham valor = 1 no documento também mas o termo não esteja presente no

documento (false drop)

Probabilidade de false drop é maior para documentos com muitos termos uma vez que teriam assinatura com muitos

bits iguais a 1

Aumentado tamanho da assinatura, diminuímos a probabilidade de false drop

Page 31: Recuperação de Informação

Bitmaps

Estrutura que também trabalha com valores binários, porém utiliza um procedimento diferente das assinaturasCria uma matriz de termos (Ki) x documentos (Dj) da base Se o termo Ki está presente no documento

Dj, então elemento ij da matriz é =1 caso contrário, ij=0

Implementa o modelo booleano para RI

Page 32: Recuperação de Informação

Bitmaps - Exemplo

D1 D2 .... Dn

.

.

.

1 1 .... 0K1

0 1 .... 1K2

1 0 .... 1Km

.

.

.

• Conjunto de n documentos indexados através de m termos

Page 33: Recuperação de Informação

BitmapsConsultas

Para consultas com um termo simples pesquisa o vetor do termo (linha da matriz)

de forma seqüencial Compara bit a bit

retorna os documentos com valor do bit=1

Consultas booleanas nesse esquema de indexação também são simples Recupera as linhas dos termos da consulta Aplica o operador booleano Só depois faz a pesquisa seqüencial bit a bit

Page 34: Recuperação de Informação

Bitmaps – Exemplo de Consulta

• Considere a consulta Q = K1 AND K2

• Uma pesquisa seqüencial no vetor K1 AND K2 irá retornar os documentos que satisfazem a consulta

D1 D2 ... Dn

1 1 .... 0K1

0 1 .... 1K2

Operação booleana AND com os vetores K1

K2

AND 0 1 .... 0

D1 D2 ... Dn

Page 35: Recuperação de Informação

Bitmaps

Método ocupa muito espaço desnecessário para termos pouco comuns Maioria dos bits iguais a 0

É ineficiente para adicionar e deletar documentos Uma vez que se deve verificar a presença ou

ausência de todos os termos no documento Nos arquivos invertidos, trabalha-se apenas

com os termos que aparecem de fato no documento

Page 36: Recuperação de Informação

Conclusões

Arquivos invertidos são mais usados em sistemas de RI uma vez podem ser usados para resolver

uma grande quantidade de tipos de consultas

Arquivos de assinaturas e Bitmaps são usados basicamente para consultas com termos simples e consultas booleanas Arquivo de assinaturas é muito estudado, mas pouco usado