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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Information Retrieval

ΑΣΚΗΣΗ. Δημιουργία Ευρετηρίων Συλλογής Κειμένων

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

Μεταπτυχιακή Διπλωματική Εργασία. «Τεχνικές Δεικτοδότησης Συστημάτων Ανάκτησης Πληροφορίας με τη χρήση Wavelet Trees» Κατσίπη Δήμητρα ΑΜ: 741

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

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

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

Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1

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

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

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

Δυναμικός Κατακερματισμός

Διαχείριση εγγράφων. Αποθήκες και Εξόρυξη Δεδομένων Διδάσκων: Μ. Χαλκίδη

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

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

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

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

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

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

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

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

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

Περιεχόμενα. Περιεχόμενα

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

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

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

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

Συστήματα Ανάκτησης Πληροφοριών ΗΥ-463

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

Λύση (από: Τσιαλιαμάνης Αναγνωστόπουλος Πέτρος) (α) Το trie του λεξιλογίου είναι

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

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

Φροντιστήριο Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων κατακερματισμός και δομές ευρετηρίων για αρχεία

Αλγόριθμοι Ταξινόμησης Μέρος 4

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

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

4. Κατασκευή Ευρετηρίου

Δημιουργία Ευρετηρίων Συλλογής Κειμένων

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Διάλεξη 11: Δέντρα Ι - Εισαγωγή σε Δενδρικές Δομές Δεδομένων

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

Κεφάλαιο 5 Ανάλυση Αλγορίθμων

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

Ανάκτηση Δεδομένων (Information Retrieval)

Λειτουργικό Σύστημα: διαχείριση πόρων. Τι είναι ένα αρχείο ; Διαχείριση αρχείων. Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Επεξεργασία & Οργάνωση Δεδομένων Κειμένου

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

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

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

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

Δομές Δεδομένων και Αλγόριθμοι

Κατακερµατισµός. Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Δομές Δεδομένων και Αλγόριθμοι

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

Διάλεξη 11: Δέντρα Ι Εισαγωγή σε Δενδρικές Δομές Δεδομένων

Οι πράξεις της συνένωσης. Μ.Χατζόπουλος 1

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

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

Επεξεργασία Ερωτήσεων

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Άσκηση 3 (ανακοινώθηκε στις 24 Απριλίου 2017, προθεσμία παράδοσης: 2 Ιουνίου 2017, 12 τα μεσάνυχτα).

Επεξεργασία Ερωτήσεων

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams

Επεξεργασία Ερωτήσεων

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

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

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες)

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

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

Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η

Το εσωτερικό ενός Σ Β

Κεφάλαιο 14. οµές Ευρετηρίων για Αρχεία. ιαφάνεια 14-1

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

Transcript:

Ανάκτηση Πληροφορίας Φροντιστήριο 3 Τσιράκης Νίκος Νοέμβριος 2007

2 Περιεχόμενα Ανεστραμμένα Αρχεία Εισαγωγή Δημιουργία Συμπίεση Πιθανοτικά Μοντέλα

3 Ανεστραμμένα Αρχεία

4 Εισαγωγή Με ποιους τρόπους μπορούμε να αναζητήσουμε πληροφορία από μία συλλογή κειμένων; Ο πιο απλός και εύκολα υλοποιήσιμος τρόπος είναι να ψάξουμε σειριακά όλα τα κείμενα της συλλογής. Ένας άλλος τρόπος είναι να χτίσουμε ειδικές δομές δεδομένων (index structures) ώστε να επιταχύνουμε τη διαδικασία αναζήτησης.

5 Εισαγωγή Η χρήση δεικτών είναι ευρεία στα συστήματα βάσεων δεδομένων (π.χ. Oracle, MySQL, SQLserver). Οι δείκτες έχουν την ικανότητα να απορρίπτουν ένα μεγάλο τμήμα των δεδομένων το οποίο δεν συμμετέχει στην απάντηση. Παραδείγματα δεικτών: Β-δένδρα, Κατακερματισμός (hashing).

6 Εισαγωγή Ένα ανεστραμμένο αρχείο περιέχει, για κάθε όρο στο λεξικό, μια ανεστραμμένη λίστα που φυλάει μια λίστα από δείκτες σε όλες τις εμφανίσεις ενός όρου στο κείμενο, όπου κάθε δείκτης είναι ο αριθμός του κειμένου στο οποίο υπάρχει ο όρος. Ένα ευρετήριο εδώ απαιτεί ένα λεξικό., δηλαδή μια λίστα με όλους τους όρους που υπάρχουν στη βάση δεδομένων.

7 Δείκτες για Κείμενα Στην περίπτωση των κειμένων οι μηχανισμοί δεικτοδότησης διαφέρουν από τους αντίστοιχους για αριθμούς. Δείκτες για κείμενα: Αντεστραμμένα Αρχεία (Inverted Files) Suffix Trees, Suffix Arrays Αρχεία Υπογραφών (Signature Files)

