Arquivo Invertido
Vanessa Levati Biff
UNIVERSIDADE FEDERAL DE SANTA CATARINA
Departamento de Ciência da Informação
Programa de Pós-Graduação em Ciência da Informação
Disciplina: Recuperação Inteligente da Informação
Profº: Dr. Angel Godoy Vieira
Abril, 2016
ARQUIVO INVERTIDO
Arquivo invertido
É um mecanismo que utiliza palavras para indexar uma coleção
de documentos, a fim de facilitar a tarefa de busca.
A estrutura de um arquivo invertido é composta por dois
elementos vocabulário e ocorrências.
(BAEZA-YATES; RIBEIRO-NETO,
1999)
Arquivo invertido
Vocabulário
É o conjunto de todos os termos de uma coleção.
Ocorrências
Lista de endereçamento que contém a relação de documentos os
quais o determinado termo aparece.
(BAEZA-YATES; RIBEIRO-NETO,
1999)
Arquivo invertido
vocabulário Ocorrências
Além de armazenar o docID, cada ocorrência pode armazenar
outras informações que dependem do modelo de RI e do tipo de
consulta permitida pelo sistema.
- Frequência: nº de ocorrências do termo no documento.
- Exata posição do termo do documento: para uso de
algoritmos que calculem a relevância dos resultados
utilizando a proximidade de palavras, consultas por
frase.
Arquivo invertido
Arquivo invertido básico | Frequência do termo
(BAEZA-YATES; RIBEIRO-NETO,
1999)
Não é adequado para responder a perguntas de frase
e de proximidade. Por isso, precisamos adicionar as
posições de cada palavra em cada documento.
Arquivo invertido completo | + Posição do termo
Exige muito mais espaço de armazenamento.
1 2 3 4 5
6 7 8 9 10
1 2 3 4 5 6
6 7 8 9 10
(BAEZA-YATES; RIBEIRO-NETO,
1999)
Construção de
Arquivo Invertido
Arquivo invertido | Construção
Depende de algumas restrições de hardware.
- O acesso dos dados na memória é muito mais rápido do que
o acesso aos dados no disco.
- Consequentemente é desejável que se mantenha o máximo de
dados possível em memória, especialmente os mais
acessado.
(MANNING; RAGHAVAN; SCHUTZE, 2008)
Arquivo invertido | Construção
- Índices não posicionais que possuem pares (termID,
docID).
- Índices posicionais que possuem triplas (termID, docID,
(position1, position2,...))
Os métodos de construção aqui discutidos levaram em
consideração índices não posicionais, mas podem ser
aplicados aos índices posicionais, a única diferença é que
as estruturas de dados intermediárias são maiores.
(MANNING; RAGHAVAN; SCHUTZE, 2008)
Arquivo invertido | Construção
1. Coleção de documentos
Arquivo invertido | Construção
2. Pré-processamento dos documentos e determinação das
ocorrências
Arquivo invertido | Construção
3. Ordenar o vocabulário em ordem alfabética
Arquivo invertido | Construção
4. Unir as ocorrências repetidas de palavras
Arquivo invertido | Construção | Métodos
- Baseado em ordenação por blocos (BSBI) Blocked sort-based indexing
- Baseado em memória (SPIMI) Single-pass in-memory indexing
- Distribuída
- Dinâmica
(MANNING; RAGHAVAN; SCHUTZE, 2008)
Arquivo invertido | Construção | Baseado em ordenação
Analisa os documentos em pares (temID, docID) até que um
bloco esteja cheio, em seguida classifica e armazena na
memória. Posteriormente, mescla todos os blocos em um índice
final.
Arquivo invertido | Construção | Baseado em ordenação
É necessário uma estrutura de dados para fazer o mapeamento
termID-docID.
Para grandes coleções esta estrutura não é comportada pela
memória principal.
Método é considerado o melhor para coleções de tamanho
moderado.
(MANNING; RAGHAVAN; SCHUTZE, 2008)
Arquivo invertido | Construção | Baseada em memória
Adiciona o endereçamento diretamente na lista de
ocorrências, ao invés de buscar todos os pares de termID-
docID e depois ordená-los como faz o BSBI.
Arquivo invertido | Construção | Distribuída
Algumas coleções são tão grandes que não podemos realizar a
construção de um índice de forma eficiente em uma única
máquina.
O processo é dividido entre várias máquinas.
(MANNING; RAGHAVAN; SCHUTZE, 2008)
Arquivo invertido | Construção | Distribuída
Ocorre dois conjuntos de tarefas paralelas:
Pré-processadores (parsers)
Indexadores (inverters)
Lê os documentos e gera os pares (termo, doc ID)
Gravam os pares em n partições de termos
Cada partição representa uma faixa alfabética
Coletam pares (termo, docID) para uma determinada
partição.
Ordena a lista em seguida grava o resultado.
Arquivo invertido | Construção | Distribuída
(MANNING; RAGHAVAN; SCHUTZE, 2008)
Arquivo invertido | Construção | Dinâmica
Nas coleções dinâmicas, os vocabulários e as ocorrências
precisam ser constantemente atualizados.
Um caminho simples para alcançar isto, é periodicamente
reconstruir o índice a partir do zero.
Se houver a exigência de que novos documentos sejam
incluídos rapidamente, uma solução é manter dois índices: um
índice principal maior e um pequeno índice auxiliar que
armazena os novos documentos.
Arquivo invertido | Construção | Dinâmica
O índice auxiliar é mantido em memória. As buscas são
executadas em ambos os índices e seus resultados são
mesclados.
Cada vez que o índice auxiliar se torna muito grande, ele é
mesclado com o índice principal.
(MANNING; RAGHAVAN; SCHUTZE, 2008)
Referências
Kyar Nyo Aye, Ni Lar Thein. Efficient Indexing and Searching Framework for Unstructured
Data. Fourth International Conference on Machine Vision (ICMV 2011): Machine Vision, Image
Processing, and Pattern Analysis, edited by Zhu Zeng, Yuting Li, Proc. of SPIE Vol. 8349,
83493F , 2012. doi: 10.1117/12.921130
MANNING, C.D.; RAGHAVAN, P.; SCHUTZE, H. Chapter 4. Index construction. In: An introduction
to information retrieval. Cambridge: Cambridge University Press, 2008, p.61-77.
BAEZA-YATES, Ricardo; RIBEIRO-NETO, Berthier. Chapter 8 Indexing and Searching. In: Modern
Information Retrieval. New York: Addison Wesley, 1999. p.191-199

