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

Slides:



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

Γραφήματα & Επίπεδα Γραφήματα
Ανάκτηση Πληροφορίας Φροντιστήριο 3 Οκτώβριος 2013.
Indexing.
Ερωτηματολόγιο Συλλογής Απαιτήσεων Εφαρμογών Υψηλών Επιδόσεων
Μάρτιος 2011 Βαρόμετρο ΕΒΕΘ - Καταναλωτές. “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι.
Πρωτογενής έρευνα Hi5, μία μόδα για νέους;. Μεθοδολογία - εργαλεία Η έρευνα διενεργήθηκε με την μέθοδο της συλλογής ερωτηματολογίων, τα οποία και συμπληρώνονταν.
-Στοίβα-Ουρά - Πλεονεκτήματα πινάκων -Δομές δεδομένων δευτερεύουσας μνήμης -Πληροφορική και δεδομένα -Παραδείγματα-Προβλήματα ψευδοκώδικα.
ΤΑΞΗ Γ ΓΥΜΝΑΣΙΟΥ Βασικές Έννοιες Επανάληψη (2).
Τα στοιχειώδη περί γεωδαιτικών υπολογισμών
1 ΠΡΟΤΑΣΕΙΣ ΓΙΑ ΤΗΝ ΟΡΓΑΝΩΤΙΚΗ ΔΟΜΗ ΤΗΣ ΕΡΓΑΣΤΗΡΙΑΚΗΣ ΔΙΕΡΕΥΝΗΣΗΣ ΤΗΣ ΦΥΜΑΤΙΩΣΗΣ ΣΕ ΕΘΝΙΚΟ ΕΠΙΠΕΔΟ Ευάγγελος Μαρίνης Επίτιμος Διευθυντής Μικροβιολογικού.
Αλφαριθμητικά.
ΤΑ ΜΕΡΗ ΤΟΥ ΠΟΔΗΛΑΤΟΥ
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
Μετρήσεις Κεντρικής Τάσης
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
Ο Αντεστραμμένος Κατάλογος
Κατακερματισμός Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Δυναμικός Κατακερματισμός.
ΕΛΙΑ-ΕΛΑΙΟΛΑΔΟ-ΜΕΣΟΓΕΙΑΚΗ ΔΙΑΤΡΟΦΗ
Ασκήσεις Caches
Ανάλυση του λευκού φωτός και χρώματα
© GfK 2012 | Title of presentation | DD. Month
-17 Προσδοκίες οικονομικής ανάπτυξης στην Ευρώπη Σεπτέμβριος 2013 Δείκτης > +20 Δείκτης 0 a +20 Δείκτης 0 a -20 Δείκτης < -20 Σύνολο στην Ευρωπαϊκή Ένωση:
+21 Προσδοκίες οικονομικής ανάπτυξης στην Ευρώπη Δεκέμβριος 2013 Δείκτης > +20 Δείκτης 0 να +20 Δείκτης 0 να -20 Δείκτης < -20 Σύνολο στην Ευρωπαϊκή Ένωση:
Βαρόμετρο ΕΒΕΘ - Καταναλωτές Σεπτέμβριος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι.
Δυαδικά Δένδρα Αναζήτησης, Δένδρα AVL
Εργασία Η υλοποίηση του αλγορίθμου συγχώνευσης θα πρέπει να χρησιμοποιεί την ιδέα των ροών (streams). Θα πρέπει να υπάρχουν δύο διαφορετικά είδη.
Γραφήματα & Επίπεδα Γραφήματα
ΒΑΡΟΜΕΤΡΟ ΕΒΕΘ – ΣΕΠΤΕΜΒΡΙΟΣ 2014 AD – HOC ΕΡΩΤΗΣΕΙΣ.
ΙΣΟΛΟΓΙΣΜΟΣ ΒΑΣΕΙ Δ.Λ.Π. (ΕΝΑΡΞΗΣ)
Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ κκπ(λ,ι)=α, κκπ(τ,σ)=ν, κκπ(λ,π)=η κκπ(π,σ)=γ, κκπ(ξ,ο)=κ ξο κκπ(ι,ξ)=β, κκπ(τ,θ)=θ, κκπ(ο,μ)=α.
Εξάσκηση στην προπαίδεια
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια.
Αποκεντρωμένη Διοίκηση Μακεδονίας Θράκης ∆ιαχείριση έργων επίβλεψης µε σύγχρονα µέσα και επικοινωνία C2G, B2G, G2G Γενική Δ/νση Εσωτερικής Λειτουργίας.
Ευρετήρια. 2 Πρωτεύον ευρετήριο (primary index): ορισμένο στο κλειδί διάταξης του αρχείου Δευτερεύον ευρετήριο (secondary index): ορισμένο σε πεδία διαφορετικά.
Βαρόμετρο ΕΒΕΘ Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού Θεσσαλονίκης”
2006 GfK Praha CORRUPTION CLIMATE IN EUROPE % % % %0 - 10% % % % % % ΚΛΙΜΑ ΔΙΑΦΘΟΡΑΣ Η.
Βαρόμετρο ΕΒΕΘ Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού Θεσσαλονίκης”
13ο Πανελλήνιο Συνέδριο Ακαδημαϊκών Βιβλιοθηκών – Κέρκυρα Οκτωβρίου 2004 Το σύστημα COINE για την προβολή της πολιτιστικής κληρονομιάς και την υποστήριξη.
Βαρόμετρο ΕΒΕΘ Σεπτέμβριος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού.
Βαρόμετρο ΕΒΕΘ Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού Θεσσαλονίκης”
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Χειριζόμαστε ένα σύνολο στοιχείων όπου το κάθε.
Ευρετήρια.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Ευρετήρια.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
Σοφία Τζελέπη, App Inventor ΜΕΡΟΣ B’ Σοφία Τζελέπη,
Εργαστήριο Δασικής Διαχειριστικής & Τηλεπισκόπησης Ασκήσεις Δασικής Διαχειριστικής Ι Διδάσκων Δημήτριος Καραμανώλης, Επίκουρος Καθηγητής Άσκηση 4.
Δομές Δεδομένων 1 Στοίβα. Δομές Δεδομένων 2 Στοίβα (stack)  Δομή τύπου LIFO: Last In - First Out (τελευταία εισαγωγή – πρώτη εξαγωγή)  Περιορισμένος.
Ο ΗΛΕΚΤΡΟΝΙΚΟΣ ΥΠΟΛΟΓΙΣΤΗΣ
Ανάπτυξη Πρωτοτύπου Λογισμικού
Lists– Λίστες 1. Αυτό-αναφορικές δομές Τα μέλη μίας δομής μπορεί να είναι οποιουδήποτε τύπου, ακόμα και δείκτες σε δομές του ίδιου τύπου. Χρησιμοποιώντας.
Βαρόμετρο ΕΒΕΘ - Καταναλωτές Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι.
1 Νέα Θεωρία Μεγέθυνσης Ενδογενής μεγέθυνση. 2 Συνάρτηση παραγωγής προϊόντος Υ t = Y(K, L, A) Y t = [(1-α k )·K t ] α · [(1-α L )·A t ·L t ] 1-α 0
Βάσεις Δεδομένων Εργαστήριο ΙΙ Τμήμα Πληροφορικής ΑΠΘ
Αναζήτηση – Δέντρα (2 ο Μέρος) Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων)
Δομές Δεδομένων - Ισοζυγισμένα Δυαδικά Δένδρα (balanced binary trees)
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες:
+19 Δεκέμβριος 2014 Δείκτης > +20 Δείκτης 0 έως +20 Δείκτης 0 έως -20 Δείκτης < -20 Συνολικά της ΕΕ: +5 Δείκτης > +20 Δείκτης 0 έως +20 Δείκτης 0 έως -20.
ΤΑ ΔΟΝΤΙΑ ΜΑΣ.
Λεξικό, Union – Find Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Βαρόμετρο ΕΒΕΘ Σεπτέμβριος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ευρετήρια.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ευρετήρια.
Ευρετήρια Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Δυναμικός Κατακερματισμός
Εξωτερική Αναζήτηση Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη
Δυναμικός Κατακερματισμός
Μεταγράφημα παρουσίασης:

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

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

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