8 Αντεστραμμένα Αρχεία n: μέγεθος κειμένου m: μήκος του pattern v: μέγεθος λεξιλογίου M: το μέγεθος της διαθέσιμης μνήμης

9 Αντεστραμμένα Αρχεία Είναι ένας μηχανισμός δεικτοδότησης στηριζόμενες σε λέξεις (word-based) ο οποίος χρησιμοποιείται για αποδοτικότερη αναζήτηση. Δομή αντεστραμμένου αρχείου: Λεξιλόγιο (vocabulary) Λίστες εμφάνισης

10 Παράδειγμα Κείμενο 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

11 Αντεστραμμένα Αρχεία Οι απαιτήσεις χώρου για την αποθήκευση του λεξιλογίου (vocabulary) είναι αρκετά μικρές. Σύμφωνα με το νόμο του Heap το μέγεθος του λεξιλογίου αυξάνεται ανάλογα του O(n^β) όπου β είναι μία σταθερά μεταξύ 0 και 1. Στην πράξη το β παίρνει τιμές μεταξύ 0.4 και 0.6 Για παράδειγμα για κείμενα συνολικού μεγέθους 1GBytes από τη συλλογή TREC-2 το λεξιλόγιο καταλαμβάνει μόλις 5MBytes.

12 Αντεστραμμένα Αρχεία Το τμήμα των εμφανίσεων καταλαμβάνει πολύ περισσότερο χώρο. Εφόσον κάθε λέξη εμφανίζεται τουλάχιστον μία φορά στο κείμενο, ο επιπλέον απαιτούμενος χώρος είναι της τάξης του O(n). Ακόμη και μετά την απομάκρυνση των stopwords, το επιπλέον κόστος σε χώρο κυμαίνεται μεταξύ 30% και 40% του μεγέθους του κειμένου.

13 Αντεστραμμένα Αρχεία Για τη μείωση του απαιτούμενου χώρου χρησιμοποιείται η τεχνική της διευθυνσιοδότησης block (block addressing). Το κείμενο χωρίζεται σε τμήματα (blocks) και οι εμφανίσεις δείχνουν στα αντίστοιχα block και όχι σε χαρακτήρες. Οι κλασικές μέθοδοι που χρησιμοποιούν δείκτες σε θέσεις χαρακτήρων καλούνται full inverted indices.

14 Αντεστραμμένα Αρχεία Χρησιμοποιώντας block addressing απαιτούνται pointers μικρότερου μεγέθους διότι τα blocks είναι πολύ λιγότερα από τους χαρακτήρες του κειμένου. Επίσης εμφανίσεις που αναφέρονται σε λέξεις του ίδιου block εμφανίζονται με την ίδια αναφορά. Συνήθως το επιπλέον κόστος σε χώρο που απαιτείται με την τεχνική αυτή είναι περίπου 5% του μεγέθους του κειμένου.

15 Παράδειγμα Κείμενο Block 1 Block 2 Block 3 Block 4 That house has a garden. The garden has many flowers. The flowers are beautiful Αντεστραμμένο Αρχείο Vocabulary Occurrences beautiful flowers garden house 4 3 2 1

16 Σύγκριση Index Small collection Medium collection Large collection (1Mb) (200Mb) (2Gb) Addressing words 45% 73% 36% 64% 35% 63% Addressing documents 19% 26% 18% 32% 26% 47% Addressing 256 blocks 18% 25% 1.7% 2.4% 0.5% 0.7% Ευρετηριοποίηση χωρίς τις λέξεις τερματισμού Ευρετηριοποίηση όλων των λέξεων

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

18 Αναζήτηση σε Αντ. Αρχείο Εφόσον η αναζήτηση ξεκινά με το λεξιλόγιο, μία καλή πρακτική είναι να αποθηκεύεται σε ξεχωριστό αρχείο. Είναι πιθανόν, ακόμη και για μεγάλες συλλογές κειμένων, το λεξιλόγιο να χωράει στην κύρια μνήμη. Σε διαφορετική περίπτωση μέρος του λεξιλογίου βρίσκεται στην κύρια μνήμη και το υπόλοιπο στη βοηθητική μνήμη (δίσκο, CD-ROM).

19 Αναζήτηση σε Αντ. Αρχείο Ερωτήματα μίας λέξης (single-word queries) μπορούν να απαντηθούν χρησιμοποιώντας κάποια βολική δομή δεδομένων για τη γρήγορη επεξεργασία του ερωτήματος. Κατακερματισμός, TRIES, Β-δένδρα. Χρόνος αναζήτησης O(m) για τις δύο πρώτες μεθόδους, Ο(m*log(n)) για τα B-δένδρα.

