Δομές Ευρετηρίου: Διάρθρωση Διάλεξης

Σχετικά έγγραφα
Δομές Ευρετηρίου: Διάρθρωση Διάλεξης

Δομές Ευρετηρίου: Διάρθρωση Διάλεξης

Δομές Ευρετηρίου: Διάρθρωση Διάλεξης

Ευρετηρίαση, Αποθήκευση και Οργάνωση Αρχείων (Indexing, Storage and File Organization) ΜΕΡΟΣ Ι

Ανάκτηση Πληροφορίας

Physical DB Design. B-Trees Index files can become quite large for large main files Indices on index files are possible.

Ανάκτηση Πληροφορίας

Phys460.nb Solution for the t-dependent Schrodinger s equation How did we find the solution? (not required)

Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Άνοιξη HΥ463 - Συστήματα Ανάκτησης Πληροφοριών Information Retrieval (IR) Systems

HOMEWORK 4 = G. In order to plot the stress versus the stretch we define a normalized stretch:

Block Ciphers Modes. Ramki Thurimella

Approximation of distance between locations on earth given by latitude and longitude

Ευρετήρια. Βάσεις Δεδομένων. Διδάσκων: Μαρία Χαλκίδη

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής

EE512: Error Control Coding

Homework 3 Solutions

2 Composition. Invertible Mappings

CHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS

C.S. 430 Assignment 6, Sample Solutions

Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Άνοιξη HΥ463 - Συστήματα Ανάκτησης Πληροφοριών Information Retrieval (IR) Systems

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Άνοιξη HΥ463 - Συστήματα Ανάκτησης Πληροφοριών Information Retrieval (IR) Systems

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011

Ανάκληση Πληποφοπίαρ. Information Retrieval. Διδάζκων Δημήηριος Καηζαρός

derivation of the Laplacian from rectangular to spherical coordinates

ω ω ω ω ω ω+2 ω ω+2 + ω ω ω ω+2 + ω ω+1 ω ω+2 2 ω ω ω ω ω ω ω ω+1 ω ω2 ω ω2 + ω ω ω2 + ω ω ω ω2 + ω ω+1 ω ω2 + ω ω+1 + ω ω ω ω2 + ω

Ανάκτηση Πληροφορίας. Φροντιστήριο 3

Συστήματα Διαχείρισης Βάσεων Δεδομένων

Ανάκτηση πληροφορίας

Section 8.3 Trigonometric Equations

Fractional Colorings and Zykov Products of graphs

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

Συστήματα Διαχείρισης Βάσεων Δεδομένων

3.4 SUM AND DIFFERENCE FORMULAS. NOTE: cos(α+β) cos α + cos β cos(α-β) cos α -cos β

ST5224: Advanced Statistical Theory II

Main source: "Discrete-time systems and computer control" by Α. ΣΚΟΔΡΑΣ ΨΗΦΙΑΚΟΣ ΕΛΕΓΧΟΣ ΔΙΑΛΕΞΗ 4 ΔΙΑΦΑΝΕΙΑ 1

εικτοδότηση και Αναζήτηση (Indexing & Searching) Ανάκτηση Πληροφορίας

The Simply Typed Lambda Calculus

Every set of first-order formulas is equivalent to an independent set

Elements of Information Theory

Partial Differential Equations in Biology The boundary element method. March 26, 2013

The challenges of non-stable predicates

Ordinal Arithmetic: Addition, Multiplication, Exponentiation and Limit

Example Sheet 3 Solutions

Concrete Mathematics Exercises from 30 September 2016

Section 7.6 Double and Half Angle Formulas

Διάρθρωση. Στατιστικά Κειμένου Text Statistics. Συχνότητα Εμφάνισης Λέξεων Ο Νόμος του Zipf Ο Νόμος του Heaps. Ανάκτηση Πληροφορίας

the total number of electrons passing through the lamp.

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Συμβολοσειρές. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Matrices and Determinants

2. THEORY OF EQUATIONS. PREVIOUS EAMCET Bits.

ANSWERSHEET (TOPIC = DIFFERENTIAL CALCULUS) COLLECTION #2. h 0 h h 0 h h 0 ( ) g k = g 0 + g 1 + g g 2009 =?

Φροντιστήριο 4. Άσκηση 1. Λύση. Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών HY463 - Συστήµατα Ανάκτησης Πληροφοριών Εαρινό Εξάµηνο

4.6 Autoregressive Moving Average Model ARMA(1,1)

Instruction Execution Times

Math 6 SL Probability Distributions Practice Test Mark Scheme

Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών. Δημήτρης Πλεξουσάκης. Physical DB Design

Απόκριση σε Μοναδιαία Ωστική Δύναμη (Unit Impulse) Απόκριση σε Δυνάμεις Αυθαίρετα Μεταβαλλόμενες με το Χρόνο. Απόστολος Σ.

Areas and Lengths in Polar Coordinates

Finite Field Problems: Solutions

PARTIAL NOTES for 6.1 Trigonometric Identities

Areas and Lengths in Polar Coordinates

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/2006

Αντισταθμιστική ανάλυση

(C) 2010 Pearson Education, Inc. All rights reserved.

SCHOOL OF MATHEMATICAL SCIENCES G11LMA Linear Mathematics Examination Solutions

ΜΥΕ003: Ανάκτηση Πληροφορίας. Διδάσκουσα: Ευαγγελία Πιτουρά Κεφάλαιο 5: Στατιστικά Συλλογής. Συμπίεση.

Review Test 3. MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.

Math221: HW# 1 solutions

Συντακτικές λειτουργίες

Statistical Inference I Locally most powerful tests

department listing department name αχχουντσ ϕανε βαλικτ δδσϕηασδδη σδηφγ ασκϕηλκ τεχηνιχαλ αλαν ϕουν διξ τεχηνιχαλ ϕοην µαριανι

Econ 2110: Fall 2008 Suggested Solutions to Problem Set 8 questions or comments to Dan Fetter 1

TMA4115 Matematikk 3

