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

Κεφάλαιο 7Ο Κατάλογος Υπογραφών

7.1 Εισαγωγή

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

Η χρήση υπογραφών για την αναπαράσταση των εγγράφων χαρακτηρίζεται από απώλεια πληροφορίας. Αυτό βέβαια δε σημαίνει ότι δεν έχουμε πρόσβαση στην αρχική μορφή των εγγράφων. Σημαίνει όμως ότι ενδεχομένως κατά τη διαδικασία της αναζήτησης σχετικών εγγράφων θα ανακτηθούν έγγραφα τα οποία δεν περιέχουν τους όρους του ερωτήματος. Τα έγγραφα αυτά θα πρέπει να διαγραφούν από την απάντηση, καθώς δεν ικανοποιούν τις συνθήκες του ερωτήματος. Η ποιότητα της ανάκτησης με τη χρήση υπογραφών προσδιορίζεται κατά κύριο λόγο από το ποσοστό των εγγράφων που ανακτήθηκαν ενώ δεν ικανοποιούν το ερώτημα.

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

7.2 Μέθοδοι Εξαγωγής Υπογραφών

Οι μέθοδοι ανάκτησης με χρήση υπογραφών έχουν χρησιμοποιηθεί εκτενώς, κυρίως λόγω της χρήσης του κατακερματισμού που έχει μελετηθεί διεξοδικά. Μία υπογραφή χαρακτηρίζεται από δύο βασικά στοιχεία: (α) το μέγεθος (μήκος) της υπογραφής (M) και (β) το πλήθος των δυαδικών ψηφίων που είναι μονάδα (m). Οι τιμές των παραμέτρων αυτών μπορούν να διαφέρουν και εξαρτώνται από την υλοποίηση ή από τις σχεδιαστικές επιλογές. Αρχικά, όλα τα δυαδικά ψηφία της υπογραφής αρχικοποιούνται σε 0. Στη συνέχεια, χρησιμοποιούνται συναρτήσεις κατακερματισμού που θέτουν τα m από τα M δυαδικά ψηφία της υπογραφής σε 1. Τονίζεται, ότι υπάρχει περίπτωση δύο διαφορετικοί όροι να έχουν την ίδια υπογραφή. Το φαινόμενο αυτό καλείται σύγκρουση και η εμφάνισή του επηρεάζεται από το μέγεθος της υπογραφής και από τη συνάρτηση κατακερματισμού που χρησιμοποιείται. Ο τρόπος δημιουργίας μίας υπογραφής απεικονίζεται στο Σχήμα 7.1, ενώ στον Πίνακα 7.1 δίνονται τα βασικότερα σύμβολα που χρησιμοποιούνται στο κεφάλαιο αυτό.

Σχήμα 7.1: Κατασκευή υπογραφής όρου.
σύμβολο περιγραφή
𝒟 συλλογή εγγράφων
d ένα έγγραφο της συλλογής
N πλήθος εγγράφων της συλλογής (N=|𝒟|)
t ένας όρος
TS(t) υπογραφή του όρου t (term signature)
DS(d) υπογραφή του εγγράφου d (document signature)
LBS(b) υπογραφή του λογικού τμήματος b (logical block signature)
L πλήθος λογικών τμημάτων
T αριθμός μοναδικών όρων ανά λογικό τμήμα
Fxx (μέσο) μήκος υπογραφής λογικού τμήματος για τη μέθοδο xx
f μήκος υπογραφής όρου για τη μέθοδο WS
m αριθμός άσσων στην υπογραφή ενός όρου για τη μέθοδο SC
n αριθμός άσσων στην υπογραφή ενός όρου για τις μεθόδους BC, RL
B μήκος αραιού διανύσματος δυαδικών ψηφίων
lbi το i-οστό λογικό τμήμα (logical block) ενός εγγράφου
lbj,i το i-οστό λογικό τμήμα του j-οστού εγγράφου
bbi το i-οστό τμήμα δυαδικών ψηφίων (bit block)
Πίνακας 7.1: Σύμβολα και περιγραφές.

7.2.1 Βασικές Μέθοδοι Εξαγωγής Υπογραφών

Μία από τις πρώτες μεθόδους παραγωγής υπογραφών για την επεξεργασία εγγράφων κειμένου προτάθηκε από τους Tsichritzis και Christodoulakis [72]. Σύμφωνα με τη μέθοδο αυτή, από τον κάθε όρο t του εγγράφου εξάγεται μία υπογραφή TS(t) μήκους f. Η υπογραφή του συνολικού εγγράφου d, που συμβολίζεται με DS(d), προκύπτει με τη συνένωση (concatenation) όλων των υπογραφών των όρων που συναντούμε στο έγγραφο. Αυτή η μέθοδος εξαγωγής υπογραφών είναι γνωστή ως WS (word signatures). Έστω tq ένας όρος που βρίσκεται στο ερώτημα. Αρχικά, εξάγεται η υπογραφή TS(tq) και στη συνέχεια ελέγχονται οι υπογραφές των εγγράφων. Σε περίπτωση που βρεθεί μία υπογραφή DS(d) που αντιστοιχεί στο έγγραφο d και περιέχει την υπογραφή TS(tq) τότε αυτό σημαίνει ότι το έγγραφο d μπορεί να περιέχει τον όρο tq. Στην περίπτωση αυτή, το d θεωρείται ως υποψήφιο έγγραφο.

Ένας άλλος τρόπος εξαγωγής υπογραφών προτάθηκε από τους Faloutsos και Christodoulakis [16]. Η μέθοδος εξαγωγής καλείται SC (superimposed coding) και σύμφωνα με αυτήν το έγγραφο χωρίζεται σε λογικά τμήματα (logical blocks) και το κάθε τμήμα περιέχει ένα μέρος του εγγράφου που αποτελείται από T όρους. Μας ενδιαφέρουν οι μοναδικοί όροι του λογικού τμήματος και επομένως δε λαμβάνονται υπόψη οι πολλαπλές εμφανίσεις των όρων. Από κάθε όρο t υπολογίζεται η υπογραφή του όρου TS(t) μήκους FSC. Στη συνέχεια, χρησιμοποιείται υπέρθεση (superposition) σύμφωνα με την οποία εφαρμόζεται ο λογικός τελεστής OR σε ένα προς ένα τα δυαδικά ψηφία των υπογραφών και προκύπτει η υπογραφή του τμήματος. Η υπογραφή του συνολικού εγγράφου προκύπτει με τη συνένωση των υπογραφών των τμημάτων. Για την αναζήτηση των εγγράφων που περιέχουν τον όρο tq ακολουθείται παρόμοια διαδικασία με την προηγούμενη μέθοδο χρησιμοποιώντας τις υπογραφές των τμημάτων. Αρχικά, εξάγεται η υπογραφή του όρου TS(tq) και στη συνέχεια προσδιορίζονται οι υπογραφές των τμημάτων των οποίων οι θέσεις που έχουν άσσους ταυτίζονται με τις αντίστοιχες θέσεις των άσσων της υπογραφής TS(tq). Στην περίπτωση αυτή, το συγκεκριμένο τμήμα μπορεί να περιέχει τον όρο tq και επομένως το αντίστοιχο έγγραφο θεωρείται υποψήφιο.

Παράδειγμα 7.1

Θα εφαρμόσουμε τις δύο προηγούμενες μεθόδους για το έγγραφο d7 της συλλογής μας, που είναι το εξής: d7 = “Ο Άρης είναι ένας πλαντήτης του ηλιακού μας συστήματος”. Στο έγγραφο υπάρχουν εννέα διαφορετικοί όροι. Για τη μέθοδο WS θεωρούμε ότι το μήκος της κάθε υπογραφής είναι f=5 ενώ ο αριθμός των άσσων σε κάθε υπογραφή είναι m=2. Με εφαρμογή συναρτήσεων κατακερματισμού θεωρούμε ότι προκύπτουν οι υπογραφές του παρακάτω πίνακα:

όροι υπογραφές
Ο 0 1 0 0 1
Άρης 0 0 0 1 1
είναι 0 1 0 0 1
ένας 0 0 1 1 0
πλανήτης 1 0 1 0 0
του 1 1 0 0 0
ηλιακού 0 0 1 0 1
μας 1 0 0 0 1
συστήματος 0 1 1 0 0

Η υπογραφή του εγγράφου προκύπτει από τη συνένωση των υπογαφών των όρων. Επομένως, σύμφωνα με τον παραπάνω πίνακα και το περιεχόμενο του εγγράφου d7 έχουμε:

DS(d7) = 01001 00011 01001 00110 10100 11000 00101 10001 01100


Για την εφαρμογή της μεθόδου SC, θα θεωρήσουμε ότι οι υπογραφές έχουν μήκος FSC=12 ενώ ο αριθμός των άσσων της κάθε υπογραφής πρέπει να είναι m=4. Οι υπογραφές δίνονται στο παρακάτω πίνακα:

