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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ. Επίπεδα Αφαίρεσης Σ Β. Αποθήκευση Εγγραφών - Ευρετήρια. ρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, Επίπεδο Όψεων.

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-1

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

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

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

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

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

EBSCOhost Research Databases

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 14. Δομές Ευρετηρίων για Αρχεία. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση,

«Μηχανή Αναζήτησης Αρχείων» Ημερομηνία Παράδοσης: 30/04/2015, 09:00 π.μ.

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

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

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

Τεχνολογία Πολυμέσων. Ενότητα 6: Υπερκείμενο - Υπερμέσα. Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

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

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

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

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων

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

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

Ερωτήσεις- Απαντήσεις Πολυμέσα Απο το Βιβλίο Εφαρμογές Η/Υ Α,Β,Γ Λυκείου

PERL. Δήμος Παύλου Δημήτρης Κουζαπάς

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

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

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

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

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

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

ΤΙΤΛΟΣ ΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ: GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ ΠΕΡΙΟΧΗ ΕΡΕΥΝΑΣ: ΣΥΓΓΡΑΦΕΑΣ:

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

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Μηχανές αναζήτησης

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

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

Insert (P) : Προσθέτει ένα νέο πρότυπο P στο λεξικό D. Delete (P) : Διαγράφει το πρότυπο P από το λεξικό D

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

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

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

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Μηχανές αναζήτησης

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

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

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

ΕΠΛ 002: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Μηχανές αναζήτησης

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33

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

GoNToggle: ΕΞΥΠΝΗ ΜΗΧΑΝΗ ΑΝΑΖΗΤΗΣΗΣ ΜΕ ΧΡΗΣΗ ΟΝΤΟΛΟΓΙΩΝ

Κατηγορίες Συμπίεσης. Συμπίεση με απώλειες δεδομένων (lossy compression) π.χ. συμπίεση εικόνας και ήχου

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

µπιτ Λύση: Κάθε οµάδα των τεσσάρων µπιτ µεταφράζεται σε ένα δεκαεξαδικό ψηφίο 1100 C 1110 E Άρα το δεκαεξαδικό ισοδύναµο είναι CE2

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

Ηλεκτρονικός Κατάλογος της Βιβλιοθήκης (OPAC)

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

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

Διδάσκων: Παναγιώτης Ανδρέου

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

SilverPlatter WebSPIRS 4.1.

Εργαστήριο Σημασιολογικού Ιστού

ΤΕΧΝΟΛΟΓΙΕΣ ΠΟΛΥΜΕΣΩΝ

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25

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

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων

Σύντοµο Εγχειρίδιο Χρήσης. του Λογισµικού Στατιστικής Επεξεργασίας. SPSS for Windows v. 8.0

Χωρικές και Πολυμεσικές Βάσεις Δεδομένων (ΠΜΣ) Ενδεικτικές ερωτήσεις-θέματα για την εξέταση της θεωρίας

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Επεξεργασία ερωτημάτων

Διαδανεισμός, Πρωτόκολλο z39.50 Στρατηγικές αναζήτησης

ΑΣΚΗΣΗ. Συγκομιδή και δεικτοδότηση ιστοσελίδων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Τα δεδομένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο

Τ.Ε.Ι. Δυτικής Ελλάδας Τμήμα Διοίκησης Επιχειρήσεων Μεσολόγγι. 5 η Διάλεξη. Μάθημα: Τεχνολογίες Διαδικτύου

Wilson Web Art Databases, H.W. Wilson

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

Διασυνδεδεμένες Δομές. Λίστες. Προγραμματισμός II 1

Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing)

Transcript:

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

2 Περιεχόμενα Querying Lexicon access Μοντέλα Φυλλομέτρησης

3 Querying

4 Querying Πως χρησιμοποιούμε ένα ευρετήριο για να εντοπίσουμε πληροφορίες για το κείμενο που περιγράφει; Boolean queries Ranked queries

5 Boolean queries Ένα Boolean query εμπεριέχει μία λίστα όρων που συνδυάζονται χρησιμοποιώντας τις πράξεις AND, OR, και NOT Οι απαντήσεις στο query είναι τα κείμενα που ικανοποιούν τις συνθήκες

