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



Σχετικά έγγραφα
Εργασία Μαθήματος Αξία: 40% του τελικού σας βαθμού Ανάθεση: Παράδοση:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΗΥ 463 Συστήµατα Ανάκτησης Πληροφοριών. Γενικός Αλγόριθµος Ακολουθεί µια γενική περιγραφή του αλγορίθµου ενός ερπυστή.

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

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

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

ΑΣΚΗΣΗ. Δημιουργία Ευρετηρίων Συλλογής Κειμένων

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

0 The quick brown fox leaped over the lazy lazy dog 1 Quick brown foxes leaped over lazy dogs for fun

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

Δημιουργία Ευρετηρίων Συλλογής Κειμένων

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

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #15

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

H κλάση ArrayList. Γιώργος Θάνος. Γραφείο Γ. Γκλαβάνη 37. Αντικει ενοστραφής Προγρα. ος όροφος

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

ΑΣΚΗΣΗ 1. Structural Programming

Πληροφορική & Τηλεπικοινωνίες Υλοποίηση Συστημάτων Βάσεων Δεδομένων - Χειμερινό Εξάμηνο Καθηγητής Δ. Γουνόπουλος

Γραφικά υπολογιστών Εργαστήριο 4 Εισαγωγή στις λίστες

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

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

Point Of Sale ΔΙΑΧΕΙΡΙΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ

Λύση α) Αν θεωρήσουµε ότι δεν περνάµε το παραπάνω κείµενο από stoplist και stemming, το ανεστραµµένο ευρετήριο θα έχει ως εξής:

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο

ΑΣΚΗΣΗ Α. Δεικτοδότηση Συλλογής Κειμένων σε Ανεστραμμένο Ευρετήριο

Περιεχόµενα. 1 Εισαγωγή στις οµές εδοµένων 3. 2 Στοίβα (Stack) 5

Λειτουργικό Σύστημα: διαχείριση πόρων. Τι είναι ένα αρχείο ; Διαχείριση αρχείων. Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Management Classes Create Class Create Class Management Classes List of Classes

Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Από τον κατάλογο Web επιλέγουμε το Page, οπότε στο κυρίως μέρος της οθόνης εμφανίζονται οι σελίδες τις οποίες έχουμε δικαίωμα να ενημερώσουμε.

Σημειώσεις για τις Ιστοσελίδες του Google

Συστήματα Διαχείρισης Βάσεων Δεδομένων (ΗΥ460) Χειμερινό εξάμηνο 2017

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

Τµήµα Πληροφορικής. Υλοποίηση LRU Cache ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ - ΕΡΓΑΣΙΑ 4. Φθινοπωρινό Εξάµηνο Διδάσκων: E. Μαρκάκης. Γενικά περί Caching

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

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

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

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

11/4/2014 ΤΕΙ Ιονίων Νήσων Πλατφόρµα Ασύγχρονησ Τηλεκπαίδευσησ eclass s ηµιο ι υρ υ γ ρ ία ί Μ αθήµατο τ σ 1

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος

Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Τομέας Ηλεκτρονικής και Υπολογιστών. ΤΗΜΜΥ Α.Π.Θ Τρίτη 1 / 12 / 2015 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

Γλωσσική Τεχνολογία. HTML/XML Processing HTTP Services

4 η Σειρά ασκήσεων (Συμπίεση, Ομαδοποίηση, Ευρετηρίαση Πολυμέσων, Κατανεμημένη Ανάκτηση)

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Ευρετηρίαση, Αποθήκευση και Οργάνωση Αρχείων (Indexing, Storage and File Organization) ΜΕΡΟΣ Ι

ΚΕΦΑΛΑΙΟ Web Services

Λειτουργικό Σύστημα: διαχείριση πόρων. Διαχείριση αρχείων. Τι είναι ένα αρχείο ; Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Άνοιγμα (και κλείσιμο) της εφαρμογής Εγγράφου Κειμένου

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

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

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

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

Πληροφορική & Τηλεπικοινωνίες

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