Εισαγωγή Ανάκτηση Πληροφορίας

Δυαδικά Δένδρα Αναζήτησης Ανάκτηση Πληροφορίας

Β-δένδρα Ανάκτηση Πληροφορίας

Κατακερματισμός 10 20 30 40 50 60 1 2 12 22 42 3 4 Συνάρτηση Κατακερματισμού h(key) = key mod 10 5 6 7 8 9 9 19 79 Ανάκτηση Πληροφορίας

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

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

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

Παράδειγμα Κείμενο Αντεστραμμένο Αρχείο 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 flowers garden house 70 45, 58 18, 29 6 Ανάκτηση Πληροφορίας

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

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

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

Αντεστραμμένα Αρχεία Χρησιμοποιώντας 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 Occurrences beautiful flowers garden house 4 3 2 1 Ανάκτηση Πληροφορίας

Σύγκριση 45% 19% 18% 73% 26% 25% 36% 1.7% 64% 32% 2.4% 35% 0.5% 63% 47% 0.7% Addressing words Addressing documents Addressing 256 blocks Index Small collection (1Mb) Medium collection (200Mb) Large collection (2Gb) Ανάκτηση Πληροφορίας

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

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

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

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

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

Παράδειγμα Age basket cat cube cluster creature … creative damage … Ανάκτηση Πληροφορίας

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

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

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

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

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

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

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