Arquivo invertido

  • 1.
    Arquivo Invertido Vanessa LevatiBiff UNIVERSIDADE FEDERAL DE SANTA CATARINA Departamento de Ciência da Informação Programa de Pós-Graduação em Ciência da Informação Disciplina: Recuperação Inteligente da Informação Profº: Dr. Angel Godoy Vieira Abril, 2016
  • 2.
  • 3.
    Arquivo invertido É ummecanismo que utiliza palavras para indexar uma coleção de documentos, a fim de facilitar a tarefa de busca. A estrutura de um arquivo invertido é composta por dois elementos vocabulário e ocorrências. (BAEZA-YATES; RIBEIRO-NETO, 1999)
  • 4.
    Arquivo invertido Vocabulário É oconjunto de todos os termos de uma coleção. Ocorrências Lista de endereçamento que contém a relação de documentos os quais o determinado termo aparece. (BAEZA-YATES; RIBEIRO-NETO, 1999)
  • 5.
  • 6.
    Além de armazenaro docID, cada ocorrência pode armazenar outras informações que dependem do modelo de RI e do tipo de consulta permitida pelo sistema. - Frequência: nº de ocorrências do termo no documento. - Exata posição do termo do documento: para uso de algoritmos que calculem a relevância dos resultados utilizando a proximidade de palavras, consultas por frase. Arquivo invertido
  • 7.
    Arquivo invertido básico| Frequência do termo (BAEZA-YATES; RIBEIRO-NETO, 1999) Não é adequado para responder a perguntas de frase e de proximidade. Por isso, precisamos adicionar as posições de cada palavra em cada documento.
  • 8.
    Arquivo invertido completo| + Posição do termo Exige muito mais espaço de armazenamento. 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 6 7 8 9 10 (BAEZA-YATES; RIBEIRO-NETO, 1999)
  • 9.
  • 10.
    Arquivo invertido |Construção Depende de algumas restrições de hardware. - O acesso dos dados na memória é muito mais rápido do que o acesso aos dados no disco. - Consequentemente é desejável que se mantenha o máximo de dados possível em memória, especialmente os mais acessado. (MANNING; RAGHAVAN; SCHUTZE, 2008)
  • 11.
    Arquivo invertido |Construção - Índices não posicionais que possuem pares (termID, docID). - Índices posicionais que possuem triplas (termID, docID, (position1, position2,...)) Os métodos de construção aqui discutidos levaram em consideração índices não posicionais, mas podem ser aplicados aos índices posicionais, a única diferença é que as estruturas de dados intermediárias são maiores. (MANNING; RAGHAVAN; SCHUTZE, 2008)
  • 12.
    Arquivo invertido |Construção 1. Coleção de documentos
  • 13.
    Arquivo invertido |Construção 2. Pré-processamento dos documentos e determinação das ocorrências
  • 14.
    Arquivo invertido |Construção 3. Ordenar o vocabulário em ordem alfabética
  • 15.
    Arquivo invertido |Construção 4. Unir as ocorrências repetidas de palavras
  • 16.
    Arquivo invertido |Construção | Métodos - Baseado em ordenação por blocos (BSBI) Blocked sort-based indexing - Baseado em memória (SPIMI) Single-pass in-memory indexing - Distribuída - Dinâmica (MANNING; RAGHAVAN; SCHUTZE, 2008)
  • 17.
    Arquivo invertido |Construção | Baseado em ordenação Analisa os documentos em pares (temID, docID) até que um bloco esteja cheio, em seguida classifica e armazena na memória. Posteriormente, mescla todos os blocos em um índice final.
  • 18.
    Arquivo invertido |Construção | Baseado em ordenação É necessário uma estrutura de dados para fazer o mapeamento termID-docID. Para grandes coleções esta estrutura não é comportada pela memória principal. Método é considerado o melhor para coleções de tamanho moderado. (MANNING; RAGHAVAN; SCHUTZE, 2008)
  • 19.
    Arquivo invertido |Construção | Baseada em memória Adiciona o endereçamento diretamente na lista de ocorrências, ao invés de buscar todos os pares de termID- docID e depois ordená-los como faz o BSBI.
  • 20.
    Arquivo invertido |Construção | Distribuída Algumas coleções são tão grandes que não podemos realizar a construção de um índice de forma eficiente em uma única máquina. O processo é dividido entre várias máquinas. (MANNING; RAGHAVAN; SCHUTZE, 2008)
  • 21.
    Arquivo invertido |Construção | Distribuída Ocorre dois conjuntos de tarefas paralelas: Pré-processadores (parsers) Indexadores (inverters) Lê os documentos e gera os pares (termo, doc ID) Gravam os pares em n partições de termos Cada partição representa uma faixa alfabética Coletam pares (termo, docID) para uma determinada partição. Ordena a lista em seguida grava o resultado.
  • 22.
    Arquivo invertido |Construção | Distribuída (MANNING; RAGHAVAN; SCHUTZE, 2008)
  • 23.
    Arquivo invertido |Construção | Dinâmica Nas coleções dinâmicas, os vocabulários e as ocorrências precisam ser constantemente atualizados. Um caminho simples para alcançar isto, é periodicamente reconstruir o índice a partir do zero. Se houver a exigência de que novos documentos sejam incluídos rapidamente, uma solução é manter dois índices: um índice principal maior e um pequeno índice auxiliar que armazena os novos documentos.
  • 24.
    Arquivo invertido |Construção | Dinâmica O índice auxiliar é mantido em memória. As buscas são executadas em ambos os índices e seus resultados são mesclados. Cada vez que o índice auxiliar se torna muito grande, ele é mesclado com o índice principal. (MANNING; RAGHAVAN; SCHUTZE, 2008)
  • 25.
    Referências Kyar Nyo Aye,Ni Lar Thein. Efficient Indexing and Searching Framework for Unstructured Data. Fourth International Conference on Machine Vision (ICMV 2011): Machine Vision, Image Processing, and Pattern Analysis, edited by Zhu Zeng, Yuting Li, Proc. of SPIE Vol. 8349, 83493F , 2012. doi: 10.1117/12.921130 MANNING, C.D.; RAGHAVAN, P.; SCHUTZE, H. Chapter 4. Index construction. In: An introduction to information retrieval. Cambridge: Cambridge University Press, 2008, p.61-77. BAEZA-YATES, Ricardo; RIBEIRO-NETO, Berthier. Chapter 8 Indexing and Searching. In: Modern Information Retrieval. New York: Addison Wesley, 1999. p.191-199