όροι υπογραφές
Ο 000 010 110 001
Άρης 010 000 101 010
είναι 101 001 100 000
111 011 111 011 (υπογραφή 1ου τμήματος)
ένας 011 000 010 001
πλανήτης 100 110 100 000
του 000 100 101 010
111 110 111 011 (υπογραφή 2ου τμήματος)
ηλιακού 110 100 010 000
μας 010 010 010 010
συστήματος 100 100 100 100
110 110 110 110 (υπογραφή 3ου τμήματος)


Θεωρούμε ότι το έγγραφο χωρίζεται σε τμήματα που το καθένα αποτελείται από τρεις όρους. Αν ονομάσουμε d7,1, d7,2 και d7,3 τα τμήματα αυτά έχουμε: d7,1 = “Ο Άρης είναι”, d7,2 = “ένας πλαντήτης του” και d7,3 = “ηλιακού μας συστήματος”. Υποθέτουμε ότι η κάθε υπογραφή ενός όρου αποτελείται από δώδενα δυαδικά ψηφία. Η υπογραφή του κάθε τμήματος προκύπτει από την υπέρθεση των υπογραφών των όρων που περιέχονται στο τμήμα. Οι υπογραφές που προκύπτουν μετά την υπέρθεση είναι σκιασμένες. Η υπογραφή για το συνολικό έγγραφο προκύπτει με συνένωση των υπογραφών των τμημάτων:

DS(d7) = 111 011 111 011  111 110 111 011  110 110 110 110

Για να είναι δυνατή η αναζήτηση μέρους (και όχι ολόκληρου) του όρου, οι Faloutsos και Christodoulakis [16] πρότειναν την ακόλουθη παραλλαγή: (i) στον όρο t εισάγονται δύο κενοί χαρακτήρες στην αρχή και στο τέλος του όρου, (ii) δημιουργούνται συνεχόμενες και επικαλυπτόμενες τριάδες χαρακτήρων, (iii) η κάθε τριάδα μέσω του κατακερματισμού ενεργοποιεί ένα συγκεκριμένο δυαδικό ψηφίο της υπογραφής και (iv) εάν ο αριθμός ψ των δυαδικών ψηφίων που ενεργοποιούνται είναι μεγαλύτερος από m, τότε μόνο m δυαδικά ψηφία θα ενεργοποιηθούν, διαφορετικά (αν ψ ¡ m) τότε τα υπόλοιπα m-ψ δυαδικά ψηφία ενεργοποιούνται χρησιμοποιώντας μία γεννήτρια τυχαίων αριθμών με φίτρο (seed) που ισούται με μία αριθμητική αναπαράσταση του συγκεκριμένου όρου. Όπως και προηγουμένως, το έγγραφο χωρίζεται σε τμήματα και η διαδικασία εκτελείται για όλους τους όρους του κάθε τμήματος. Στη συνέχεια, δημιουργούνται οι υπογραφές των τμημάτων με χρήση υπέρθεσης και τέλος κατασκευάζεται η υπογραφή του εγγράφου με συνένωση των υπογραφών των τμημάτων.

Παράδειγμα 7.2

Ας θεωρήσουμε τον όρο t = “πλανήτης”. Υποθέτοντας ότι το σύμβολο “_” δηλώνει τον κενό χαρακτήρα και εισάγοντάς το στην αρχή και το τέλος του όρου, ο νέος όρος που προκύπτει είναι: “_πλανήτης_”. Οι διαφορετικές συνεχόμενες και επικαλυπτόμενες τριάδες χαρακτήρων που προκύπτουν είναι οι εξής: “_πλ”, “πλα”, “λαν”, “ανή”, “νήτ”, “ήτη”, “της”, “ης_”. Κάθε τριάδα χαρακτήρων κατακερματίζεται σε μία συγκεκριμένη θέση μέσα στην υπογραφή του όρου “πλανήτης” και θέτει το αντίστοιχο δυαδικό ψηφίο σε 1.

7.2.2 Εξαγωγή Υπογραφών με Συμπίεση

Η τρίτη μέθοδος εξαγωγής υπογραφών, που καλείται BC (bit-block compression), βασίζεται στη συμπίεση και προτάθηκε στην εργασία [21]. Όπως και στην προηγούμενη μέθοδο, το έγγραφο χωρίζεται σε τμήματα. Στην περίπτωση αυτή χρησιμοποιείται για κάθε τμήμα μία υπογραφή μεγαλύτερου μεγέθους που αποτελείται από B δυαδικά ψηφία. Ο κατακερματισμός του κάθε όρου του τμήματος θα ενεργοποιήσει ένα ή περισσότερα (έστω n) δυαδικά ψηφία της υπογραφής. Το διάνυσμα δυαδικών ψηφίων που προκύπτει χαρακτηρίζεται ως αραιό (περιέχει λίγους άσσους σε σχέση με τα μηδενικά) και επομένως μπορεί να συμπιεστεί κατάλληλα. Η προτεινόμενη μέθοδος συμπίεσης χρησιμοποιεί τμήματα δυαδικών ψηφίων (bit-blocks). Το αραιό διάνυσμα που έχει προκύψει χωρίζεται σε τμήματα δυαδικών ψηφίων. Το μέγεθος των τμημάτων επιλέγεται έτσι ώστε να βελτιστοποιείται η απόδοση της μεθόδου. Στη συνέχεια, για κάθε τμήμα bbi δημιουργείται μία νέα υπογραφή μεταβλητού μήκους που αποτελείται από τρία το πολύ μέρη:

  • Το πρώτο μέρος της υπογραφής αποτελείται από ένα δυαδικό ψηφίο το οποίο είναι 1 αν υπάρχει τουλάχιστον ένας άσσος στο τμήμα bbi ή 0 διαφορετικά. Αν ισχύει το δεύτερο, τότε η μέθοδος σταματά εδώ.

  • Το δεύτερο μέρος της υπογραφής που προκύπτει από το bbi δηλώνει τον αριθμό των άσσων που περιέχονται στο bbi. Ο αριθμός αυτός κωδικοποιείται χρησιμοποιώντας το μοναδιαίο κώδικα, βάσει του οποίου ένας αριθμός x κωδικοποιείται με x-1 άσσους και ένα μηδενικό στο τέλος. Αν και αυτός ο τρόπος κωδικοποίησης δεν είναι ο βέλτιστος, ωστόσο είναι απλός και δίνει ικανοποιητικά αποτελέσματα.

  • Το τρίτο τμήμα της υπογραφής αποθηκεύει τις θέσεις των άσσων στο τμήμα bbi χρησιμοποιώντας την απόσταση του ψηφίου από την αρχή του bbi. Επομένως, εάν το μέγεθος του τμήματος bbi είναι b δυαδικά ψηφία, για την καταχώρηση της θέσης ενός άσσου απαιτούνται logb δυαδικά ψηφία.

Για το σχηματισμό της τελικής υπογραφής του τμήματος bbi έχουμε δύο εναλλακτικές λύσεις: (i) γίνεται συνένωση όλων των τμηματικών υπογραφών και (ii) παραθέτουμε πρώτα τα πρώτα μέρη, μετά τα δεύτερα και τέλος τα τρίτα από κάθε τμηματική υπογραφή. Η διαδικασία αυτή θα γίνει περισσότερο κατανοητή με το παράδειγμα που ακολουθεί.

Παράδειγμα 7.3

Θα δουλέψουμε με το έγγραφο d7 της συλλογής μας, όπως και στο προηγούμενο παράδειγμα ενώ d7,1, d7,2 και d7,3 είναι τα τμήματα του εγγράφου. Θεωρούμε επίσης ότι ο κάθε όρος του τμήματος ενεργοποιεί ένα μόνο δυαδικό ψηφίο. Αν υποθέσουμε ότι το μήκος της υπογραφής του τμήματος είναι B = 20 τότε ένα παράδειγμα της μορφής που μπορούν να έχουν οι υπογραφές των τμημάτων δίνεται στον ακόλουθο πίνακα:

όροι υπογραφές
Ο 0000 0100 0000 0000 0000
Άρης 1000 0000 0000 0000 0000
είναι 0000 0010 0000 1000 0000
1000 0110 0000 0000 0000 (υπογραφή 1ου τμήματος)
ένας 0000 0000 0000 1000 0000
πλανήτης 0000 0000 0000 0010 0000
του 0000 0000 0000 0000 1000
0000 0000 0000 1010 1000 (υπογραφή 2ου τμήματος)
ηλιακού 0000 0000 0000 0000 0010
μας 0000 0000 0000 0000 0001
συστήματος 0000 0000 1000 0010 0000
0000 0000 1000 0000 0011 (υπογραφή 3ου τμήματος)