Κατασκευή Αντ. Αρχείου I 1...8 I 1...4 I 5...8 I 1...2 I 3...4 I 5...6 7 final index initial dumps level 1 level 2 level 3 Ανάκτηση Πληροφορίας

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

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

Suffix Trees & Arrays Αποτελούν αποδοτική υλοποίηση των suffix trees. Επιτρέπουν την επεξεργασία πιο πολύπλοκων ερωτήσεων. Η μέθοδος αυτή «βλέπει» το κείμενο σαν μία μεγάλη σειρά χαρακτήρων. Κάθε θέση στο κείμενο θεωρείται ως suffix. Οι θέσεις που δεικτοδοτούνται ονομάζονται index points. Δεν απαιτείται η δεικτοδότηση όλων των θέσεων του κειμένου. Ανάκτηση Πληροφορίας

Suffix Trees & Arrays Ένα suffix tree είναι στην ουσία μία δομή TRIE η οποία χτίζεται με βάση τις καταλήξεις (suffixes) του κειμένου. Οι pointers προς τις καταλήξεις αποθηκεύονται στα φύλλα της δομής. Για τη βελτίωση του παράγοντα χρησιμοποίησης χώρου (space utilization), τα μονοπάτια της δομής συμπιέζονται (Patricia trees). Αυτό μας επιτρέπει να αποθηκεύσουμε τη δομή σε χώρο O(n). Ανάκτηση Πληροφορίας

Suffix Trees & Arrays 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 l d 50 m a t n 28 ‘ ’ 19 e x t w Suffix Trie ‘.’ 11 ‘ ’ o r d s 40 ‘.’ 33 Ανάκτηση Πληροφορίας

Suffix Trees & Arrays 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 l d 50 m n t 28 ‘ ’ 19 w Suffix Tree ‘.’ 11 ‘ ’ 40 ‘.’ 33 Ανάκτηση Πληροφορίας

Suffix Trees & Arrays Το πρόβλημα είναι ότι για την αποθήκευση της δομής απαιτείται αρκετός χώρος. Υπολογίζεται ότι ακόμη και στην περίπτωση που δεικτοδοτούνται μόνο οι πρώτοι χαρακτήρες κάθε λέξης, ο επιπλέον χώρος που απαιτείται είναι 120% με 240% του συνολικού μεγέθους του κειμένου. Κάθε κόμβος της δομής απαιτεί 12 ή 24 bytes για την αποθήκευσή του. Ανάκτηση Πληροφορίας

Suffix Trees & Arrays Η δομή των suffix arrays προσφέρει την ίδια λειτουργικότητα, με τη διαφορά ότι απαιτείται πολύ λιγότερος χώρος για την αποθήκευση της δομής. Εάν διασχίσουμε τα φύλλα του suffix tree από αριστερά προς τα δεξιά, όλες οι καταλήξεις (suffixes) του κειμένου παράγονται κατά λεξικογραφική διάταξη. Ένα suffix array περιέχει τους pointers στις καταλήξεις με λεξικογραφική διάταξη. Ανάκτηση Πληροφορίας

Suffix Trees & Arrays 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 28 19 11 40 33 Suffix Array Ο επιπλέον απαιτούμενος χώρος είναι περίπου 40% του κειμένου. Ανάκτηση Πληροφορίας