Προτεινόμενες Λύσεις 1 ης Σειράς Ασκήσεων (Αξιολόγηση της Αποτελεσματικότητας της Ανάκτησης & Μοντέλα Ανάκτησης)

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

2. Για να δημιουργήσουμε το πρώτο ή κάθε νέο Backup set πατάμε στο εικονίδιο και εμφανίζεται ο Wizard του Backup set

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

Εκτύπωση Γενικού Ημερολογίου

ΗΥ240: Δοµές Δεδοµένων Εαρινό Εξάµηνο Ακαδηµαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 1 ο Μέρος

Βασικές Έννοιες Δοµών Δεδοµένων

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

Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ

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

Τεχνικές ταξινόµησης αποτελεσµάτων µηχανών αναζήτησης µε βάση την ιστορία του χρήστη

Τµήµα Πληροφορικής. Δοµές Δεδοµένων - Εργασία 1. Φθινοπωρινό Εξάµηνο Διδάσκων: E. Μαρκάκης. Στοίβες και Ουρές. Οικονοµικό Πανεπιστήµιο Αθηνών

Πληροφορική & Τηλεπικοινωνίες Υλοποίηση Συστημάτων Βάσεων Δεδομένων - Χειμερινό Εξάμηνο Καθηγητής Δ. Γουνόπουλος

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

ENOTHTA 8 IAXEIPIΣH KAI ΣYΣTHMATA APXEIΩN

Wrapper Classes, Abstract Classes and Interfaces

6 Εικόνα εξώφυλλου: Λωρίδα του Mobius (Σύνθεση). Νικόλαος Μπαλκίζας 10

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

Εργαστήριο #10 (Ε10) 1

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος

Συστήματα Διαχείρισης Βάσεων Δεδομένων

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Μαθήματα από τα εργαστήρια

ΛΥΣΕΙΣ 2 ης ΣΕΙΡΑΣ ΑΣΚΗΣΕΩΝ

./mydiz {-c -a -x -m -d -p -j} <archive-file> <list-of-files/dirs>

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

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

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

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

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

Οικονοµικό Πανεπιστήµιο Αθηνών. Τµήµα Πληροφορικής. Φθινοπωρινό Εξάµηνο Δοµές Δεδοµένων - Εργασία 2. Διδάσκων: E. Μαρκάκης

ΑΣΚΗΣΗ 5: ΠΙΝΑΚΕΣ. Σχήµα 1: H έννοια των πινάκων

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

ÈÛ ÁˆÁ ÛÙÈ μ ÛÂÈ Â ÔÌ ÓˆÓ

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

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

HΥ463 - Συστήματα Ανάκτησης Πληροφοριών Information Retrieval (IR) Systems. Μοντέλα Ανάκτησης Ι

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

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Χειμερινό Εξάμηνο

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο

Βάσεις δεδομένων. (10 ο μάθημα) Ηρακλής Βαρλάμης

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΠΛΗΡΟΦΟΡΙΚΗ ΣΤΟ ΕΝΙΑΙΟ ΛΥΚΕΙΟ

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

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΗΥ463 Συστήµατα Ανάκτησης Πληροφοριών Εργασία: Ανεστραµµένο Ευρετήριο Εισαγωγή Σκοπός της εργασίας είναι η δηµιουργία ενός ανεστραµµένου ευρετηρίου για τη µηχανή αναζήτησης Μίτος, το οποίο θα είναι εντελώς ανεξάρτητο από το σηµερινό ευρετήριο που βασίζεται σε Σχεσιακό Σύστηµα Βάσεων εδοµένων (postgresql) Το ευρετήριο πρέπει να περιέχει τουλάχιστον τις πληροφορίες που περιέχονται στο DBMS-based ευρετήριο του Μίτου Η δηµιουργία ενός ανεστραµµένου ευρετηρίου (και η χρήση συνεπτυγµένων κωδικών) αναµένεται να µειώσει κατά πολύ το µέγεθος του ευρετηρίου, σε σχέση µε το υπάρχον ευρετήριο Συνάµα καλείστε να κάνετε τις απαραίτητες αλλαγές ώστε ο Μίτος να µπορεί να λειτουργήσει και µε το νέο ευρετήριο Αυτό περιλαµβάνει την επέκταση της διεπαφής (interface) Ιndex και διάφορες άλλες συµπληρωµατικές εργασίες A1 ηµιουργία DBMS-Free Ευρετηρίου Για τα ανεστραµµένα ευρετήρια έχουµε µιλήσει αναλυτικά στο µάθηµα και σχετικό υλικό υπάρχει στις διαφάνειες και στα βιβλία του µαθήµατος Ένα παράδειγµα ενός ανεστραµµένου αρχείου είναι το παρακάτω: Vocabulary File term df pos doc# tf Posting File positions Documents File reference key 1 df 1 p 1 key 2 df 2 p 2 key 3 df 3 p 3 key N df N p N D i tf key1 [position1 position2 ] D j tf key2 D l tf keyl Doc 1 Doc i Doc N Vocabulary File: Το λεξιλόγιο της συλλογής Ιδανικά πρέπει να βρίσκεται στην µνήµη (εφόσον χωράει) εδοµένου οτι η αναζήτηση γίνεται βάσει των όρων, χρησιµοποιήστε µια κατάλληλη δοµή Για κάθε όρο κρατάµε το πλήθος των εγγράφων στα οποία εµφανίζεται (df) καθώς επίσης και ένα δείκτη προς το posting file στο σηµείο που καταγράφονται οι πληροφορίες σχετικές µε τις εµφανίσεις του όρου (αναγνωριστικά εγγράφων, θέσεις, κλπ) Posting File: Περιέχει τα αναγνωριστικά των εγγράφων στα οποία εµφανίζονται οι όροι του λεξιλογίου Περιέχει επίσης το tf για κάθε όρο στο αντίστοιχο έγγραφο Μπορεί επίσης να περιέχει και άλλες πληροφορίες όπως οι θέσεις εµφάνισης του κάθε όρου στο έγγραφο ή εναλλακτικά το block (εφόσον χρησιµοποιείται block addressing) Το Posting File είναι αρκετά µεγάλο και εποµένως δεν µπορεί να βρίσκεται στην µνήµη (Documents File: Περιέχει αναφορές προς τα έγγραφα Συγκεκριµένα κάθε εγγραφή που υπάρχει στο Posting file θα δείχνει στο σηµείο του Documents File στο οποίο υπάρχει το -1-

αναγνωριστικό του εγγράφου στο οποίο αναφέρεται η συγκεκριµένη εγγραφή Τα περιεχόµενα του Documents File θα είναι ο τίτλος των εγγράφων (πχ documentmd5txt) και/είτε οτιδήποτε άλλο κρίνεται σκόπιµο/χρήσιµο Αρχικά καλείστε να εξάγετε τα απαραίτητα δεδοµένα από την βάση δεδοµένων και να τα κρατήσετε στις DBMS-Free δοµές που έχετε δηµιουργήσει Θα πρέπει η πληροφορία που κρατάτε στο ευρετήριο να είναι τέτοια ώστε : Να είναι η ελάχιστη δυνατή ώστε να µην υπάρχει πλεονάζουσα (και εποµένως άχρηστη πληροφορία στο ευρετήριο) και συνεπώς το ευρετήριο να έχει το ελάχιστο δυνατό µέγεθος Να περιέχει όλα τα απαραίτητα στοιχεία που χρειάζονται για να γίνει ανάκτηση της πληροφορίας Μπορείτε να ενηµερωθείτε για το υπάρχον (DBMS-based) ευρετήριο από το ακόλουθο link http://grooglecsduocgr/apache2-default/indexphp/indexer_dbms Α2 Ευρετηρίαση εγγράφων µε το νέο ευρετήριο Ευρετηριάστε µία συλλογή απευθείας στις νέες δοµές που δηµιουργήσατε χωρίς να παρεµβάλλεται καθόλου η βάση δεδοµένων πλέον Παρακάτω µπορείτε να δείτε την διαδικασία που ακολουθείται για να γίνει ευρετηρίαση µιας συλλογής Συγκεκριµένα ο ευρετηριαστής διαβάζει κάθε έγγραφο από την συλλογή την οποία έχει προηγουµένως κατεβάσει ο ερπυστής Για κάθε έγγραφο γίνεται η ανάλυση του από τον λεξικογραφικό αναλυτή και τον στελεχωτή και κατόπιν αποθηκεύονται οι πληροφορίες για το εκάστοτε έγγραφο καθώς και για τις εµφανίσεις των λέξεων σε αυτό σε αρχεία Το λεξιλόγιο (βλ Vocabulary File παραπάνω) κρατείται στην µνήµη Μόλις ολοκληρωθεί η παραπάνω διαδικασία γίνεται αντιγραφή των δεδοµένων που βρίσκονται στην µνήµη (λεξιλόγιο), και των δεδοµένων που βρίσκονται σε αρχεία (έγγραφα, εµφανίσεις όρων σε κάθε έγγραφο) στο δίσκο sd Indexing Indexer Lexical Analyzer Stemmer loop [for each document] read Document loop Analyze Document [for each word] Stem word write doc details in file write occurence details in file Copy to DB -2-