20 Αναζήτηση σε Αντ. Αρχείο Για να απαντήσουμε ερωτήσεις διαστήματος η δομή του κατακερματισμού δεν είναι κατάλληλη. Για την περίπτωση αυτή μπορούμε να χρησιμοποιήσουμε δυαδικά δένδρα αναζήτησης, TRIES ή Β-δένδρα.

21 Παράδειγμα Να βρεθούν κείμενα που περιέχουν λέξεις οι οποίες λεξικογραφικά βρίσκονται μεταξύ της λέξης cluster και της λέξης damage.

22 Παράδειγμα Age basket cat cube cluster creature creative damage

23 Αναζήτηση σε Αντ. Αρχείο Σε περίπτωση που το ερώτημα αποτελείται από μεμονωμένες λέξεις η αναζήτηση σταματά όταν έχουμε προσδιορίσει τις εμφανίσεις των συγκεκριμένων λέξεων στα κείμενα. Σε περίπτωση που πάνω από μία λέξεις του ερωτήματος έχουν βρεθεί ακολουθεί η διαδικασία της ένωσης (union) των εμφανίσεων.

24 Αναζήτηση σε Αντ. Αρχείο Στις περιπτώσεις όπου έχουμε αναζήτηση ολόκληρων φράσεων (όχι μεμονωμένων λέξεων) ή ερωτήματα γειτνίασης (proximity), η επεξεργασία είναι δυσκολότερη. Για κάθε λέξη δημιουργείται μία λίστα εμφανίσεων. Στη συνέχεια πραγματοποιείται επεξεργασία των λιστών ώστε να προσδιοριστεί η τελική απάντηση του ερωτήματος.

25 Παράδειγμα Έστω ότι αναζητείται η φράση: modern information retrieval Έστω ότι μετά την αναζήτηση του λεξιλογίου έχουν προκύψει οι ακόλουθες λίστες: modern 10, 50, 80 information 17, 57, 120 retrieval 29, 90, 400 Ποια θα είναι η απάντηση στο ερώτημα; Υπάρχει ή φράση στο κείμενο ή όχι;

26 Κατασκευή Αντ. Αρχείου Η κατασκευή και η ενημέρωση ενός αντεστραμμένου αρχείου είναι σχετικά εύκολη διαδικασία. Ένα αντεστραμμένο αρχείο για ένα κείμενο n χαρακτήρων μπορεί να κατασκευαστεί σε χρόνο O(n).

27 Κατασκευή Αντ. Αρχείου Το λεξιλόγιο οργανώνεται με τη βοήθεια μίας βολικής δομής δεδομένων (π.χ. TRIE). Κάθε λέξη του κειμένου διαβάζεται και αναζητείται στο λεξιλόγιο. Εάν η νέα λέξη δε βρεθεί στο λεξιλόγιο, τότε εισάγεται σε αυτό και ενημερώνεται η λίστα εμφανίσεων για τη συγκεκριμένη λέξη. Εάν η λέξη υπάρχει στο λεξιλόγιο, τότε απαιτείται μόνο ενημέρωση της λίστας εμφανίσεων.

28 Κατασκευή Αντ. Αρχείου 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 w t text: 11, 19 n many: 28 words: 33, 40

29 Κατασκευή Αντ. Αρχείου Γενικά είναι καλό να χωρίζουμε το ευρετήριο σε δύο αρχεία Στο πρώτο η λίστα των occurrences αποθηκεύονται συνεχόμενα (posting file). Στο δεύτερο το λεξικό αποθηκεύεται λεξικογραφικά, για κάθε λέξη, ένας δείκτης στην λίστα της στο πρώτο αρχείο περιέχεται Αυτό επιτρέπει στο λεξικό να φυλάσεται στη μνήμη κατά την αναζήτηση στις περισσότερες περιπτώσεις

30 Κατασκευή Αντ. Αρχείου Εφόσον για την επεξεργασία κάθε χαρακτήρα του κειμένου απαιτείται χρόνος Ο(1), και για την ενημέρωση μίας λίστας εμφανίσεων απαιτείται χρόνος Ο(1), η συνολική πολυπλοκότητα της προηγούμενης μεθόδου είναι Ο(n). Σε περίπτωση που η δομή δεν μπορεί να χωρέσει στην κύρια μνήμη, η μέθοδος παρουσιάζει προβλήματα, διότι απαιτούνται πολλές προσπελάσεις στο δίσκο, με αποτέλεσμα να αυξάνεται δραματικά ο χρόνος κατασκευής.

31 Κατασκευή Αντ. Αρχείου Εναλλακτική Μέθοδος Η προηγούμενη διαδικασία συνεχίζεται μέχρι να γεμίσει η κύρια μνήμη. Σχηματίζεται ένα τμήμα της δομής δεδομένων Ii το οποίο αποθηκεύεται στο δίσκο. Ακολουθώντας την ίδια διαδικασία σχηματίζεται ένα σύνολο τμημάτων Ii τα οποία είναι αποθηκευμένα στο δίσκο. Ακολουθούν διαδοχικές συγχωνεύσεις ώστε να προκύψει η συνολική δομή.