6 Boolean queries Π.χ. text AND compression AND retrieval Και οι 3 λέξεις πρέπει να υπάρχουν σε κάθε απάντηση. the compression and retrieval of large amounts of text is an interesting problem this text describes the fractional distillation scavenging technique for retrieving argon from compressed air

7 Boolean queries Ένα πρόβλημα με όλα τα συστήματα ανάκτησης: Επιστρέφονται άσχετες απαντήσεις Πρέπει να αφαιρεθούν «με το χέρι» εκτενές query -> high recall περιορισμένο query -> high precision Στόχος μας είναι να βρούμε μια σωστή ισορροπία μεταξύ των δυο αυτών τιμών ανάλογα με την εφαρμογή που θα έχουμε

8 Boolean queries Μικρές παραλλαγές σε ένα query οδηγούν σε πολύ διαφορετικά αποτελέσματα data AND compression AND retrieval text AND compression AND retrieval Ο χρήστης πρέπει να είναι σε θέση να θέτει πολύπλοκα ερωτήματα όπως (text OR data OR image) AND (compression OR compaction OR decompression) AND (archiving OR retrieval OR storage)

9 Boolean queries Παρά τα μειονεκτήματα τα boolean retrieval systems ήταν οι αρχικοί μηχανισμοί που χρησιμοποιήθηκαν για την πρόσβαση σε online πληροφορίες για περισσότερες από 3 δεκαετίες τόσο σε οικονομικές όσο και σε επιστημονικές εφαρμογές.

10 Boolean queries High recall ~ High precision Αποφυγή της χρήσης του OR μπορεί να βελτιώσει τα αποτελέσματα των ερωτήσεων μας

11 Ranked queries Λύση: ένα ranked query Εμπεριέχει ένα heuristic (computational method) που εφαρμόζεται για να μετρά την ομοιότητα κάθε εγγράφου με το ερώτημα. Βασιζόμενοι σε αυτό το δείκτη τα r πλησιέστερα έγγραφα επιστρέφονται σαν απάντηση.

12 Ranked queries Αν ο δείκτης είναι καλός ή το rank είναι μικρό ή και τα δυο, τότε έχουμε επικράτηση σχετικών documents στην απάντηση high precision Αν ο δείκτης είναι καλός και το rank είναι μεγάλο τα περισσότερα documents της συλλογής που είναι σχετικά, θα εμφανιστούν στα πρώτα r high recall

13 Ranked queries Πρακτικά το low precision συνυπάρχει με το high recall Όταν το precision είναι μεγάλο τότε το recall είναι χαμηλό Μεγάλη ακρίβεια -> μόνο στην αρχή της βαθμολογούμενης λίστας θα έχουμε σχετικά αποτελέσματα.

14 Ranked queries Υπάρχουν πολλές προσπάθειες για τεχνικές ranking και στρατηγικές ώστε να πετυχαίνουν υψηλό recall και precision. Σκοπός των τεχνικών εδώ είναι υψηλό recall και precision

15 Ranking strategies Απλές τεχνικές Μετράμε τον αριθμό από τους όρους του query που συναντάμε μέσα στο έγγραφο (coordinate matching) Ένα έγγραφο που περιέχει 5 όρους ερωτήματος κατατάσσεται ψηλότερα από ένα που περιέχει 3 όρους. Μειονέκτημα εδώ είναι η υπεροχή μεγάλων εγγράφων έναντι μικρών και η παρουσία λιγότερων όρων σε πιο σχετικά κείμενα.

16 Ranking strategies Προχωρημένες τεχνικές Λαμβάνουμε υπόψη το μήκος του εγγράφου και αναθέτουν ενα βάρος σε κάθε όρου π.χ. το cosine measure Οι όροι των ερωτημάτων μπορούν να χρησιμοποιούν * Search for : lab*r Labor Labour

17 Παράδειγμα Για ενα σύνολο από 50 ερωτήματα στη συλλογή TREC (750.000 documents) η τεχνική του cosine measure πετυχαίνει precision 40%, σε κάθε ερώτημα. Όταν εφαρμόζουμε ένα ερώτημα στο TREC 40 από τα 100 πρώτα αποτελέσματα (top results) θα είναι σχετικά. Αυτό είναι δύσκολο να το πετύχει ένα Boolean ερώτημα.

18 Accessing the lexicon