Στη συνέχεια θα εξηγήσουμε τον τρόπο κωδικοποίησης των υπογραφών. Θα αναλύσουμε τη μέθοδο για την υπογραφή του τρίτου τμήματος του εγγράφου που είναι η 0000 0000 1000 0000 0011. Θα θεωρήσουμε ότι το μέγεθος του κάθε τμήματος δυαδικών ψηφίων είναι b = 4. Επομένως, η υπογραφή θα χωριστεί σε πέντε διαφορετικά τμήματα δυαδικών ψηφίων, που είναι τα 0000, 0000, 1000, 0000 και 0011. Για κάθε ένα από τα τμήματα αυτά θα πρέπει να εφαρμοστεί η μέθοδος εύρεσης της τελικής υπογραφής, σύμφωνα με τα τρία βήματα που αναπτύχθηκαν προηγουμένως. Τα αποτελέσματα συνοψίζονται στον παρακάτω πίνακα.

τμήμα 1ο μέρος 2ο μέρος 3ο μέρος
0000 0 0
0000 0 0
1000 1 0 00 1 0 00
0000 0 0
0011 1 10 10 11 1 10 10 11
0 0 1 0 1 0 10 00 10 11


Ας εξετάσουμε μία προς μία τις περιπτώσεις του παραπάνω πίνακα. Το τμήμα 0000 αποτελείται μόνο από μηδενικά, οπότε το 1ο μέρος της υπογραφής θα είναι 0 και επομένως τα δύο επόμενα μέρη παραλείπονται. Το τμήμα 1000 περιέχει έναν άσσο, οπότε το δυαδικό ψηφίο του πρώτου μέρους θα είναι 1. Στο δεύτερο μέρος πρέπει να καταγραφεί ο συνολικός αριθμός των άσσων, που είναι 1. Με χρήση του μοναδιαίου κώδικα, ο δεκαδικός αριθμός 1 κωδικοποιείται με το δυαδικό ψηφίο 0. Στο τρίτο μέρος πρέπει να καταγραφούν οι θέσεις των άσσων. Έχουμε μόνο έναν άσσο που βρίσκεται στην πρώτη θέση του τμήματος. Όμως, η κάθε θέση κωδικοποιείται με 2 δυαδικά ψηφία, αφού οι συνολικές θέσεις είναι b=4. Η πρώτη θέση κωδικοποιείται με 00, η δεύτερη με 01 η τρίτη με 10 και η τέταρτη με 11. Αφού ο άσσος είναι στην πρώτη θέση, το τρίτο μέρος θα περιέχει τα δυαδικά ψηφία 00. Τέλος, το τμήμα 0011 περιέχει δύο άσσους. Άρα, το πρώτο μέρος θα είναι 1, το δεύτερό μέρος αναφέρει ότι έχουμε δύο άσσους (ο μοναδιαίος κωδικός του δεκαδικού αριθμού 2 είναι το 10) και τέλος το τρίτο μέρος αποθηκεύει τις θέσεις των δύο άσσων στο τμήμα. Οι άσσοι βρίσκονται στην τρίτη και την τέταρτη θέση του τμήματος, άρα οι αντίστοιχοι δυαδικοί κώδικες είναι 10 και 11.

Ας εξετάσουμε στη συνέχεια τον τρόπο σύνθεσης της τελικής υπογραφής. Σύμφωνα με την πρώτη μέθοδο, αρχικά προσδιορίζονται τα δυαδικά ψηφία για τα τρία μέρη του κάθε τμήματος και στη συνέχεια οι επί μέρους υπογραφές συνενώνονται. Η τελεταία στήλη του προηγούμενου πίνακα περιέχει τις επιμέρους υπογραφές. Άρα, αν συνενώσουμε τα στοιχεία της τελευταίας στήλης παίρνουμε το επιθυμητό αποτέλεσμα. Σύμφωνα με τη δεύτερη μέθοδο, πρώτα σχηματίζονται οι επιμέρους υπογραφές κατά στήλες (1ο μέρος, 2ο μέρος, 3ο μέρος) και στη συνέχεια πραγματοποιείται η συνένωση. Η τελευταία γραμμή του πίνακα δείχνει τη μορφή των επιμέρους υπογραφών πριν τη συνένωση. Συνοψίζοντας, έχουμε ότι η υπογραφή που προκύπτει σύμφωνα με την πρώτη μέθοδο είναι 00100001101011 (συνένωση των περιεχομένων της τελευταίας στήλης) ενώ η αντίστοιχη υπογραφή σύμφωνα με τη δεύτερη μέθοδο είναι 00101010001011 (συνένωση των στοιχείων της τελευταίας γραμμής του πίνακα).

Στην εργασία [21] περιγράφεται και μία ακόμη μέθοδος εξαγωγής υπογραφών που βασίζεται στη συμπίεση, χρησιμοποιεί κωδικοποίηση μήκους (run-length encoding) και καλείται RL. Η μέθοδος είχε προταθεί αρχικά από τον McIlroy [44] για διαφορετικό περιβάλλον αλλά στην εργασία [21] προσαρμόστηκε για την εξαγωγή υπογραφών. Το αραιό διάνυσμα μπορεί να συμπιεστεί κωδικοποιώντας τον αριθμό των μηδενικών που διαχωρίζουν δύο συνεχόμενους άσσους. Για την κωδικοποίηση χρησιμοποιήθηκε η μέθοδος Golomb [29] που μελετήθηκε στο Κεφάλαιο 6 κατά την περιγραφή των μεθόδων συμπίεσης του αντεστραμμένου καταλόγου.

Στην ίδια εργασία [21] προτείνεται και μία ακόμη μέθοδος που προσπαθεί να περιορίσει την επίδραση του αριθμού των όρων ανά τμήμα στην απόδοση της μεθόδου BC. Επομένως, με τη χρήση αυτής της μεθόδου δεν απαιτείται πλέον ο διαχωρισμός του εγγράφου σε τμήματα, ενώ η επεξεργασία των πολύπλοκων ερωτημάτων γίνεται απλούστερη. Η μέθοδος καλείται VBC (variable bit-block compression) και η βασίζεται στην επιλογή διαφορετικού μήκους για τα τμήματα δυαδικών ψηφίων του κάθε εγγράφου. Το μήκος αυτό εξαρτάται από το πλήθος των μοναδικών όρων του κάθε εγγράφου.

7.2.3 Ψευδείς Συναγερμοί και Επεξεργασία Ερωτήματος

Το κοινό χαρακτηριστικό όλων των μεθόδων εξαγωγής υπογραφών είναι το γεγονός ότι μπορεί να δώσουν λανθασμένο αποτέλεσμα ως προς το αν ένας όρος περιέχεται ή όχι σε ένα έγγραφο. Έστω ένα όρος t του ερωτήματος με υπογραφή 00110. Έστω τώρα ότι χρησιμοποιώντας τη μέθοδο εξαγωγής υπογραφών με υπέρθεση (SC) έχουμε εντοπίσει ένα τμήμα του εγγράφου με υπογραφή 10110. Το γεγονός ότι η υπογραφή του τμήματος έχει άσσους στις θέσεις όπου εμφανίζονται οι άσσοι στην υπογραφή του όρου δε σημαίνει ότι ο όρος σίγουρα θα περιέχεται στο τμήμα. Πράγματι, αν υποτεθεί ότι το κάθε τμήμα του εγγράφου αποτελείται από δύο όρους, τότε η υπογραφή 10110 μπορεί να έχει προκύψει από την υπέρθεση των υπογραφών 10100 και 10010. Στην περίπτωση αυτή είναι προφανές ότι ο όρος t δεν περιέχεται στο τμήμα του εγγράφου. Η παραπάνω συζήτηση οδηγεί στο συμπέρασμα ότι μετά τον προσδιορισμό των υποψήφιων εγγράφων θα πρέπει να γίνει ένα δεύτερο πέρασμα ώστε τα έγγραφα που τελικά δεν περιέχουν τον όρο (ή τους όρους) του ερωτήματος να μην επιστραφούν στο χρήστη. Ένα έγγραφο που ανήκει στο σύνολο των υποψηφίων αλλά τελικά δεν ανήκει στην απάντηση καλείται ψευδής συναγερμός (η αντίστοιχος αγγλικός όρος είναι false alarm ή false positive). Είναι προφανές ότι όσο μικρότερος είναι ο αριθμός των ψευδών συναγερμών τόσο λιγότερη προσπάθεια θα απαιτηθεί για το τελικό ξεκαθάρισμα.

 
Αλγόριθμος SignatureSearch (t)
t: όρος αναζήτησης
 