32 Κατασκευή Αντ. Αρχείου 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

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

34 Κατασκευή Αντ. Αρχείου

35 Κατασκευή Αντ. Αρχείου

36 Κατασκευή Αντ. Αρχείου Για την κατασκευή του ευρετηρίου ο πίνακας αλληλομετατίθεται

37 Κατασκευή Αντ. Αρχείου Μετά από εδώ η κατασκευή είναι γνωστή Η Βίβλος περιέχει 8965 μοναδικούς όρους και 31101 κείμενα 4 bytes ακέραιος για κάθε entry στον πινακα συχνοτήτων 4*8.965*31.101 bytes of main memory Tο TREC περιέχει 535.346 μοναδικούς όρους και 741.856 κείμενα 4 bytes ακέραιος για κάθε entry στον πινακα συχνοτήτων 4*535.346*741.856 bytes of main memory

38 Βασικές φάσεις δημιουργίας Φάση 1: Τα κείμενα σαρώνονται για την εξαγωγή λέξεων και αυτές αποθηκεύονται με το Document ID. Doc 1 I did enact Julius Caesar I was killed i' the Capitol; Brutus killed me. Doc 2 So let it be with Caesar. The noble Brutus hath told you Caesar was ambitious Term Doc # I 1 did 1 enact 1 julius 1 caesar 1 I 1 was 1 killed 1 i' 1 the 1 capitol 1 brutus 1 killed 1 me 1 so 2 let 2 it 2 be 2 with 2 caesar 2 the 2 noble 2 brutus 2 hath 2 told 2 you 2 caesar 2 was 2 ambitious 2

39 Βασικές φάσεις δημιουργίας Φάση 2: Αφού σαρωθούν όλα τα κείμενα το ανεστραμμένο αρχείο ταξινομείται σύμφωνα με τους όρους Αυτό είναι σημαντικό. Υπάρχουν πολλοί όροι. Term Doc # I 1 did 1 enact 1 julius 1 caesar 1 I 1 was 1 killed 1 i' 1 the 1 capitol 1 brutus 1 killed 1 me 1 so 2 let 2 it 2 be 2 with 2 caesar 2 the 2 noble 2 brutus 2 hath 2 told 2 you 2 caesar 2 was 2 ambitious 2 Term Doc # ambitious 2 be 2 brutus 1 brutus 2 capitol 1 caesar 1 caesar 2 caesar 2 did 1 enact 1 hath 1 I 1 I 1 i' 1 it 2 julius 1 killed 1 killed 1 let 2 me 1 noble 2 so 2 the 1 the 2 told 2 you 2 was 1 was 2 with 2

40 Βασικές φάσεις δημιουργίας Φάση 3: Γίνεται συμπίεση των δεδομένων (merge per doc) και επιπλέον αποθηκεύουμε τη συχνότητα εμφάνισης με μια επιπλέον στήλη

41 Βασικές φάσεις δημιουργίας Φάση 4:

42 Κατασκευή Αντ. Αρχείου Υπάρχουν περιορισμοί για το μέγεθος της κύριας μνήμης σε συνδιασμό με το μέγεθος μιας συλλογής Αυτό μπορεί να οδηγήσει σε πολύ μεγάλους χρόνους κατασκευής του ανεστραμμένου αρχείου Υπάρχουν πιο οικονομικές μέθοδοι κατασκευής

43 Παράμετροι ΠΑΡΑΜΕΤΡΟΣ Συνολικό μέγεθος κειμένου Αριθμός εγγράφων Αριθμός διακριτών λέξεων Συνολικός αριθμός λέξεων Αριθμός δεικτών ευρετηρίου Τελικό μέγεθος συμπιεσμένου αντεστραμμένου αρχείου Μέγεθος δομής δεδομένων δυναμικού ευρετηρίου Χρόνος μετακίνησης στο δίσκο Χρόνος μεταφοράς στο δίσκο Κωδικοποίηση αντεστραμμένου αρχείου Χρόνος σύγκρισης και εναλλαγής για εγγραφές 10 byte Χρόνος parsing, stemming και αναζήτησης για κάθε όρο Διαθέσιμη κύρια μνήμη ΣΥΜΒΟΛΟ B N N F F l L ts tr td tc tp M

44 Τεχνικές αντιστροφής αρχείων Χρήση μόνο Κύριας Μνήμης Χωρίς Συμπίεση Αντιστροφή στην κύρια μνήμη με χρήση Συνδεδεμένων Λιστών Με συμπίεση Αντιστροφή Ευρείας Μνήμης Χρήση Κύριας Μνήμης και Δίσκου Αντιστροφή στο Δίσκο με χρήση Συνδεδεμένων Λιστών Αντιστροφή μέσω Διάταξης Αντιστροφή με Κατάτμηση Λεγικού Αντιστροφή με Κατάτμηση Κειμένου Διάταξη και Συμπίεση Πολλαπλή Συγχώνεψη Πολλαπλή In-place Συγχώνεψη

