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

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

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

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

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

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

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

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1

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

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

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

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

Θεωρία Πιθανοτήτων & Στατιστική

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

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

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

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

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

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ. ΕΝΟΤΗΤΑ: Διανυσματικοί Χώροι (1) ΔΙΔΑΣΚΩΝ: Βλάμος Παναγιώτης ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

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

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

Ψηφιακή Σχεδίαση. Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:07. Δρ. Μηνάς Δασυγένης. Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

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

Μοντελοποίηση Λογικών Κυκλωμάτων

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

Εφαρμογές Συστημάτων Γεωγραφικών Πληροφοριών

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

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

ΑΣΦΑΛΕΙΑ & ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΩΝ(Θ)

Γραφικά με υπολογιστές. Διδάσκων: Φοίβος Μυλωνάς. Διαλέξεις #11-#12

Γραφικά με υπολογιστές. Διδάσκων: Φοίβος Μυλωνάς. Διάλεξη #07

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

Αλγόριθμοι και Δομές Δεδομένων(Θ) Ευάγγελος Γ. Ούτσιος

Γενικά Μαθηματικά Ι. Ενότητα 15: Ολοκληρώματα Με Ρητές Και Τριγωνομετρικές Συναρτήσεις Λουκάς Βλάχος Τμήμα Φυσικής

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

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 4 : Πράξεις με bits. Δρ. Γκόγκος Χρήστος

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1

Πληροφοριακά Συστήματα & Περιβάλλον Ασκήσεις

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΔΙΔΑΣΚΩΝ: Δρ. Στυλιανός Τσίτσος

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές

Εισαγωγή στις Τηλεπικοινωνίες

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

Συστήματα Αυτομάτου Ελέγχου 1 Ενότητα # 5: Χρήση μετασχηματισμού Laplace για επίλυση ηλεκτρικών κυκλωμάτων Μέθοδοι εντάσεων βρόχων και τάσεων κόμβων

Δίκτυα Υψηλών Ταχυτήτων Ενότητα 7: Διευθυνσιοδότηση Internet Protocol (IP) v4

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

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

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

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

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

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

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Διάλεξη #10. Διδάσκων: Φοίβος Μυλωνάς. Γραφικά με υπολογιστές. Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Χειμερινό εξάμηνο.

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

3 η ΕΝΟΤΗΤΑ Συναρτήσεις στο MATLAB

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

Εφαρμογές Συστημάτων Γεωγραφικών Πληροφοριών

Εισαγωγή στην Επιστήμη των Υπολογιστών

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

Ακουστική)και)Ψυχοακουστική

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

Αναζήτηση Κατά Πλάτος

Διαδικαστικός Προγραμματισμός

Θεωρία Πιθανοτήτων & Στατιστική

τατιςτική ςτην Εκπαίδευςη II

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

Περιεχόμενα Ορισμός και λειτουργία των μηχανών Turing Θεωρία Υπολογισμού Ενότητα 20: Μηχανές Turing: Σύνθεση και Υπολογισμοί Επ. Καθ. Π. Κατσαρός Τμήμ

Λογική Δημήτρης Πλεξουσάκης Φροντιστήριο 6: Προτασιακός Λογισμός: Μέθοδος Επίλυσης Τμήμα Επιστήμης Υπολογιστών

Ιστορία της μετάφρασης

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

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

Εισαγωγή στην Επιστήμη των Υπολογιστών

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

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

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

Μικροβιολογία & Υγιεινή Τροφίμων

Πληροφορική. Εργαστηριακή Ενότητα 1 η : Εισαγωγή στα Λογιστικά Φύλλα με το MS Excel. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Ασυμπτωτικός Συμβολισμός

4 η ΕΝΟΤΗΤΑ Μητρώα και συνθήκες στο MATLAB

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

Οικονομετρία. Εξειδίκευση του υποδείγματος. Μορφή της συνάρτησης: Πολυωνυμική, αντίστροφη και αλληλεπίδραση μεταβλητών

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ. Πιθανότητες. Συναρτήσεις πολλών μεταβλητών Διδάσκων: Επίκουρος Καθηγητής Κωνσταντίνος Μπλέκας

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

Στατιστική Επιχειρήσεων Ι

Εισαγωγή στην πληροφορική

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

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Β. Διαφορικός Λογισμός

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

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

Οικονομετρία. Πολλαπλή Παλινδρόμηση. Στατιστικός έλεγχος γραμμικού συνδυασμού συντελεστών. Τμήμα: Αγροτικής Οικονομίας & Ανάπτυξης

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

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

Transcript:

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

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

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

Suffix Arrays Επιτρέπουν την επεξεργασία πιο πολύπλοκων ερωτήσεων Η µέθοδος αυτή «βλέπει» το κείµενο σαν µία µεγάλη σειρά χαρακτήρων Κάθε θέση στο κείµενο θεωρείται ως suffix Οι θέσεις που δεικτοδοτούνται ονοµάζονται index points εν απαιτείται η δεικτοδότηση όλων των θέσεων του κειµένου Μπορεί να δεικτοδοτούνται µόνο οι αρχές των λέξεων Παράδειγµα Κείµενο: This is a text. A text has many words. Words are made from letters Suffices: text. A text has many words. Words are made from letters text has many words. Words are made from letters many words. Words are made from letters words. Words are made from letters Words are made from letters made from letters letters

Suffix Trees Ένα suffix tree είναι στην ουσία µία δοµή Trie η οποία χτίζεται µε βάση τις καταλήξεις (suffices) του κειµένου Οι δείκτες προς τις καταλήξεις αποθηκεύονται στα φύλλα του δέντρου Για τη µείωση του απαιτούµενου χώρου το δέντρο συµπιέζεται (Patricia tree) Αυτό µας επιτρέπει να αποθηκεύσουµε τη δοµή σε χώρο O(n) Παράδειγµα: 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 l m 60 d 50 w a t n 28 e x t o r d. s 19 11 40. 33