19 Accessing the lexicon Το λεξικό για ένα inverted file index αποθηκεύει Τους όρους που χρησιμοποιούνται για αναζήτηση στη συλλογή Απαιτούμενες πληροφορίες για να επεξεργαστούμε τα ερωτήματα για έναν όρο είναι: Διεύθυνση στο inverted file Τη λίστα με τα έγγραφα Συνήθως χρησιμοποιούνται: Το Ft, τον αριθμό των κειμένων που περιέχουν κάθε όρο για εύρεση της συχνότητας εμφάνισης του όρου. Παράμετροι συμπίεσης κ.α.

20 Accessing the lexicon Επιλογή κατάλληλης τεχνικής αποθήκευσης λεξικών. Ακόμα και μια απλή δομή μπορεί να μειώσει αισθητά τον διαθέσιμο χώρο προς αποθήκευση κατά την εκτέλεση ερωτημάτων και τη χρήση βασικής μνήμης.

21 Accessing the lexicon Απαιτήσεις σε χώρο για λεξικό με 1.000.000 όρους με διάφορες δομές δεδομένων Οι πρώτες 3 είναι πολύ απλές Η 4η είναι πιο πολύπλοκη Η 5η είναι η Minimal Perfect Hashing Για να μην έχουμε ειδικές απαιτήσεις μνήμης κατά τα ερωτήματα, το λεξικό τοποθετείται στο δίσκο.

22 Access structures Μία απλή δομή Ένας πίνακας από εγγραφές, που καθεμία περιέχει ένα string και 2 integer πεδία Σε διατεταγμένα λεξικά, μία λέξη εντοπίζεται με binary search στα strings(λεξικογραφικά) Σπαταλά πολύ χώρο, αλλά εκτελείται σε σύντομο χρόνο

23 Access structures

24 Access structures Με τη δομή της εικόνας ο χώρος αποθήκευσης είναι αρκετά μεγάλος (ένα κλασικό λεξικό μπορεί να έχει εκατομμύρια όρους) Στην 2Gb TREC συλλογή υπάρχουν n=535.246 μοναδικοί όροι, και μια συλλογή με 1.000.οοο όρους μπορεί να φτάσει τα 5Gb. Αν οι όροι αποθηκεύονται σαν 20-byte strings και με ένα 4-byte inverted file address και ένα 4-byte ft, τότε χρειαζόμαστε 28Mbytes.

25 Access structures Ο χώρος για τα strings μειώνεται εάν αυτά συνενωθούν σε ένα συνεχές string Ένας πίνακας με 4-byte character pointers χρησιμοποιείται για πρόσβαση Κάθε όρος: τον ακριβή αριθμό χαρακτήρων του + 4 για τον pointer Δεν είναι απαραίτητο να αποθηκεύουμε τα μήκη των strings: ο επόμενος pointer δείχνει στο τέλος του string Εδώ αντίστοιχα χρειαζόμαστε 20Mb για το λεξικό.

26 Access structures

27 Access structures Ο χώρος που χρησιμοποιείται μειώνεται και άλλο εάν απαλλαχθούμε από τους πολλούς string pointers 1 λέξη στις 4 είναι indexed, και κάθε αποθηκευμένη λέξη έχει σαν πρόθεμα ένα 1-byte length πεδίο Το πεδίο μήκους μας βοηθά στην αναγνώριση της αρχής του επόμενου string και του block από strings που διατρέχουμε

28 Access structures

29 Access structures Σε κάθε group, γλιτώνουμε 12 bytes για pointers Με το κόστος των 4 bytes για πληροφορίες μήκους Ο συνολικός απαιτούμενος χώρος λοιπόν γίνεται 18Mb. Η ίδια διαδικασία μπορεί να γίνει με blocks από 8 λέξεις και να μειωθεί παραπάνω ο απαιτούμενος χώρος.

30 Access structures Η διαδικασία αναζήτησης γίνεται πιο πολύπλοκη για τον εντοπισμό ενός όρου. Βinary-search στον πίνακα από string pointers για την εύρεση του σωστού block από λέξεις Το block σαρώνεται με γραμμικό τρόπο για να βρούμε τον όρο. Το τακτικό αριθμητικό του όρου προκύπτει από το συνδυασμό του αριθμού του block και της θέσης στο block Η χρήση των block με 4 όρους είναι το πιο αποδοτικό (σε αναζήτηση) στην τεχνική αυτή μιας και μια γραμμική αναζήτηση στους 3 τελευταίες λέξεις του block απαιτεί κατά μέσο όρο 2 string comparisons (με μέσο όρο 1.7 συγκρίσεις αν όλα τα strings είχαν γίνει index και γινόταν binary search).