Αναζήτηση με S.T. & S.A. Αναζητήσεις για λέξεις, φράσεις και προθέματα (prefixes) μπορούν να πραγματοποιηθούν σε χρόνο O(logn). Για το pattern που αναζητούμε βρίσκουμε δύο subpatterns P1 και P2 και αναζητούμε τα suffixes S ώστε λεξικογραφικά να ισχύει: P1<=S<P2. Παράδειγμα: αν αναζητούμε τη λέξη text έχουμε P1=text και P2=texu. Η δομή επιστρέφει τις εμφανίσεις 19 και 11. Τα P1 και P2 αναζητούνται με δυαδική αναζήτηση. Εφόσον κάθε δυαδική αναζήτηση κοστίζει logn βήματα στη χειρότερη περίπτωση, έχουμε O(logn). Ανάκτηση Πληροφορίας

Αρχεία Υπογραφών Signature Files Διαχειρίζονται λέξεις (word-based) και στηρίζονται στον κατακερματισμό. Έχουν σχετικά μικρό επιπλέον χώρο (περίπου 10% με 20% του μεγέθους του κειμένου). Σύμφωνα με πειραματικές μετρήσεις, τα αντεστραμμένα αρχεία έχουν καλύτερη απόδοση από τα αρχεία υπογραφών. Ανάκτηση Πληροφορίας

Αρχεία Υπογραφών Ένα αρχείο υπογραφών χρησιμοποιεί μία συνάρτηση κατακερματισμού η οποία αναπαριστά κάθε λέξη με μία μάσκα από Β bits. Το κείμενο χωρίζεται σε blocks με b λέξεις το καθένα. Σε κάθε block μεγέθους b αντιστοιχούμε μία μάσκα από B bits. Η μάσκα παράγεται εφαρμόζοντας τον τελεστή OR στις δυαδικές αναπαραστάσεις των λέξεων του block. Ανάκτηση Πληροφορίας

Αρχεία Υπογραφών Εάν μία λέξη είναι παρούσα σε ένα block κειμένου, τότε όλα τα bits που είναι 1 στην υπογραφή της λέξης, είναι επίσης 1 στη μάσκα του block. Ωστόσο είναι πιθανόν, τα bits να είναι 1 ακόμη και όταν η λέξη δε βρίσκεται στο block. Αυτό ονομάζεται false drop. Το πιο ενδιαφέρον μέρος στα αρχεία υπογραφών είναι μα μειωθεί στο ελάχιστο η πιθανότητα να έχουμε false drop. Ανάκτηση Πληροφορίας

Παράδειγμα This is a text. A text has many words. Words are made from letters 000101 110101 100100 101101 H(text) = 000101 H(many) = 110000 H(words) = 100100 H(made) = 001100 H(letters) = 100001 Η συνάρτηση κατακερματισμού επιλέγεται έτσι ώστε να υπάρχουν τουλάχιστον Κ bits ενεργά στην υπογραφή κάθε λέξης. Ανάκτηση Πληροφορίας

Σειριακή Αναζήτηση Υπάρχουν περιπτώσεις που δεν υπάρχουν βοηθητικές δομές δεδομένων για την αναζήτηση. Αν δίνεται ένα pattern P με m χαρακτήρες και ένα κείμενο Κ με n χαρακτήρες, πρέπει να βρεθούν οι εμφανίσεις του P στο Κ. Έχουν προταθεί πολλές μέθοδοι για την επίλυση του προβλήματος. Στη συνέχεια θα εξετάσουμε μερικές από αυτές. Ανάκτηση Πληροφορίας

Σειριακή Αναζήτηση Προφανής μέθοδος (brute-force) Μέθοδος των Knuth, Morris και Pratt (KMP) Μέθοδος Boyer-Moore Μέθοδος Shift-or Μέθοδος Suffix Automaton Ανάκτηση Πληροφορίας

Brute-Force Είναι η πιο απλή μέθοδος αναζήτησης. Δοκιμάζονται σειριακά όλες οι θέσεις του κειμένου και ελέγχεται εάν το pattern ταιριάζει με τους χαρακτήρες του κειμένου. Η διαδικασία ακολουθείται έως ότου φτάσουμε στο τέλος του κειμένου Κ. Ανάκτηση Πληροφορίας

Brute-Force a b r a c a b r a c a d a b r a a b r a c a d a a a b a a Ανάκτηση Πληροφορίας

Brute-Force Υπάρχουν O(n) θέσεις στο κείμενο και Ο(m) θέσεις στο pattern. Εφόσον εξετάζονται όλες οι δυνατές θέσεις για το pattern, η πολυπλοκότητα χειρότερης περίπτωσης για τη μέθοδο είναι O(n*m). Ωστόσο η πολυπλοκότητα μέσης περίπτωσης είναι O(n), διότι σε τυχαίο κείμενο θα έχουμε αποτυχία μετά από O(1) συγκρίσεις χαρακτήρων. Ανάκτηση Πληροφορίας