45 Αντιστροφή βασισμένη στη μνήμη Δημιουργείται η δομή δεδομένων για το λεξικό Για κάθε έγγραφο αναζητείται κάθε όρος του εγγράφου στο λεξικό και προστίθεται ένας κόμβος που περιέχει την πληροφορία για το έγγραφο και τη συχνότητα εμφάνισης για τον κάθε όρο Τελικά δημιουργείται το ανεστραμμένο αρχείο, διασχίζοντας τη δομή του λεξικού και κατασκευάζοντας τη λίστα των όρων και των αντίστοιχων αριθμών των γραμμών

46 Αντιστροφή βασισμένη στη μνήμη

47 Αντιστροφή βασισμένη στη μνήμη Οι όροι αρχικά είναι αποθηκευμένοι τυχαία (ή και αλφαβητικά) στο λεξικό. Χρόνος αντιστροφής Τ=Β*tr+F*tp + (διάβασμα και ανάλυση κειμένων) Ι*(td+tr) (γράψιμο αντεστραμμένου αρχείου)

48 Αντιστροφή βασισμένη στο δίσκο Αντιμετωπίζει το πρόβλημα της περιορισμένης μνήμης Βασίζεται στη μεταφορά των συνδεδεμένων λιστών των αριθμών των εγγράφων από τη μνήμη στο δίσκο

49 Αντιστροφή βασισμένη στο δίσκο

50 Αντιστροφή βασισμένη στο δίσκο Χρόνος αντιστροφής Τ=Β*tr+F*tp + (διάβασμα και ανάλυση κειμένων) f*ts+10*f*tr + (διάσχιση λιστών στο δίσκο) Ι*(td+tr) (γράψιμο αντεστραμμένου αρχείου) Η τεχνική αυτή απαιτεί πολύ χρόνο και πολύ χώρο Δεν αξιοποιεί την κύρια μνήμη Ανεπαρκής για μεγάλες συλλογές Ιδανική λύση για μικρές συλλογές

51 Αντιστροφή βασισμένη στην ταξινόμηση Οι προηγούμενες μέθοδοι απαιτούν πολλή κύρια μνήμη Η σειριακή προσπέλαση στο δίσκο είναι η μόνη αποτελεσματική υπολογιστική μέθοδος για μεγάλα αρχεία δίσκου Τα τυχαία ψαξίματα (όπως πριν) είναι χρονοβόρα Χρήση του δίσκου για μεγάλες συλλογές αρχείων

52 Αντιστροφή βασισμένη στην ταξινόμηση Φάση 1: Φάση 2: Δημιουργία άδειας δομής λεξικού S Δημιουργία ενός άδειου προσωρινού αρχείου στο δίσκο Διάταξη Φαση 3: Διάταξη

53 Αντιστροφή βασισμένη στην ταξινόμηση Χρόνος αντιστροφής Τ=Β*tr+F*tp + 10*f*tr (διάβασμα και ανάλυση, γράψιμο αρχείου) 20*f*tr+R(1,2logk)tc + (ταξινόμηση ακολουθιών) logr (20f*tr+f*tc) + (συγχώνεψη ομάδων) 10*f*tr + Ι*(td+tr) (γράψιμο αντεστραμμένου αρχείου)

54 Αντιστροφή βασισμένη στην ταξινόμηση με χρήση συμπίεσης Χρήση αλγόριθμων συμπίεσης για τη μείωση των απαιτήσεων της διαδικασίας αντιστροφής Το προσωρινό αρχείο που απαιτείται για την αντιστροφή συμπιέζεται και απαιτείται λιγότερος δίσκος Συμπίεση προσωρινών αρχείων Πολλαπλή συγχώνεψη Πολλαπλή συγχώνεψη επι τόπου

55 Συμπιεσμένη μέσα στη μνήμη αντιστροφή Αντιστροφή ευρείας μνήμης Βασίζεται στην αντιστροφή βασισμένη στην ταξινόμηση Καλή για μικρές συλλογές Τμηματοποίηση βασισμένη στο λεξικό Δυο περάσματα στο λεξικό Τμηματοποίηση με βάση το κείμενο

56 Συμπεράσματα Για μεγάλες συλλογές Βασισμένη στην ταξινόμηση Πολλαπλής συγχώνευσης επί τόπου Τμηματοποίηση βασισμένη στο λεξικό

