Complete inverted files for efficient text retrieval and analysis

  • Authors:
  • A. Blumer;J. Blumer;D. Haussler;R. McConnell;A. Ehrenfeucht

  • Affiliations:
  • Univ. of Denver, Denver, CO;Univ. of Denver, Denver, CO;Univ. of Denver, Denver, CO;Univ. of Denver, Denver, CO;Univ. of Colorado at Boulder, Boulder

  • Venue:
  • Journal of the ACM (JACM)
  • Year:
  • 1987

Quantified Score

Hi-index 0.01

Visualization

Abstract

Given a finite set of texts S = {w1, … , wk} over some fixed finite alphabet &Sgr;, a complete inverted file for S is an abstract data type that provides the functions find(w), which returns the longest prefix of w that occurs (as a subword of a word) in S; freq(w), which returns the number of times w occurs in S; and locations(w), which returns the set of positions where w occurs in S. A data structure that implements a complete inverted file for S that occupies linear space and can be built in linear time, using the uniform-cost RAM model, is given. Using this data structure, the time for each of the above query functions is optimal. To accomplish this, techniques from the theory of finite automata and the work on suffix trees are used to build a deterministic finite automaton that recognizes the set of all subwords of the set S. This automaton is then annotated with additional information and compacted to facilitate the desired query functions. The result is a data structure that is smaller and more flexible than the suffix tree.