1. υπολογισμός της υπογραφής TS(t) του όρου t
2. αναζήτηση των λογικών τμημάτων lbi για τα οποία ισχύει LBS(lbi) AND TS(t) = TS(t)
3. εισαγωγή της υπογραφής sigi = LBS(lbi) στο σύνολο υποψηφίων 𝒞
4. για κάθε υπογραφή sigi 𝒞
   4.1. έλεγχος αν το λογικό τμήμα lbi περιέχει τον όρο t
   4.2. αν όχι, τότε επανάληψη από το βήμα 4.
   4.3. αν ναι, τότε το έγγραφο d που περιέχει το lbi προστίθεται στο σύνολο 𝒜
5. τα έγγραφα με κωδικούς που ανήκουν στο 𝒜 επιστρέφονται στο χρήστη
 
Σχήμα 7.2: Αναζήτηση εγγράφων με χρήση υπογραφών.

Στο Σχήμα 7.2 δίνονται τα βασικά βήματα του γενικού αλγορίθμου αναζήτησης των εγγράφων που περιέχουν έναν όρο. Βασική συμμετοχή στο κόστος αναζήτησης έχει ο προσδιορισμός των ψευδών συναγερμών. Υποθέτουμε ότι το έγγραφο έχει χωριστεί σε λογικά τμήματα και για κάθε λογικό τμήμα έχει προσδιοριστεί μία ξεχωριστή υπογραφή με χρήση της μεθόδου υπερθεσης (SC). Σύμφωνα με τον αλγόριθμο αναζήτησης, αρχικά προσδιορίζεται η υπογραφή του όρου t. Στη συνέχεια, προσδιορίζονται όλα τα λογικά τμήματα των οποίων οι υπογραφές έχουν άσσους στις θέσεις των άσσων της υπογραφής του όρου t. Τα τμήματα αυτά χαρακτηρίζονται ως υποψήφια να περιέχουν τον όρο t. Ο προσδιορισμός των ψευδών συναγερμών πραγματοποιείται στο βήμα 4.1 του αλγορίθμου. Η αναζήτηση εγγράφων για ερωτήματα που περιέχουν περισσότερους όρους που συνδέονται με λογικούς τελεστές πραγματοποιείται με παρόμοιο τρόπο.

Παράδειγμα 7.4

Στο παράδειγμα αυτό, εξετάζεται η εμφάνιση των ψευδών συναγερμών για τη μέθοδο της υπέρθεσης χωρίς συμπίεση (SC). Θα υποθέσουμε ότι το κάθε έγγραφο χωρίζεται σε συνεχόμενα λογικά τμήματα που το καθένα αποτελείται από το πολύ τρεις μοναδικούς όρους. Η υπογραφή του κάθε λογικού τμήματος προκύπτει με υπέρθεση των υπογραφών των όρων που περιέχονται μέσα στο τμήμα. Σύμφωνα με αυτή τη λογική, τα λογικά τμήματα που προκύπτουν για κάθε έγγραφο είναι τα ακόλουθα:

d1:  Ο κομήτης του Χάλλεϋ μας επισκέπτεται περίπου κάθε εβδομήντα έξι χρόνια.

d2:  Ο κομήτης του Χάλλεϋ ανακαλύφθηκε από τον αστρονόμο Έντμοντ Χάλλεϋ.

d3:  Ένας κομήτης διαγράφει ελλειπτική τροχιά.

d4:  Ο πλανήτης Άρης έχει δύο φυσικούς δορυφόρους, το Δείμο και το Φόβο.

d5:  Ο πλανήτης Δίας έχει εξήντα τρεις γνωστούς φυσικούς δορυφόρους.

d6:  Ο Ήλιος είναι ένας αστέρας.

d7:  Ο Άρης είναι ένας πλανήτης του ηλιακού μας συστήματος.

Στον παρακάτω πίνακα δίνονται οι υπογραφές των όρων των εγγράφων της συλλογής μας. Το μήκος της κάθε υπογραφής είναι FSC = 9 και κάθε όρος ενεργοποιεί m = 3 δυαδικά ψηφία.

όρος υπογραφή όρος υπογραφή όρος υπογραφή
Ο 111 000 000 τον 100 110 000 το 011 010 000
κομήτης 011 100 000 αστρονόμο 010 011 000 Δείμο 001 101 000
του 001 110 000 Έντμοντ 001 001 100 και 000 110 100
Χάλλεϋ 000 111 000 ένας 000 100 110 Φόβο 000 011 010
μας 000 011 100 διαγράφει 000 010 011 Δίας 000 001 101
επισκέπτεται 000 001 110 ελλειπτική 100 011 000 εξήντα 101 010 000
περίπου 000 000 111 τροχιά 010 001 100 τρεις 010 101 000
κάθε 101 100 000 πλανήτης 001 000 110 γνωστούς 001 010 100
εβδομήντα 010 110 000 Άρης 000 100 011 Ήλιος 000 101 010
έξι 001 011 000 έχει 100 001 100 αστέρας 000 010 101
χρόνια 000 101 100 δύο 010 000 110 του 101 000 010
ανακαλύφθηκε 000 010 110 φυσικούς 001 000 011 ηλιακού 000 001 110
από 000 001 011 δορυφόρους 110 100 000 συστήματος 000 101 100
είναι 100 010 001

Στη συνέχεια, για κάθε λογικό τμήμα υπολογίζεται η αντίστοιχη υπογραφή με τη χρήση της υπέρθεσης. Δείχουμε τη διαδικασία μόνο για το έγγραφο d1. Κάτω από κάθε λογικό τμήμα δίνεται η αντίστοιχη υπογραφή:

d1:  Ο κομήτης του111110000  Χάλλεϋ μας επισκέπτεται000111110  περίπου κάθε εβδομήντα111110111  έξι χρόνια.001111100



Με εφαρμογή της ίδιας διαδικασίας και για τα υπόλοιπα έγγραφα, οι υπογραφές τελικές υπογραφές των εγγράφων διαμορφώνονται ως εξής:

DS(d1): 111 110 000 | 000 111 110 | 111 110 111 | 001 111 100

DS(d2): 111 110 000 | 000 111 111 | 111 111 100 | 000 111 000

DS(d3): 011 110 111 | 110 011 100

DS(d4): 111 100 111 | 111 001 111 | 111 111 000 | 011 111 110

DS(d5): 111 001 111 | 111 111 100 | 111 110 111 | 111 110 111

DS(d6): 111 111 011 | 000 110 111

DS(d7): 111 110 011 | 101 100 110 | 000 111 110

Έστω ότι ο χρήστης ενδιαφέρεται για τα έγγραφα που περιέχουν τον όρο Χάλευ. Από τον πίνακα των υπογραφών των όρων προσδιορίζεται η αντίστοιχη υπογραφή του όρου που είναι 000 111 000. Προφανώς, ο όρος αυτός μπορεί να βρίσκεται στα λογικά τμήματα των οποίων οι υπογραφές έχουν άσσους στα τρία μεσαία δυαδικά ψηφία. Από την εξέταση των υπογραφών των λογικών τμημάτων, διαπιστώνεται ότι τα υποψήφια λογικά τμήματα είναι τα: lb1,2, lb1,3, lb2,2, lb2,3, lb2,4, lb4,3, lb5,2, lb6,2 και lb7,3. Ο συμβολισμός lbj,i δηλώνει το i-οστό λογικό τμήμα του j-οστού εγγράφου. Για να διαπιστωθεί αν τελικά ένα υποψήφιο λογικό τμήμα περιέχει τον όρο Χάλευ θα πρέπει να αναζητηθεί ο όρος μέσα στο κείμενο του εγγράφου. Μετά από τη λεπτομερή εξέταση των υποψηφίων λογικών τμημάτων προκύπτει ότι τα τμήματα που περιέχουν τον όρο Χάλευ είναι τα lb1,2, lb2,2 και lb2,4. Επομένως, από τα εννέα υποψήφια λογικά τμήματα μόνο τα τρία από αυτά περιέχουν τον όρο του ερωτήματος. Τα υπόλοιπα έξι χαρακτηρίζονται ως ψευδείς συναγερμοί.

Στη συνέχεια θα συζητήσουμε για την επίδοση των μεθόδων εξαγωγής υπογραφών ως προς τις δυνατότητές τους να περιορίζουν τον αριθμό των ψευδών συναγερμών. Γίνεται η υπόθεση ότι το ερώτημα περιέχει μόνο έναν όρο. Έστω δύο γεγονότα Γ1 και Γ2, όπου το Γ1 δηλώνει το γεγονός ότι η υπογραφή ενός λογικού τμήματος εγγράφου ανήκει στους υποψηφίους και Γ2 δηλώνει το γεγονός ότι το τμήμα του εγγράφου δεν περιέχει τον όρο του ερωτήματος. Επομένως, η πιθανότητα να εμφανιστεί ένας ψευδής συναγερμός είναι η πιθανότητα να ισχύει το γεγονός Γ1 δεδομένου ότι ισχύει το γεγονός Γ2 (Prob(Γ1|Γ2)). Η πιθανότητα αυτή συμβολίζεται με FAPxx (false alarm probability) για τη μέθοδο xx. Είναι προφανές, ότι όσο μικρότερη η τιμή της πιθανότητας αυτής τόσο καλύτερη η επίδοση της μεθόδου. Η μελέτη της πιθανότητας εμφάνισης ψευδών συναγερμών οδηγεί σε χρήσιμα συμπεράσματα σχετικά με την απόδοση των μεθόδων υπογραφών ως προς την ικανότητά τους να εντοπίζουν τους όρους μέσα στα έγγραφα.