57 Μειονεκτήματα Αντ. Αρχείων Η μέθοδοι των αντεστραμμένων αρχείων υποθέτουν ότι το κείμενο μπορεί να θεωρηθεί σαν μία ακολουθία λέξεων Αυτό το χαρακτηριστικό περιορίζει αρκετά τον τύπο των ερωτημάτων που μπορούν να επεξεργαστούν από το σύστημα Ερωτήματα όπως αναζήτηση φράσεων είναι ακριβά στην επεξεργασία τους

58 Αντεστραμμένα Αρχεία Ανεστραμμένο αρχείο = ένας μηχανισμός βασισμένος σε λέξεις για την ευρετηριοποίηση μίας συλλογής κειμένων έτσι ώστε να γίνεται πιο γρήγορα μια διαδικασία αναζήτησης Ένα τέτοιο αρχείο αποτελείται από: Λεξικό: σύνολο λέξεων σε ένα κείμενο Περιστατικά: λίστα με πληροφορίες για κάθε λέξη του λεξικού (κείμενα που υπάρχει η λέξη, συχνότητα εμφάνισης, θέση κ.τ.λ.)

59 Αντεστραμμένα Αρχεία a lexicon: ένας κατάλογος όλων των όρων που επιλέχτηκαν για να περιληφθούν στο index ένα inverted file περιέχει, για κάθε όρο στο λεξικό, μία inverted list που αποθηκεύει μία λίστα από pointers προς όλες τις εμφανίσεις του όρου στο κείμενο Π.χ., κάθε δείκτης είναι ο αριθμός του εγγράφου στο οποίο εκείνος ο όρος εμφανίζεται To inverted file απαιτεί ένα λεξικό Το λεξικό υποστηρίζει την αντιστοίχιση όρων με την ανάλογη inverted list.

60 Παράδειγμα Έχουμε την πρόταση That house has a garden. The garden has many flowers. The flowers are beautiful Ανεστραμμένο αρχείο Λεξικό Περιστατικά beautiful 70 flowers 45, 58 garden 18, 29 house 6

61 Παράδειγμα Doc Text 1 Pease porridge hot, pease porridge cold, 2 Pease porridge in the pot, 3 Nine days old. 4 Some like it hot, some like it cold, 5 Some like it in the pot, 6 Nine days old. Notation: N: number of documents; (=6) n: number of distinct terms; (=13) f: number of index pointers; (=26) Terms Documents ------------------------------- cold <2; 1, 4> days <2; 3, 6> hot <2; 1, 4> in <2; 2, 5> it <2; 4, 5> like <2; 4, 5> nine <2; 3, 6> old <2; 3, 6> pease <2; 1, 2> porridge <2; 1, 2> pot <2; 2, 5> some <2; 4, 5> the <2; 2, 5>

62 Word-level Inverted File Index Doc Text 1 Pease porridge hot, pease porridge cold, 2 Pease porridge in the pot, 3 Nine days old. 4 Some like it hot, some like it cold, 5 Some like it in the pot, 6 Nine days old. Notation: N: number of documents; (=6) n: number of distinct terms; (=13) f: number of index pointers; (=31) Terms Documents --------------------------- cold <2; (1;6), (4;8)> days <2; (3;2), (6;2)> hot <2; (1;3), (4;4)> in <2; (2;3), (5;4)> it <2; (4;3,7), (5;3)> like <2; (4;2,6), (5;2)> nine <2; (3;1), (6;1)> old <2; (3;3), (6;3)> pease <2; (1;1,4), (2;1)> porridge <2; (1;2,5), (2;2)> pot <2; (2;5), (5;6)> some <2; (4;1,5), (5;1)> the <2; (2;4), (5;5)>

63 Πιθανοτικά Μοντέλα

64 Πιθανοτικό Μοντέλο Στόχος: να ορίσουµε το IR πρόβληµα σε πιθανοτικό πλαίσιο Για κάθε user query υπάρχει ένα ιδανικό σύνολο κειµένων που το ικανοποιεί Η ερώτηση επεξεργάζεται µε βάση τις ιδιότητες αυτού του συνόλου Ποιες είναι όµως αυτές οι ιδιότητες; Αρχικά γίνεται µία πρόβλεψη και στη συνέχεια η πρόβλεψη βελτιώνεται Προτάθηκε αρχικά από τους Robertson και Sparck Jones, 1976

65 Πιθανοτικό Μοντέλο Αρχικά επιστρέφεται µε κάποιο τρόπο ένα σύνολο κειµένων Ο χρήστης εξετάζει τα κείµενα αναζητώντας σχετικά κείµενα (αρκεί να εξετάσει τα 10-20 πρώτα) Το σύστηµα IR χρησιµοποιεί το feedback του χρήστη ώστε να προσδιοριστεί καλύτερα το ιδανικό σύνολο κειµένων Η διαδικασία επαναλαµβάνεται Η περιγραφή του ιδανικού συνόλου κειµένων βελτιώνεται Η περιγραφή του ιδανικού συνόλου κειµένων πραγµατοποιείται πιθανοτικά

