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

Slides:



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

Γραφήματα & Επίπεδα Γραφήματα
Φροντιστήριο 2 Οκτώβριος  Querying  Lexicon access  Inverted file indexing – Inverted file compression 2.
Βασικές έννοιες αλγορίθμων
Indexing.
Δομές Δεδομένων και Αλγόριθμοι
Μάρτιος 2011 Βαρόμετρο ΕΒΕΘ - Καταναλωτές. “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι.
5 Οργάνωση υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών ã Εκδόσεις Κλειδάριθμος.
Πρωτογενής έρευνα Hi5, μία μόδα για νέους;. Μεθοδολογία - εργαλεία Η έρευνα διενεργήθηκε με την μέθοδο της συλλογής ερωτηματολογίων, τα οποία και συμπληρώνονταν.
Κώδικες Huffman Μέθοδος συμπίεσης δεδομένων:
Η Γλώσσα Προγραμματισμού LOGO
-Στοίβα-Ουρά - Πλεονεκτήματα πινάκων -Δομές δεδομένων δευτερεύουσας μνήμης -Πληροφορική και δεδομένα -Παραδείγματα-Προβλήματα ψευδοκώδικα.
Ασκήσεις Συνδυαστικής
ΟΙ ΠΛΗΡΟΦΟΡΙΕΣ ΣΤΟ ΕΣΩΤΕΡΙΚΟ ΤΟΥ Η/Υ
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
ΣΥΜΠΙΕΣΗ Τεράστιες ανάγκες σε αποθηκευτικό χώρο Παράδειγμα:
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
Ο Αντεστραμμένος Κατάλογος
Κατακερματισμός Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Δυναμικός Κατακερματισμός.
Δεικτοδότηση και Αναζήτηση (Indexing & Searching)
Ανάλυση του λευκού φωτός και χρώματα
Βαρόμετρο ΕΒΕΘ - Καταναλωτές Σεπτέμβριος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι.
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ
Κεφάλαιο 2ο Πεπερασμένα αυτόματα.
Γραφήματα & Επίπεδα Γραφήματα
ΙΣΟΛΟΓΙΣΜΟΣ ΒΑΣΕΙ Δ.Λ.Π. (ΕΝΑΡΞΗΣ)
Καλώς ήρθατε στις Οικονομικές Επιστήμες
Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ κκπ(λ,ι)=α, κκπ(τ,σ)=ν, κκπ(λ,π)=η κκπ(π,σ)=γ, κκπ(ξ,ο)=κ ξο κκπ(ι,ξ)=β, κκπ(τ,θ)=θ, κκπ(ο,μ)=α.
Εξάσκηση στην προπαίδεια
Δυναμική Διατήρηση Γραμμικής Διάταξης Διατηρεί μια γραμμική διάταξη δυναμικά μεταβαλλόμενης συλλογής στοιχείων. Υποστηρίζει τις λειτουργίες: Έλεγχος της.
Βαρόμετρο ΕΒΕΘ Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού Θεσσαλονίκης”
2006 GfK Praha CORRUPTION CLIMATE IN EUROPE % % % %0 - 10% % % % % % ΚΛΙΜΑ ΔΙΑΦΘΟΡΑΣ Η.
Βαρόμετρο ΕΒΕΘ Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού Θεσσαλονίκης”
Βαρόμετρο ΕΒΕΘ Σεπτέμβριος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού.
Ανάκτηση Πληροφορίας Φροντιστήριο 1 Πλέγας Γιάννης Οκτώβριος 2009.
Βαρόμετρο ΕΒΕΘ Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού Θεσσαλονίκης”
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Χειριζόμαστε ένα σύνολο στοιχείων όπου το κάθε.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Ευρετήρια.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
Δομές Δεδομένων 1 Στοίβα. Δομές Δεδομένων 2 Στοίβα (stack)  Δομή τύπου LIFO: Last In - First Out (τελευταία εισαγωγή – πρώτη εξαγωγή)  Περιορισμένος.
Τεχνολογία ΛογισμικούSlide 1 Αλγεβρική Εξειδίκευση u Καθορισμός τύπων αφαίρεσης σε όρους σχέσεων μεταξύ τύπων λειτουργιών.
ΗΥ302 Διδακτική της Πληροφορικής Η γλώσσα προγραμματισμού LOGO Writer Ομάδα Εργασία: Αλεβίζου Βασιλική (Α.Μ.:1029) Κοφφινά Ιωάννα (Α.Μ.:1035) Τριανταφυλλίδου.
Μοντέλα Συστημάτων Παρουσιάσεις των συστημάτων των οποίων οι απαιτήσεις αναλύονται.
Προγραμματισμός ΙΙ Διάλεξη #5: Εντολές Ανάθεσης Εντολές Συνθήκης Δρ. Νικ. Λιόλιος.
Ανάπτυξη Πρωτοτύπου Λογισμικού
Lists– Λίστες 1. Αυτό-αναφορικές δομές Τα μέλη μίας δομής μπορεί να είναι οποιουδήποτε τύπου, ακόμα και δείκτες σε δομές του ίδιου τύπου. Χρησιμοποιώντας.
Ενότητα Α.4. Δομημένος Προγραμματισμός
Βαρόμετρο ΕΒΕΘ - Καταναλωτές Μάρτιος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι.
Βάσεις Δεδομένων Εργαστήριο ΙΙ Τμήμα Πληροφορικής ΑΠΘ
Δομές Δεδομένων - Ισοζυγισμένα Δυαδικά Δένδρα (balanced binary trees)
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες:
Λεξικό, Union – Find Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Βαρόμετρο ΕΒΕΘ Σεπτέμβριος “Η καθιέρωση ενός αξιόπιστου εργαλείου καταγραφής του οικονομικού, επιχειρηματικού και κοινωνικού γίγνεσθαι του Νομού.
Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Κατακερματισμός – Hashing (1 ο Μέρος)
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων.
Βάσεις Δεδομένων ΙΙ Ευαγγελία Πιτουρά 1 Βάσεις Διαδικτύου.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ευρετήρια.
JPEG Μια τεχνική συμπίεσης ακίνητης εικόνας. Η Τεχνική JPEG Αφορά συμπίεση ακίνητων εικόνων Είναι τεχνική συμπίεσης με απώλειες Το πρόβλημα είναι η εκάστοτε.
Γλώσσες Προγραμματισμού Μεταγλωττιστές Πίνακας Συμβόλων Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου.
Ευρετήρια Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Δυναμικός Κατακερματισμός
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
Διδάσκων: Δρ. Τσίντζα Παναγιώτα
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Μάθημα 6ο Ανάλυση Κειμένου και Δεικτοδότηση
Εξωτερική Αναζήτηση Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη
Δυναμικός Κατακερματισμός
Μεταγράφημα παρουσίασης:

Ανάκτηση Πληροφορίας Φροντιστήριο 3 Οκτώβριος 2013

Περιεχόμενα Ανεστραμμένα Αρχεία Εισαγωγή Δημιουργία (1/2) Indexing Compression

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

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

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

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

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

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

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

Inverted file indexing :Παράδειγμα Έχουμε την πρόταση That house has a garden. The garden has many flowers. The flowers are beautiful Ανεστραμμένο αρχείο Λεξικό Περιστατικά beautiful 70 flowers 45, 58 garden 18, 29 house 6 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 Οι κλασικές μέθοδοι που χρησιμοποιούν δείκτες σε θέσεις χαρακτήρων καλούνται full inverted indices.

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

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

Default English stopwords list http://www.ranks.nl/resources/stopwords.html

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

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

Ανεστραμμένα Αρχεία Κείμενο block1 block2 block3 block4 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 Ανεστραμμένο Αρχείο λεξικό εμφανίσεις beautiful flowers garden house 4 3 2 1 Γιατί θέλουν λιγότερο χώρο από τους χαρακτήρες?

Αναζήτηση σε Αν. Αρχείο Μία τυπική μέθοδος αναζήτησης σε αντεστραμμένο αρχείο ακολουθεί τα παρακάτω βήματα: Αναζήτηση Λεξιλογίου: οι λέξεις που προσδιορίζονται στο ερώτημα απομονώνονται και αναζητούνται στο λεξιλόγιο. Ανάκτηση Εμφανίσεων: προσδιορίζονται οι εμφανίσεις της κάθε λέξης. Επεξεργασία Εμφανίσεων: οι εμφανίσεις επεξεργάζονται για την επίλυση φράσεων, ομοιότητας ή λογικών τελεστών (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). Κάθε λέξη του κειμένου διαβάζεται και αναζητείται στο λεξιλόγιο. Εάν η νέα λέξη δε βρεθεί στο λεξιλόγιο, τότε εισάγεται σε αυτό και ενημερώνεται η λίστα εμφανίσεων για τη συγκεκριμένη λέξη. Εάν η λέξη υπάρχει στο λεξιλόγιο, τότε απαιτείται μόνο ενημέρωση της λίστας εμφανίσεων.

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

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