Knuth-Morris-Pratt Είναι ο πρώτος αλγόριθμος με γραμμική πολυπλοκότητα χειρότερης περίπτωσης που προτάθηκε (Ο(n)). Ωστόσο στη μέση περίπτωση έχει παρόμοια απόδοση με τον brute-force. Η βασική τεχνική που χρησιμοποιείται είναι ότι αποφεύγεται η εξέταση θέσεων στις οποίες είναι σίγουρο ότι δε θα βρεθεί το pattern. Έτσι, δεν εξετάζονται όλες οι δυνατές θέσεις. Ανάκτηση Πληροφορίας

Knuth-Morris-Pratt Απαιτείται προεπεξεργασία του pattern. Κατασκευάζεται ένας πίνακας next, ο οποίος δηλώνει πόσες θέσεις μπορούμε να προχωρήσουμε. Κάθε θέση j του πίνακα δείχνει πιο είναι το μεγαλύτερο κανονικό πρόθεμα του P1..j-1 το οποίο είναι επίσης και επίθεμα και οι χαρακτήρες που ακολουθούν είναι διαφορετικοί. Επομένως, μπορούμε με ασφάλεια να παρακάμψουμε j - next[j] - 1 χαρακτήρες. Ανάκτηση Πληροφορίας

Knuth-Morris-Pratt a b r a c a b r a c a d a b r a a b r a c a d a b r Ανάκτηση Πληροφορίας

Knuth-Morris-Pratt Η μέθοδος χρησιμοποιεί ένα «παράθυρο» το οποίο σε κάθε βήμα βρίσκεται σε μία θέση του κειμένου. Υπάρχει ένας δείκτης (pointer) μέσα στο παράθυρο. Κάθε φορά που ένας χαρακτήρας του pattern ταιριάζει, ο δείκτης μετακινείται μία θέση παρακάτω. Κάθε φορά που δεν υπάρχει ταίριασμα, το παράθυρο μετακινείται ενώ ο δείκτης παραμένει σταθερός. Εφόσον κάθε φορά είτε το παράθυρο είτε ο δείκτης μετακινούνται κατά μία θέση, η μέθοδος πραγματοποιεί το πολύ 2*n συγκρίσεις. Ανάκτηση Πληροφορίας

Boyer-Moore Το pattern συγκρίνεται με χαρακτήρες του κειμένου από το τέλος του pattern προς την αρχή. Όπως και η μέθοδος KMP χρησιμοποιεί το match heuristic. Εκτός από το match heuristic, χρησιμοποιείται και το occurrence heuristic: ο χαρακτήρας του κειμένου που προκάλεσε το πρόβλημα πρέπει να «ευθυγραμμιστεί» με το pattern μετά τη μετακίνηση του παραθύρου. Ανάκτηση Πληροφορίας

Boyer-Moore a b r a c a b a b r a c a d a b r a a b r a c a d a b r a match heuristic μετακίνηση 7 θέσεις a b r a c a d a b r a occurence heuristic μετακίνηση 5 θέσεις a b r a c a d a b r a ΕΠΙΛΕΓΕΤΑΙ Η ΜΕΓΑΛΥΤΕΡΗ ΜΕΤΑΚΙΝΗΣΗ Ανάκτηση Πληροφορίας

Boyer-Moore Κόστος προεπεξεργασίας pattern Ο(m+σ). Κόστος αναζήτησης μέσης περίπτωσης: Ο(n*logm/m) Κόστος αναζήτησης χειρότερης περίπτωσης Ο(m*n). Παραλλαγές: ΒΜ-απλοποιημένος, BM-Horspool, BM-Sunday, Commentz-Walter (επέκταση για αναζήτηση πολλών patterns). Ανάκτηση Πληροφορίας

Shift-OR Στηρίζεται στην τεχνική bit-parallelism. Λειτουργίες που αφορούν στα bits μίας λέξης του επεξεργαστή που αποτελείται από w bits. Οι σημερινοί επεξεργαστές στηρίζονται σε αρχιτεκτονικές 32 ή 64 bits. Η βελτίωση που προσφέρει η μέθοδος στο χρόνο αναζήτησης του pattern είναι αρκετά καλή. Ανάκτηση Πληροφορίας

