Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction n How to retrieval information? n A simple alternative is to search the whole text sequentially n Another option is to build data structures.

Similar presentations


Presentation on theme: "Introduction n How to retrieval information? n A simple alternative is to search the whole text sequentially n Another option is to build data structures."— Presentation transcript:

1 Introduction n How to retrieval information? n A simple alternative is to search the whole text sequentially n Another option is to build data structures over the text (called indices) to speed up the search

2 Introduction n Indexing techniques: u Inverted files u Suffix arrays u Signature files

3 Notation n n: the size of the text n m: the length of the pattern n v: the size of the vocabulary n M: the amount of main memory available

4 Inverted Files n Definition: an inverted file is a word-oriented mechanism for indexing a text collection in order to speed up the searching task. n Structure of inverted file: u Vocabulary: is the set of all distinct words in the text u Occurrences: lists containing all information necessary for each word of the vocabulary (text position, frequency, documents where the word appears, etc.)

5 Example n Text: n Inverted file 1 6 12 16 18 25 29 36 40 45 54 58 66 70 That house has a garden. The garden has many flowers. The flowers are beautiful beautiful flowers garden house 70 45, 58 18, 29 6 VocabularyOccurrences

6 Space Requirements n The space required for the vocabulary is rather small. According to Heaps’ law the vocabulary grows as O(n  ), where  is a constant between 0.4 and 0.6 in practice n On the other hand, the occurrences demand much more space. Since each word appearing in the text is referenced once in that structure, the extra space is O(n) n To reduce space requirements, a technique called block addressing is used

7 Block Addressing n The text is divided in blocks n The occurrences point to the blocks where the word appears n Advantages: u the number of pointers is smaller than positions u all the occurrences of a word inside a single block are collapsed to one reference n Disadvantages: u online search over the qualifying blocks if exact positions are required

8 Example n Text: n Inverted file: Block 1Block 2 Block 3 Block 4 That house has a garden. The garden has many flowers. The flowers are beautiful beautiful flowers garden house 43214321 VocabularyOccurrences

9 Inverted Files 45% 19% 18% 73% 26% 25% 36% 18% 1.7% 64% 32% 2.4% 35% 26% 0.5% 63% 47% 0.7% Addressing words Addressing documents Addressing 256 blocks Index Small collection (1Mb) Medium collection (200Mb) Large collection (2Gb)

10 Searching n The search algorithm on an inverted index follows three steps: u Vocabulary search: the words present in the query are searched in the vocabulary u Retrieval occurrences: the lists of the occurrences of all words found are retrieved u Manipulation of occurrences: the occurrences are processed to solve the query

11 Searching n Searching task on an inverted file always starts in the vocabulary ( It is better to store the vocabulary in a separate file ) n The structures most used to store the vocabulary are hashing, tries or B-trees n An alternative is simply storing the words in lexicographical order ( cheaper in space and very competitive with O(log v) cost )

12 Construction n All the vocabulary is kept in a suitable data structure storing for each word a list of its occurrences n Each word of the text is read and searched in the vocabulary n If it is not found, it is added to the vocabulary with a empty list of occurrences and the new position is added to the end of its list of occurrences

13 Construction n Once the text is exhausted the vocabulary is written to disk with the list of occurrences. Two files are created: u in the first file, the list of occurrences are stored contiguously u in the second file, the vocabulary is stored in lexicographical order and, for each word, a pointer to its list in the first file is also included. This allows the vocabulary to be kept in memory at search time n The overall process is O(n) worst-case time

14 Construction An option is to use the previous algorithm until the main memory is exhausted. When no more memory is available, the partial index I i obtained up to now is written to disk and erased the main memory before continuing with the rest of the text Once the text is exhausted, a number of partial indices I i exist on disk n The partial indices are merged to obtain the final index

15 Example I 1...8 I 1...4 I 5...8 I 1...2 I 3...4 I 5...6 I 7...8 I 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 1245 36 7 final index initial dumps level 1 level 2 level 3

16 Construction n The total time to generate partial indices is O(n) n The number of partial indices is O(n/M) n To merge the O(n/M) partial indices are necessary log 2 (n/M) merging levels n The total cost of this algorithm is O(n log(n/M))

17 Conclusion n Inverted file is probably the most adequate indexing technique for database text n The indices are appropriate when the text collection is large and semi-static n Otherwise, if the text collection is volatile online searching is the only option n Some techniques combine online and indexed searching


Download ppt "Introduction n How to retrieval information? n A simple alternative is to search the whole text sequentially n Another option is to build data structures."

Similar presentations


Ads by Google