Inverted file indexing – Inverted file compression

Indexing Σκοπός Σχεδιασμός δομών δεδομένων που επιτρέπουν την αποδοτική υλοποίηση της γλώσσας επερώτησης Απλοϊκή προσέγγιση: σειριακή αναζήτηση (online sequential search) Ικανοποιητική μόνο αν η συλλογή των κειμένων είναι μικρή Είναι η μόνη επιλογή αν η συλλογή κειμένων είναι ευμετάβλητη

Indexing Ένα index είναι ένας μηχανισμός για τον εντοπισμό ενός όρου σε ένα κείμενο Π.χ.index σε βιβλίο Εύρεση πληροφορίας χωρίς φυλλομέτρηση Σε μεγάλες συλλογές κειμένων (gigabytes) η αναζήτηση σελίδα προς σελίδα είναι μέχρι και αδύνατη.

Granularity of index Κοκκοποίηση του index = η ανάλυση με την οποία οι θέσεις των όρων καταγράφονται μέσα σε κάθε έγγραφο. Π.χ. 1 κεφάλαιο = 1 έγγραφο, αλλά το index δύναται να υπολογίσει μια πιο ακριβή τοποθεσία μέσα στο έγγραφο για κάθε όρο. Π.χ. Ερωτήσεις όπως ποια έγγραφα περιέχουν τους όρους ’tax’ και ’avoidance’ στην ίδια πρόταση;

Granularity Ένα coarse-grained(χονδρόκοκκος) index δύναται να αναγνωρίσει μόνο block κειμένου, όπου κάθε block αποθηκεύει ορισμένα έγγραφα. Ένα moderate-grained index αποθηκεύει θέσεις με την έννοια του αριθμού εγγράφου. Ένα fine-grained(λεπτόκοκκος) index επιστρέφει μία πρόταση ή αριθμό λέξης.

Granularity Coarse indexes απαιτούν λιγότερο χώρο, αλλά κατά την ανάκτηση, πρέπει να σαρώσουμε το μεγαλύτερο μέρος του κειμένου για την εύρεση όρων. Ερωτήματα με πολλούς όρους είναι πιθανό να οδηγήσουν σε λάθη, όπου καθένας από τους επιθυμητούς όρους εμφανίζεται κάπου στο block, αλλά όχι όλοι στο ίδιο έγγραφο.

Granularity Word-level indexing (ευρετήριο σε επίπεδο λέξης- λεξική ευρετηριοποίηση) Καθιστά ερωτήματα ικανά να απαντηθούν γρήγορα καθώς η επιθυμητή σχέση μπορεί να ελεγχθεί πριν την ανάκτηση του κειμένου. Η πρόσθεση πληροφορίας ακριβούς θέσης επεκτείνει το index περισσότεροι pointers στο index κάθε pointer απαιτεί περισσότερα bits αποθήκευσης Επομένως το index ενδέχεται να καταλάβει περισσότερο χώρο από το αρχικό κείμενο.

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

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

Inverted file indexing :Παράδειγμα Έχουμε την πρόταση That house has a garden. The garden has many flowers. The flowers are beautiful Ανεστραμμένο αρχείο Λεξικό Περιστατικά beautiful 70 flowers 45, 58 garden 18, 29 house 6 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

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. 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> Notation: N: number of documents; (=6) n: number of distinct terms; (=13) f: number of index pointers; (=26)

Word-level Inverted File Index 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)> 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)

Inverted file compression

Inverted file compression Τα ασυμπίεστα αρχεία μπορούν να καταναλώσουν σημαντικό χώρο 50-100% του χώρου του αρχικού κειμένου το μέγεθος ενός Inverted file μπορεί να μειωθεί αρκετά με τη συμπίεση του κλειδί για τη συμπίεση : Κάθε inverted list μπορεί χωρίς οποιαδήποτε απώλεια γενίκευσης να αποθηκευτεί ως αύξουσα ακολουθία ακέραιων αριθμών (όσο το δυνατόν λιγότεροι σε πλήθος bit) f: pointer N: documents space pointers: f*logN bits