Παράδειγµα: 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 l m 60 d 50 w t n 28 19 40. 33. 11 Κόστος Αποθήκευσης Το πρόβληµα είναι ότι για την αποθήκευση της δοµής απαιτείται αρκετός χώρος Υπολογίζεται ότι ακόµη και στην περίπτωση που δεικτοδοτούνται µόνο οι πρώτοι χαρακτήρες κάθε λέξης, ο επιπλέον χώρος που απαιτείται είναι 120% µε 240% του συνολικού µεγέθους του κειµένου Κάθε κόµβος της δοµής απαιτεί 12 ή 24 bytes για την αποθήκευσή του

Suffix Arrays Η δοµή των suffix arrays προσφέρει την ίδια λειτουργικότητα, µε τη διαφορά ότι απαιτείται πολύ λιγότερος χώρος για την αποθήκευση της δοµής Εάν διασχίσουµε τα φύλλα του suffix tree µε τη σειρά, όλες οι καταλήξεις (suffices) του κειµένου παράγονται κατά λεξικογραφική διάταξη Ένα suffix array περιέχει απλά τους δείκτες στις καταλήξεις µε λεξικογραφική διάταξη Ο επιπλέον απαιτούµενος χώρος είναι περίπου 40% του κειµένου Παράδειγµα: Suffix Array 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

Αρχεία Υπογραφών (Signature Files) ιαχειρίζονται λέξεις (word-based) και στηρίζονται στο hashing Έχουν σχετικά µικρό χώρο Περίπου 10% µε 20% του µεγέθους του κειµένου Η πολυπλοκότητα αναζήτησης είναι γραµµική Κατάλληλη για µικρές συλλογές Τα ανεστραµµένα αρχεία έχουν καλύτερη απόδοση από τα αρχεία υπογραφών Αρχεία Υπογραφών Ένα αρχείο υπογραφών χρησιµοποιεί µία hash συνάρτηση η οποία αναπαριστά κάθε λέξη µε µία µάσκα από Β bits Το κείµενο χωρίζεται σε blocks µε b λέξεις το καθένα Σε κάθε block µεγέθους b αντιστοιχούµε µία µάσκα από B bits Η µάσκα παράγεται εφαρµόζοντας τον τελεστή OR στις δυαδικές αναπαραστάσεις των λέξεων του block

Παράδειγµα 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 Η hash συνάρτηση επιλέγεται έτσι ώστε να υπάρχουν τουλάχιστον Κ bits ενεργά στην υπογραφή κάθε λέξης False Drops Εάν µία λέξη είναι παρούσα σε ένα block κειµένου, τότε όλα τα bits που είναι 1 στην υπογραφή της λέξης, είναι επίσης 1 στη µάσκα του block Ωστόσο είναι πιθανόν, τα bits να είναι 1 ακόµη και όταν η λέξη δε βρίσκεται στο block (false drop) Η πιο σηµαντική διαδικασία στα αρχεία υπογραφών είναι µα µειωθεί στο ελάχιστο η πιθανότητα να έχουµε false drop

Αναζήτηση σε Αρχεία Υπογραφών Έστω ότι Β i είναι τα bit masks των blocks της συλλογής Για την αναζήτηση µιας απλής λέξης µε bit mask W ελέγχεται αν W & B i = W Για να επιβεβαιωθεί ότι δεν πρόκειται για false drop τα blocks ελέγχονται online Για την αναζήτηση φράσεων δηµιουργείται το bit mask της φράσης εφαρµόζοντας τον τελεστή OR σε όλες τις λέξεις της φράσης Είναι το µόνο σχήµα δεικτοδότησης που βελτιώνεται στην αναζήτηση φράσεων

Online Search Υπάρχουν περιπτώσεις που δεν υπάρχουν βοηθητικές δοµές δεδοµένων για την αναζήτηση Αν δίνεται ένα pattern P µε m χαρακτήρες και ένα κείµενο Κ µε n χαρακτήρες, πρέπει να βρεθούν όλες οι εµφανίσεις του P στο Κ Έχουν προταθεί πολλές µέθοδοι για την επίλυση του προβλήµατος Brute force Knuth, Morris και Pratt Boyer-Moore Shift-or 52 Brute-Force Είναι η πιο απλή µέθοδος αναζήτησης οκιµάζονται σειριακά όλες οι θέσεις του κειµένου και ελέγχεται εάν το pattern αναζήτησης ταιριάζει µε τους χαρακτήρες του κειµένου Η διαδικασία ακολουθείται έως ότου φτάσουµε στο τέλος του κειµένου Κ Ως παραλλαγή, µπορεί να ελέγχεται ένα παράθυρο µήκους m που κινείται κατά µήκος του κειµένου 53 1

Παράδειγµα 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 Mismatch Match a a b r a c a d a b r a 54 Πολυπλοκότητα Brute-Force Υπάρχουν O(n) θέσεις στο κείµενο και Ο(m) θέσεις στο pattern αναζήτησης Εφόσον εξετάζονται όλες οι δυνατές θέσεις για το pattern, η πολυπλοκότητα χειρότερης περίπτωσης για τη µέθοδο είναι O(n*m) Ωστόσο η πολυπλοκότητα µέσης περίπτωσης είναι O(n), διότι σε τυχαίο κείµενο θα έχουµε αποτυχία µετά από O(1) συγκρίσεις χαρακτήρων 55 2