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

Σχετικά έγγραφα
Ανάκτηση Πληροφορίας

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

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

εικτοδότηση και Αναζήτηση (Indexing & Searching) Εισαγωγή Εισαγωγή

Ανάκτηση Πληροφορίας (Information Retrieval IR) ιδακτικό βοήθηµα 2. Πανεπιστήµιο Θεσσαλίας Πολυτεχνική Σχολή Τµήµα Μηχ. Η/Υ, Τηλ/νιών & ικτύων

Ανάκτηση Πληροφορίας (Information Retrieval IR)

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

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

Βάσεις Περιβαλλοντικών Δεδομένων

Ανάκτηση Πληροφορίας. Διδάσκων: Φοίβος Μυλωνάς. Διάλεξη #03

Διαχείριση Πολιτισμικών Δεδομένων

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

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

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

Ανάκτηση Πληροφορίας. Διδάσκων: Φοίβος Μυλωνάς. Διάλεξη #01

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

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

Βάσεις Δεδομένων ΙΙ Ενότητα 5

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

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

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

Προγραμματισμός Η/Υ. 7 η ενότητα: Αρχεία. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

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

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

Λεξικό, Union Find. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 6 : Δομές αρχείων. Δρ. Γκόγκος Χρήστος

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

#2 Αλγόριθµοι, οµές εδοµένων και Πολυπλοκότητα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ

Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

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

Βάσεις Δεδομένων ΙΙ Ενότητα 6

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Προγραμματισμός Η/Υ. Χειρισμός Αρχείων. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Ουρά Προτεραιότητας: Heap

Πληροφορική 2. Δομές δεδομένων και αρχείων

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1

Αυτοματοποιημένη χαρτογραφία

Αρχιτεκτονική Υπολογιστών

Πληροφορική. Εργαστηριακή Ενότητα 3 η : Επεξεργασία Κελιών Γραμμών & Στηλών. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Διαδικτυακές Εφαρμογές Ενότητα 7: Προσπέλαση ΒΔ με το JDBC

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Δημήτρης Πλεξουσάκης

Δομημένος Προγραμματισμός

Βάσεις Δεδομένων Ενότητα 1

Λογιστικές Εφαρμογές Εργαστήριο

Αλγόριθμοι Αναζήτησης

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 7α: SQL (NULL, Διαίρεση) Ευαγγελίδης Γεώργιος. Τμήμα Εφαρμοσμένης Πληροφορικής ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι

Βάσεις Περιβαλλοντικών Δεδομένων

Εισαγωγή στους Αλγορίθμους

Ηλεκτρονικοί Υπολογιστές II

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δείκτες Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Κεφ.11: Ευρετήρια και Κατακερματισμός

Δομές Δεδομένων. Ενότητα 11: Τεχνικές Κατακερματισμού. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής.

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim

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

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 2