31 Front Coding Σκεπτικό: Συνεχόμενες λέξεις σε διατεταγμένη λίστα είναι πιθανό να έχουν κάποιο κοινό πρόθεμα. 2 integers αποθηκεύονται με κάθε λέξη ένας που δείχνει πόσοι προθεματικοί χαρακτήρες είναι ίδιοι με αυτούς της προηγούμενης λέξης Ο άλλος δείχνει πόσοι επιθεματικοί χαρακτήρες απομένουν όταν αφαιρεθεί το πρόθεμα οι integers ακολουθούνται από επιθεματικούς χαρακτήρες.

32 Front Coding

33 Front Coding Όσο πιο μεγάλο είναι το λεξικό τόσα πιο πολλά προθέματα χαρακτήρων συναντάμε μιας και περισσότερα strings βρίσκονται μέσα σε ένα σύνολο από πιθανούς χαρακτήρες.

34 Front Coding Αυτό αποδεικνύεται αν αναπαραστήσουμε κάθε χαρακτήρα με αριθμούς (radix-36) μεταξύ 0 και 1. Ο χαρακτήρας 0 είναι το ψηφίο 0, ο χαρακτήρας 1 είναι το ψηφίο 1, τα γράμματα a-z είναι ψηφία από 10 ως 35 αντίστοιχα. a = 10*36-1 bed = 11*36-1 +14*36-2 +13*36-3 Λεξικό με n όρους έχει σαν μέσο κενό μεταξύ των strings (όταν τους μετατρέψουμε σε radix-x) λιγότερο από 1/n, άρα λεξικό με n=1.000.000 έχει μέσο όρο επιθεμάτων log 36 1.000.000-1=2.9 χαρακτήρες

35 Front Coding Το Front coding οδηγεί στην εξοικονόμηση περίπου 40% του απαιτούμενου χώρου για ένα λεξικό της αγγλικής γλώσσας Πρόβλημα του πλήρους front coding: Η δυαδική αναζήτηση δεν είναι εφικτή Ακόμα και η εύρεση μιας εγγραφής 3,4,ebel δεν δείχνει ποιος είναι ολόκληρος ο όρος. Λύση: partial 3-in-4 front coding

36 Front Coding Partial 3-in-4 front coding Κάθε 4ηλέξη(the one indexed by the block pointer) αποθηκεύεται χωρίς front coding, ώστε η δυαδική αναζήτηση να είναι εφικτή Σε ένα μεγάλο λεξικό, αποφεύγονται 4 bytes σε καθεμία από τις 3 λέξεις, και χρησιμοποιούνται 2 επιπλέον bytes για επιθεματικούς χαρακτήρες

37 Indexing Επιτυγχάνει χρονική απόδοση για ανάκτηση δεδομένων Είναι απαραίτητη για την εφαρμογή ερωτήσεων και για την εξαγωγή σχετικών κειμένων σε σύντομο χρονικό διάστημα Συνήθης μονάδα ευρετηριοποίησης είναι η λέξη Θέματα για ευρετηριοποίηση είναι: λέξη, πρόταση, παράγραφος, κείμενο, block

38 Indexing Οι μηχανισμοί δεικτοδότησης ευρετήρια χρησιμοποιούνται για να επιταχύνουν την πρόσβαση σε επιθυμητά δεδομένα Π.χ., κατάλογος συγγραφέων στη βιβλιοθήκη Ένα ευρετήριο (index) αποτελείται από εγγραφές της μορφής: κλειδί διάταξης δείκτης Τα ευρετήρια συνήθως είναι αρκετά μικρότερα από το αρχείο που δεικτοδοτούν.

39 Παραδείγματα Bible TREC Subset (2G) Documents N 31,101 741,856 No. of terms F 884,994 333,338,738 Distinct terms n 8,965 535,346 Index pointers f 701,412 134,994,414 Total size (MB) 4.33 2070.29