Κατά τη διάρκεια δηµιουργίας του ανεστραµµένου ευρετηρίου η τρέχουσα posting list αποθηκεύεται στη µνήµη Για κάθε νέα εγγραφή σε κάποιο posting list δεσµεύεται δυναµικά µνήµη Όταν γίνεται δέσµευση µνήµης πρέπει να γίνεται έλεγχος για το εάν έχει εξαντληθεί η µνήµη Εάν έχει εξαντληθεί, τότε η διαδικασία σταµατά και το µερικό ευρετήριο (partial index) αποθηκεύεται στο δίσκο Συνεχίζετε µε αυτόν τον τρόπο έως ότου να ολοκληρώσετε την ευρετηρίαση όλων των εγγράφων της αποθήκης του ερπυστή Στο τέλος πρέπει να ενοποιήσετε να µερικά ευρετήριο για να φτιάξετε το τελικό ιαβάστε τη σχετική ύλη 1 Στο παράρτηµα 1 µπορείτε να βρείτε µία περιγραφή για σχετικά µε το αρχείο εισόδου που παράγεται από τον ερπυστή και χρησιµοποιείται (εκτός των άλλων) για τον ευρετηριασµό νέων εγγράφων Β Κωδικοποίηση Συµπίεση εδοµένων Αφού κατασκευάσετε τις κατάλληλες δοµές πρέπει κατόπιν να εφαρµόσετε κάποια κωδικοποίηση στα δεδοµένα ώστε να καταλαµβάνουν τον ελάχιστο δυνατό χώρο στον δίσκο Μπορείτε να κάνετε χρήση συνεπτυγµένων κωδικών (βλ Προγραµµατιστική άσκηση 2) Για να επιτύχουµε πράγµατι µείωση του αποθηκευτικού χώρου ενδείκνυται η οµαδοποίηση των εγγράφων και η εκχώρηση αναγνωριστικών βάσει του αποτελέσµατος της οµαδοποίησης Μια πιο γρήγορη λύση περιγράφεται στο άρθρο: http://soaveisticnrit/~silvestr/wp-content/uploads/2007/04/paperpdf Γ Επέκταση του Index, και χρήση του ευρετηρίου στο mitos Επεκτείνετε το component Index ώστε το mitos να µπορεί να λειτουργεί µε το νέο ευρετήριο που µόλις κατασκευάσατε Συγκεκριµένα δηµιουργήστε ένα interface το οποίο να περιέχει την συµπεριφορά που πρέπει να έχει το συστατικό (για DBMS-based index και για DBMS-Free index) Σκοπός είναι η δηµιουργία του παρακάτω : 1 Μπορείτε να συµβουλευτείτε και άλλες πηγές, πχ http://joditamuedu/articles/v01/i05/frieder/frieder3pdf -3-