{ int a = 5; { int b = 7; a = b + 3;

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1

Μαθηματικά. Ενότητα 7: Μη Πεπερασμένα Όρια. Σαριαννίδης Νικόλαος Τμήμα Λογιστικής και Χρηματοοικονομικής

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 4

Ενότητα. Σχεδίαση Βάσεων Δεδομένων

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Cretive Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπ

ΜΑΘΗΜΑ: Αντικειμενοστρεφής Προγραμματισμός

Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών. Ένα στοιχείο γράφεται ως, όπου κάθε.

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

έντρα ομές εδομένων 3ο εξάμηνο ιδάσκων: Χρήστος ουλκερίδης ιαφάνειες προσαρμοσμένες από το υλικό της Μαρίας Χαλκίδη

Εισαγωγή στους Αλγορίθμους

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ ΠΕΡΣΕΦΟΝΗ ΠΟΛΥΧΡΟΝΙΔΟΥ ΤΜΗΜΑ ΛΟΓΙΣΤΙΚΗΣ ΤΕ

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 5

Πληροφορική ΙΙ Θεματική Ενότητα 5

Αρχιτεκτονική Υπολογιστών

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

Οργάνωση Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Ασκήσεις 7: Πρόγραμμα Συνδεδεμένης Λίστας και Διαδικασιών. Μανόλης Γ.Η.

Query-Driven Indexing for Scalable Peer-to-Peer Text Retrieval. Gleb Skobeltsyn, Toan Luu, Ivana Podnar Zarko, Martin Rajman, Karl Aberer

Εισαγωγή στους Αλγορίθμους

Αρχιτεκτονική Υπολογιστών

Δομές Δεδομένων. Ενότητα 13: B-Δέντρα/AVL-Δέντρα. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 1: Εισαγωγικό Μάθημα

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 6: Συμπίεση Windows

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Transcript:

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Ανάκτηση Πληροφορίας Διδάσκων: Φοίβος Μυλωνάς fmylonas@ionio.gr Διάλεξη #10 εικτοδότηση και Αναζήτηση Φοίβος Μυλωνάς fmylonas@ionio.gr Ανάκτηση Πληροφορίας 1

Άδεια χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. Φοίβος Μυλωνάς fmylonas@ionio.gr Ανάκτηση Πληροφορίας 2

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα Ιονίου Πανεπιστημίου» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. Φοίβος Μυλωνάς fmylonas@ionio.gr Ανάκτηση Πληροφορίας 3

Αρχιτεκτονική Συστήµατος IR User Need User Interface Text Operations Text User Feedback Query Operations Indexing Database Manager Query Ranked Docs Searching Ranking Index Retrieved Docs Text Database

Εισαγωγή Με ποιους τρόπους µπορούµε να αναζητήσουµε πληροφορία από µία συλλογή κειµένων; Ο πιο απλός και εύκολα υλοποιήσιµος τρόπος είναι να ψάξουµε σειριακά όλα τα κείµενα της συλλογής (online searching) Κατάλληλος για µικρές και ευµετάβλητες συλλογές Ένας άλλος τρόπος είναι να δηµιουργήσουµε ειδικές δοµές δεικτοδότησης (index structures) ώστε να επιταχύνουµε τη διαδικασία αναζήτησης Κατάλληλος για µεγάλες ή ηµι-στατικές συλλογές (που ενηµερώνονται ανά διαστήµατα) οµές εδοµένων υαδικά δέντρα αναζήτησης Β-trees Hash tables Tries

1. υαδικά ένδρα Αναζήτησης Κάθε κόµβος έχει το πολύ δύο θυγατρικούς κόµβους Η τιµή του αριστερού κόµβου είναι µικρότερη ή ίση µε τον γονικό Η τιµή του κόµβου είναι µεγαλύτερη ή ίση µε τον γονικό 10 4 19 1 7 13 22 2.Β-trees 5 3 11 1 2 4 8 9 14 16 Τα δεδοµένα διατηρούνται σε διάταξη Οι κόµβοι έχουν µεταβλητό αριθµό θυγατρικών κόµβων εντός κάποιου προκαθορισµένου εύρους

3.Hash Tables Keys Hash Values John Smith Lisa Smith Sam Doe 0 1 872 873 998 999 +5043309249 +6504360886 +6658349001 Συνδέει κλειδιά µε τιµές Το κλειδί µετασχηµατίζεται σε έναν αριθµό (hash) που χρησιµοποιείται για να βρεθεί η επιθυµητή τιµή Retrieval Αποθηκεύουν strings Κάθε κόµβος µπορεί να έχει πολλαπλούς θυγατρικούς κόµβους Κάθε ακµή του δέντρου έχει µία ετικέτα (χαρακτήρα) 4.Tries

εικτοδότηση Κειµένων Στην περίπτωση των κειµένων οι µηχανισµοί δεικτοδότησης διαφέρουν από τους αντίστοιχους για αριθµητικά δεδοµένα εικτοδότηση για κείµενα: Ανεστραµµένα Αρχεία (inverted files) έντρα και πίνακες επιθεµάτων (suffix trees, suffix arrays) Αρχεία Υπογραφών (signature files) Ανεστραµµένα Αρχεία Ορισµοί: n: συνολικό µέγεθος κειµένου συλλογής m: µήκος του προτύπου αναζήτησης v: µέγεθος λεξιλογίου M: το µέγεθος της διαθέσιµης κύριας µνήµης

Ανεστραµµένα Αρχεία Είναι ένας µηχανισµός δεικτοδότησης στηριζόµενες σε λέξεις (word-based) ο οποίος χρησιµοποιείται για αποδοτικότερη αναζήτηση οµή αντεστραµµένου αρχείου: Λεξιλόγιο (vocabulary) Λίστες εµφάνισης (occurrence lists) Παράδειγµα Κείµενο 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 Ανεστραµµένο Αρχείο Vocabulary Occurrences beautiful 70 flowers 45, 58 garden 18, 29 house 6

Ανεστραµµένα Αρχεία Οι απαιτήσεις χώρου για την αποθήκευση του λεξιλογίου είναι αρκετά µικρές Σύµφωνα µε το νόµο του Heaps το µέγεθος του λεξιλογίου αυξάνεται ανάλογα του O(n β ) όπου β είναι µία σταθερά µεταξύ 0 και 1. => [V ~ sqrt(n)] Στην πράξη το β παίρνει τιµές µεταξύ 0.4 και 0.6 Για παράδειγµα για κείµενα συνολικού µεγέθους 1Gb από τη συλλογή TREC-2 το λεξιλόγιο καταλαµβάνει µόλις 5Mb Ανεστραµµένα Αρχεία Το τµήµα της λίστας εµφανίσεων καταλαµβάνει πολύ περισσότερο χώρο Εφόσον κάθε λέξη εµφανίζεται τουλάχιστον µία φορά στο κείµενο, ο επιπλέον απαιτούµενος χώρος είναι της τάξης του O(n) Ακόµη και µετά την αποµάκρυνση των stopwords, το επιπλέον κόστος σε χώρο κυµαίνεται µεταξύ 30% και 40% του µεγέθους του κειµένου

Ανεστραµµένα Αρχεία Οι µέθοδοι που χρησιµοποιούν δείκτες σε θέσεις χαρακτήρων καλούνται full inverted indices Εναλλακτικά οι δείκτες µπορεί να αναφέρονται σε θέσεις λέξεων Κατάλληλο για queries φράσεων Για τη µείωση του απαιτούµενου χώρου χρησιµοποιείται η τεχνική block addressing Το κείµενο χωρίζεται σε τµήµατα (blocks) και οι εµφανίσεις δείχνουν στα αντίστοιχα block και όχι σε χαρακτήρες ή λέξεις Ανεστραµµένα Αρχεία Χρησιµοποιώντας block addressing απαιτούνται pointers µικρότερου µεγέθους διότι τα blocks είναι πολύ λιγότερα από τους χαρακτήρες του κειµένου Επίσης, εµφανίσεις που αναφέρονται σε λέξεις του ίδιου block εµφανίζονται µε την ίδια αναφορά Συνήθως το επιπλέον κόστος σε χώρο που απαιτείται µε την τεχνική αυτή είναι περίπου 5% του µεγέθους του κειµένου

Παράδειγµα Κείµενο Block 1 Block 2 Block 3 Block 4 That house has a garden. The garden has many flowers. The flowers are beautiful Ανεστραµµένο Αρχείο Vocabulary beautiful flowers garden house 4 3 2 1 Occurrences Μία εµφάνιση στη λίστα για τη λέξη flowers Σύγκριση Small collection Medium collection Large collection Index (1Mb) (200Mb) (2Gb) Addressing words 45% 73% 36% 64% 35% 63% Addressing documents 19% 26% 18% 32% 26% 47% Addressing 64K blocks 27% 41% 18% 32% 5% 9% Addressing 256K blocks 18% 25% 1.7% 2.4% 0.5% 0.7% Stopwords are not indexed All words are indexed

Αναζήτηση σε Αν. Αρχείο Μία τυπική µέθοδος αναζήτησης σε ανεστραµµένο αρχείο συνήθως ακολουθεί τα παρακάτω βήµατα: 1. Αναζήτηση Λεξιλογίου: οι όροι που προσδιορίζονται στο query αποµονώνονται και αναζητούνται στο λεξιλόγιο 2. Ανάκτηση Εµφανίσεων: προσδιορίζονται οι εµφανίσεις του κάθε όρου 3. Επεξεργασία Εµφανίσεων: οι εµφανίσεις επεξεργάζονται για την επίλυση φράσεων, οµοιότητας ή λογικών τελεστών (boolean operators). Εάν χρησιµοποιείται block addressing µπορεί να απαιτηθεί απευθείας αναζήτηση στο κείµενο Αναζήτηση σε Αν. Αρχείο Εφόσον η αναζήτηση ξεκινά µε το λεξιλόγιο, µία καλή πρακτική είναι να αποθηκεύεται σε ξεχωριστό αρχείο Είναι πιθανόν, ακόµη και για µεγάλες συλλογές κειµένων, το λεξιλόγιο να χωράει στην κύρια µνήµη Σε διαφορετική περίπτωση µέρος του λεξιλογίου βρίσκεται στην κύρια µνήµη και το υπόλοιπο στη βοηθητική µνήµη (δίσκο, CD-ROM)

Single-word Queries Ερωτήσεις µίας µόνο λέξης µπορούν να απαντηθούν χρησιµοποιώντας κάποια βολική δοµή δεδοµένων για τη γρήγορη επεξεργασία του ερωτήµατος Hashing, χρόνος αναζήτησης O(m) Tries, χρόνος αναζήτησης O(m) Β-trees, χρόνος αναζήτησης O(m*log(n)) Λεξικογραφική λίστα, χρόνος αναζήτησης O(log(n)) Η αναζήτηση σταµατά όταν έχουµε προσδιορίσει τις εµφανίσεις της λέξης Ίσως χρειαστεί να ενωθούν κάποιες λίστες αν το πρότυπο αναζήτησης ταιριάζει µε πολλές λέξεις Ερωτήσεις ιαστήµατος Για να απαντήσουµε ερωτήσεις διαστήµατος το hashing δεν είναι κατάλληλο Για την περίπτωση αυτή µπορούµε να χρησιµοποιήσουµε δυαδικά δένδρα αναζήτησης, Tries ή Β-trees

Παράδειγµα Ερώτησης ιαστήµατος Να βρεθούν κείµενα που περιέχουν λέξεις οι οποίες λεξικογραφικά βρίσκονται µεταξύ της λέξης cluster και της λέξης damage Age basket cat cube cluster creature creative damage Context Queries Στις περιπτώσεις όπου έχουµε αναζήτηση ολόκληρων φράσεων (όχι µεµονωµένων λέξεων) ή ερωτήµατα προσέγγισης όρων, η επεξεργασία είναι δυσκολότερη Για κάθε λέξη δηµιουργείται µία λίστα εµφανίσεων Στη συνέχεια πραγµατοποιείται επεξεργασία των λιστών ώστε να προσδιοριστεί η τελική απάντηση στο ερώτηµα Αν οι δείκτες αντιστοιχούν σε θέσεις χαρακτήρων η προσέγγιση πρέπει να οριστεί µε απόσταση µεταξύ χαρακτήρων συµπεριλαµβανοµένου του κενού χαρακτήρα Αν χρησιµοποιείται block addressing πρέπει να προσπελαστούν τα αντίστοιχα blocks για να βρεθεί η πληροφορία θέσης

Κατασκευή Αν. Αρχείου Η κατασκευή και η ενηµέρωση ενός ανεστραµµένου αρχείου είναι σχετικά εύκολη διαδικασία Ένα ανεστραµµένο αρχείο για µέγεθος κειµένου n χαρακτήρων µπορεί να κατασκευαστεί σε χρόνο O(n) Κατασκευή Αν. Αρχείου Το λεξιλόγιο οργανώνεται µε τη βοήθεια µίας βολικής δοµής δεδοµένων (π.χ. Trie) Κάθε λέξη του κειµένου διαβάζεται και αναζητείται στο λεξιλόγιο Εάν η νέα λέξη δε βρεθεί στο λεξιλόγιο, τότε εισάγεται σε αυτό και ενηµερώνεται η λίστα εµφανίσεων για τη συγκεκριµένη λέξη Εάν η λέξη υπάρχει στο λεξιλόγιο, τότε απαιτείται µόνο ενηµέρωση της λίστας εµφανίσεων

Παράδειγµα: 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 l m letters: 60 a d made: 50 t w text: 11, 19 n many: 28 words: 33, 40 Κόστος Κατασκευής Εφόσον για την επεξεργασία κάθε χαρακτήρα του κειµένου απαιτείται χρόνος Ο(1), και για την ενηµέρωση µίας λίστας εµφανίσεων απαιτείται χρόνος Ο(1), η συνολική πολυπλοκότητα της προηγούµενης µεθόδου είναι Ο(n) Σε περίπτωση που η δοµή δεν µπορεί να χωρέσει στην κύρια µνήµη, η µέθοδος παρουσιάζει προβλήµατα, διότι απαιτούνται πολλές προσπελάσεις στο δίσκο, µε αποτέλεσµα να αυξάνεται δραµατικά ο χρόνος κατασκευής

Εναλλακτική Μέθοδος Κατασκευής Ακολουθείται η προηγούµενη διαδικασία µέχρι να γεµίσει η κύρια µνήµη Σχηµατίζεται ένα partial index I i το οποίο αποθηκεύεται στο δίσκο Με την ίδια διαδικασία σχηµατίζεται ένα σύνολο partial indices I i τα οποία αποθηκεύονται στο δίσκο Ακολουθούν διαδοχικές συγχωνεύσεις των partial indices ώστε να προκύψει το συνολικό index Παράδειγµα 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 level 1 I 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 initial dumps

Πολυπλοκότητα Εναλλακτικής Μεθόδου Ο χρόνος κατασκευής των I i είναι O(n) Αριθµός τµηµάτων O(n/M) Κάθε φάση συγχώνευσης απαιτεί χρόνο O(n) Για τη συγχώνευση των O(n/M) τµηµάτων απαιτούνται log(n/m) φάσεις συγχώνευσης Εποµένως το κόστος είναι Ο(n*log(n/M)) Μειονεκτήµατα Αν. Αρχείων Η µέθοδος των ανεστραµµένων αρχείων υποθέτει ότι το κείµενο µπορεί να θεωρηθεί σαν µία ακολουθία λέξεων Αυτό το χαρακτηριστικό περιορίζει αρκετά τον τύπο των ερωτηµάτων που µπορούν να επεξεργαστούν από το σύστηµα Ερωτήµατα όπως αναζήτηση φράσεων είναι ακριβά στην επεξεργασία τους Η έννοια της λέξης δεν υφίσταται σε κάποιες εφαρµογές (γενετικές βάσεις δεδοµένων)