40 Disk-based lexicon storage Το ποσοστό της κύριας μνήμης που απαιτείται από το λεξικό μπορεί να μειωθεί τοποθετώντας το λεξικό στο δίσκο Στη κύρια μνήμη απομένει μικρή πληροφορία για την αναγνώριση του block που βρίσκεται κάθε όρος

41 Disk-based lexicon storage Για την εύρεση του block ενός όρου, αναζητείται στο ευρετήριο της κύριας μνήμης ο αριθμός του block To block τοποθετείται σε buffer Η αναζήτηση συνεχίζεται μέσα στο block Ένα B-tree ή κάποια άλλη δομή μπορεί να χρησιμοποιηθεί

42 Disk-based lexicon storage Αυτή η προσέγγιση είναι απλή και απαιτεί μικρό ποσοστό κύριας μνήμης Ένα λεξικό που βασίζεται στην αποθήκευση του στο δίσκο είναι λίγο πιο αργό σε πρόσβαση σε σχέση με ένα λεξικό που αποθηκεύεται στην κύρια μνήμη Απαιτείται μια πρόσβαση στο δίσκο σε κάθε αναζήτηση Είναι ανεκτός πρόσθετος χρόνος όταν γίνεται αναζήτηση κάποιων όρων (π.χ. Λιγότεροι από 50 όροι) Δεν είναι κατάλληλη προσέγγιση για τη διαδικασία ευρετηριοποίησης

43 Disk-based lexicon storage Ενώ μια πρόσβαση στο δίσκο γίνεται σε 10 milliseconds στη μνήμη γίνεται σε λίγα microseconds Για αυτό το σκοπό γίνεται και η χρήση ερωτημάτων Τα κλασικά ερωτήματα δεν εμπλέκουν πάνω από 50 όρους οπότε η αναζήτηση στο λεξικό δεν γίνεται σε πάνω από ένα δευτερόλεπτο Γενικά προτιμάται η αποθήκευση των λεξικών στο δίσκο και ειδικά όταν η ανάκτηση πληροφορίας γίνεται σε μικρούς σταθμούς εργασίας ή προσωπικούς υπολογιστές

44 Partially specified query terms Υποθέτουμε πως έχουμε τους όρους t Θέλουμε να τους βρούμε στο λεξικό Οι όροι μπορεί να έχουν * Αν το * είναι στο τέλος τότε με δυαδική αναζήτηση αναζητούμε όρους με το πρόθεμα του t Αν το * είναι αλλού τότε απαιτούνται διαφορετικές τεχνικές

45 Brute-force string matching Έχοντας το λεξικό στην μνήμη είναι δυνατόν να γίνει σάρωση των όρων με το πρότυπο χρησιμοποιώντας έναν αλγόριθμο ταιριάσματος προτύπου (pattern matching algorithm) Δεν απαιτείται επιπλέον χώρος Είναι δυνατή η χρήση 3 in 4 Front Coding Αν το λεξικό είναι διατεταγμένο, κάθε αρχικός χαρακτήρας μπορεί να χρησιμοποιηθεί για να μειώσει το σύνολο αναζήτησης Οι αναζητήσεις με τέτοιου είδους αλγόριθμους είναι εξαντλητική

46 Indexing using n-grams Καλύτερη αναζήτηση με ταίριασμα προτύπων μπορεί να επιτευχθεί αν χρησιμοποιήσουμε επιπλέον μνήμη. Δημιουργία των n-grams για n πολύ μικρό Η λέξη labor αποτελείται από τα digrams la, ab, bo, or, $l, r$. Για να βρούμε τον όρο στο λεξικό που ταιριάζει με το lab*r κάνουμε το ερώτημα: $l AND la AND ab AND r$

47 Indexing using n-grams

48 Indexing using n-grams Οι λέξεις laaber, lavacaber είναι λάθος αν και έχουν όσα λέει το ερώτημα αλλά με λάθος σειρά Ο μηχανισμός αυτός λειτουργεί σαν φίλτρο που μειώνει τον αριθμό των strings που πρέπει να ελεγχθούν με τον pattern matcher Η λέξη labrador είναι σωστή σαν απάντηση αλλά όχι απαραίτητα επιθυμητή απάντηση Τα * βοηθούν στην εφαρμογή ερωτημάτων εύκολα και γρήγορα αλλά δεν ικανοποιούν πάντα τον χρήστη Η ανεστραμμένη λίστα των n-grams μπορεί να αποθηκευτεί συμπιεσμένη με κάποια γνωστή τεχνική Υπάρχει tradeoff χρόνου για το χώρο που πρέπει να διατεθεί για τους ελέγχους για λανθασμένα ταιριάσματα