Shift-OR Η μέθοδος εξομοιώνει τη λειτουργία ενός μη-ντετερμινιστικού αυτομάτου το οποίο αναζητά το pattern στο κείμενο. Το αυτόματο εξομοιώνεται σε χρόνο O(n*m). Η πολυπλοκότητα χρόνου χειρότερης περίπτωσης είναι O(n*m/w) (optimal speedup). Ανάκτηση Πληροφορίας

Shift-OR a b r a c a d a b r a B[a] 0 1 1 0 1 0 1 0 1 1 0 B[b] 0 1 1 0 1 0 1 0 1 1 0 B[b] 1 0 1 1 1 1 1 1 0 1 1 B[c] 1 1 1 1 0 1 1 1 1 1 1 B[d] 1 1 1 1 1 1 0 1 1 1 1 B[r] 1 1 0 1 1 1 1 1 1 0 1 B[*] 1 1 1 1 1 1 1 1 1 1 1 Ανάκτηση Πληροφορίας

Shift-OR Η κατάσταση της αναζήτησης καταχωρείται σε μία λέξη μηχανής D=dm … d1, όπου το bit di = 0 όταν η κατάσταση i του αυτομάτου είναι ενεργή. Επομένως έχουμε ταύτιση όταν dm == 0. bOR = bitwise OR bAND = bitwise AND Ανάκτηση Πληροφορίας

Shift-OR Αρχικά όλα τα bits της λέξης D είναι 1. Για κάθε νέο χαρακτήρα κειμένου Tj που εξετάζεται, η λέξη D ενημερώνεται ως εξής: D’ = ( D << 1) bOR B[Tj]. Το σύμβολο << σημαίνει ότι τα bits μετακινούνται μία θέση αριστερά (shift-left) και το πιο δεξί bit γίνεται 1. Ανάκτηση Πληροφορίας

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

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

Πολύπλοκα Patterns Σε πολλές περιπτώσεις αναζητούμε πιο πολύπλοκα patterns από απλές λέξεις. Εξετάζουμε τα εξής: Αναζήτηση με λάθη (approximate matching) Αναζήτηση extended patterns Ανάκτηση Πληροφορίας

Approximate Matching Δίνεται ένα pattern P μεγέθους m, κείμενο Τ μεγέθους n, και ένας ακέραιος αριθμός k ο οποίος δηλώνει το μέγιστο αριθμό λαθών που επιτρέπονται στο ταίριασμα. Το πρόβλημα είναι πιο πρόσφατο σε σχέση με την ακριβή (exact) αναζήτηση. Υπάρχουν αρκετές λύσεις. Εδώ θα συζητήσουμε δύο: Δυναμικός προγραμματισμός Αυτόματα Ανάκτηση Πληροφορίας

Δυναμικός Προγραμματισμός Οι περισσότεροι από τους αλγορίθμους που σχετίζονται με επεξεργασία ομιλίας και γλωσσών ανήκουν στην οικογένεια του Δυναμικού Προγραμματισμού. Μεταξύ αυτών βρίσκεται και ο αλγόριθμος που βασίζεται στην ελάχιστη απόσταση (minimum edit distance). Ο Δυναμικός Προγραμματισμός βασίζεται στην αρχή ότι το αρχικό πρόβλημα μπορεί να επιλυθεί, με κατάλληλο συνδυασμό των λύσεων μικρότερων υποπροβλημάτων. Ανάκτηση Πληροφορίας

Δυναμικός Προγραμματισμός Έστω πίνακας C[0…m, 0…n]. Το στοιχείο C[i,j] δηλώνει τον ελάχιστο αριθμό λαθών που υπάρχουν κατά το ταίριασμα του P1…i με κάποιο suffix του T1…j. Ο υπολογισμός γίνεται ως εξής: Έχουμε ταίριασμα όταν για κάποια θέση j ισχύει C[m,j] <= k Ανάκτηση Πληροφορίας

Δυναμικός Προγραμματισμός Πολυπλοκότητα χρόνου O(m*n). Πολυπλοκότητα χώρου O(m). Πολυπλοκότητα χρόνου προεπεξεργασίας O(m). Πρόσφατα έχουν προταθεί αλγόριθμοι οι οποίοι πετυχαίνουν χρονική πολυπλοκότητα O(k*n). Ανάκτηση Πληροφορίας

Δυναμικός Προγραμματισμός Ανάκτηση Πληροφορίας

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