Στην εργασία [21] υπάρχει μία εκτενής ανάλυση της πιθανότητας FAP. Εδώ απλά θα γίνει αναφορά των σημαντικότερων συμπερασμάτων, καθώς οι αποδείξεις είναι εκτενείς. Από τη μελέτη της συμπεριφοράς των μεθόδων προκύπτουν τα ακόλουθα αποτελέσματα σε σχέση με την πιθανότητα ψευδών συναγερμών:

  • Οι τεχνικές BC και RL που βασίζονται στη συμπίεση δίνουν καλύτερα αποτελέσματα από τις WS και SC όταν ο κάθε όρος θέτει έναν άσσο στην υπογραφή του λογικού τμήματος (n = 1).

  • Για τις τεχνικές BC και RL ο βέλτιστος αριθμός των άσσων που επιτρέπεται να θέσει ένας όρος είναι n = 1.

  • Οι γραφική παράσταση του λογάριθμου της πιθανότητας FAPxx σε σχέση με το μήκος Fxx της υπογραφής είναι σχεδόν ευθεία γραμμή για μεγάλες τιμές της παραμέτρου Fxx.

  • Η κλήση των γραφικών παραστάσεων των καμπυλών της ποσότητας logFAPxx ως προς Fxx για τις μεθόδους WS, BC και RL είναι η ίδια. Η κλήση της καμπύλης για τη μέθοδο SC ωστόσο είναι διαφορετική, διότι η μέθοδος SC έχει την καλύτερη επίδοση όταν στην υπογραφή του λογικού τμήματος τα μισά δυαδικά ψηφία είναι άσσοι. Επομένως, δεν εκμεταλλεύεται πλήρως όλες τις δυνατές 2FSC διαφορετικές υπογραφές που μπορούν να προκύψουν από μία ακολουθία από FSC δυαδικών ψηφίων.

Στη συνέχεια για κάθε μία από τις μεθόδους WS, SC, BC και RL δίνεται ο μαθηματικός τύπος που συνδέει την πιθανότητα FAPxx με το μήκος Fxx της υπογραφής. Σημειώνεται ότι οι τύποι είναι προσεγγιστικοί και έχουν προκύψει από μαθηματικούς συλλογισμούς. Ο αναγνώστης που ενδιαφέρεται για τον τρόπο παραγωγής των τύπων καλείται να ανατρέξει στην εργασία [21].

logFAPWS=logT-FWST (7.1)
logFAPSC=-FSCTloge=-0.693FSCT (7.2)
logFAPBC=1.913n-FBCT (7.3)
logFAPRL=1.528n-FRLT (7.4)

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

  • Ως προς την ταχύτητα ελέγχου των υπογραφών, με βάση τον τρόπο λειτουργίας των μεθόδων και των παρατηρήσεων της εργασίας [21] η μέθοδος SC εκτελεί τις λιγότερες συγκρίσεις μεταξύ δυαδικών ψηφίων. Υπενθυμίζεται ότι για να χαρακτηριστεί ένα λογικό τμήμα ως υποψήφιο θα πρέπει οι θέσεις των άσσων στην υπογραφή του όρου να ταυτίζονται με τις θέσεις των άσσων στην υπογραφή του τμήματος. Συνήθως, ο αριθμός m των δυαδικών ψηφίων που θέτει η μέθοδος SC είναι μικρός (π.χ., 10). Αντίθετα, οι μέθοδοι BC και RL απαιτούν πολύ περισσότερες συγκρίσεις. Τέλος η μέθοδος WS απαιτεί την εξέταση ολόκληρης της υπογραφής (του εγγράφου ή του τμήματος) για να διαπιστωθεί εάν περιέχει ή όχι τον όρο.

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

  • Από τις μεθόδους που εξετάστηκαν μόνο η SC έχει τη δυνατότητα να υποστηρίξει ερωτήματα που αφορούν σε τμήμα του όρου. Αυτό επιτυγχάνεται χρησιμοποιώντας επικαλυπτόμενες τριάδες συνεχόμενων χαρακτήρων. Κάθε τριάδα ενεργοποιεί και ένα δυαδικό ψηφίο της υπογραφής του όρου.

  • Η μόνη μέθοδος που διατηρεί τη σειρά των όρων μέσα στο έγγραφο είναι η WS. Αυτό είναι ιδιαίτερα βολικό διότι διευκολύνει την αναζήτηση φράσεων όπου οι όροι στο ερώτημα πρέπει να εμφανίζονται συνεχόμενοι στα έγγραφα.

7.3 Οργάνωση Αρχείου Υπογραφών

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

Ένα σύνολο υπογραφών μπορεί να οργανωθεί με πολλούς διαφορετικούς τρόπους, όπως συμβαίνει και με ένα σύνολο ακεραίων αριθμών, ή ένα σύνολο από εγγραφές (records). Για παράδειγμα, υποθέτοντας ότι η αποθήκευση γίνεται στην κύρια μνήμη του συστήματος, για την οργάνωση ενός συνόλου ακεραίων αριθμών θα μπορούσε να χρησιμοποιηθεί μία δομή πίνακα (array), μία συνδεδεμένη λίστα (linked list), ένα δυαδικό δένδρο αναζήτησης (binary search tree), ένας πίνακας κατακερματισμού (hash table) καθώς και μια πληθώρα άλλων δομών και παραλλαγών τους. Η κάθε δομή έχει διαφορετική συμπεριφορά και η απόδοσή της εξαρτάται άμεσα από το πλήθος των στοιχείων και τις λειτουργίες για τις οποίες ενδιαφερόμαστε. Ανάλογα, και στην περίπτωση των υπογραφών, υπάρχουν διαφορετικοί τρόποι οργάνωσής τους, με διαφορετικές ιδιότητες και απόδοση.

Σχήμα 7.3: Κατηγορίες μεθόδων οργάνωσης υπογραφών.

7.3.1 Σειριακή Οργάνωση

Η πιο απλή μορφή καταλόγου βασίζεται στη σειριακή παράθεση των υπογραφών σε ένα αρχείο που καλείται σειριακό αρχείο υπογραφών (sequential signature file - SSF). Η μορφή του SSF απεικονίζεται στο Σχήμα 7.4. Το αρχείο υπογραφών είναι στην ουσία ένας πίνακας L×F με L γραμμές (πλήθος λογικών τμημάτων) και F στήλες (πλήθος δυαδικών ψηφίων ανά υπογραφή). Σε κάθε υπογραφή αντιστοιχεί και ένα δείκτης (pointer) που δείχνει στην αρχή του λογικού τμήματος του εγγράφου. Σε περίπτωση που οι υπογραφές έχουν παραχθεί με την απλή μέθοδο της υπέρθεσης (SC) τότε το μήκος όλων των υπογραφών είναι κοινό. Εάν έχει χρησιμοποιηθεί μία από τς μεθόδους BC ή VBC τότε στη γενική περίπτωση τα μήκη δύο υπογραφών μπορεί να είναι διαφορετικά. Με βάση την κατηγοριοποίηση των μεθόδων του Σχήματος 7.3, διακρίνουμε τις μορφές SC-SSF, BC-SSF και VBC-SSF, ανάλογα με τη μέθοδο εξαγωγής υπογραφών που χρησιμοποιείται.

Σχήμα 7.4: Σειριακό αρχείο υπογραφών (SSF).