Inverted file compression Το μέγεθος ενός αντεστραμμένου αρχείου μπορεί να περιοριστεί αν συμπιέσουμε τις λίστες. Εφόσον τα IDs των κειμένων είναι σε αύξουσα σειρά, η σειρά μπορεί να χαρακτηριστεί σαν ακολουθία από κενά μεταξύ των κειμένων. Βασικό χαρακτηριστικό: για συχνά εμφανιζόμενες λέξεις τα κενά είναι μικρά, ενώ για σπάνιες λέξεις τα κενά είναι μεγάλα.

Inverted File Compression π.χ. Έχουμε έναν όρο που παρουσιάζεται σε 8 κείμενα (3,5,20,21,23,76,77,78) Η ανεστραμμένη λίστα είναι η: <8:3,5,20,21,23,76,77,78> Η ανεστραμμένη λίστα με χρήση d-gaps είναι η: <8:3,2,15,1,2,53,1,1> Αφού η επεξεργασία συνήθως ξεκινάει από την αρχή και γίνεται σειριακά, οι αρχικοί αριθμοί μπορούν να υπολογιστούν αθροίζοντας τα κενά.

Inverted File Compression Κάθε inverted list έχει τη μορφή Εναλλακτικά Κάθε διαφορά ονομάζεται d-gap. Κάθε δείκτης θέλει λιγότερο από bits. Αν

Methods for Inverted File Compression Οι μέθοδοι για τη συμπίεση d-gap sizes χωρίζονται σε global: κάθε list συμπιέζεται χρησιμοποιώντας το ίδιο πρότυπο local: το μοντέλο συμπίεσης για ένα inverted list ρυθμίζεται σύμφωνα με κάποια παράμετρο, όπως τη συχνότητα του όρου Οι Global methods χωρίζονται σε non-parameterized: η κατανομή πιθανότητας για τα d-gap sizes προκαθορίζεται . parameterized: η κατανομή πιθανότητας ρυθμίζεται σύμφωνα με ορισμένες παραμέτρους της συλλογής . Εξ ορισμού, οι τοπικές μέθοδοι είναι parameterized .

Non-parameterized models

Non-parameterized models Gap x Coding Method Unary   Golomb b=3 b=6 1 2 3 4 5 6 7 8 9 10 110 1110 11110 111110 1111110 11111110 111111110 1111111110 10 0 10 1 110 00 110 01 110 10 110 11 1110 000 1110 001 1110 010 100 0 100 1 101 00 101 01 101 10 101 11 11000 000 11000 001 11000 010 0 0 0 10 0 11 10 10 10 11 110 0 1110 0 0 00 0 01 0 100 0 101 0 110 0 111 10 00 10 01 10 100 10 101 Για μικρούς ακέραιους, οι δ codes είναι μεγαλύτεροι από τους γ codes, αλλά για μεγάλους ακεραίους η κατάσταση αντιστρέφεται.

Non-parameterized models Unary code: An integer x > 0, is coded as (x-1) ‘1’ bits followed by a ‘0’ bit. γ code: Number x is coded as a unary code for followed by a code of bits that represents in binary. δ code: Number of bits in unary is represented using γ code.

Non-parameterized models Κάθε μέθοδος έχει μια κατανομή πιθανότητας, που προκύπτει από τη φόρμουλα του Shannon(lx: ιδανικό μήκος κώδικα, Pr[x]:πιθανότητα εμφάνισης του gap x). Η πιθανότητα που υποθέτουμε στο unary code είναι πολύ μικρή και η κατανομή εκθετική, ενώ στα άλλα πιο ομοιόμορφη.

Bernoulli process Η πιθανότητα k επιτυχιών σε n δοκιμές μιας bernoulli διαδικασίας δίνεται από τον ακόλουθο τύπο :

Global parameterized models Πιθανότητα ότι ένα τυχαίο έγγραφο περιέχει έναν τυχαίο όρο , (n:index terms, N: documents) Υποθέτωντας Bernoulli διαδικασία(gap x),(γεωμετρική κατανομή) Οι διαφορετικοί δείκτες του inverted file Πιθανότητες Αριθμητικής κωδικοποίησης: Πιο αποτελεσματική κωδικοποίηση, η Huffman-style κωδικοποίηση (Golomb κωδικοποίηση): Για κάποια παράμετρο b, κάθε αριθμός x >0 κωδικοποιείται σε δυο μέρη: 1. Σε q+1 unary, με 2.

