Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

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

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Ανάκτηση Πληροφορίας Φροντιστήριο 3 Οκτώβριος 2013."— Μεταγράφημα παρουσίασης:

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

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

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

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

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

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

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

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

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

10 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 That house has a garden. The garden has many flowers. The flowers are beautiful Οι κλασικές μέθοδοι που χρησιμοποιούν δείκτες σε θέσεις χαρακτήρων καλούνται full inverted indices.

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

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

13 Default English stopwords list

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

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

16 Ανεστραμμένα Αρχεία Κείμενο block1 block2 block3 block4
That house has a garden. The garden has many flowers. The flowers are beautiful Ανεστραμμένο Αρχείο λεξικό εμφανίσεις beautiful flowers garden house 4 3 2 1 Γιατί θέλουν λιγότερο χώρο από τους χαρακτήρες?

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

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

30 Inverted file indexing – Inverted file compression

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

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

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

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

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

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

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

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

39 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 That house has a garden. The garden has many flowers. The flowers are beautiful

40 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)

41 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, Pease porridge in the pot, Nine days old. Some like it hot, some like it cold, Some like it in the pot, Nine days old. Notation: N: number of documents; (=6) n: number of distinct terms; (=13) f: number of index pointers; (=31)

42 Inverted file compression

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

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

45 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> Αφού η επεξεργασία συνήθως ξεκινάει από την αρχή και γίνεται σειριακά, οι αρχικοί αριθμοί μπορούν να υπολογιστούν αθροίζοντας τα κενά.

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

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

48 Non-parameterized models

49 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 10 0 10 1 110 00 110 01 110 10 110 11 100 0 100 1 101 00 101 01 101 10 101 11 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, αλλά για μεγάλους ακεραίους η κατάσταση αντιστρέφεται.

50 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.

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

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

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

54 Παράδειγμα Gap x Coding Method Unary   Golomb b=3 b=6 1 2 3 4 5 6 7
8 9 10 110 1110 11110 111110 10 0 10 1 110 00 110 01 110 10 110 11 100 0 100 1 101 00 101 01 101 10 101 11 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

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

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

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

58 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ο αριθμό

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

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

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


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

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google