class indexer «interface» Index + adduser(string, String, String, String) : void + computedocumentranks(float, String) : void + getalldf() : HashMap <String, Integer> + getbooleanquery(string) : ArrayList<Integer> + getclusteringparams() : ArrayList<Pair <String, Integer>> + getdocnorm(collection<integer>) : HashMap<Integer,Float> + getdocnormandrank(collection <Integer>) : HashMap<Integer, Pair<Float, Float>> + getdocumentmd5(int) : String + getdocuments() : ArrayList <Integer> + getdocuments(string) : ArrayList <Integer> + getdocumentsnumber() : int + getdocumentt itlepathurimd5(int) : String[] + getdocumentwordssumtf(int[]) : T reemap<float, Integer> + getencoding(int) : String + getevaluatorparams() : T reemap<string, Integer> + getexpansionparams() : T reemap<string, Integer> + getidf(string) : float + getidf(arraylist<string>) : Pair<HashMap<String, Float>, HashMap<Integer, Pair<String, Integer>>> + getlastindexeddocmd5() : String + getmaxidf() : float + getranks(arraylist<integer>) : T reemap<integer, Float> + getrelatedfilesweight(arraylist<string>, String, HashMap<Integer, Pair<String, Integer>>) : HashMap<Integer, ArrayList<Float>> + getrelatedfilesweight(arraylist<string>, String) : HashMap<Integer, ArrayList<Float>> + gett axonomyparams() : TreeMap<String, Integer> + gett erm(int[]) : TreeMap<Integer, String> + getterms() : ArrayList <String> + gettermsasstrings(collection <Integer>) : HashMap<Integer,String> + gettermsdfandname(int[]) : Pair <HashMap<Integer, Integer>, HashMap<Integer, String>> + gett F(int, String) : float + getweightedwords(int, HashMap<Integer,Integer>) : Map<Integer,Float> + getwordid(string) : int + getwordidf(int) : float + getwordname(int) : String + getwordsordered() : ArrayList<WordTuple> + initializetempfiles() : void + insertdocument(string, Map<String, ArrayList<Float>>, String, String, String, String, String) : void + loginuser(string, String) : boolean + remindlogin(string) : void + remove(int) : boolean + remove(string) : boolean + removeuser(string) : void + setadminparams(t reemap<string, String>) : void + setclusteringparams(treemap<string,string>) : void + updaterank(t reemap<string, Float>) : void + updatevectorrepresentation(int, T reemap<integer,float>) : void + updateworddfindexing() : void IndexDBMSBased IndexDBMSFree Πληροφορίες για τον Query Evaluator και για τις µεθόδους του Index που χρησιµοποιούνται για την αποτίµηση των επερωτήσεων µπορείτε να βρείτε στο link http://grooglecsduocgr/apache2-default/indexphp/edit_distance Μετρήσεις και Συγκρίσεις Αφού ολοκληρωθεί η υλοποίηση σας θα πρέπει να συλλέξετε πληροφορίες σχετικές µε το χρόνο που χρειάζεται για να γίνει η ευρετηρίαση των δεδοµένων αλλά και την απόκριση του Μίτος, όπως το χρόνο που χρειάζεται για την αποτίµηση µιας επερώτησης Οι µετρήσεις θα πρέπει να γίνουν και για τις δύο υλοποιήσεις του ευρετηριαστή(indexer), µε το ανεστραµµένο ευρετήριο και µε την Σχεσιακή Βάση εδοµένων, ώστε να µπορεί να γίνει η σύγκριση των δύο υλοποιήσεων Συγκεκριµένα οι µετρήσεις που πρέπει να κάνετε περιελαµβάνουν: Ευρετηριασµός της συλλογής µε χρήση λίστας λέξεων αποκλεισµού (stopwords) και χρήση στελεχωτή (stemming) Συγκεκριµένα πρέπει να υπολογίσετε: o Χρόνος ευρετηριασµού (µε το DBMS-free ευρετήριο και µε το DBMSbased) -4-