Παράδειγμα Gap x Coding Method Unary   Golomb b=3 b=6 1 2 3 4 5 6 7 8 9 10 110 1110 11110 111110 1111110 11111110 111111110 1111111110 10 0 10 1 110 00 110 01 110 10 110 11 1110 000 1110 001 1110 010 100 0 100 1 101 00 101 01 101 10 101 11 11000 000 11000 001 11000 010 0 0 0 10 0 11 10 10 10 11 110 0 1110 0 0 00 0 01 0 100 0 101 0 110 0 111 10 00 10 01 10 100 10 101 0, 10 ,11 για r=0, 1, 2 00, 01 ,100, 101, 110, 111 για r=0, 1, 2, 3, 4, 5

Συμπέρασμα Η κωδικοποίηση Golomb δίνει παρόμοια αποτελέσματα με το μοντέλο Bernoulli με αριθμητική κωδικοποίηση όταν p<<1 και b>>1 (κανονική περίπτωση) Αν p>0.5 η κωδικοποίηση Golomb είναι πιο αποδοτική

Global observed frequency model Άλλος τρόπος να μοντελοποιήσουμε τα d-gap. Κατασκευή κατανομής με βάση τις ακριβείς d-gap τιμές και τον αριθμό των φορών που εμφανίζονται, και στη συνέχεια χρησιμοποίηση Αριθμητικής ή Huffman κωδικοποίησης Θεωρητικά θα ήταν πολύ καλύτερη λύση από τις προηγούμενες. Όμως είναι μόνο ελαφρώς καλύτερη από γ ή δ code πράγμα που αποδεικνύει ότι οι προηγούμενοι κώδικες είναι αποτελεσματικοί. Λόγος: οι δείκτες δεν είναι διεσπαρμένοι τυχαία στο αρχείο και γνωρίζοντας την θέση τους πετυχαίνουμε καλύτερες συνθήκες για τον υπολογισμό της πιθανότητας εμφάνισης κάθε gap.

Local Bernoulli model Η συχνότητα του όρου t, ft , είναι γνωστή Το Bernoulli model μπορεί να εφαρμοστεί σε κάθε inverted list Συχνά εμφανιζόμενοι όροι, μικρές τιμές b Αραιά εμφανιζόμενοι όροι, μεγάλες τιμές b Πρέπει να αποθηκευθεί η παράμετρος ft , έτσι ώστε να μπορεί να χρησιμοποιηθεί το b στην αποκωδικοποίηση. Bitmap: Συχνά εμφανιζόμενοι όροι κωδικοποιούνται με b=1. Σαν να αποθηκεύουμε το inverted list σαν bitvector Συνεπώς, το Huffman-coded Bernoulli model δεν μπορεί να είναι χειρότερο από το bitvector.

Context Sensitive Compression Γνωρίζουμε εκ των προτέρων το inverted file entry Αναδρομικά υπολογίζουμε τις διαφορές και τις κωδικοποιούμε . 20 έγγραφα στο σύνολο , δεδομένου inverted file entry με 7 έγγραφα < 7; 3, 8, 9, 11, 12,13, 17 > κατόπιν τα gaps είναι < 7; 3, 5, 1, 2, 1, 1, 4 > Εάν ξέρουμε ο 4ος αριθμός είναι "11" και ο 6ος αριθμός είναι "13", υπάρχει μόνο μια πιθανή τιμή ("12") για τον 5ο αριθμό

Context Sensitive Compression Διχοτομούμε κατ' επανάληψη την απόσταση και υπολογίζουμε τη χαμηλότερη πιθανή τιμή και υψηλότερη πιθανή τιμή για τον αριθμό στη μέση Εξετάζουμε αρχικά τον 4ο αριθμό "11", κατόπιν "8", ο οποίος είναι ο μέσος αριθμός στα αριστερά 3 έγγραφα, έπειτα "3" ..9 ", έπειτα" 13 "(ο μέσος αριθμός στα 3 δεξιά έγγραφα), και τελικά " 12 "..17" Χρησιμοποιούμε την αναπαράσταση (x; lo; hi) για να δηλώσουμε πως το x βρίσκεται στο διάστημα [lo; hi]. Το Interpolative code μπορεί να επιτύχει την καλύτερη αναλογία συμπίεσης , αλλά έχει τον πιό μακροχρόνιο χρόνο αποκωδικοποίησης

Performance of index compression methods Compression of inverted files in bits per pointer

Τέλος 3ου Φροντιστηρίου