Ο κατάλογος SSF υποστηρίζει αναζητήσεις, εισαγωγές και διαγραφές. Για την αναζήτηση ενός όρου, αρχικά εξάγεται η υπογραφή του όρου και στη συνέχεια προσπελαύνεται το αρχείο υπογραφών με στόχο να βρεθούν οι σχετικές υπογραφές των λογικών τμημάτων. Στη συνέχεια, ακολουθούνται οι δείκτες που οδηγούν στα λογικά τμήματα των εγγράφων. Στην τελική φάση της αναζήτησης, ο όρος αναζητείται μέσα σε κάθε υποψήφιο λογικό τμήμα χρησιμοποιώντας μεθόδους αναζήτησης συμβολοσειράς. Οι εισαγωγές και οι διαγραφές υποστηρίζονται εύκολα. Για την εισαγωγή ενός νέου εγγράφου αρχικά το έγγραφο διαχωρίζεται σε λογικά τμήματα, στη συνέχεια εξάγονται οι υπογραφές των τμημάτων και τέλος ενημερώνεται το αρχείο υπογραφών, το αρχείο εγγράφων και η λίστα των δεικτών. Για τη διαγραφή, εντοπίζονται όλα τα λογικά τμήματα του εγγράφου τα οποία διαγράφονται από το αρχείο εγγράφων και στη συνέχεια διαγράφονται οι αντίστοιχες υπογραφές από το αρχείο υπογραφών. Η λειτουργία της ενημέρωσης ενός μέρους του εγγράφου είναι πιο πολύπλοκη, καθώς θα πρέπει ενδεχομένως να επαναπροσδιοριστούν οι υπογραφές των λογικών τμημάτων που έπονται του τμήματος που έχει μεταβληθεί.

7.3.2 Κάθετος Διαμερισμός

Με βάση τον τρόπο λειτουργίας του καταλόγου SSF προκύπτει ότι για την αναζήτηση ενός και μόνο όρου θα πρέπει να εξεταστούν όλες οι υπογραφές των λογικών τμημάτων. Ένα από τα θέματα που απασχόλησαν του ερευνητές ήταν το πως θα βελτιωθεί ο χρόνος επεξεργασίας. Προς αυτήν την κατεύθυνση έχουν προταθεί εναλλακτικές μορφές οργάνωσης του αρχείου υπογραφών. Η πρώτη από τις μεθόδους που θα εξετάσουμε βασίζεται στον τεμαχισμό (slicing) του πίνακα υπογραφών [15] και καλείται BSSF (bit-sliced signature file). Πρόκειται για μία μέθοδο που στηρίζεται στον κάθετο διαμερισμό του πίνακα υπογραφών. Η αποθήκευση του πίνακα γίνεται κατά στήλες (και όχι κατά γραμμές όπως στη μέθοδο SSF). Ο πίνακας υπογραφών του Σχήματος 7.4 αντιστρέφεται, και αποκτά διαστάσεις F×L (F γραμμές και L στήλες). Η κάθε γραμμή του αντεστραμμένου πίνακα καλείται τεμάχιο (slice) και αποτελείται από τα δυαδικά ψηφία που βρίσκονται στην ίδια θέση σε όλες τις υπογραφές των λογικών τμημάτων. Για να μπορεί η δομή να υποστηρίξει εισαγωγές και διαγραφές αποδοτικά, η κάθε γραμμή του αντεστραμμένου πίνακα αποθηκεύεται σε ξεχωριστό αρχείο. Η δομή BSSF απεικονίζεται στο Σχήμα 7.5.

Σχήμα 7.5: Η δομή BSSF.

Η αναζήτηση ενός όρου στη δομή BSSF ξεκινά με τον υπολογισμό της υπογραφής του όρου. Υπενθυμίζεται, ότι η υπογραφή του όρου θα περιέχει άσσους σε ακριβώς m δυαδικά ψηφία. Επομένως, σε αντίθεση με τη δομή SSF, απαιτείται η εξέταση m τεμαχίων (γραμμών του αντεστραμμένου πίνακα). Τα δυαδικά ψηφία των m γραμμών συνδυάζονται με τη χρήση υπέρθεσης (λογικό AND) και προκύπτει ένα διάνυσμα L θέσεων. Στη συνέχεια, λαμβάνονται υπόψη οι θέσεις των άσσων στο διάνυσμα αυτό και προσπελαύονται οι αντίστοιχοι δείκτες του αρχείου δεικτών για να οδηγηθούμε τελικά στα λογικά τμήματα των εγγράφων. Για την εισαγωγή ενός νέου εγγράφου, αρχικά προσδιορίζονται τα νέα λογικά τμήματα και οι αντίστοιχες υπογραφές. Στη συνέχεια, για κάθε νέο λογικό τμήμα πραγματοποιείται τεμαχισμός της υπογραφής του και κάθε ένα από τα F διαφορετικά αρχεία λαμβάνει και ένα δυαδικό ψηφίο της υπογραφής που αποθηκεύεται στο τέλος.

Παράδειγμα 7.5

Για το παράδειγμα αυτό, θα χρειαστούμε τις υπογραφές των λογικών τμημάτων όπως έχουν εξαχθεί στο Παράδειγμα 7.4. Υπάρχουν συνολικά L = 24 λογικά τμήματα, ενώ το μήκος της κάθε υπογραφής είναι F = 9. Για τη μέθοδο SSF ο πίνακας υπογραφών αποτελείται από L γραμμές και F στήλες, ενώ για τη μέθοδο BSSF ο αντεστραμμενος πίνακας αποτελείται από F γραμμές και L στήλες. Θα θεωρήσουμε ότι το ερώτημα αποτελείται από τον όρο Χάλλεϋ. Η υπογραφή του όρου, σύμφωνα πάντα με τον πίνακα υπογραφών του Παραδείγματος 7.4 είναι: TS(”Χάλλεϋ”) = 000 111 000. Η διαδικασία αναζήτησης παρουσιάζεται στο παρακάτω Σχήμα.


Η αναζήτηση εστιάζει στα τεμάχια που αναφέρονται στα τρία μεσαία δυαδικά ψηφία της υπογραφής που είναι άσσοι. Τα δυαδικά ψηφία συνδυάζονται με το λογικό AND και προκύπτει το διάνυσμα που φαίνεται στα δεξιά του σχήματος. Τα λογικά τμήματα που εξετάζονται αντιστοιχούν στους άσσους του διανύσματος.

Η μέθοδος BSSF είναι πιο αποδοτική από την SSF ως προς τη λειτουργία της αναζήτησης. Ωστόσο, υπάρχει επιπλέον χώρος για βελτίωση που οφείλεται σε δύο κυρίως λόγους:

  1. (i)

    Η αναζήτηση ενός όρου επιβάλλει την προσπέλαση m τεμαχίων, όπου m είναι ο αριθμός των άσσων στην υπογραφή του όρου. Αν m=1 τότε θα μπορούσε να αυξηθεί η απόδοση της μεθόδου.

  2. (ii)

    Η εισαγωγή ενός νέου λογικού τμήματος απαιτεί ένα μεγάλο αριθμό προσπελάσεων που ρυθμίζεται από τον αριθμό των δυαδικών ψηφίων της υπογραφής του λογικού τμήματος F. Αν η τιμή της παραμέτρου F είναι μεγάλη (π.χ. 1000) τότε αυξάνεται σημαντικά το κόστος εισαγωγής.

Σχήμα 7.6: Η δομή CBS.

Εάν θέσουμε m = 1, τότε θα πρέπει να αυξηθεί σημαντικά το μήκος της υπογραφής ώστε η πιθανότητα ψευδών συναγερμών (FAP) να μην αυξηθεί. Αυτό έχει ως αποτέλεσμα, ο πίνακας διαστάσεων F×L που θα προκύψει να χαρακτηρίζεται ως αραιός, διότι το ποσοστό των άσσων σε σχέση με αυτό των μηδενικών είναι μικρό. Άρα, μπορούν να εφαρμοστούν μέθοδοι συμπίεσης με στόχο τη μείωση του μεγέθους του κάθε τεμαχίου. Η πιο απλή μέθοδος που μπορεί να εφαρμοστεί είναι να αποθηκεύονται οι θέσεις των άσσων σε κάθε τεμάχιο. Με τον τρόπο αυτό, το μέγεθος του κάθε τεμαχίου δεν είναι σταθερό, οπότε το κάθε αρχείο αποθηκεύεται σε έναν ή περισσότερους κάδους (buckets) οι οποίοι συνδέονται με τη μορφή συνδεδεμένης λίστας. Το μέγεθος του κάθε κάδου (K) αποτελεί σχεδιαστική παράμετρο. Η μέθοδος αυτή προτάθηκε στην εργασία [15] και καλείται CBS (compressed bit slices). Εκτός από το ότι κάθε όρος ενεργοποιεί μόνο ένα δυαδικό ψηφίο, η δομή CBS δε χρειάζεται το αρχείο δεικτών. Αντί να αποθηκεύεται η θέση του κάθε άσσου, αποθηκεύεται απευθείας ο δείκτης στο αρχείο εγγράφων.

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

Σχήμα 7.7: Η δομή DCBS.