o Μέγεθος λεξιλογίου o Μέγεθος posting file Ευρετηριασµός της συλλογής µε παραλλαγές (χωρίς χρήση λέξεων αποκλεισµού, χωρίς χρήση στελεχωτή) Απόκριση του νέου ευρετηρίου για την αποτίµηση επερωτήσεων Οποιαδήποτε άλλη µέτρηση, σύγκριση κρίνεται απαραίτητη Καλή εργασία και διασκέδαση -5-

Παράρτηµα 1 (Έξοδος Ερπυστή / Είσοδος αρχείων στον Ευρετηριαστή) Για να ευρετηριαστεί µία συλλογή πρέπει ο ευρετηριαστής να εντοπίσει τα αρχεία τα οποία έχει κατεβάσει ο ερπυστής Όταν ο ερπυστής κατεβάζει σελίδες τις αποθηκεύει τοπικά στον δίσκο και παράλληλα ενηµερώνει ένα αρχείο µε τις σελίδες τις οποίες έχει µέχρι στιγµής κατεβάσει καθώς και άλλες πληροφορίες σχετικά µε την εκάστοτε σελίδα Συγκεκριµένα ενηµερώνει ένα αρχείο index το οποίο έχει την παρακάτω µορφή: UrlMD5checksum normalizedurl originalurl Τitle Encoding type lastmodified serverdate <tab> @<normalized 1 st link retrieved from this page> <anchor text for this 1 st link> <tab> @<normalized 2 st link retrieved from this page> <anchor text for this 2 st link> <tab> @<normalized N st link retrieved from this page> <anchor text for this N st link> Επεξήγηση πεδίων: UrlMD5CheckSum: Μια χαρακτηριστική τιµή κατακερµατισµού(md5) του Url NormalizedURL: Το κανονικοποιηµένο Url OriginalURL: Το URL πριν την κανονικοποίηση Τitle : Ο τίτλος του ανακτηµένου εγγράφου Encoding: Η κωδικοποίηση της σελίδας (utf-8 κλπ) Type: Ο τύπος (type) της σελίδας (html, pdf, κλπ) lastmodifieddate: Η ηµεροµηνία και ο χρόνος στον οποίο ο διακοµιστής πιστεύει ότι τροποποιήθηκε το αρχείο στο οποίο αναφέρθηκε η αίτηση που έλαβε serverdate: H ηµεροµηνία και o χρόνος στον οποίο δηµιουργήθηκε το µήνυµααπάντηση του διακοµιστή Για παράδειγµα: Date: Tue, 15 Nov 1994 08:12:31 GMT Λίστα αποδεκτών συνδέσµων που ανακτήθηκαν από την σελίδα: Μετά από τη γραµµή που θα περιέχει όλα τα παραπάνω πεδία ακολουθεί µία λίστα στοιχισµένη µε στηλογνώµονες (tabs) που αναφέρει όλα τα αποδεκτά links που ανακτήθηκαν από την εν λόγω σελίδα (ένα link ανά γραµµή µαζί µε το anchor text του) Anchor Text είναι το κείµενο που έχει ο εν λόγω σύνδεσµος (πχ <a href=wwwcsduocgr>this is anchor text </a>) Η κάθε σελίδα έχει και τοπικό αντίγραφο το οποίο µπορεί να το βρει κανείς ακολουθώντας το path του URL αρχίζοντας από το βασικό κατάλογο αποθήκευσης σελίδων Για παράδειγµα το αντίγραφο της σελίδας indexhtml που ανήκει στο domain `wwwicsforthgr' θα πρέπει να βρίσκετε στο /wwwicsforthgr/indexhtml Περισσότερες λεπτοµέρειες σχετικά µε τον αρχείο index µπορείτε να βρείτε στην εκφώνηση του project σχετικά µε τον ερπυστή (Project Ταραντούλα) -6-