49 Rotated lexicons Καλύτερα αποτελέσματα έχουμε αν χρησιμοποιήσουμε περισσότερη μνήμη Ευρετηριοποίηση κάθε χαρακτήρα κάθε όρου του λεξικού (αντί για κάθε λέξη) Για τη λέξη labor έχουμε 6 δείκτες (5 για τους χαρακτήρες και έναν για τον χαρακτήρα τερματισμού) Ταξινόμηση κάθε δείκτη των χαρακτήρων βάση της περιστροφής των όρων Για τη λέξη labor έχουμε τα 6 strings που δείχνουν οι δείκτες: labor$, abor$l, bor$la, or$lab, r$labo, $labor)

50 Rotated lexicons Αν γίνει αυτό, εύκολα εφαρμόζονται ερωτήματα με χρήση * αφού θα γίνεται δυαδική αναζήτηση Για την αναζήτηση του προτύπου lab*r το lab*r περιστρέφεται μέχρι το * να πάει στο τέλος (δηλαδή r$lab*) Μετά γίνεται αναζήτηση για strings που έχουν πρόθεμα το r$lab*

51 Rotated lexicons

52 Rotated lexicons Επίσης το *lab* περιστρέφεται σε lab* και η αναζήτηση γίνεται όπως και πριν Αναζήτηση του r$labo* επιστρέφει τις r$labo r$laborato r$labou Όταν αναστραφούν δίνουν τις απαντήσεις

53 Rotated lexicons Η τεχνική αυτή έχει αποδειχθεί ως γρηγορότερη Στο ίδιο σύνολο του TREC το πείραμα αναζήτησης τρέχει 10 φορές γρηγορότερα επιβαρύνοντας 250% την μνήμη

54 Μοντέλα Φυλλομέτρησης

55 Γενικά Browsing vs. searching Στη φυλλομέτρηση ο χρήστης δεν έχει κάποιο συγκεκριμένο ερώτημα όπως στην αναζήτηση, απλά περιφέρεται αναζητώντας ενδιαφέρουσες αναφορές. Ο σκοπός του χρήστη στην αναζήτηση είναι πιο ξεκάθαρος από αυτόν στη φυλλομέτρηση. Τύποι φυλλομέτρησης Flat browsing Structure guided browsing The hypertext model

56 Τύποι Φυλλομέτρησης Flat organization Τα κείμενα αναπαριστώνται σαν σημεία στο επίπεδο Τα κείμενα αναπαριστώνται σαν στοιχεία σε μια λίστα Structure guided browsing Τα κείμενα οργανώνονται σε φακέλους, και κάθε φάκελος έχει κείμενα ανάλογου περιεχομένου Hypertext model Περιήγηση στο υπερκείμενο: μονοπάτια από ένα κατευθυνόμενο γράφημα

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

58 Flat Browsing Επίπεδη Φυλλομέτρηση Βασικό μειονέκτημα Στο flat browsing από τη στιγμή που ο χρήστης έχει μια γενική εικόνα της πληροφορίας δεν έχει κάποια ένδειξη για το που πρέπει να πάει ή για ο περιβάλλον στο οποίο βρίσκεται και συνεπώς η φυλλομέτρηση καθίσταται αποπροσανατολιστική

59 Flat Browsing Επίπεδη Φυλλομέτρηση Μηχανές αναζήτησης Google Yahoo Using hierarchical directories and a web interface BUT The organization does not provide flat browsing

60 Structure guided browsing Δομημένη κατευθυνόμενη φυλλομέτρηση Φυλλομετρώντας το Yahoo είναι ένα παράδειγμα του structure guided browsing. Μια βάση δεδομένων είναι δομημένη με τέτοιο τρόπο που να γίνεται φυλλομέτρηση σε μια ιεραρχία πληροφορίας.

61 Structure guided browsing Δομημένη κατευθυνόμενη φυλλομέτρηση Περιβάλλον διεπαφής Ιεραρχίες φακέλων, αρχείων Ιεραρχίες μέσα σε κείμενα (τίτλοι, κεφάλαια κ.α.) History maps

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