66 Πιθανοτικό Μοντέλο Έστω ερώτηµα q και κείµενο dj. Το πιθανοτικό µοντέλο προσπαθεί να προσδιορίσει την πιθανότητα το κείµενο dj να είναι χρήσιµο στο χρήστη Το µοντέλο θεωρεί ότι αυτή η πιθανότητα εξαρτάται µόνο από το ερώτηµα και το κείµενο dj Πώς υπολογίζονται οι πιθανότητες; Ποιος είναι ο δειγµατοχώρος;

67 Πιθανοτικό Μοντέλο Πλεονεκτήµατα: Τα κείµενα ταξινοµούνται σε φθίνουσα διάταξη ως προς την πιθανότητα να είναι σχετικά Αρκετοί ερευνητές έχουν υποστηρίξει ότι το πιθανοτικό µοντέλο υπερτερεί του vector space Μειονεκτήµατα Πρέπει να µαντέψουµε το αρχικό σύνολο σχετικών και µη-σχετικών κειµένων εν λαµβάνεται υπόψη η συχνότητα εµφάνισης των όρων στα κείµενα Οι όροι θεωρούνται ανεξάρτητοι µεταξύ τους

68 Πιθανοτικά Μοντέλα Δυο μοντέλα Inference network παρέχει μια θεωρητική βάση για την μηχανή ανάκτησης σε ένα σύστημα (inquery system). Έτσι οδηγηθήκαμε στη χρήση των bayesian networks με συστήματα ανάκτησης δεδομένων. Belief network γενικεύει το πρώτο

69 Bayesian Networks Ένα Bayesian Network είναι ένας κατευθυνόμενος γράφος χωρίς κύκλους όπου οι κόμβοι είναι τυχαίες μεταβλητές, οι ακμές δηλώνουν συσχέτιση μεταξύ των μεταβλητών, και η ισχύς μίας συσχέτισης δηλώνεται με υπό συνθήκη πιθανότητες.

70 Bayesian Networks Βασικά αξιώματα: 0 < P(A) < 1 ; P(sure)=1; P(A V B)=P(A)+P(B) αν τα A και B είναι αμοιβαία αποκλειόμενα

71 Bayesian Networks Y1 X Y2 Yn yi : parent nodes x : child node To yi προκαλεί το x Y σύνολο γονέων του x Η επίδραση του Y στο x εκφράζεται με τη σχέση F(x,Y) έτσι ώστε Σ F(x,Y) = 1 0 < F(x,Y) < 1 για κάθε χ Για παράδειγμα, F(x,Y)=P(x Y)

72 Bayesian Networks P(X1, X2, X3, X4, X5) = P(X1)P(X2 X1)P(X3 X1)P(X4 X2,X3)P(X5 X3) X2 X4 X1 X3 X5 Από τις εξαρτήσεις του Bayesian Network, η κοινή πιθανότητα μπορεί να υπολογιστεί ως γινόμενο τοπικών υπό συνθήκη πιθανοτήτων.

73 Bayesian Networks X2 X4 X1 X3 X5 Σε ένα Bayesian Network κάθε τυχαία μεταβλητή x είναι υπό συνθήκη ανεξάρτητη από τους μη απογόνους Για παράδειγμα: P(Χ4, Χ5 Χ2, Χ3)= P(Χ4 Χ2, Χ3)P( Χ5 Χ3)

74 Inference Network Model Επιστημολογική αντιμετώπιση του προβλήματος ανάκτησης πληροφορίας. Τυχαίες μεταβλητές που σχετίζονται με κείμενα, index terms και ερωτήματα των χρηστών. Μία τυχαία μεταβλητή που σχετίζεται με το κείμενο dj δηλώνει το γεγονός να παρατηρήσουμε αυτό το κείμενο. Έτσι η παρατήρηση ενός κειμένου είναι η αιτία για την αύξηση της πίστης στις μεταβλητές που σχετίζονται με τους index terms του.

75 Inference Network Model k1 q dj k2 q2 end. or ki. kt Κόμβοι documents (dj) index terms (ki) queries (q, q1, και q2) ανάγκη πληροφορίας (I) Ακμές από dj σε index term nodes ki δηλώνουν ότι η παρατήρηση του dj αυξάνει την πίστη μας για τις μεταβλητές ki I or q1

76 Inference Network Model k1 q dj k2 q2 end. ki. kt Οι index term και document μεταβλητές αναπαρίστανται σαν κόμβοι στο δίκτυο. Οι ακμές είναι κατευθυνόμενες από το κείμενο προς τους Index terms του ώστε να δηλώνουν πως η παρατήρηση του κειμένου αποφέρει βελτιωμένη πίστη στους Index terms του. or I or q1