Μία δεύτερη προσπάθεια να συμπιεστεί ακόμη περισσότερο ο κατάλογος οδήγησε στην ανάπτυξη της δομής DCBS (doubly compressed bit slices) [15]. Η δομή αυτή μοιάζει πολύ με τη δομή CBS καθώς χρησιμοποιεί πάλι έναν πίνακα κατακερματισμού για την οργάνωση των όρων. Ο κάθε όρος κατακερματίζεται σε μία θέση του πίνακα, χρησιμοποιώντας μία συνάρτηση κατακερματισμού h1(t) που δίνει τιμές από 0 έως και F-1. Για τη διαχείριση των συγκρούσεων, χρησιμοποιείται μία δεύτερη συνάρτηση κατακερματισμού h2(t) που επιστρέφει ένα διάνυσμα από h δυαδικά ψηφία. Η δομή DCBS χρησιμοποιεί δύο επίπεδα κάδων. Στο πρώτο επίπεδο κάδων αποθηκεύονται τα διανύσματα των h δυαδικών ψηφίων με τη μορφή h-bit-vector, bucket-ptr, όπου bucket-ptr είναι ο δείκτης στο επόμενο επίπεδο κάδων όπου αποθηκεύονται οι δείκτες προς το αρχείο εγγράφων.

Η δομή DCBS δίνεται στο Σχήμα 7.7. Η διασικασία της αναζήτησης ενός όρου t αρχίζει με την εφαρμογή της πρώτης συνάρτησης κατακερματισμού h1(t) που θα οδηγήσει σε μία θέση του πίνακα κατακερματισμού. Στη συνέχεια, εφαρμόζεται η δεύτερη συνάρτηση κατακερματισμού h2(t) που παράγει ένα διάνυσμα από h δυαδικά ψηφία. Εξετάζονται οι κάδοι του πρώτου επιπέδου ώστε να εντοπιστεί κάποια εγγραφή που να ισούται με h2(t). Αν ναι, τότε διαβάζονται οι κάδοι του δευτέρου επιπέδου και τέλος ακολουθώντας τους δείκτες προσπελαύνονται τα τμήματα από το αρχείο εγγράφων. Με μία προσεκτική εξέταση του τρόπου λειτουργίας της δομής DCBS εύκολα διαπιστώνεται ότι οι κάδοι του δευτέρου επιπέδου θα είναι ακριβώς οι ίδιοι με αυτούς της δομής CBS αν είχαμε χρησιμοποιήσει F2h θέσεις στον πίνακα κατακερματισμού.

Σχήμα 7.8: Η δομή NFD.

Όλες οι προηγούμενες μέθοδοι οργάνωσης χαρακτηρίζονται από την παρουσία ψευδών συναγερμών. Η μέθοδος που εξετάζεται στη συνέχεια δεν έχει αυτό το πρόβλημα και για το λόγο αυτό καλείται NFD (no false drops) [15]. Η βασική ιδέα είναι η προσθήκη επιπλέον πληροφορίας στο ενδιάμεσο επίπεδο των κάδων. Μία εγγραφή σε έναν ενδιάμεσο κάδο έχει τη μορφή h-bit-vector, bucket-ptr, term-ptr όπου term-ptr είναι ο δείκτης στο αρχείο εγγράφων όπου βρίσκεται ο όρος. Με τον τρόπο αυτό, αποφεύγονται εντελώς οι ψευδείς συναγερμοί, καθώς έχουμε άμεση πρόσβαση στον όρο πριν την εξέταση των κάδων του δευτέρου επιπέδου.

Η δομή FSSF (frame-sliced signature files) [39] προτάθηκε με βασικό στόχο τη μείωση του χρόνου επεξεργασίας, και στηρίζεται στον τεμαχισμό σε πλαισία. Η βασική ιδέα είναι ο κάθε όρος να κατακερματίζεται σε γειτονικά δυαδικά ψηφία της υπογραφής του εγγράφου, τα οποία αποθηκεύονται μαζί, με αποτέλεσμα να ανακτώνται με λιγότερες τυχαίες προσπελάσεις στο δίσκο. Μείωση του αριθμού των τυχαίων προσπελάσεων οδηγεί σε μείωση του χρόνου επεξεργασίας των ερωτημάτων.

Ας εξετάσουμε τη δομή FSSF με μεγαλύτερη λεπτομέρεια. Η υπογραφή του εγγράφου, που αποτελείται από F δυαδικά ψηφία, χωρίζεται σε r πλαίσια (frames). Το κάθε πλαίσιο αποτελείται από F/r συνεχόμενα δυαδικά ψηφία (εκτός ίσως από το τελευταίο πλαίσιο που μπορεί να έχει λιγότερα). Για την εισαγωγή ενός όρου στην υπογραφή, αρχικά χρησιμοποιείται μία συνάρτηση κατακερματισμού ώστε να επιλεγεί ένα από τα r πλαίσια. Στη συνέχεια, χρησιμοποιείται μία δεύτερη συνάρτηση κατακερματισμού η οποία ενεργοποιεί m δυαδικά ψηφία μέσα στο επιλεγμένο πλαίσιο.

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

Η δομή FSSF μπορεί να γενικευθεί, επιλέγοντας περισσότερα από ένα πλαίσια για τον κατακερματισμό ενός όρου, και ενεργοποιώντας m δυαδικά ψηφία σε κάθε πλαίσιο. Η νέα δομή που προκύπτει καλείται GFSSF (generalized frame-sliced signature file) και προτάθηκε επίσης στην εργασία [39].

7.3.3 Οριζόντιος Διαμερισμός

Οι μέθοδοι οργάνωσης υπογραφών που βασίζονται στον οριζόντιο διαμερισμό προσπαθούν να αποφύγουν τη σειριακή προσπέλαση των υπογραφών του καταλόγου χρησιμοποιώντας ομαδοποίηση των υπογραφών. Η ομαδοποίηση αυτή προκαλεί τον οριζόντιο διαμερισμό του πίνακα υπογραφών. Το κριτήριο βάσει του οποίου πραγματοποιείται η ομαδοποίηση του πίνακα υπογραφών είτε προσδιορίζεται εξ’ αρχής (για παράδειγμα χρησιμοποιώντας κάποια συνάρτηση κατακερματισμού), είτε προσδιορίζεται κατά τη διάρκεια της εισαγωγής των υπογραφών στον κατάλογο (όπως συμβαίνει στην περίπτωση των καταλόγων τύπου B-δένδρου για την οργάνωση ενός συνόλου ακεραίων). Στην πρώτη περίπτωση ο διαμερισμός είναι ανεξάρτητος δεδομένων, ενώ στη δεύτερη περίπτωση είναι εξαρτώμενος από τα δεδομένα.

Η πρώτη μέθοδος οριζόντιου διαμερισμού που είναι ανεξάρτητη δεδομένων προτάθηκε από τον Gustafson [67]. Το κάθε έγγραφο μπορεί να θεωρηθεί ως εγγραφή (record) r όπου οι όροι που περιέχονται στο έγγραφο αποτελούν τις ιδιότητες (attributes) της εγγραφής. Η μέθοδος στηρίζεται στη χρήση συναρτήσεων κατακερματισμού. Έστω t ένας όρος και h(t) μία τιμή μεταξύ των αριθμών 0 και 15 που προκύπτει με εφαρμογή της συνάρτησης κατακερματισμού h. Η υπογραφή του όρου t (TS(t)) αποτελείται από 16 δυαδικά ψηφία που όλα είναι μηδενικά εκτός από τη θέση h(t) που περιέχει άσσο. Η υπογραφή της εγγραφής r (RS(r)) προκύπτει με υπέρθεση των υπογραφών των όρων. Έστω k ο αριθμός των άσσων στην υπογραφή της εγγραφής. Εάν k¡6 τότε τα υπόλοιπα 6-k δυαδικά ψηφία ενεργοποιούνται με τυχαίο τρόπο. Το πλήθος των διαφορετικών υπογραφών που μπορούν να προκύψουν ισούται με (166) = 8008 (επιλογή 6 αντικειμένων από 16). Χρησιμοποιείται ένας πίνακας κατακερματισμού 8008 θέσεων και κάθε εγγραφή κατακερματίζεται σε μία από τις θέσεις του πίνακα αυτού, σύμφωνα με την ακόλουθη μέθοδο. Εάν pa < pb < pc < pd < pe < pf οι θέσεις των άσσων στην υπογραφή της εγγραφής, τότε η εγγραφή r κατακερματίζεται στη θέση H(r) όπου:

H(r)=(pa1)+(pb2)+(pc3)+(pd4)+(pe5)+(pf6) (7.5)

Το βασικό πλεονέκτημα της μεθόδου Gustafson είναι ότι ο αριθμός των υπογραφών που πρέπει να ελεχθούν μειώνεται εκθετικά ως προς τον αριθμό των όρων του ερωτήματος (σε ένα ερώτημα σύζευξης). Ωστόσο, τα μειονεκτήματα της μεθόδου είναι αρκετά σημαντικά με αποτέλεσμα η χρήση της μεθόδου να είναι περιορισμένη: (i) η επιδόσεις της μεθόδου μειώνονται με την αύξηση του μεγέθους του αρχείου, (ii) αν ο αριθμός των όρων ανά έγγραφο είναι μεγάλος τότε το μέγεθος του πίνακα κατακερματισμού θα είναι μεγάλο ή ερωτήματα που περιέχουν τρεις ή τέσσερις όρους θα εξετάσουν ένα μεγάλο τμήμα της συλλογής εγγράφων και (iii) η επεξεργασία γενικών ερωτημάτων (όχι σύζευξης) είναι πολύπλοκη.