63 Hypertext Υπερκείμενο Μια βάση δεδομένων που έχει ενεργές παραπομπές και επιτρέπει στον αναγνώστη "να πηδήσει" σε άλλα μέρη της βάσης δεδομένων όπως επιθυμεί. Αυτό κάνει το διάβασμα (και γράψιμο) μη ακολουθιακή διαδικασία.

64 Hypertext Υπερκείμενο Το κείμενο είναι οργανωμένο σε μια ακολουθιακή διάταξη. Οι σύνδεσμοι επιτρέπουν στο αναγνώστη να μετακινηθεί από το ένα τμήμα στο άλλο μηακολουθιακά. Κόμβοι χρησιμοποιούνται για τη σύνδεση ένα κομμάτι πληροφορίας με κάποιο άλλο μέσα από μια γραφική δομή. Η χρήση πολλών συνδέσμων μπορεί να αποπροσανατολίσει τον αναγνώστη.

65 Hypertext Υπερκείμενο Υπάρχουν δυο έννοιες: οι κόμβοι πληροφορίας και οι σύνδεσμοι των οποίων ο σκοπός είναι η διασύνδεση δύο ή περισσοτέρων κόμβων. Κόμβοι (Nodes): Ένας κόμβος είναι μια προσβάσιμη μονάδα του συστήματος υπερμεσών που μπορεί να περιέχει για παράδειγμα κείμενο, ήχο, εικόνα, εκτελέσιμα προγράμματα υπολογιστών ή άλλα Hypermedia systems. Σύνδέσμος (links): Ένας σύνδεσμος είναι ένα δομικό στοιχείο που συσχετίζει συνδέσμους μεταξύ τους ή/και άγκυρες. Κάποιος θα μπορούσε να πει ότι οι συνδέσμοι είναι η κόλλα που συγκρατεί το σύστημα μαζί σε ένα κομμάτι. Ένας σύνδεσμος κατευθύνει από ένα μέρος ενός κόμβου σε έναν ή και σε περισσότερους κόμβους. Αυτό σημαίνει ότι ενώ διαβάζει κάποιος έναν κόμβο μπορεί να μεταβεί σε κάποιον άλλο και να συνεχίζει εκεί. Για να κάνει τη μετάβαση πρέπει να πατήσει ένα κουμπί, πχ με την χρήση ποντικιού. Άγκυρες (Anchors): Μια άγκυρα είναι ένα δομικό στοιχείο που συνδέει ή συσχετίζει κόμβους πληροφοριών (ή μέρη αυτών) και συνδέσμους. Όταν επιλέγεται, έχει ως αποτέλεσμα τη μετάβαση σε κάποιο άλλο σημείο του συστήματος.

66 Hypertext Model Μοντέλο Υπερκειμένου Anchors Node Link Node

67 P2P Hypertext Υπάρχει πλέον μια τάση ώστε τα συστήματα να παρέχουν δομημένες υπηρεσίες υπερκειμένου ομογενοποιημένες σε συστατικά (components) με καλά ορισμένο περιβάλλον διεπαφής. Η κύρια μορφή επικοινωνίας ή καλύτερα σχέσης μεταξύ των υπηρεσιών σε αυτά τα μαζικά κατανεμημένα περιβάλλοντα εξακολουθεί να είναι αυτή που είναι βασισμένη στην αλληλεπίδραση πελάτη / διακομιστή (client/server).

68 P2P Hypertext Χαρακτηριστικά: Η μεταβατικότητα των δεδομένων καθώς και η ύπαρξη αντιπροσώπων (agents) στους οποίους η πληροφορία είναι κατανεμημένη. Η πληροφορία δεν είναι απαραίτητα διαθέσιμη ούτε η τοποθεσία της είναι απαραιτήτως γνωστή. Tα συστήματα υπερκειμένου με P2P τεχνολογία μπορούν να αποτελέσουν εργαλεία με εύκολη πρόσβαση και να παρουσιάσουν πολύ ικανοποιητικά δικτυακά αποτελέσματα.

69 Ανάκτηση Πληροφορίας - Φροντιστήριο 1 - Οκτώβριος 2007 Τέλος 2 ου Φροντιστηρίου Αναφορές Managing Gigabytes, Compressing and Indexing Documents and Images, Witten, Moffat, Bell