77 Inference Network Model dj dj έχει k2, ki, και kt q έχει k1, k2, και ki q1=((k1 ^ k2) v ki) I = (q v q1) k1 q I or k2 q2 end. or q1 ki. kt Η τυχαία μεταβλητή που σχετίζεται με το ερώτημα ενός χρήστη καθορίζει πως η αιτούμενη πληροφορία έχει παρουσιαστεί. Έτσι η τυχαία αυτή μεταβλητή είναι επίσης κόμβος και η πίστη σε αυτή είναι μια συνάρτηση για την πίστη στους κόμβους που σχετίζονται με τους όρους του ερωτήματος.

78 Inference Network Model k 1, d j,, και q τυχαίες μεταβλητές. k=(k 1, k 2,...,k t ) διάνυσμα με t διαστάσεις k i, i {0, 1}, τότε k έχει 2 t δυνατές καταστάσεις d j, j {0, 1}; q {0, 1} Ο βαθμός ενός κειμένου d j υπολογίζεται ως P(qΛ d j )

79 Inference Network Model P(q Λ d j )= Σ k P(q Λ d j k) P(k) = Σ k P(q Λ d j Λ k) = Σ k P(q d j Λ k) P(d j Λ k) = Σ k P(q k) P(k d j ) P( d j ) P( (q Λ d j )) = 1 - P(q Λ d j )

80 Inference Network Model Η εκ των προτέρων πιθανότητα P(dj) δείχνει πόσο πιθανό είναι να παρατηρήσουμε ένα κείμενο dj Υπολογισμός: Ενιαία για N κείμενα P(dj) = 1/N P( dj) = 1-1/N Βάσει της νόρμας του διανύσματος dj P(dj)= 1/ dj P( dj) = 1-1/ dj

81 Inference Network Model Για το Boolean Model P(dj) = 1/N P(ki dj) = 1 αν gi(dj)=1 ή P(ki dj) = 0 αλλιώς P( ki dj) = 1 - P(ki dj) μόνο οι κόμβοι που συνδέονται με τα index terms του κειμένου dj ενεργοποιούνται

82 Belief Network Model Όπως και στο Inference Network Model Επιστημολογική προσέγγιση Τυχαίες μεταβλητές αντιστοιχούν σε κείμενα, index terms και ερωτήματα Αντίθετα με το Inference Network Model Καλά ορισμένος δειγματοχώρος Συνολοθεωρητική άποψη Διαφορετική τοπολογία δικτύου

83 Belief Network Model Ο Χώρος Πιθανοτήτων Ορισμός: K={k1, k2,...,kt} ο δειγματοχώρος (χώρος εννοιών) u ένα υποσύνολο του K (μία έννοια) ki ένας index term (μία στοιχειώδης έννοια) k=(k1, k2,...,kt) ένα διάνυσμα που συνδέεται με κάθε u ki μία δυαδική τυχαία μεταβλητή που συνδέεται με ένα index term ki

84 Belief Network Model Συνολοθεωρητική Προσέγγιση Ορισμοί: ένα κείμενο dj και μία ερώτηση q ως έννοιες στο K μία γενική έννοια c στο K μία κατανομή πιθανότητας P στο K P(c)= Σ u P(c u) P(u) P(u)=(1/2) t Το P(c) είναι ο βαθμός κάλυψης του χώρου K από το c

85 Belief Network Model q query side k1 k2. ki. kt K=U d1 dj dh document side

86 Belief Network Model Υπόθεση P(dj q) είναι ο βαθμός σχετικότητας του κειμένου dj ως προς το ερώτημα q. Δείχνει το βαθμό κάλυψης στην έννοια dj από την έννοια q.

87 Belief Network Model Σύγκριση Inference Network Model το πρώτο που εμφανίστηκε Belief Network συνολοθεωρητική άποψη Belief Network καθορισμένος δειγματοχώρος Belief Network διαχωρισμός στοιχείων ερωτήματος και στοιχείων κειμένου Belief Network αναπαράγει κάθε βαθμολόγηση που παράγει το Inference Network ενώ το αντίθετο δεν ισχύει

88 Belief Network Model Υπολογιστικό Κόστος Το Inference Network Model επεξεργάζεται ένα κείμενο τη φορά, και το κόστος επεξεργασίας είναι γραμμικό ως προς τον αριθμό των κειμένων Στο Belief Network, επεξεργάζονται μόνο οι καταστάσεις που ενεργοποιούν τα query terms Επειδή στα δίκτυα αυτά δεν υπάρχουν κύκλοι δεν έχουμε άλλο υπολογιστικό κόστος

89 Τέλος 3 ου Φροντιστηρίου Αναφορές 1. Managing Gigabytes, Compressing and Indexing Documents and Images, Witten, Moffat, Bell 2. Modern Information Retrieval, Ricardo Baeza- Yates and Berthier Ribeiro-Neto