Μία δεύτερη μέθοδος που βασίζεται στον οριζόντιο διαμερισμό προτάθηκε από τους Lee και Leng [37]. Η προτεινόμενη μέθοδος οργάνωσης καλείται διαμοιραζόμενο αρχείο υπογραφών (partitioned SF) και χρησιμοποιεί τα πρώτα k δυαδικά ψηφία των υπογραφών για να διαχωρίσει τις υπογραφές. Με τον τρόπο αυτό το αρχείο υπογραφών χωρίζεται σε τμήματα. Όλες οι υπογραφές που ανήκουν στο ίδιο τμήμα έχουν τα πρώτα k δυαδικά ψηφία κοινά. Για την επεξεργασία ενός ερωτήματος πρώτα επιλέγονται τα τμήματα με βάση τα πρώτα k ψηφία της υπογραφής του ερωτήματος και στη συνέχεια πραγματοποιείται έλεγχος των υπογραφών που ανήκουν στα τμήματα.

Μία από τις μεθόδους οργάνωσης που εξαρτάται από τα δεδομένα προτάθηκέ από τους Sack-Davis και Ramamohanarao [54]. Σύμφωνα με τη μέθοδο αυτή, σχηματίζονται δύο επίπεδα υπογραφών, εκ των οποίων το πρώτο αναφέρεται σε υπογραφές εγγράφων και το δεύτερο σε υπογραφές τμημάτων. Για την οργάνωση του πρώτου επιπέδου χρησιμοποιείται η τεχνική SSF ενώ για την οργάνωση του δεύτερου επιπέδου χρησιμοποιείται η τεχνική BSSF. Πειραματικές μετρήσεις έχουν δείξει ότι επιτυγχάνεται σημαντική μείωση του χρόνου επεξεργασίας σε σχέση με άλλες μορφές οργάνωσης (π.χ., SSF ή BSSF).

Τέλος, αναφέρουμε την ιεραρχική μέθοδο οργάνωσης υπογραφών, η οποία προτάθηκε από τον Deppisch [13] και πρόκειται για μία δενδρική δομή δεδομένων δευτερεύουσας μνήμης που έχει πολλά κοινά στοιχεία με τις δενδρικές μεθόδους τύπου B-δένδρου. Η μέθοδος καλείται S-δένδρο (δένδρο υπογραφών) και οι υπογραφές οργανώνονται ιεραρχικά. Υπογραφές που έχουν μεγάλη ομοιότητα (αυτό καθορίζεται για παράδειγμα με βάση την απόσταση Hamming) αποθηκεύονται στο ίδιο φύλλο του S-δένδρου. Στη συνέχεια, οι υπογραφές των ανώτερων επιπέδων δημιουργούνται με χρήση υπέρθεσης. Η μέθοδος δεν έχει μεγάλες απαιτήσεις χώρου, ωστόσο είναι δύσκολο να εκτιμηθεί ο χρόνος εκτέλεσης των ερωτημάτων. Ένα πιθανό πρόβλημα που μπορεί να εμφανιστεί είναι οι υπογραφές των ανώτερων επιπέδων (κοντά στη ρίζα του δένδρου) να περιέχουν πολλούς άσσους. Σε μία τέτοια περίπτωση ο αριθμός των μονοπατιών που πρέπει να εξεταστούν για να απαντηθεί ένα ερώτημα αυξάνει σημαντικά.

7.4 Σύνοψη και Περαιτέρω Μελέτη

Οι κατάλογοι υπογραφών αποτελούν μία διαφορετική προσέγγιση για την οργάνωση μίας συλλογής εγγράφων. Το βασικό χαρακτηριστικό των καταλόγων αυτών είναι ότι στηρίζονται στη δημιουργία υπογραφών από τους όρους των εγγράφων. Μία υπογραφή είναι μία ακολουθία δυαδικών ψηφίων (bits) τα οποία περιέχουν άσσους σε συγκεκριμένες θέσεις που καθορίζονται από τη συνάρτηση κατακερματισμού που χρησιμοποιείται.

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

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

Μία εκτενής περιγραφή των μεθόδων εξαγωγής υπογραφών και των καταλόγων βρίσκεται στο Κεφάλαιο 4 του βιβλίου [26] καθώς επίσης και στο βιβλίο [77]. Στις εργασίες [16, 17, 21, 18] ο αναγνώστης θα βρει πολλές λεπτομέρειες σχετικά με τις ιδιότητες των βασικών μεθόδων υπογραφών, ενώ στην εργασία [39] προτείνονται οι κατάλογοι βασισμένοι σε πλαίσια (FSSF και GFSSF). Επίσης, συγκριτικές μελέτες μεταξύ αντεστραμμένων καταλόγων και καταλόγων υπογραφών υπάρχουν στις εργασίες [79, 7] ενώ μία γενική επισκόπηση των μεθόδων που χρησιμοποιούνται για την οργάνωση εγγράφων υπάρχει στην εργασία [20].

7.5 Ασκήσεις

  • 7.1

    Τι ονομάζουμε υπογραφή;

  • 7.2

    Ποιές οι βασικές διαφορές μεταξύ ενός καταλόγου υπογραφών και ενός αντεστραμμένου καταλόγου;

  • 7.3

    Τι είναι ένας ψευδής συναγερμός και σε ποιές περιπτώσεις εμφανίζεται;

  • 7.4

    Ποιές μορφές καταλόγων υπογραφών γνωρίζετε; Για την κάθε περίπτωση να δώσετε σύντομη περιγραφή.

  • 7.5

    Ποιά προβλήματα έχει η σειριακή οργάνωση του καταλόγου υπογραφών; Ποιές εναλλακτικές μορφές οργάνωσης γνωρίζετε;

  • 7.6

    Πώς καταφέρνει η μέθοδος NFD να μην εμφανίζει καθόλου ψευδείς συναγερμούς;

  • 7.7

    Να περιγράψετε τη βασική μέθοδο εξαγωγής υπογραφών που βασίζεται στην υπέρθεση.

  • 7.8

    Να περιγράψετε τη μέθοδο εξαγωγής υπογραφών BC και να δώσετε αντίστοιχο παράδειγμα.

  • 7.9

    Σε ποιά σημεία διαφέρουν οι δομές CBS και DCBS;

  • 7.10

    Σε ποιά σημεία διαφέρουν οι δομές FSSF και GFSSF;

  • 7.11

    Να εντοπίσετε τα σημαντικότερα στοιχεία που πιστεύετε ότι επηρεάζουν περισσότερο την αναζήτηση με χρήση υπογραφών.

  • 7.12

    Να κατασκευάσετε πρόγραμμα που να δημιουργεί έναν κατάλογο υπογραφών, χρησιμοποιπώντας το βασικό αλγόριθμο εξαγωγής υπογραφών με υπέρθεση, χρησιμοποιώντας τη συλλογή εγγράφων CACM. Να δώσετε διαφορετικές τιμές για τις παραμέτρους που επηρεάζουν την επίδοση της δομής (π.χ., αριθμός δυαδικών ψηφίων που ενεργοποιεί η υπογραφή κάθε όρου). Στη συνέχεια, να επιλέξετε 100 τυχαίους όρους από τη συλλογή και να αναζητήσετε τα έγγραφα που περιέχουν τον καθένα από αυτούς. Δώστε το μέσο χρόνο εκτέλεσης του ερωτήματος καθώς και το μέσο αριθμό ψευδών συναγερμών.

  • 7.13

    Για τη συλλογή CACM να κατασκευάσετε κατάλογο υπογραφών στηριζόμενοι (α) στην απλή μέθοδο της υπέρθεσης και (β) στη μέθοδο BC. Να συγκρίνετε τα μεγέθη των καταλόγων που προκύπτουν.

  • 7.14

    Για τη συλλογή που περιέχει τα έγγραφα από d1 έως d7 να προσδιορίσετε τις υπογραφές των λογικών τμημάτων όταν το κάθε λογικό τμήμα αποτελείται από το πολύ 5 όρους. Θεωρήστε ότι η υπογραφή του κάθε όρου αποτελείται από 6 δυαδικά ψηφία και υπολογίζεται με βάση μία συνάρτηση κατακερματισμού που θέτει 1 μόνο δυαδικό ψηφίο. Οι υπογραφές των λογικών τμημάτων υπολογίζονται με χρήση υπέρθεσης.