Homework 8 Model Solution Section

Lecture 2. Soundness and completeness of propositional logic

9.09. # 1. Area inside the oval limaçon r = cos θ. To graph, start with θ = 0 so r = 6. Compute dr

Capacitors - Capacitance, Charge and Potential Difference

Numerical Analysis FMN011

Nowhere-zero flows Let be a digraph, Abelian group. A Γ-circulation in is a mapping : such that, where, and : tail in X, head in

Μηχανική Μάθηση Hypothesis Testing

Αρχεία και Βάσεις Δεδομένων

Practice Exam 2. Conceptual Questions. 1. State a Basic identity and then verify it. (a) Identity: Solution: One identity is csc(θ) = 1

Solutions to Exercise Sheet 5

Posting File. D i. tf key1 [position1 position2 ] D j tf key2... D l.. tf keyl

Assalamu `alaikum wr. wb.

Exercises 10. Find a fundamental matrix of the given system of equations. Also find the fundamental matrix Φ(t) satisfying Φ(0) = I. 1.

Ανάκληση Πληροφορίας. Information Retrieval. Διδάσκων Δημήτριος Κατσαρός

Galatia SIL Keyboard Information

( y) Partial Differential Equations

b. Use the parametrization from (a) to compute the area of S a as S a ds. Be sure to substitute for ds!

Example of the Baum-Welch Algorithm

Ανάκτηση Πληροφορίας

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

On a four-dimensional hyperbolic manifold with finite volume

[1] P Q. Fig. 3.1

Tridiagonal matrices. Gérard MEURANT. October, 2008

Other Test Constructions: Likelihood Ratio & Bayes Tests

The Probabilistic Method - Probabilistic Techniques. Lecture 7: The Janson Inequality

forms This gives Remark 1. How to remember the above formulas: Substituting these into the equation we obtain with

Transcript:

Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Άνοιξη 2009 HΥ463 - Συστήματα Ανάκτησης Πληροφοριών Information Retrieval (IR) Systems Ευρετηρίαση, Αποθήκευση και Οργάνωση Αρχείων (Indexing, Storage and File Organization) Κεφάλαιο 8 CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 1 Δομές Ευρετηρίου: Διάρθρωση Διάλεξης Εισαγωγή κίνητρο Ανεστραμμένα Αρχεία (Inverted files) Αρχεία Υπογραφών (Signature files) Δένδρα Καταλήξεων (Suffix trees) CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 2 Ανάκτηση Πληροφορίας 2008-2009 1

Ευρετηριασμός Κειμένου:Εισαγωγή Σκοπός Σχεδιασμός δομών δεδομένων που επιτρέπουν την αποδοτική υλοποίηση της γλώσσας επερώτησης Απλοϊκή προσέγγιση: σειριακή αναζήτηση (online sequential search) Ικανοποιητική μόνο αν η συλλογή των κειμένων είναι μικρή Είναι η μόνη επιλογή αν η συλλογή κειμένων είναι ευμετάβλητη Σχεδιασμός δομών δεδομένων, που ονομάζονται ευρετήρια (called indices), για επιτάχυνση της αναζήτησης CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 3 Χρήση Καταλόγων/Ευρετηρίων Τα συστήματα ανάκτησης σπάνια αναζητούν την πληροφορία απευθείας στη συλλογή εγγράφων. Συνήθως, χρησιμοποιούνται κατάλογοι οι οποίοι επιταχύνουν τη διαδικασία αναζήτησης. συλλογή εγγράφων Κατάλογος αναζήτηση καταλόγου δημιουργία καταλόγου Έγγραφα Ανάκτηση Πληροφορίας 2008-2009 2

Ανάγκες Γλωσσών Επερώτησης (και μοντέλων ανάκτησης γενικότερα) Απλές βρες έγγραφα που περιέχουν μια λέξη t βρες πόσες φορές εμφανίζεται η λέξη t σε ένα έγγραφο βρες τις θέσεις τωνεμφανίσεωντηςλέξηςt στο έγγραφο Πιο σύνθετες λογικές (Boolean) επερωτήσεις επερωτήσεις εγγύτητας (phrase/proximity queries) ταιριάσματος προτύπου (pattern matching) κανονικές εκφράσεις (regular expressions) δομικές επερωτήσεις (structure-based queries)... Σχεδιάζουμε το ευρετήριο ανάλογα με το μοντέλο ανάκτησης και τη γλώσσα επερώτησης CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 5 Γενική (Λογική) μορφή ενός ευρετηρίου Indexing Items D o c u m e n t s k 1 k 2... k j... k t d 1 c 1,1 c 2,1... c i,1... c t,1 d 2 c 1,2 c 2,2... c i,2... c t,2..................... d i c 1,j c 2,j... c i,j... c t,j..................... d N c 1,N c 2,N... c i,n... c t,n c ij : το κελί που αντιστοιχεί στο έγγραφο d i και στον όρο k j, το οποίο μπορεί να περιέχει: ένα w ij που να δηλώνει την παρουσία ή απουσία του k j στο d i (ή τη σπουδαιότητα του k j στο d i ) τις θέσεις στις οποίες ο όρος k j εμφανίζεται στο d i (αν πράγματι εμφανίζεται) Ερωτήματα: Τι πρέπει να έχει το κάθε c ij Πώς να υλοποιήσουμε αυτή τη λογική δομή ώστε να έχουμε καλή απόδοση; CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 6 Ανάκτηση Πληροφορίας 2008-2009 3

Τεχνικές Ευρετηριασμού (Indexing Techniques) Ανεστραμμένα Αρχεία (Inverted files) η πιο διαδεδομένη τεχνική Δένδρα και Πίνακες Καταλήξεων (Suffix trees and arrays) γρήγορες για phrase queries αλλά η κατασκευή και η συντήρησή τους είναι δυσκολότερη και ακριβότερη Αρχεία Υπογραφών (Signature files) Χρησιμοποιήθηκαν πολύ τη δεκαετία του 80. Σπανιότερα σήμερα αλλά σε κατανεμημένα διάφορες παραλλαγές τους. CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 7 Ανεστραμμένα Αρχεία (Inverted Files) Ανάκτηση Πληροφορίας 2008-2009 4

Ανεστραμμένο Αρχείο Λογική Μορφή Ευρετηρίου Μορφή Ανεστραμμένου Ευρετηρίου Index terms C j,1 k 1 k 2... k t d 1 c 1,1 c 2,1 c t,1 d 2 c 1,2 c 2,2 c t,2...... d i c 1,j c 2,j c t,j...... d N c 1,N c 2,N c t,n k1 k2... kt Postings lists Άρα δεν δεσμεύουμε χώρο για τα «μηδενικά κελιά» της λογικής μορφής του ευρετηρίου CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 9 Inverted Files (Ανεστραμμένα αρχεία) Ιnverted file = a word-oriented mechanism for indexing a text collection in order to speed up the searching task. An inverted file consists of: Vocabulary: is the set of all distinct words in the text Occurrences: lists containing all information necessary for each word of the vocabulary (documents where the word appears, frequency, text position, etc.) Τι είδους πληροφορία κρατάμε στις posting lists εξαρτάται από το λογικό μοντέλο και το μοντέλο ερωτήσεων CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 10 Ανάκτηση Πληροφορίας 2008-2009 5

Ανεστραμμένο αρχείο για ένα μόνο έγγραφο και αποθήκευση θέσεων εμφάνισης κάθε λέξης Κείμενο That house has a garden. The garden has many flowers. The flowers are beautiful 1 6 12 16 18 25 29 36 40 45 54 58 66 70 Inverted File: Vocabulary beautiful flowers garden house Occurrences 70 45, 58 18, 29 6 Τι άλλο θα κάνατε (κρατούσατε) αν είχαμε πολλά έγραφα και θέλαμε να υλοποιήσουμε το Διανυσματικό Μοντέλο; CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 11 Ανεστραμμένο αρχείο για πολλά έγγραφα, και βάρυνση tf-idf To df (document frequency, που μας χρειάζεται για το IDF) αρκεί να αποθηκευτεί μια φορά To βάρος tf (term frequency) Vocabulary Index terms df D j, tf j Εδώ θα μπορούσαμε να έχουμε και τις θέσεις εμφάνισης της λέξης computer στο έγγραφο D j computer 3 D 7, 4 database 2 D 1, 3 science 4 D 2, 4 system 1 D 5, 2 Vocabulary file Postings lists CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 12 Ανάκτηση Πληροφορίας 2008-2009 6

Παράδειγμα ανεστραμμένου αρχείου όπου για κάθε λέξη i και έγγραφο j κρατάμε μόνο το freq ij Document Corpus Doc CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 13 Text 1 Pease porridge hot 2 Pease porridge cold 3 Pease porridge in the pot 4 Pease porridge hot, pease porridge not cold 5 Pease porridge cold, pease porridge not hot 6 Pease porridge hot in the pot Vocabulary Inverted Lists cold hot in not Inverted File pease <1,1> <2,1> <3,1> <4,2> <5,2> <6,1> porridge pot the <2,1> <4,1> <1,1> <4,1> <5,1> <6,1> <3,1> <6,1> <4,1> <5,1> <1,1> <2,1> <3,1> <4,2> <5,2> <3,1> <6,1> <3,1> <6,1> <5,1> <6,1> Another example term df document ids CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 14 Ανάκτηση Πληροφορίας 2008-2009 7

Block Addressing The text is divided in blocks The occurrences point to the blocks where the word appears CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 15 Block Addressing: Example That house has a garden. The garden has many flowers. The flowers are beautiful 1 6 12 16 18 25 29 36 40 45 54 58 66 70 beautiful 70 Vocabulary flowers Occurrences 45, 58 garden 18, 29 house 6 Block 1 Block 2 Block 3 Block 4 That house has a garden. The garden has many flowers. The flowers are beautiful beautiful 4 Vocabulary flowers Occurrences 3 garden 2 house 1 CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 16 Ανάκτηση Πληροφορίας 2008-2009 8

Block Addressing Advantages: the number of pointers is smaller than positions all the occurrences of a word inside a single block are collapsed to one reference (indices of only 5% overhead over the text size can be obtained with this technique. Of course this depends on the block size). In many cases instead of defining the block size, we define the number of blocks (in this way we know how many bits we need per pointer) Disadvantages: online sequential search over the qualifying blocks if exact positions are required e.g. for finding the sentence where the word occurs e.g. for evaluating a context (phrasal or proximity) query CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 17 Ανεστραμμένα Αρχεία: Απαιτήσεις Χώρου μικρές μεγάλες Index terms Cj,1 k1 k2... kt Postings lists CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 18 Ανάκτηση Πληροφορίας 2008-2009 9

Ανεστραμμένα Αρχεία: Απαιτήσεις Χώρου Notations n: the size of the text (of all documents in the collection) V: the size of the vocabulary For the Vocabulary: Rather small. According to Heaps law the vocabulary grows as O(n β ), where β is a constant between 0.4 and 0.6 in practice. So V ~ sqrt(n) // άρα ανάλογο της τετραγωνικής ρίζας του μεγέθους της συλλογής) For Occurrences: Much more space. Since each word appearing in the text is referenced once in that structure (i.e. we keep a pointer), the extra space is O(n) To reduce space requirements, a technique called block addressing is used how? CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 19 Size of Inverted Files as percentage of the size of the whole collection 45% of all words are stopwods Index Small collection Medium collection Large collection (1Mb) (200Mb) (2Gb) Addressing words 45% 73% 36% 64% 35% 63% Addressing 64K blocks 27% 41% 18% 32% 5% 9% Addressing 256 blocks 18% 25% 1.7% 2.4% 0.5% 0.7% Without stopwords All words Without stopwords All words Without stopwords All words Addressing words: 4 bytes per pointer (2^32 ~ giga) Addressing 64K blocks: 2 bytes per pointer Addressing 256 blocks: 1 byte per pointer CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 20 Ανάκτηση Πληροφορίας 2008-2009 10

Searching an inverted index CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 22 Ανάκτηση Πληροφορίας 2008-2009 11

(cont) CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 23 Searching an inverted index General Steps: 1/ Vocabulary search: the words present in the query are searched in the vocabulary 2/ Retrieval occurrences: the lists of the occurrences of all words found are retrieved 3/ Manipulation of occurrences: The occurrences are processed to solve the query If block addressing is used we have to search the text of the blocks in order to get the exact positions and number of occurrences CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 24 Ανάκτηση Πληροφορίας 2008-2009 12

1/ Vocabulary search As Searching task on an inverted file always starts in the vocabulary, it is better to store the vocabulary in a separate file this file is not so big so it is possible to keep it at main memory at search time Suppose we want to search for a word of length m. The structures most used to store the vocabulary are hashing, tries or B-trees. Options: Cost of searching a sequential file: O(V) Cost of searching assuming hashing: O(m) Cost of searching assuming tries: O(m) Cost of searching assuming the file is ordered (lexicographically): O(log V) this option is cheaper in space and very competitive CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 25 Υπόβαθρο/Επανάληψη: Tries Tries multiway trees for stroring strings able to retrieve any string in time proportional to its length (independent from the number of all stored strings) Description every edge is labeled with a letter searching a string s start from root and for each character of s follow the edge that is labeled with the same letter. continue, until a leaf is found (which means that s is found) CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 26 Ανάκτηση Πληροφορίας 2008-2009 13

Tries: Παράδειγμα 1 6 9 11 17 19 24 28 33 40 46 50 55 60 This is a text. A text has many words. Words are made from letters. Vocabulary text (11) text (19) many (28) words (33) words (40) made (50) letters (60) Vocabulary (ordered) letters (60) made (50) many (28) text (11,19) words (33,40) Vocabulary trie l m a t w d n letters:60 made:50 many:28 text:11,19 words:33,40 Ερώτηση: Θα μπορούσε ένα trie να βοηθήσει τη στελέχωση κειμένου βάσει της τεχνικής Successor variety? CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 27 Παράδειγμα αυξητικής δημιουργίας ενός trie CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 28 Ανάκτηση Πληροφορίας 2008-2009 14

1/ Vocabulary Search (II) Remarks prefix and range queries can also be solved with binary search, tries or B-trees but not with hashing context queries are more difficult to solve with inverted indices 1. each element must be searched separately and 2. a list (in increasing positional order) is generated for each one 3. The lists of all elements are traversed in synchronization to find places where all the words appear in sequence (for a phrase) or appear close enough (for proximity). CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 29 Inverted Index: A general remark Experiments show that both the space requirements and the amount of text traversed can be close to O(n^0.85). Hence, inverted indices allow us to have sublinear search time and sublinear space requirements. This is not possible on other indices. CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 30 Ανάκτηση Πληροφορίας 2008-2009 15

Constructing an Inverted File Constructing an Inverted File All the vocabulary is kept in a suitable data structure storing for each word a list of its occurrences e.g. in a trie data structure Each word of the text is read and searched in the vocabulary if a trie data structure is used then this search costs O(m) where m the size of the word If it is not found, it is added to the vocabulary with an empty list of occurrences and the new position is added to the end of its list of occurrences CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 32 Ανάκτηση Πληροφορίας 2008-2009 16

Constructing an Inverted File (II) Once the text is exhausted the vocabulary is written to disk with the list of occurrences. Two files are created: in the first file, the list of occurrences are stored contiguously 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. The overall process is O(n) time 2 nd file 1 st file Trie: O(1) per text character Since positions are appended (in the postings file) O(1) time It follows that the overall process is O(n) CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 33 Example of constructing an inverted file (in our example we assume that: each word = one document, position = document identifier ) Once the complete trie structure is constructed the inverted file can be derived from it: The trie is traversed top-down and left-toright. whenever an index term is encountered, it is added to the end of the inverted file. Note that if a term is prefix of another term (such as "a" is prefix of "are") index terms can occur on internal nodes of the trie. analogously the posting file is derived. CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 34 Ανάκτηση Πληροφορίας 2008-2009 17

Example (cont) The trie structure constructed is a possible access structure to the index file in main memory. Thus the entries of the index files occur as leaves (or internal nodes) of the trie. Each entry has a reference to the position of the postings file that is held in secondary storage. CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 35 What if the Inverted Index does not fit in main memory? A technique based on partial Indexes: Use the previous algorithm until the main memory is exhausted. When no more memory is available, write to disk the partial index I i obtained up to now, and erase it from main memory Continue with the rest of the text Once the text is exhausted, a number of partial indices I i exist on disk The partial indices are merged to obtain the final index CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 36 Ανάκτηση Πληροφορίας 2008-2009 18

Merging two partial indices I1 and I2 Merge the sorted vocabularies and whenever the same word appears in both indices, merge both list of occurences By construction, the occurences of the smaller-numbered index are before those at the larger-numbered index, therefore the lists are just concatenated Complexity: O(n1+n2) where n1 and n2 the sizes of the indices CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 37 Example of two partial indices and their merging CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 38 Ανάκτηση Πληροφορίας 2008-2009 19

Merging partial indices to obtain the final I 1...8 final index 7 level 3 I 1...4 I 5...8 3 6 level 2 I 1...2 I 3...4 I 5...6 I 7...8 1 2 4 5 I 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 level 1 initial dumps CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 39 Merging all partial indices: Time Complexity Notations n: the size of the text V: the size of the vocabulary M: the amount of main memory available The total time to generate partial indices is O(n) The number of partial indices is O(n/M) To merge the O(n/M) partial indices are necessary log 2 (n/m) merging levels The total cost of this algorithm is O(n log(n/m)) CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 40 Ανάκτηση Πληροφορίας 2008-2009 20

Maintaining the Inverted File Addition of a new doc build its index and merge it with the final index (as done with partial indexes) Delete a doc of the collection scan index and delete those occurrences that point into the deleted file (complexity: O(n) : extremely expensive!) CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 41 Αποτίμηση Boolean επερωτήσεων με χρήση ανεστραμμένων αρχείων Αποτίμηση με χρήση ανεστραμμένων αρχείων Primitive keyword: Retrieve containing documents using the inverted index. OR: Recursively retrieve e 1 and e 2 and take union of results. AND: Recursively retrieve e 1 and e 2 and take intersection of results. BUT: Recursively retrieve e 1 and e 2 and take set difference of results. CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 42 Ανάκτηση Πληροφορίας 2008-2009 21

Evaluating Phrasal and Proximity Queries with Inverted Indices Phrasal Queries Must have an inverted index that also stores positions of each keyword in a document. Retrieve documents and positions for each individual word, intersect documents, and then finally check for ordered contiguity of keyword positions. Best to start contiguity check with the least common word in the phrase. Proximity Queries Use approach similar to phrasal search to find documents in which all keywords are found in a context that satisfies the proximity constraints -- a list (in increasing positional order) is generated for each one The lists of all elements are traversed in synchronization to find places where all the words appear close enough (for proximity). During binary search for positions of remaining keywords, find closest position of k i to p and check that it is within maximum allowed distance. CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 43 Inverted Index: Κατακλείδα Is probably the most adequate indexing technique Appropriate when the text collection is large and semi-static If the text collection is volatile online searching is the only option Some techniques combine online and indexed searching Είδαμε τρόπους για να μειώσουμε το μέγεθος ενός ανεστραμμένου ευρετηρίου (λέξεις αποκλεισμού, block addressing). Θα δούμε και άλλους τρόπους στο μάθημα περί συμπίεσης (συγκεκριμένα τρόπους μείωσης του χώρου που καταλαμβάνουν οι λίστες εμφανίσεων) CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 44 Ανάκτηση Πληροφορίας 2008-2009 22

Δομές Ευρετηρίου: Διάρθρωση Διάλεξης Εισαγωγή κίνητρο Ανεστραμμένα Αρχεία (Inverted files) Αρχεία Υπογραφών (Signature files) Δένδρα Καταλήξεων (Suffix trees) CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 45 Signature files (αρχεία υπογραφών) Ανάκτηση Πληροφορίας 2008-2009 23

Αρχεία Υπογραφών (Signature Files) Κύρια σημεία: Δομή ευρετηρίου που βασίζεται στο hashing Μικρή χωρική επιβάρυνση (10%-20% του μεγέθους των κειμένων) Xαρακτηρίζεται από απώλεια πληροφορίας: κατά τη διαδικασία της αναζήτησης σχετικών εγγράφων μπορεί να ανακτηθούν έγγραφα τα οποία δεν περιέχουν τους όρους του ερωτήματος. Αναζήτηση = σειριακή αναζήτηση στο αρχείο υπογραφών Κατάλληλη για όχι πολύ μεγάλα κείμενα CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 47 Αρχεία Υπογραφών Συγκεκριμένα 1. Χρήση hash function που αντιστοιχεί λέξεις κειμένου σε bit masks των Β bits 2. Διαμέριση τουκειμένουσεblocks των b λέξεων το καθένα 1. Bit mask of a block = Bitwise OR of the bits masks of all words in the block 2. Bit masks are then concatenated CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 48 Ανάκτηση Πληροφορίας 2008-2009 24

Αρχεία Υπογραφών: Παράδειγμα b = 3 ( 3 words per block) B = 6 (bit masks of 6 bits) Text Block 1 Block 2 Block 3 Block 4 This is a text. A text has many words. Words are made from letters. Text Signature 000101 110101 100100 101101 Signature Function h(text)= 000101 h(many)= 110000 h(words)=100100 h(made)= 001100 h(letters)=100001 Γιατί Bitwise-OR? CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 49 Αρχεία Υπογραφών: Αναζήτηση Έστω ότι αναζητούμε μια λέξη w: 1/ W := h(w) (we hash the word to a bit mask W) 2/ Compare W with all bit masks Bi of all text blocks If (W & Bi = W), the text block i is candidate (may contain the word w) 3/ For all candidate text blocks, perform an online traversal to verify that the word w is actually there CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 50 Ανάκτηση Πληροφορίας 2008-2009 25

False drops (false hits) False drop (false hit, false positive): All bits of the W are set in Bi but the word w is not there w=«words», h(«words»)=100100 Text Block 1 Block 2 Block 3 Block 4 This is a text. A text has many words. Words are made from letters. Text Signature 000101 110101 100100 101101 Signature Function h(text)= 000101 h(many)= 110000 h(words)=100100 h(made)= 001100 h(letters)=100001 CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 51 Υπογραφές (σύγκρουση) Ακόμα και να δεν υπάρχει υπέρθεση (ORing) υπάρχει περίπτωση δύο διαφορετικοί όροι να έχουν την ίδια υπογραφή. Το φαινόμενο αυτό καλείται σύγκρουση (collision) και η εμφάνισή του επηρεάζεται από το μέγεθος της υπογραφής και από τη συνάρτηση κατακερματισμού που χρησιμοποιείται. Όσο αυξάνει ο αριθμός των συγκρούσεων αυξάνει και ο αριθμός των false alarms (drops). Ανάκτηση Πληροφορίας 2008-2009 26

Διαμόρφωση (Configuration) υπογραφών Σχεδιαστικοί στόχοι: Μείωσε την πιθανότητα εμφάνισης false drops Κράτησε το μέγεθος του αρχείου υπογραφών μικρό δεν έχουμε κανένα false drop αν b=1 και Β=log 2 (V) Παράμετροι: Β (το μέγεθος των bit mask) L (L<B) to πλήθος των bit που είναι 1 (σε κάθε h(w)) The (space)-(false drop probability) tradeoff: 10% space overhead => 2% false drop probability 20% space overhead => 0.046% false drop probability CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 53 Εξαγωγή Υπογραφής μήκος υπογραφής Β αριθμός άσσων L όρος t Κατασκευή Υπογραφής Υπογραφή 0 0 1 0 1 0 0... 0 1 0 συνάρτηση κατακερματισμού h(t) Ανάκτηση Πληροφορίας 2008-2009 27

Αρχεία Υπογραφών: Άλλες Παρατηρήσεις Μέγεθος αρχείου υπογραφών: bit masks of each block plus one pointer for each block (pointing to the corresponding position at the original text) Συντήρηση αρχείου υπογραφών: Η προσθήκη/διαγραφή αρχείων αντιμετωπίζεται εύκολα προσθέτονται/διαγράφονται τα αντίστοιχα bit masks CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 55 Signature files: Phrase and Proximity Queries Good for phrase searches and reasonable proximity queries this is because all the words must be present in a block in order for that block to hold the phrase or the proximity query. Hence the OR of all the query masks is searched Remark: no other patterns (e.g. range queries) can be searched in this scheme CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 56 Ανάκτηση Πληροφορίας 2008-2009 28

Phrase/Proximity Queries and Block Boudaries q=<information retrieval> Text blocks Information retrieval (πρόβλημα! Μπορούμε όμως να το λύσουμε με επικαλυπτόμενα blocks) Overlapping blocks For j-proximity queries Information retrieval j-1 common words CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 57 Οργάνωση Υπογραφών Ανάκτηση Πληροφορίας 2008-2009 29

Σειριακή Οργάνωση Υπογραφών Η πιο απλή μορφή καταλόγου βασίζεται στη σειριακή παράθεση των υπογραφών σε ένα αρχείο που καλείται σειριακό αρχείο υπογραφών (sequential signature file - SSF). Το αρχείο υπογραφών είναι στην ουσία ένας πίνακας L x F με L γραμμές (πλήθος blocks - λογικών τμημάτων) και F στήλες (πλήθος δυαδικών ψηφίων ανά υπογραφή). Σε κάθε υπογραφή αντιστοιχεί και ένα δείκτης (pointer) που δείχνει στην αρχή του λογικού τμήματος του εγγράφου. Σειριακή Οργάνωση Υπογραφών Ανάκτηση Πληροφορίας 2008-2009 30

Οργάνωση Υπογραφών Με βάση τον τρόπο λειτουργίας του καταλόγου SSF προκύπτει ότι για την αναζήτηση ενός και μόνο όρου θα πρέπει να εξεταστούν όλες οι υπογραφές των λογικών τμημάτων. Eναλλακτικές μορφές οργάνωσης του αρχείου υπογραφών. Κάθετος Διαμερισμός: BSSF Tεμαχισμός (slicing) του πίνακα υπογραφών (1988): BSSF (bit-sliced signature file). Κάθετος διαμερισμός του πίνακα υπογραφών: η αποθήκευση του πίνακα γίνεται κατά στήλες (και όχι κατά γραμμές όπως στη μέθοδο SSF). Δηλαδή, ανά bit της υπογραφής Ο πίνακας υπογραφών του αντιστρέφεται, και αποκτά διαστάσεις F x L (F γραμμές και L στήλες): Η κάθε γραμμή του αντεστραμμένου πίνακα καλείται τεμάχιο (slice) και αποτελείται από τα δυαδικά ψηφία που βρίσκονται στην ίδια θέση σε όλες τις υπογραφές των λογικών τμημάτων. Για να μπορεί η δομή να υποστηρίξει εισαγωγές και διαγραφές αποδοτικά, ηκάθε γραμμή του αντεστραμμένου πίνακα αποθηκεύεται σε ξεχωριστό αρχείο. Ανάκτηση Πληροφορίας 2008-2009 31

Κάθετος Διαμερισμός: BSSF Κάθετος Διαμερισμός: BSSF Η αναζήτηση ενός όρου στη δομή BSSF: Υπολογισμός της υπογραφής του όρου. H υπογραφή του όρου θα περιέχει άσσους σε ακριβώς m δυαδικά ψηφία. ( σε αντίθεση με τη δομή SSF) Εξέταση m τεμαχίων (γραμμών του αντεστραμμένου πίνακα) αυτών που είναι 1 στην υπογραφή Τα δυαδικά ψηφία των m γραμμών συνδυάζονται με τη χρήση υπέρθεσης (λογικό AND) και προκύπτει ένα διάνυσμα L θέσεων. Λαμβάνονται υπόψη οι θέσεις των άσσων στο διάνυσμα αυτό και προσπελαύονται οι αντίστοιχοι δείκτες του αρχείου δεικτών για να οδηγηθούμε τελικά στα λογικά τμήματα των εγγράφων. Ανάκτηση Πληροφορίας 2008-2009 32

Κάθετος Διαμερισμός: BSSF Κάθετος Διαμερισμός: BSSF Για την εισαγωγή ενός νέου εγγράφου, αρχικά προσδιορίζονται τα νέα λογικά τμήματα και οι αντίστοιχες υπογραφές. για κάθε νέο λογικό τμήμα πραγματοποιείται τεμαχισμός της υπογραφής του και κάθε ένα από τα F διαφορετικά αρχεία λαμβάνει και ένα δυαδικό ψηφίο της υπογραφής που αποθηκεύεται στο τέλος. Ανάκτηση Πληροφορίας 2008-2009 33

Κάθετος Διαμερισμός: BSSF Η μέθοδος BSSF είναι πιο αποδοτική από την SSF ως προς τη λειτουργία της αναζήτησης. Ωστόσο, υπάρχει επιπλέον χώρος για βελτίωση που οφείλεται σε δύο κυρίως λόγους: Η αναζήτηση ενός όρου επιβάλλει την προσπέλαση m τεμαχίων, όπου m είναι ο αριθμός των άσσων στην υπογραφή του όρου. Αν m=1 τότε θα μπορούσε να αυξηθεί η απόδοση της μεθόδου. Η εισαγωγή ενός νέου λογικού τμήματος απαιτεί ένα μεγάλο αριθμό προσπελάσεων που ρυθμίζεται από τον αριθμό των δυαδικών ψηφίων της υπογραφής του λογικού τμήματος F. Αν η τιμή της παραμέτρου F είναι μεγάλη (π.χ. 1000) τότε αυξάνεται σημαντικά το κόστος εισαγωγής. Σύνοψη Οι κατάλογοι υπογραφών αποτελούν μία διαφορετική προσέγγιση για την οργάνωση μίας συλλογής εγγράφων. Το βασικό χαρακτηριστικό των καταλόγων αυτών είναι ότι στηρίζονται στη δημιουργία υπογραφών από τους όρους των εγγράφων. Μία υπογραφή είναι μία ακολουθία δυαδικών ψηφίων (bits) τα οποία περιέχουν άσσους σε συγκεκριμένες θέσεις που καθορίζονται από τη συνάρτηση κατακερματισμού που χρησιμοποιείται. Ανάκτηση Πληροφορίας 2008-2009 34

Σύνοψη Σύμφωνα με πειραματικές μελέτες σχετικά με την επίδοση των καταλόγων υπογραφών σε σχέση με τους ανεστραμμένους καταλόγους, έχει επαληθευτεί ότι οι κατάλογοι που στηρίζονται στην αντιστροφή έχουν γενικά καλύτερες επιδόσεις από τους καταλόγους που στηρίζονται σε υπογραφές. Ωστόσο, οι κατάλογοι υπογραφών έχουν μερικές πολύ καλές ιδιότητες (π.χ., ευκολία στον παραλληλισμό) Δομή ενός ΣΑΠ Έγγραφο Ερωτήματος Νέα Έγγραφα Ερώτημα Χρήστης Ανάδραση Προεπεξεργασία Εγγράφου Ερωτήματος Προεπεξεργασία Εγγράφου Επαναπροσδιορισμός Ερωτήματος Αναζήτηση Σχετικών Εγγράφων Ενημέρωση Καταλόγου Βαθμολόγηση Εγγράφων Παραγωγή και Μορφοποίηση Αποτελεσμάτων Κατάλογος Έγγραφα Ανάκτηση Πληροφορίας 2008-2009 35

Δομές Ευρετηρίου: Διάρθρωση Διάλεξης Εισαγωγή κίνητρο Ανεστραμμένα Αρχεία (Inverted files) Αρχεία Υπογραφών (Signature files) Δένδρα Καταλήξεων (Suffix trees) CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 71 Δένδρα και Πίνακες Καταλήξεων (Suffix Trees and Suffix Arrays) Ανάκτηση Πληροφορίας 2008-2009 36

Δένδρα και Πίνακες Καταλήξεων (Suffix Trees and Arrays ) Κίνητρο Γρήγορη αποτίμηση των phrase queries H έννοια της λέξης (στην οποία βασίζονται τα inverted files) δεν υπάρχει σε άλλες εφαρμογές (π.χ. στις γενετικές βάσεις δεδομένων), άρα υπάρχει ανάγκη για διαφορετικές δομές δεδομένων. Μια αλυσίδα DNA είναι μια ακολουθία από διατεταγμένα ζευγάρια βάσεων. Υπάρχουν 4 βάσεις: η αδενίνη (Α), η γουανίνη(g), ηκυτοσίνη(c) και η θυμίνη (T). Κάθε ζευγάρι βάσεων του DNA αποτελείται από διαφορετικές βάσεις. Συγκεκριμένα, η αδενίνη (A) μπορεί να συνδέεται μόνο με τη θυμίνη (T), ενώ η γουανίνη (G) μπορεί να συνδέεται μόνο με την κυτοσίνη (C). Ένα παράδειγμα αποσπάσματος αλυσίδας DNA ακολουθεί: AGGCTACCCT TA T C C G A T G G G A A T CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 73 Δένδρα Καταλήξεων (Suffix Trees) Δένδρο Καταλήξεων: Το δένδρο καταλήξεων ενός κειμένου είναι ένα trie πάνω σε όλες τις καταλήξεις του κειμένου. Οι δείκτες προς το κείμενο αποθηκεύονται στα φύλλα του δένδρου. CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 74 Ανάκτηση Πληροφορίας 2008-2009 37

Suffix Trie για τη λέξη cacao (θεωρώντας κάθε θέση ως σημείο ευρετηρίου) Καταλήξεις: o ao cao acao cacao Trie Καταλήξεων o c a a c c o o a a o Κανονικά ταξινομημένα o CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 75 Suffix Trie για τη λέξη cacao (θεωρώντας κάθε θέση ως σημείο ευρετηρίου) Καταλήξεις: o ao cao acao cacao caca o cac a ca c c a o ε c cao a o a c o o ac a aca o ao acao cacao CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 76 Ανάκτηση Πληροφορίας 2008-2009 38

Δένδρα και Πίνακες Καταλήξεων (Suffix Trees and Arrays ) Γενική ιδέα Βλέπουμε όλο το κείμενο ως μία μακριά συμβολοσειρά (long string) Θεωρούμε κάθε θέση του κειμένου ως κατάληξη κειμένου (text suffix) Δύο καταλήξεις που ξεκινούν από διαφορετικές θέσεις είναι λεξικογραφικά διαφορετικές άρα κάθε κατάληξη προσδιορίζεται μοναδικά από τη θέση της αρχής της Επιλογές Ευρετηριάζουμε όλες τις θέσεις του κειμένου Ευρετηριάζουμε κάποιες θέσεις του κειμένου (π.χ. μόνο τις αρχές λέξεων) Άρα εδώ έχουμε την έννοια του σημείου ευρετηρίου (index point) Τα σημεία που δεν είναι σημεία ευρετηρίου δεν είναι παραδόσιμα (deliverable) CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 77 Παράδειγμα καταλήξεων (θεωρώντας ως σημεία ευρετηρίου (index points) τις αρχές των λέξεων) This is a text. A text has many words. Words are made from letters. letters. made from letters. Words are made from letters. words. Words are made from letters. many words. Words are made from letters. text has many words. Words are made from letters. text. A text has many words. Words are made from letters. CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 78 Ανάκτηση Πληροφορίας 2008-2009 39

Δένδρα Καταλήξεων (Suffix Trees) Δένδρο Καταλήξεων: Το δένδρο καταλήξεων ενός κειμένου είναι ένα trie πάνω σε όλες τις καταλήξεις του κειμένου. Οι δείκτες προς το κείμενο αποθηκεύονται στα φύλλα του δένδρου. Για μείωση του χώρου, το trie συμπυκνώνεται ως ένα Patricia tree Patricia = Practical Algorithm To Retrieve Information Coded in Alphanumerical CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 79 Παράδειγμα καταλήξεων και του αντίστοιχου Suffix Trie 1 6 9 11 17 19 24 28 33 40 46 50 55 60 This is a text. A text has many words. Words are made from letters. letters. made from letters. Words are made from letters. words. Words are made from letters. many words. Words are made from letters. text has many words. Words are made from letters. text. A text has many words. Words are made from letters. Suffix Trie l 60 50 d a m 28 19 n t e x t. 11 w o r d s. 40 33 CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 80 Ανάκτηση Πληροφορίας 2008-2009 40

Suffix tree = Suffix trie compacted into a Patricia tree This involves compressing unary paths, ι.e. paths where each node has just one child. If unary paths are not present, the tree has O(n) nodes instead of the worstcase O(n 2 ) of the trie. Suffix Trie Suffix Tree l 60 50 d a m 28 19 n t e x t. 11 w o r d s. 40 33 60 50 l 3 m d n 28 1 t w 5. 6. 19 11 40 33 CS463 - Information Retrieval Systems Yannis Tzitzikas, Τι είναιu. αυτοί of Crete οι αριθμοί; 81 Πίνακες Καταλήξεων (Suffix arrays) Ανάκτηση Πληροφορίας 2008-2009 41

Πίνακες Καταλήξεων (Suffix arrays) (Space efficient implementation of suffix trees) Suffix trees have a space overhead of 120%-240% over the text size (assuming that index points = word beginnings) assuming node size of 12 or 24 bytes Now we will present a data structure with space requirements like those of the inverted file (~40% overhead over the text size) CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 83 Πίνακες Καταλήξεων (Suffix arrays) (Space efficient implementation of suffix trees) Πίνακας Καταλήξεων: Πίνακας με δείκτες προς όλες τις «καταλήξεις» σε λεξικογραφική σειρά Για να τον δημιουργήσουμε αρκεί μια depth-fist-search διάσχιση του suffix tree. 1 6 9 11 17 19 24 28 33 40 46 50 55 60 This is a text. A text has many words. Words are made from letters. 60 50 l 3 m d n 28 1 t 19 w 5. 11 6 40. Suffix Tree 33 Suffix Array l m m t t w w 60 50 28 19 11 40 33 CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 84 Ανάκτηση Πληροφορίας 2008-2009 42

Πίνακες Καταλήξεων 1 6 9 11 17 19 24 28 33 40 46 50 55 60 This is a text. A text has many words. Words are made from letters. Suffix Tree 60 50 l 3 m d n 28 1 t w 5. 6. 19 11 40 33 Suffix Array l m m t t w w 60 50 28 19 11 40 33 Οφέλη: Μείωση χώρου κρατάμε 1 δείκτη ανά κατάληξη (7 καταλήξεις, πίνακας 7 κελιών) (space overhead ~ that of inverted files) Δυνατότητα binary search CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 85 Πίνακες Καταλήξεων(III) 1 6 9 11 17 19 24 28 33 40 46 50 55 60 This is a text. A text has many words. Words are made from letters. Suffix Tree 60 50 l 3 m d n 28 1 t w 5. 6. 19 11 40 33 Suffix Array l m m t t w w 60 50 28 19 11 40 33 Αναζήτηση βάσει Suffix Array Γιαναδούμεανυπάρχειμιακατάληξηστο κείμενο κάνουμε δυαδική αναζήτηση (binary search) στο περιεχόμενο των δεικτών CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 86 Ανάκτηση Πληροφορίας 2008-2009 43

Πίνακες Καταλήξεων(IV) Αναζήτηση βάσει Suffix Array Για να δούμε αν υπάρχει μια κατάληξη στο κείμενο κάνουμε δυαδική αναζήτηση (binary search) στο περιεχόμενο των δεικτών Μπορεί να οδηγήσει σε πολλά disk accesses Therefore if vocabulary is big (and the suffix array does not fit in main memory), supra indices are employed they store the first l characters for each of every b entries of the suffix array Supra-Index lett text word l=4, b=3 Suffix Array 60 50 28 19 11 40 33 l m m t t w w CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 87 Πίνακες Καταλήξεων (με supra-index) έναντι Ανεστραμμένων Αρχείων For word-indexing suffix array, it has been suggested that a new sample could be taken each time the first word of the suffix changes, and to store the word instead of l characters This is exactly as having a vocabulary of the text plus pointers to the array The only important difference between this structure and an inverted index is that the occurrences of each word in an inverted index are stored by text position, while in a suffix array they are stored lexicographically by the text following the word. CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 88 Ανάκτηση Πληροφορίας 2008-2009 44

Δένδρα και Πίνακες Καταλήξεων Κόστος Αποτίμησης Επερωτήσεων Κόστος αναζήτησης μιας συμβολοσειράς μήκους m χαρακτήρων O(m) στην περίπτωση των δένδρων καταλήξεων (suffix tree) O(log n) στην περίπτωση των πινάκων καταλήξεων (suffix array) θυμηθείτε οτι κάθε σημείο του κειμένου προσδιορίζει μια κατάληξη Αποτίμηση phrase queries Η φράση αναζητείται σαν να ήταν μια συμβολοσειρά Αποτίμηση proximity queries proximity queries have to be resolved element wise CS463 - Information Retrieval Systems Yannis Tzitzikas, U. of Crete 89 Ανάκτηση Πληροφορίας 2008-2009 45