Τεχνικές Εξατομικευμένης Αναζήτησης στον Παγκόσμιο Ιστό

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

1 Συστήματα Αυτοματισμού Βιβλιοθηκών

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

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

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

Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ.

Σχεδίαση και Ανάπτυξη Ιστότοπων

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

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

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

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

Κεφάλαιο 9: Διαδίκτυο, Web 2.0 και Web X.0. Εφαρμογές Πληροφορικής Κεφ. 9 Καραμαούνας Πολύκαρπος 1

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

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

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

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Ενότητα 1: Εισαγωγή στις Βάσεις Δεδομένων. Αθανάσιος Σπυριδάκος Διοίκηση Επιχειρήσεων

Πώς λειτουργεί το Google?

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Περιεχόμενα. Δημιουργία σύνδεσης ΤΙ ΕΙΝΑΙ ΙΣΤΟΣΕΛΙΔΕΣ ΚΑΙ ΤΙ ΤΟΠΟΘΕΣΙΕΣ ΙΣΤΟΥ Γνωριμία με μια ιστοσελίδα:... 38

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

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

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

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

Έκδοσης 2005 Π. Κεντερλής

Ο αλγόριθμος PageRank της Google

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

01 SOLUTIONS HELLAS Ε.Π.Ε. Χελμού 20, Μαρούσι Αττικής Τηλ FAX Ηλεκτρονικό Πρωτόκολλο & Διακίνηση Εγγράφων

Εργασία-3: Παρουσίαση Εργασίας. Ομάδα Α. Προετοιμασία Αναφοράς

EBSCOhost Research Databases

Εργασία «Διαχείριση Δικτύων» Ιούνιος 2014, Θεσ/νίκη

P-Μiner : ιαχείριση Πυλών Καταλόγων (Portals) µε Υποστήριξη ιαδικασιών Εξόρυξης εδοµένων Χρήσης

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

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

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

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

Αξιοποίηση της συσχέτισης μεταξύ λέξεων για τη βελτίωση του προσεγγιστικού φιλτραρίσματος πληροφορίας

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

Vodafone Business Connect

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

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

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

Βάσεις δεδομένων και Microsoft Access

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

Διδακτικές Τεχνικές (Στρατηγικές)

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

ΧΩΡΙΚΕΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ

Πλοήγηση και Αναζήτηση

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

Διπλωματική Εργασία Αναγνώριση και ταξινόμηση ιστολόγιων. Αναστασιάδης Αντώνιος

Περιεχόμενα. Visio / White paper 1

Ρετσινάς Σωτήριος ΠΕ 1703 Ηλεκτρολόγων ΑΣΕΤΕΜ

ιπλωµατική εργασία: Νικόλαος Ματάνας Επιβλέπων Καθηγήτρια: Μπούσιου έσποινα

Διαχείριση Πολιτισμικών Δεδομένων

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

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

Αλγόριθμοι και Πολυπλοκότητα

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ. Μάθημα 7 ο : Ανάκτηση πληροφορίας. Γεώργιος Πετάσης. Ακαδημαϊκό Έτος:

Παραθέσεις Μελετητή Google

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet.

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ - Π.Μ.Σ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

World Wide Web: Ο παγκόσµιος ιστός Πληροφοριών

Αναζήτηση στον Ιστό. Πληκτρολόγηση του URL: στο πλαίσιο αναζήτησης του Mozilla Firefox. Enter ή κλικ στο Αναζήτηση

Δημιουργία. Ιστολογίου (blog) 7/5/2015. Χρυσάνθη Γιομέλου ΚΔΒΜ ΝΙΚΑΙΑΣ

Αλληλεπίδραση Ανθρώπου- Υπολογιστή & Ευχρηστία

Στην πράξη ουσιαστικά αντικαθιστά τον παραδοσιακό κατάλογο μιάς Βιβλιοθήκης με όλα τα παραπάνω πλεονεκτήματα.

Οδηγίες Χρήσης Πλατφόρμας Ασύγχρονης Τηλεκπαίδευσης (Moodle) του Τμήματος ΔΕΤ

Πληροφοριακά Συστήματα Διοίκησης

Web Mining. Χριστίνα Αραβαντινού Ιούνιος 2014

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

ΕΡΓΑΣΙΑ. (στο μάθημα: Τεχνολογίες Εφαρμογών Διαδικτύου του Η εξαμήνου σπουδών του Τμήματος Πληροφορικής & Τηλ/νιών)

Συστήματα Αναμονής. Ενότητα 1: Εισαγωγή. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

PowerPoint Ένα εργαλείο παρουσίασης

Μεθοδολογία Έρευνας Διάλεξη 10 η ( ) Παρουσίαση Πτυχιακής Εργασίας

Geographic Information System(GIS)

Τεχνολογία Ηλεκτρονικού Εμπορίου

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

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

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Βιβλιογραφία κοινωνικής έρευνας

Σχεδιασμός και Υλοποίηση ενός πληροφοριακού συστήματος για τους τεχνικούς του φυσικού αερίου

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

ΔΗΜΙΟΥΡΓΙΑ ΚΑΙ ΠΑΡΑΓΩΓΗ ΔΙΑΦΗΜΙΣΗΣ

Οι διαθέσιμες μέθοδοι σε γενικές γραμμές είναι:

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

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

Λίγα λόγια από το συγγραφέα Βάσεις δεδομένων και Microsoft Access Microsoft Access... 22

Agile Προσέγγιση στη Διαχείριση Έργων Λογισμικού

Μεταπτυχιακή Διατριβή

Ένα δάσκαλος δημιουργεί ιστολόγια. Συλλογικό έργο

Μάθημα 4ο. Προγράμματα

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

Orchid: Integrating Schema Mapping and ETL ICDE 2008

Κεφάλαιο 5. Ανάκτηση Πληροφορίας στον Παγκόσµιο Ιστό

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

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

Προγραμματισμός ΙI (Θ)

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Τεχνικές Εξατομικευμένης Αναζήτησης στον Παγκόσμιο Ιστό Πλέγας Ιωάννης ΑΜ:466 Μάρτιος 2008 Επιβλέπων καθηγητής: Καθ. κ. Μακρής Χρήστος @ Πανεπιστήμιο Πατρών Τμήμα Μηχανικών Η/Υ και Πληροφορικής

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

ΠΕΡΙΛΗΨΗ Σε αυτό το κείμενο θα παραθέσουμε ένα μεγάλο κομμάτι βιβλιογραφίας σχετικής με τις Τεχνικές Εξατομικευμένης Αναζήτησης στον Παγκόσμιο Ιστό. Επίσης θα περιγράψουμε αναλυτικά την λειτουργία των εφαρμογών που κατασκευάστηκαν στην διπλωματική μας και τις τεχνολογίες που χρησιμοποιήθηκαν για την υλοποίησή τους. Συγκεκριμένα κατασκευάστηκε ένα σύστημα εξατομίκευσης, το οποίο καταγράφει την συμπεριφορά ενός χρήστη και στην συνέχεια του δίνει την δυνατότητα να εξατομικεύσει τα αποτελέσματα μιας μηχανής αναζήτησης(google) με βάση την προηγούμενη συμπεριφορά του. Υλοποιήθηκαν τρεις διαφορετικοί αλγόριθμοι(ένας αλγόριθμος που βασίζεται στις ακμές του γράφου, ένας αλγόριθμος πρόσθεσης εικονικών κόμβων (αναλυτικά στο [87]) και ένας εκτεταμένος αλγόριθμος πρόσθεσης εικονικών κόμβων), οι οποίοι με βάση την προηγούμενη συμπεριφορά του χρήστη κατασκευάζουν ένα γράφημα συμπεριφοράς για αυτόν, το οποίο χρησιμοποιούν στη συνέχεια για να εξατομικεύσουν τα αποτελέσματα μιας ερώτησης. Οι αλγόριθμοι αυτοί καλούνται από το χρήστη μέσω του συστήματος εξατομίκευσης για μια ερώτηση και ταξινομούν τα αποτελέσματα της ερώτησης σύμφωνα με την νέα σειρά που υποδεικνύει το γράφημα συμπεριφοράς που έχει κατασκευαστεί για τον συγκεκριμένο χρήστη. Στη συνέχεια δίνονται αναλυτικά παραδείγματα λειτουργίας για κάθε αλγόριθμο, που αποδεικνύουν τους θεωρητικούς υπολογισμούς. Τέλος παρατίθενται βασικά κομμάτια του κώδικα που δημιουργήθηκε για την υλοποίηση του συστήματος εξατομίκευσης. Πλέγας Ιωάννης 3

ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΛΗΨΗ 3 ΠΕΡΙΕΧΟΜΕΝΑ 4 1. Εισαγωγή 6 2. Μηχανές Αναζήτησης στον Ιστό 9 2.1. Ιστορία 9 2.2. Τεχνικές και Δυνατότητες 10 3. Google 15 3.1. Εισαγωγή 15 3.2. Χαρακτηριστικά του Συστήματος 16 3.3. Ανατομία του Συστήματος 17 3.4. Καταγράφοντας τον Ιστό 20 3.5. Αναζήτηση 21 4. Μια Αρχιτεκτονική Κατανόησης των Μηχανών για την Βελτιστοποίηση των Μηχανών Αναζήτησης του Ιστού 23 4.1. Εισαγωγή 23 4.2. LASER 23 5. Μηχανές Μετά-Δεδομένων 26 5.1. Εισαγωγή 26 5.2. Ανάκτηση Βασικών Πληροφοριών 30 5.3. Τμήματα Μηχανών Μετά-Αναζήτησης 33 6. Μετά-μηχανή Αναζήτησης : SavvySearch 38 6.1. Το σύστημα μετά-αναζήτησής: Αναζήτηση Savvy 38 7. Letizia : Ένας πράκτορας που βοηθά την πλοήγηση στον Ιστό 42 7.1. Εισαγωγή 42 7.2. Πλοήγηση παρεμβολής λευκών σελίδων με την αυτοματοποιημένη αναζήτηση 42 7.3. Διαμόρφωση της διαδικασίας πλοήγησης του χρήστη 43 7.4. Συμπεράσματα από τη συμπεριφορά πλοήγησης του χρήστη 44 7.5. Ένα παράδειγμα 45 7.6. Εμμονή ενδιαφέροντος 47 8. Σύστημα για τον αυτόματο εξατομικευμένο εντοπισμό επιστημονικής βιβλιογραφίας στον Ιστό 48 8.1. Περιγραφή 48 9. Ανάκτηση πληροφοριών από Κατανεμημένα Υπερκείμενα 50 Πλέγας Ιωάννης 4

9.1. Εισαγωγή 50 9.2. Ο αλγόριθμος αναζήτησης fish 52 9.3. Ο αλγόριθμος αναζήτησης shark 53 10. Ενισχυμένη κατηγοριοποίηση υπερκειμένου χρησιμοποιώντας υπερσυνδέσεις 55 10.1. Εισαγωγή 55 11. PageRank με χρήση κατηγοριών(θεματικών ενοτήτων) 59 12. Εξατομικευμένη Αναζήτηση στον Ιστό με την αντιστοίχηση των ερωτημάτων των χρηστών σε κατηγορίες 60 12.1. Εισαγωγή 60 13. Αρχιτεκτονική Συστήματος Εξατομίκευσης 62 13.1. Πειραματική Διαδικασία 62 13.2. Περιγραφή του Συστήματος Εξατομίκευσης 63 14. Αλγόριθμοι Εξατομίκευσης 64 14.1. Υπόβαθρο 64 15. Αλγόριθμος βασισμένος στις ακμές του γράφου 65 15.1. Υπολογισμός των βαρών των ακμών 68 15.2. Παράδειγμα εμπέδωσης της θεωρίας 70 15.3. Παράδειγμα Λειτουργίας 1 74 15.4. Παράδειγμα Λειτουργίας 2 81 16. Αλγόριθμος Πρόσθεσης Εικονικών Κόμβων 89 16.1. Παράδειγμα Λειτουργίας 90 17. Εκτεταμένος Αλγόριθμος Πρόσθεσης Εικονικών Κόμβων 101 17.1. Παράδειγμα Λειτουργίας 103 18. Παραρτήματα 115 18.1. Παράρτημα Α 115 18.2. Παράρτημα Β 129 19. Βιβλιογραφία 148 Πλέγας Ιωάννης 5

1. Εισαγωγή Στην εργασία μας προωθούμε την ιδέα, της δημιουργίας ενός γράφου κατηγοριών για κάθε χρήστη. Θα ασχοληθούμε με έννοιες όπως την εξατομικευμένη αναζήτηση στον Ιστό και την κατηγοριοποίηση αυτών των αποτελεσμάτων. Η αναζήτηση στον Ιστό, παράλληλα με την τεράστια αύξηση του Παγκόσμιου Ιστού, είναι μια εκτενώς μελετημένη περιοχή. Πολλές τεχνικές αναζήτησης έχουν παρουσιαστεί [1,2] με πολλές παραλλαγές, κάποιες από τις οποίες παρατίθενται στο Κεφάλαιο 2. Δυο από τις πιο εμπεριστατωμένες και θεωρητικά θεμελιωμένες είναι αυτές στα [3,4] που περιγράφονται στο Κεφάλαιο 3. Στην περιοχή των μηχανών αναζήτησης (Google και Yahoo), σε κάθε ιστοσελίδα αντιστοιχίζεται μια κατηγορία. Σύμφωνα με το [5] που περιγράφεται στο Κεφάλαιο 4 αυτή η κατηγοριοποίηση διευκολύνει τις αναζητήσεις αφού οι περισσότεροι χρήστες έχουν μια προδιάθεση να ακολουθήσουν σελίδες με υψηλή βαθμολογία ακόμα και αν είναι μη σχετικές με το θέμα της αναζήτησης. Ομαδοποίηση των αποτελεσμάτων σε κατηγορίες παρέχεται στο WiseNut 1, Adutopia 2 και Vivisimo 3. Το Teoma 4 επίσης ομαδοποιεί τα αποτελέσματά της αναζήτησης και παρέχει μια ανάλυση του ερωτήματος. Περιβάλλοντα που χρησιμοποιούν μετά-αναζητήσεις υλοποιούν στρατηγικές που αντιστοιχίζουν ερωτήματα των χρηστών σε συλλογές αποτελεσμάτων [6,7], όπως αναλύεται στα Κεφάλαια 5 και 6. Σε παρόμοιες εργασίες, τα προφίλ των χρηστών δημιουργούνται είτε κατά τη διάρκεια της χρήσης είτε σε περιβάλλοντα αναζήτησης όπως το Letizia[8] και το CiteSeer[9], που περιγράφονται στα Κεφάλαια 7 και 8 αντίστοιχα. Τα προφίλ αυτά βοηθούν τον χρήστη προτείνοντάς του αποτελέσματα σύμφωνα με την προηγούμενη συμπεριφορά του (σελίδες που έχει ήδη πλοηγηθεί). Και τα δυο συστήματα διαφέρουν από την δική μας προσέγγιση, αφού είναι συστήματα φιλτραρίσματος πληροφοριών και όχι συστήματα αναζήτησης πληροφοριών. Το σύστημα Letizia αναλύει την συμπεριφορά του χρήστη και προσπαθεί να προβλέψει τα αντικείμενα που θα θέλει να επιλέξει ο χρήστης, αντιστοιχίζοντάς τα με αυτά που έχει ήδη διαλέξει. Δηλαδή από την τρέχουσα θέση που βρίσκεται αναζητά τους πιθανούς συνδέσμους που θα επιλέξει ο χρήστης. Το σύστημα χρησιμοποιεί ένα σύνολο από στοιχεία για να μοντελοποιήσει την μελλοντική συμπεριφορά του χρήστη, αντιμετωπίζοντας μια σελίδα(έγγραφο) σαν μια λίστα από λέξεις κλειδιά. Το CiteSeer βασίζεται σε ένα σύνολο από διαφορετικές αναπαραστάσεις της αντίληψης του χρήστη για ένα ενδιαφέρον έγγραφο. Ένα νέο έγγραφο θεωρείται σχετικό(ενδιαφέρον) αν ικανοποιεί τις απαιτήσεις όλων των αναπαραστάσεων. Το CiteSeer προσπαθεί να κατανοήσει την αντίληψη της σχετικότητας ανάμεσα σε δυο διαφορετικά έγγραφα που έχει ένας χρήστης, αναγνωρίζοντας τα χαρακτηριστικά του εγγράφου που αντιστοιχούν σε σημαντική εννοιολογική πληροφορία, και δημιουργώντας συναρτήσεις μέτρησης αυτών των χαρακτηριστικών. Το CiteSeer διαχειρίζεται αυτές τις εργασίες χρησιμοποιώντας το μοντέλο διανυσματικού χώρου, την TF-IDF(Term Frequency Inverted Document Frequency) ανάθεση βαρών και διάφορες άλλες μετρικές. 1 Wisenut http://www.wisenut.com/. 2 Adutopia http://www.adutopia.com/. 3 Vivisimo http://www.vivisimo.com/. 4 Teoma http://www.teoma.com/. Πλέγας Ιωάννης 6

Η στοχευμένη πλοήγηση στις σελίδες(focused crawling) είναι μια άλλη τεχνική για το φιλτράρισμα μη σχετικών εγγράφων. Οι στοχευμένοι σαρωτές (crawlers)[10,11,12,13,14,15] που περιγράφονται στα Κεφάλαια 9 και 10 παραβλέπουν κομμάτια του γράφου του Ιστού και συγκεντρώνονται μόνο στα έγγραφα που θεωρούνται σχετικά σύμφωνα με μια προκαθορισμένη ιεραρχία κατηγοριών. Η σχετικότητα επιτυγχάνεται χρησιμοποιώντας στρατηγικές κατηγοριοποίησης κειμένου. Από αυτές τις δουλειές, ειδική προσοχή πρέπει να δοθεί στα [11,10,14], αφού κάποιες από τις ιδέες αυτές χρησιμοποιούνται στις τεχνικές για την κατασκευή σαρωτών-φορτωτών προσανατολισμένων σε θεματικές κατηγορίες. Στο [11] παρουσιάζεται ένας στοχευμένος σαρωτής που μπορεί επιλεκτικά να διαλέξει σελίδες(έγγραφα) που είναι σχετικές με ένα προκαθορισμένο σύνολο θεμάτων. Αυτά τα θέματα δεν καθορίζονται χρησιμοποιώντας λέξεις κλειδιά, αλλά χρησιμοποιώντας υποδειγματικά έγγραφα που εντοπίζονται σε μια θεματική ταξινόμηση. Ο σαρωτής καθοδηγείται από δυο προγραμματιστικά εργαλεία : έναν ταξινομητή(classifier) που μαθαίνει να αναγνωρίζει την σχετικότητα των εγγράφων με σεβασμό στην θεματική τους ενότητα, προωθώντας τα παραδείγματα που παρέχει, και έναν διαχωριστή(distiller) που καθορίζει ποιες σελίδες του Ιστού μας δίνουν πρόσβαση σε μεγάλο αριθμό σελίδων ακολουθώντας λίγους συνδέσμους. Η ανθρώπινη είσοδος παρέχεται είτε σαν συγκεκριμένοι θεματικά κόμβοι σε μια κανονική ταξινόμηση(όπως το Yahoo και το Open Directory Project), ή σαν σύνολο από διευθύνσεις σελίδων οι οποίες θα χρησιμοποιηθούν σαν αρχικές σελίδες για την αναζήτηση. Η προτεινόμενη κατασκευή αναλύεται στο [13], όπου η βασική ιδέα είναι να χρησιμοποιήσουμε δυο(αντί για ένα) ταξινομητές : έναν συνηθισμένο ταξινομητή σαν γραμμή αναφοράς και έναν νέο, ο οποίος θα υπολογίζει την σχετικότητα μιας σελίδας ως προς ένα σύνολο θεμάτων, χρησιμοποιώντας DOM χαρακτηριστικά σε σελίδες που συνδέονται με αυτόν. Πειράματα έχουν δείξει την ανωτερότητα αυτής της τεχνικής. Στο [10] η ιδέα της χρήσης του περιεχομένου στο οποίο βρίσκουμε την πληροφορία που θέλουμε εξερευνάται. Ο προτεινόμενος σαρωτής εκμεταλλεύεται την ικανότητα των μηχανών αναζήτησης να επιστρέφουν σελίδες που συνδέονται με ένα έγγραφο, οι οποίες βρίσκονται έως μια συγκεκριμένη απόσταση από το αρχικό έγγραφο. Αυτή η αναπαράσταση χρησιμοποιείται στην συνέχεια για την καθοδήγηση ενός συνόλου ταξινομητών(classifiers), για να εντοπίσουν και να αναθέσουν έγγραφα σε διαφορετικές κατηγορίες βασιζόμενοι στην αναμενόμενη απόσταση του εγγράφου από το αρχικό έγγραφο. Κατά τη διάρκεια της πλοήγησης στις σελίδες οι ταξινομητές εκτιμούν πόσο κοντά στο έγγραφο στόχος(αρχικό) είναι το έγγραφο που ανακτήσαμε. Η εργασία μας είναι αρκετά σχετική με την προσαρμοσμένη και εξατομικευμένη αναζήτηση. Ένα σημαντικό βήμα προς τα μπροστά σε αυτήν την περιοχή ήταν η εργασία του Haveliwala [16] η οποία παρουσιάζει το Topic-Sensitive PageRank(Βαθμολόγηση των σελίδων με βάση την κατηγορία (θεματική ενότητα) που ανήκουν) και περιγράφεται στο Κεφάλαιο 11. Το Topic-Sensitive PageRank είναι μια μέθοδος να υπολογίσεις το PageRank σύμφωνα με τις κατηγορίες. Οι συγγραφείς υπολογίζουν το Topic-Sensitive PageRank με το να προ-υπολογίσουν διάφορους παράγοντες που βασίζονται σε ένα σύνολο από αντιπροσωπευτικές κατηγορίες που παράγονται επιλέγοντας τις υψηλότερες κατηγορίες από το Open Directory Project. Η ιδέα κλειδί για την δημιουργία αυτών των topic-sensitive PageRank είναι ότι οι υπολογισμοί μπορούν να προσανατολιστούν σε συγκεκριμένες κατηγορίες σελίδων, δημιουργώντας μη ομοιόμορφα εξατομικευμένα διανύσματα. Κατά τη διάρκεια της ερώτησης, αυτές οι σημασιολογικές τιμές συνδυάζονται μαζί με την θεματική ενότητα του ερωτήματος για να σχηματίσουν μια σύνθετη τιμή PageRank για τις σελίδες που ταιριάζουν στη ερώτηση. Αυτές οι αντιπροσωπευτικές Πλέγας Ιωάννης 7

κατηγορίες υπολογίζονται είτε χρησιμοποιώντας την κατηγορία των λέξεων κλειδιά του ερωτήματος, είτε χρησιμοποιώντας την κατηγορία του περιεχομένου του ερωτήματος που εκτελέστηκε. Επιπρόσθετα, η ταξινόμηση του ερωτήματος και του περιεχομένου του ερωτήματος υλοποιούνται χρησιμοποιώντας ένα συγκεκριμένο γλωσσικό μοντέλο. Στο [17] προτείνονται αλγόριθμοι για την δημιουργία «προσωπικά προσαρμοσμένων εγγράφων» για να ταιριάζουν καλύτερα στις επιλογές του χρήστη, ακολουθώντας τις αρχές του αλγόριθμου HITS του Kleinberg[18]. Οι προτεινόμενες τεχνικές είναι παρόμοιες με την τεχνική της ανατροφοδότησης σχετικών εγγράφων, αλλά αντί να χειρίζονται το ερώτημα για να ελέγξουν την σχετικότητα των εγγράφων που ανακτήθηκαν, χειρίζονται τον πίνακα βαρών των συνδέσμων. Οι συγγραφείς χρησιμοποιούν μια εκλεπτυσμένη προσέγγιση στην οποία αντί να βασίζονται στην επεκτάσιμη ενεργοποίηση για την απευθείας ανάθεση της σχετικότητας, εκτελούν μια κλιμακωτή προσαρμογή στα βάρη του συνδέσμου για να προσεγγίσουν το βασικό διάνυσμα ιδιοτιμών που έχουν τα έγγραφα της ερώτησης. Επιπρόσθετα, ένα σύνολο από εκτεταμένα πειράματα παρουσιάζονται, που δείχνουν ότι χρησιμοποιώντας μόνο ένα μικρό σύνολο από την προηγούμενη συμπεριφορά του χρήστη, η προτεινόμενη διαδικασία μπορεί να βελτιώσει σημαντικά την βαθμολόγηση των συνδέσεων, κάνοντάς τα να είναι προσαρμοσμένα με τις ανθρώπινες προτιμήσεις. Ο Liu et al[19] επίσης πρότειναν μια τεχνική για την αντιστοίχηση των ερωτημάτων χρηστών με κατηγορίες, με σκοπό να διευθύνουν την διαδικασία αναζήτησης. Συγκεκριμένα, προτείνονται τεχνικές για να μοντελοποιήσουν και να συλλέξουν το ιστορικό αναζήτησης και ένα γενικό προφίλ που προκύπτει από την ιεραρχία του Open Directory Project. Βασιζόμενοι σε αυτές τις τεχνικές, διαλέγονται κατάλληλες κατηγορίες για κάθε ερώτημα του χρήστη. Μιλώντας με τεχνικούς όρους, ένα προφίλ χρήστη εκφράζεται σαν ένα σύνολο κατηγοριών, με κάθε κατηγορία να περιέχει ένα σύνολο από όρους(λέξεις κλειδιά) με βάρη. Κάθε κατηγορία αντιπροσωπεύει ένα ενδιαφέρον του χρήστη σε αυτήν την κατηγορία, ενώ το βάρος ενός όρου σε μια κατηγορία αντανακλά την συχνότητα εμφάνισης του όρου, αναπαριστώντας το ενδιαφέρον του χρήστη στην κατηγορία. Η τεχνική τους αποκομίζει πληροφορία για το ιστορικό αναζητήσεων του χρήστη κατασκευάζοντας ένα προφίλ χρήστη(rocchio). Επίσης παράγουν γενικά προφίλ βασισμένα στο ODP(ιεραρχία από κατηγορίες) και συνδυάζουν και τα δύο προφίλ που δημιουργούνται για να εμπλουτίσουν τα αποτελέσματα της αναζήτησης. Τέλος, μια άλλη σχετική τεχνική που χρησιμοποιεί σαν είσοδο την συμπεριφορά του χρήστη για να προσαρμόσει τα αποτελέσματα παρουσιάζεται στο [20] και περιγράφεται στο Κεφάλαιο 12. Σε αυτή την εργασία, το προτεινόμενο σύστημα ρυθμίζει το ιστορικό πλοήγησης του χρήστη και ανανεώνει το προφίλ όταν αλλάζουν οι σελίδες πλοήγησης. Το προφίλ του χρήστη καθοδηγείται με το να συμβουλεύεται είτε το ιστορικό πλοήγησης, είτε μια τροποποιημένη έκδοση της τεχνικής του συνεργατικού φιλτραρίσματος. Το ιστορικό πλοήγησης χρησιμοποιείται για να κατασκευαστεί το προφίλ του χρήστη, κάνοντας την παραδοχή ότι οι προτιμήσεις κάθε χρήστη αποτελούνται από τα ακόλουθα : (1) συνεχής(μεγάλων όρων) προτιμήσεις, και (2) προσωρινές(μικρών όρων) προτιμήσεις. Από δω και στο εξής, δυο διανύσματα προτιμήσεων δημιουργούνται χρησιμοποιώντας την συχνότητα των όρων και τα αντίστοιχα βάρη. Από την άλλη μεριά, στην τεχνική συνεργατικού φιλτραρίσματος, ένα υποσύνολο χρηστών διαλέγεται με βάση την σχετικότητά του με τον ενεργό χρήστη και στη συνέχεια ένας ζυγισμένος συνδυασμός των τιμών τους χρησιμοποιείται για να παρέχει χαρακτηριστικά του ενεργού χρήστη. Οι συγγραφείς παρουσιάζουν δυο μεθόδους συνεργατικού φιλτραρίσματος : (i) η δημιουργία του προφίλ του χρήστη βασίζεται σε Πλέγας Ιωάννης 8

στατικό αριθμό χρηστών, και (ii) η δημιουργία του προφίλ του χρήστη βασίζεται σε δυναμικό αριθμό χρηστών. Στην συνέχεια στο Κεφάλαιο 13 περιγράφεται το σύστημα Εξατομίκευσης που κατασκευάσαμε και αναλύεται η λειτουργία του. Στο Κεφάλαιο 14 εισάγεται η έννοια των αλγορίθμων εξατομίκευσης και δίνεται ένα σύντομο θεωρητικό υπόβαθρο για αυτούς(βασίζεται στο [87]). Στα Κεφάλαια 15, 16 και 17 δίνονται οι τρεις αλγόριθμοι που υλοποιήσαμε. Στο Κεφάλαιο 15 περιγράφεται αναλυτικά ο αλγόριθμος που βασίζεται στις ακμές του γραφήματος και δίνονται επίσης δυο παραδείγματα λειτουργίας. Στο Κεφάλαιο 16 περιγράφεται συνοπτικά ο αλγόριθμος πρόσθεσης εικονικών κόμβων[87] και δίνεται επίσης ένα παράδειγμα λειτουργίας. Στο Κεφάλαιο 17 περιγράφεται ο εκτεταμένος αλγόριθμος πρόσθεσης εικονικών κόμβων και δίνεται επίσης ένα παράδειγμα λειτουργίας. Τέλος στο Κεφάλαιο 18 δίνονται βασικά κομμάτια κώδικα της εφαρμογής μας. 2. Μηχανές Αναζήτησης στον Ιστό Αρχικά, γίνεται μια σύντομη αναφορά στην ιστορία του Ιστού. Το 1980, ο Tim Berners-Lee στο Cern έγραψε ένα πρόγραμμα που χρησιμοποιούσε αμφίδρομες συνδέσεις για να πλοηγηθεί σε έγγραφα με διαφορετικές κατηγορίες. Το 1990, ο Berners-Lee σχεδίασε ένα γραφικό περιβάλλον εργασίας υπερκειμένου, που το ονόμασε «World Wide Web». Το 1993, το CERN ανέπτυξε τις τρεις βασικές αρχές του σημερινού Ιστού : τις HTML γλώσσες, το http(hypertext transfer protocol) πρωτόκολλο, και τον http εξυπηρετητή. To Mosaic, δημιουργήθηκε από τον Mark Anderson και ήταν ο πρώτος φυλλομετρητή Ιστού. Λανσαρίστηκε τον Φεβρουάριο του 1993, ενώ αργότερα έγινε Netscape. Μια αρχειοθέτηση του Ιστού(10 δισεκατομμύρια σελίδες) υπάρχει στο «www.archive.org». 2.1. Ιστορία Οι πρώτες εκδόσεις των μηχανών αναζήτησης, ήταν για αναζήτηση σε ftp και σε καταλόγους. Το 1994 ήταν μια χρονιά που λανσαρίστηκε ένας σημαντικός αριθμός από μηχανές αναζήτησης. Τον Ιανουάριο του 1994, η MCC Research παρουσίασε το EINet Galaxy 5, ο οποίος ήταν ένας οργανωμένος με το χέρι κατάλογος από URL με δυνατότητες αναζήτησης σε Telnet και Gopher, και περιορισμένα δυνατότητες αναζήτησης στον Ιστό. Τον Απρίλιο του 1994, δημιουργήθηκε ο κατάλογος του Yahoo! από τον David Filo και τον Jerry Yang, δυο PhD φοιτητές. Σκοπός τους ήταν να βοηθήσουν τους φοιτητές του Stanford να εντοπίσουν χρήσιμες σελίδες του Ιστού. Το Yahoo δημιουργήθηκε με το χέρι και διατηρήθηκε ιεραρχικά οργανωμένο σε κατηγορίες μέχρι τον Οκτώβρη του 2002. Τότε ξεκίνησε να ενσωματώνει τις βασισμένες στους σαρωτές δομές δεικτοδότησης του Google, που εμπλουτίστηκαν με τους καταλόγους του Yahoo. Το Yahoo 6 έγινε εταιρεία το 1995. Επίσης στις αρχές του 1994, ανακοινώθηκε ο WebCrawler από το Πανεπιστήμιο της Ουάσιγκτον. Το διακριτικό χαρακτηριστικό του WebCrawler ήταν το πλήρως δεικτοδοτημένο κείμενο(των πρώτων 200 λέξεων σε κάθε έγγραφο). Τον Ιούνιο του 1994, 5 www.galaxy.com. 6 www.yahoo.com. Πλέγας Ιωάννης 9

ανακοινώθηκε το Lycos από το Πανεπιστήμιο Carnegie Mellon. Η μηχανή αναζήτησης του Lycos υποστηρίζεται από την HotBot από το 1999. Στα τέλη του 1995, ανακοινώθηκε η μηχανή αναζήτησης AltaVista(τώρα κάνει αναζήτηση σε πάνω από 1 δισεκατομμύριο σελίδες) από την Digital Equipment Corporation, η οποία εκτελείται σε συστοιχίες σταθμών εργασίας Alpha και με δεικτοδότηση της Κύριας Μνήμης. Η Inktomi (τώρα κάνει αναζήτηση σε πάνω από 2 δισεκατομμύρια σελίδες), που υποστηρίζεται από την HotBot(αγοράστηκε από την Lycos και μετά από το Yahoo), λανσαρίστηκε το 1996. Άλλη μια επίσης σημαντική μηχανή αναζήτησης, το Google 7 (τώρα κάνει αναζήτηση σε πάνω από 3 δισεκατομμύρια σελίδες) λανσαρίστηκε τον Σεπτέμβριο του 1998 από τον Sergey Brin και τον Larry Page, δυο phd φοιτητές του Stanford. Μέχρι το 2000, η κάλυψη του Google έφτανε το 50% του Ιστού, με ρυθμούς ανανέωσης των σελίδων αναζήτησης, μια φορά κάθε μήνα. Πλέον το Google και το Yahoo ελέγχει το 30% των αναζητήσεων στον Ιστό. Τα τελευταία πέντε χρόνια, χιλιάδες μηχανές αναζήτησης δημιουργήθηκαν, πολλές από τις οποίες υποστηρίζονται από τις μηχανές που αναφέραμε παραπάνω ενώ άλλες χρησιμοποιούν τους δικούς τους καταλόγους. Η μηχανή αναζήτησης Watch 8 χρησιμοποιεί σε εννιά κατηγορίες, περισσότερες από χίλιες μηχανές αναζήτησης. Η μηχανή αναζήτησης Colossus[21] απαριθμεί μηχανές αναζήτησης από 195 χώρες και 39 περιφέρειες(με 18 παροχείς αναζήτησης από την Τουρκία). Η μηχανή αναζήτησης Watch χρησιμοποιεί σαν βασικές μηχανές αναζήτησης [22] το Google, το Yahoo, το AllTheWeb.com και το MSN. Από το 1996, τρία χρόνια μετά το λανσάρισμα των μηχανών αναζήτησης στον Ιστό, θεωρήθηκε ότι χρησιμοποιώντας ένα μεγάλο αριθμό από μηχανές αναζήτησης για ένα ερώτημα και μετά συναθροίζοντας τα αποτελέσματα τους, παίρνονται πιο χρήσιμες πληροφορίες. Συνεπώς ο συμβολισμός των μηχανών μετά-αναζήτησης ή μετά-σάρωσης ήρθαν στο προσκήνιο. Υπάρχουν επίσης μεγάλος αριθμός από εξειδικευμένες μηχανές αναζήτησης, όπως εκείνες που βρίσκουν ανθρώπους 9, πανεπιστήμια 10, δημοσιεύσεις (CiteSeer), κτλ. Μια λίστα από αυτές υπάρχει στο «http://cui.unige.ch/1». 2.2. Τεχνικές και Δυνατότητες Οι απαιτήσεις για τις μηχανές αναζήτησης στον Ιστό είναι (α) να εντοπίζουν και να βαθμολογούν έγγραφα στον Ιστό αποδοτικά και αποτελεσματικά, (β) να παρέχουν μη επεξεργασμένη και ενημερωμένη πρόσβαση στον Ιστό, με αντιπροσωπευτικά και χρήσιμα αποτελέσματα αναζήτησης, (γ) να προσαρμόζονται αυτά τα αποτελέσματα στα ερωτήματα των χρηστών. Οι μηχανές αναζήτησης, μπορούν να ταξινομηθούν σύμφωνα με τον τρόπο που δεικτοδοτούν(κατηγοριοποιούν) τον Ιστό : (1) αυτοί που χρησιμοποιούν τη σάρωση του Ιστού, και την αυτόματη δημιουργία λιστών στον Ιστό όπως το Google, (2) αυτούς που διατηρούν χειροκίνητα καταλόγους, όπως το Yahoo(μέχρι πρόσφατα) διαχωρίζοντας την πληροφορία που παρέχεται για τις σελίδες του Ιστού σε 7 www.google.com. 8 http://searchenginewatch.com/links/index.php. 9 www.whowhere.com. 10 www.campusregistry.com. Πλέγας Ιωάννης 10

κατηγορίες χειροκίνητα, και (3) εκείνες που χρησιμοποιούν και τα δύο: υβριδικές μηχανές αναζήτησης που διατηρούν με το χέρι δημιουργημένους καταλόγους και δημιουργημένους από σαρωτές κατηγοριοποιήσεις(δείκτες). Μια μηχανή αναζήτησης αποτελείται από τρία βασικά μέρη : έναν Σαρωτή- Φορτωτή, έναν λογισμικό δεικτοδότησης, και ένα λογισμικό αναζήτησης και βαθμολόγησης. Ο Σαρωτής σαρώνει έγγραφα του Ιστού και συλλέγει πληροφορίες για αυτά. Το λογισμικό δεικτοδότησης χρησιμοποιείται για τη δημιουργία μιας δομής δεδομένων που να γίνονται εύκολα αναζητήσεις. Το λογισμικό αναζήτησης και βαθμολόγησης χρησιμοποιείται για την ανάλυση ενός δοσμένου ερωτήματος, και την σύγκριση με υπάρχοντες δείκτες για την εύρεση σχετικών αντικειμένων και URL. 2.2.1 Σάρωση(Crawling) Οι Σαρωτές - Φορτωτές διαπερνούν τον Ιστό ξεκινώντας από ένα δοσμένο σύνολο από URL, και επαναληπτικά σαρώνουν νέα URL, αποθηκεύοντας τα σαν «URL που θα αποτιμηθούν». Η κατασκευή ενός βασικού σαρωτή είναι εύκολη, η κατασκευή όμως ενός βιομηχανικού μήκους σαρωτή δεν είναι. Οι σαρωτές που κατασκευάζονται για ερευνητικούς σκοπούς φτάνουν σε εκατοντάδες σελίδες το δευτερόλεπτο, οι εμπορικοί σαρωτές είναι πολύ πιο κλιμακωτοί και φτάνουν σε εκατοντάδες χιλιάδες σελίδες το δευτερόλεπτο. Λεπτομέρειες για τους εμπορικούς σαρωτές δεν είναι διαθέσιμες. Παρόλα αυτά, βασικοί σχεδιαστικοί κανόνες δείχνουν ότι φτάνουν σε σχετικές σελίδες, περιέχοντας έναν πολύ ισχυρό διαχειριστή αποθήκευσης και έναν αναλυτή σχετικών σελίδων. Αποφεύγουν το «spider spam», και εντοπίζουν τις διπλές σελίδες/url. Περισσότερες λεπτομέρειες περιέχονται στο Κεφάλαιο 2 του βιβλίου του Chakrabarti [23]. Οι σύνδεσμοι που εξάγονται από τις σελίδες του Ιστού πρέπει να επεξεργαστούν και να κανονικοποιηθούν έτσι ώστε οι σελίδες να μην προσπελαύνονται πολλές φορές. Αυτό είναι μια δύσκολη εργασία λόγω του εικονικού εξυπηρετητή(virtual hosting) και των πολλαπλών ονομάτων εξυπηρετητών που αντιστοιχούν σε πολλαπλές IP διευθύνσεις. Τα εξαγόμενα URL μπορεί να είναι απόλυτα ή σχετικά, και ένα κανονικό URL πρέπει να μορφοποιηθεί από τον σαρωτή για να μπορεί να χρησιμοποιηθεί. Οι απλοί σαρωτές πρέπει να ελέγξουν τον αριθμό των αιτήσεων εξυπηρέτησης για κάθε http εξυπηρετητή κάθε στιγμή, ενώ οι εμπορικοί εξυπηρετητές έχουν ασφάλεια και περιορίζουν τις υπηρεσίες τους σε οποιοδήποτε πελάτη σε ένα συγκεκριμένο χρονικό διάστημα. Ένας διαχειριστής αποθήκευσης διαχειρίζεται τη βάση ενός σαρωτή. Περιέχει HTML σελίδες και πολύ γρήγορα γίνεται πολύ μεγάλη. Για ερευνητικούς σκοπούς, απλοί διαχειριστές αποθήκευσης παρέχονται δωρεάν 11 και αποθηκεύουν σε ένα μεγάλο δίσκο. Οι εμπορικού μήκους διαχειριστές αποθήκευσης διαχειρίζονται σύνολα δίσκων σε ένα μεγάλο τοπικό δίκτυο και είναι πολύ πιο πολύπλοκοι στην κατασκευή. Η ανανέωση των σελίδων που προσπελαύνονται είναι ένα άλλο θέμα για τους μεγάλους σαρωτές. Στο [24] περιέχονται πληροφορίες για τον σχεδιασμό ενός δυναμικά αυξανόμενου σαρωτή. 11 www.sleepycat.com. Πλέγας Ιωάννης 11

2.2.2 Μοντελοποίηση Εγγράφων και Γλώσσα Ερωτημάτων Η προ-επεξεργασία των μηχανών αναζήτησης στα έγγραφα(συνήθως οι πρώτες 100 με 200 λέξεις), απομακρύνει ή αντικαθιστά λέξεις κλειδιά, και επίσης αντικαθιστά τα έγγραφα και τις λέξεις με αναγνωριστές. Στη συνέχεια, οι διάφορες δομές δεικτοδότησης και οι τεχνικές συμπίεσης δεικτών εφαρμόζονται στα προεπεξεργασμένα έγγραφα. Όσον αφορά την μοντελοποίηση των εγγράφων(με σκοπό την σύγκρισή τους), το πιο συνηθισμένο μοντέλο είναι μοντέλο διανυσματικού χώρου από την Ανάκτηση Πληροφορίας(IR). Χρησιμοποιώντας ένα λεξικό(όρους που εμφανίζονται σε όλα τα έγγραφα), ένα έγγραφο αναπαρίσταται σαν ένα διάνυσμα από πραγματικούς αριθμούς, όπου κάθε στοιχείο του διανύσματος περιέχει το βάρος ενός όρου, που συνήθως μετριέται χρησιμοποιώντας το Term Frequency-Inverse Document Frequency(TF-IDF) σχήμα για τα βάρη[25]. Οι περισσότερες μηχανές αναζήτησης στον Ιστό επιτρέπουν «Λογικά Ερωτήματα»(από την IR) που είναι συνενώσεις ή διαμερίσεις λέξεων και φράσεων. Μια τέτοια γλώσσα, σε σχέση με τις υπάρχουσες γλώσσες ερωτημάτων, είναι πολύ περιορισμένη σε εκφραστικές δυνατότητες, και δεν υιοθετείται από τους χρήστες. Ο μέσος όρος των αιτήσεων των μηχανών αναζήτησης είναι 1.3 μήκος λέξεων. 2.2.3 Σχετικότητα Ανάκτησης Για να κριθεί η σχετικότητα(σε σχέση με την ακρίβεια και την ανάκληση, δυο βασικές μετρικές από την IR) μιας σελίδας του Ιστού σε σχέση με ένα ερώτημα(σύνολο από όρους), το ερώτημα και όλα τα υπάρχοντα έγγραφα (έγγραφα που έχουν ήδη ανακτηθεί από τον σαρωτή) αναπαρίστανται σαν διανύσματα εγγράφων που χρησιμοποιούν το σχήμα TF-IDF. Στη συνέχεια, το θέμα της ομοιότητας ενός ερωτήματος και μιας σελίδας του Ιστού, ανάγεται στην ομοιότητα ανάμεσα στα διανύσματα τους(πάντα στην L1 ή στην L2 Ευκλείδεια μετρική). Το πιο συνηθισμένο μέτρο ομοιότητας για αυτό το σκοπό είναι η ομοιότητα του συνημίτονου, που υπολογίζει το συνημίτονο της γωνίας μεταξύ δυο διανυσμάτων. Στην περίπτωση που οι χρήστες δεν ικανοποιούνται με την απάντηση μιας μηχανής αναζήτησης και επιδιώκουν να παρέχουν ανατροφοδότηση στην μηχανή αναζήτησης για την βελτίωση της αναζήτησης, μοντέλα σχετικής ανατροφοδότησης αναπτύσσονται, που περιέχουν την μέθοδο Rocchio και την ψευδό-σχετική ανατροφοδότηση [23]. Πιο ανεπτυγμένα μοντέλα συμπεριλαμβάνουν μοντέλα πιθανοτικής σχετικής ανατροφοδότησης ή Bayesian συμπερασματικά δίκτυα. Οι χρήστες σπάνια παρέχουν ανατροφοδότηση, και οι περισσότερες μηχανές αναζήτησης δεν περιλαμβάνουν χαρακτηριστικά σχετικής ανατροφοδότησης. 2.2.4 Ανάλυση Υπερσυνδέσεων Στην ανάκτηση στον Ιστό, η πληροφορία που συνδέει τις σελίδες του Ιστού φαίνεται να περιέχουν περισσότερες πληροφορίες από τις IR-βασισμένες ομοιότητες των εγγράφων. Για να χρησιμοποιηθεί η πληροφορία αυτή που συνδέει τις σελίδες, ασχολούμαστε με το Bibliometrics, ένα τομέα που μελετά την εξαγωγή δειγμάτων Πλέγας Ιωάννης 12

επιστημονικών εργασιών : (i) prestige ενός άρθρου είναι ένας πραγματικός, κανονικοποιημένος αριθμός που αναπαριστά τον αριθμό των εξαγόμενων συνδέσεων σε αυτό, και επαναληπτικά, σε εκείνα που αναφέρονται σε αυτό, και (ii) co-citation ανάμεσα σε δυο έγγραφα(ο αριθμός των εγγράφων που αναφέρονται τα δυο έγγραφα, κανονικοποιημένα από τον συνολικό αριθμό εγγράφων). Το PageRank και ο HITS(hyperlink induced topic search) είναι δυο πολύ σημαντικοί αλγόριθμοι για την βαθμολόγηση σελίδων, που αναπτύχθηκαν στις αρχές του 1996, από τον Sergey Brin και τον Larry Page στο Stanford 12 [26], και τον Jon Kleinberg στο IBM Almanden[27]. Το PageRank μιας σελίδας είναι ένα κανονικοποιημένο άθροισμα των prestiges των σελίδων που συνδέονται με αυτήν. Στην ουσία, ο ορισμός του PageRank βασίζεται στην διαίσθηση ότι μια σελίδα έχει υψηλή βαθμολόγηση(σημαντική) αν το άθροισμα των βαθμών των εισερχόμενων συνδέσεων, αναδρομικά, είναι υψηλή [26]. Ο υπολογισμός του PageRank συγκλίνει πολύ γρήγορα για τον Ιστό. Στο HITS, πρώτα, ένα σύνολο από έγγραφα επιλέγονται από τον Ιστό χρησιμοποιώντας το ερώτημα του χρήστη και, πιθανώς, τεχνικές IR. Κάποιος μπορεί να δει τα επιλεγμένα έγγραφα σαν κόμβους και τις συνδέσεις ανάμεσα τους σαν ακμές, οδηγώντας σε έναν υπό-γράφημα του Ιστού. Σε αυτό το υπό-γράφημα, οι authoritative σελίδες είναι οι κόμβοι/σελίδες στις οποίες πολλές σελίδες έχουν συνδέσμους προς αυτές(απευθείας ακμές),και hub σελίδες είναι κόμβοι με πολλούς συνδέσμους(εξερχόμενες ακμές) σε authoritative σελίδες, και το σύστημα αναφέρει τις υψηλότερες βαθμολογημένες authorities και hubs στο επιλεγμένο σύνολο εγγράφων. Διαισθητικά, στο Bibliometrics, τα authorities είναι άρθρα με περιεκτική και υψηλής ποιότητας πληροφορία, και τα hubs είναι υψηλής ποιότητας ερευνητικά άρθρα. Το PageRank και ο HITS είναι παρόμοια στο ότι είναι και τα δυο επαναληπτικά, και συμπεριλαμβάνουν τον υπολογισμό των ιδιοτιμών των γειτονικών πινάκων ενός υπό-γραφήματος του Ιστού. Είναι γνωστό ότι η χρησιμοποίηση τέτοιων πληροφοριών στην ανάκτηση οδηγεί σε υψηλότερη αποτελεσματικότητα ανάκτησης, όπως φαίνεται και στο Google[28]. Πρέπει να τονιστεί ότι το Google είναι κάτι παραπάνω από ένα μηχανισμό PageRank. Περιλαμβάνει το ταίριασμα φράσεων, δεικτοδότηση του κειμένου, και το στενότερο ταίριασμα. Το βασικό κριτήριο του PageRank[23] είναι ότι οι τιμές των prestige είναι ανεξάρτητες του ερωτήματος, οδηγώντας σε μια αγνόηση της πληροφορίας ανάμεσα στην βαθμολόγηση και στην δοσμένη ερώτηση. Πολλαπλές στοχαστικές παράμετροι των PageRank και HITS ερευνώνται στην βιβλιογραφία, π.χ. ο SALSA [29]. Ο πιο σταθερός HITS αλγόριθμος [30], απαλείφει τις επιδράσεις των αυτό-αναφορικών συνδέσμων [31], απαλείφει τις επιδράσεις των αυτό-δημιουργημένων κλικών[23] και εξάγει το κείμενο των συνδέσμων[32]. 2.2.5 Εστιασμένος Σαρωτής Γενικού σκοπού Σαρωτές κάνουν προσπάθεια να προσπελάσουν μόνο σελίδες που ικανοποιούν συγκεκριμένα κριτήρια. Είναι σημαντική η προσπέλαση σελίδων που είναι πιθανόν να έχουν υψηλή σημασία, όπου η σημασία ορίζεται σαν τιμές 12 Google History, at http://www.google.com/corporate/history.html. Πλέγας Ιωάννης 13

PageRank, ή υψηλές τιμές εισερχομένων/εξερχομένων σελίδων, ή οποιαδήποτε άλλη ορισμένη από τον χρήστη συνάρτηση. Ο Cho et al[2424] μελετά πολλαπλές προτεραιότητες URL και στρατηγικές αναζήτησης στον Ιστό μέσω λέξεων κλειδιά. Επίσης βρέθηκε [33] ότι η κατά πλάτος προσπέλαση γρήγορα εντοπίζει σελίδες με υψηλό PageRank. Άλλες προτεινόμενες IR μεθόδους είναι η FineSearch [34] και η SharkSearch[35]. Οι εστιασμένοι σαρωτές είναι συστήματα με ένα σαρωτή και ένα σύστημα ταξινομητή(classifier), όπου ο σαρωτής βασίζει την στρατηγική του στις επιλογές του ταξινομητή. Συνήθως ένας εποπτεύον ταξινομητής εκπαιδεύεται εκ των προτέρων και ανανεώνεται όσο σαρώνονται νέα έγγραφα. Συμπερασματικά, οι εστιασμένοι σαρωτές ψάχνουν μόνο ένα υποσύνολο του Ιστού που αναφέρονται σε μια συγκεκριμένη θεματική ενότητα. Ένας αριθμός από εστιασμένους σαρωτές προτείνεται στην βιβλιογραφία [36,24,37]. Πλέγας Ιωάννης 14

3. Google Σε αυτό το κεφάλαιο, παρουσιάζεται το πρωτότυπο του Google, που κάνει βαθειά χρήση της δομής που παρουσιάζεται στο υπερκείμενο(hypertext). Το Google σχεδιάσθηκε για να προσπελάσει και να δεικτοδοτήσει τον Ιστό αποτελεσματικά και να παράγει περισσότερο ικανοποιητικά αποτελέσματα σε σχέση με τα υπάρχοντα συστήματα. Το πρωτότυπο, περιείχε ένα πλήρως κείμενο και μια βάση υπερσυνδέσεων με τουλάχιστον 24 εκατομμύρια σελίδες. Το να σχεδιάσεις μια μηχανή αναζήτησης είναι μια ενδιαφέρον εργασία. Το περιεχόμενο των μηχανών αναζήτησης τείνει σε εκατοντάδες εκατομμύρια σελίδες συμπεριλαμβάνοντας ένα συγκρίσιμο αριθμό από ξεχωριστούς όρους. Απαντούν εκατομμύρια ερωτήματα κάθε μέρα. Παρά την μεγάλη σημασία των μεγάλης κλίμακας μηχανών αναζήτησης στον Ιστό, πολύ μικρή ακαδημαϊκή έρευνα έχει γίνει πάνω σε αυτές. Επιπρόσθετα, λόγω της μεγάλης ανάπτυξης της τεχνολογίας και της εξάπλωσης του Ιστού, ή δημιουργία μιας μηχανής αναζήτησης σήμερα είναι πολύ διαφορετική, από ότι ήταν πριν τρία χρόνια. Εδώ παρέχεται μια σε βάθος περιγραφή της μεγάλης κλίμακας μηχανής αναζήτησης. Εκτός από τα προβλήματα των παραδοσιακών τεχνικών αναζήτησης, υπάρχουν νέες τεχνικές προκλήσεις που προσθέτουν την επιπλέον πληροφορία του υπερκειμένου(hypertext) για να δώσουν καλύτερα αποτελέσματα. Εδώ περιγράφεται πώς ένα μεγάλης κλίμακας σύστημα μπορεί να εξάγει την επιπλέον πληροφορία που παρέχεται στο υπερκείμενο. Επίσης αναλύεται το πρόβλημα του πώς να χρησιμοποιηθούν αποτελεσματικά οι μη ελεγχόμενες δομές δεικτοδότησης υπερκειμένου όπου οποιοσδήποτε μπορεί να δημοσιεύσει οτιδήποτε θέλει. 3.1. Εισαγωγή Ο Ιστός δημιουργεί νέες προκλήσεις για την ανάκτηση πληροφορίας. Η ποσότητα πληροφορίας στον Ιστό αναπτύσσεται ταχύτατα, καθώς αυξάνεται ο αριθμός των νέων μη έμπειρων χρηστών στο πεδίο της έρευνας στον Ιστό. Οι άνθρωποι συνήθως πλοηγούνται στον Ιστό χρησιμοποιώντας τις συνδέσεις, ξεκινώντας από μια σελίδα με πάρα πολλούς ποιοτικούς δείκτες, όπως είναι το Yahoo!, ή από μια μηχανή αναζήτησης. Οι άνθρωποι διατηρούν λίστες που καλύπτουν αποτελεσματικά και δημοφιλή θέματα αν και είναι υποκειμενικά. Επίσης είναι ακριβά να κατασκευαστούν και να συντηρηθούν, αργά να βελτιωθούν, και δεν μπορούν να καλύψουν όλα τα εσωτερικά θέματα. Οι αυτοματοποιημένες μηχανές αναζήτησης που βασίζονται στο ταίριασμα με λέξεις κλειδιά συχνά επιστρέφουν πάρα πολλά χαμηλής ποιότητας ταιριάσματα. Για να κάνουν τα πράγματα χειρότερα, μερικοί εκδότες προσπαθούν να κερδίσουν την προσοχή των ανθρώπων παίρνοντας μέτρα για να αποπλανούν τις μηχανές αναζήτησης. Έχει κατασκευαστεί μια μεγάλης κλίμακας μηχανή αναζήτησης που αντιμετωπίζει πολλά από τα προβλήματα που υπάρχουν. Κάνει συγκεκριμένα βαθειά χρήση της επιπρόσθετης δομής που παρουσιάζεται στο υπερκείμενο(hypertext )για να παρέχει πολύ μεγάλης ποιότητας αποτελέσματα αναζήτησης. Έχουν διαλέξει το όνομα του συστήματός να είναι Google, επειδή είναι ο συνηθισμένος συλλαβισμός του googol, ή του 10100 και ταιριάζει καλά με τον στόχο της κατασκευής μιας πολύ μεγάλης κλίμακας μηχανής αναζήτησης. Πλέγας Ιωάννης 15

3.2. Χαρακτηριστικά του Συστήματος Η μηχανή αναζήτησης του Google έχει δυο σημαντικά χαρακτηριστικά που την βοηθάει να παράγει υψηλής ακρίβειας αποτελέσματα. Αρχικά, κάνει χρήση της δομής των συνδέσεων στον Ιστό για να υπολογίσει μια ποιοτική βαθμολογία για κάθε σελίδα του Ιστού. Αυτή η βαθμολογία καλείται PageRank. Δεύτερον, το Google κάνει χρήση των συνδέσμων για να βελτιώσει τα αποτελέσματα της αναζήτησης. 3.2.1 PageRank: Βάζοντας Σειρά στον Ιστό Το γράφημα του Ιστού είναι μια σημαντική πηγή πληροφοριών που έχει μείνει αχρησιμοποίητη από τις υπάρχουσες μηχανές αναζήτησης. Έχουν δημιουργηθεί χάρτες που περιέχουν περίπου 518 εκατομμύρια από αυτές τις υπερσυνδέσεις, ένα σημαντικό κομμάτι σε σχέση με το συνολικό. Αυτοί οι χάρτες επιτρέπουν ταχύτατους υπολογισμούς του PageRank μιας σελίδας, ένα αντικειμενικό μέτρο για την σημασία μιας σελίδας, που αντιστοιχεί σε καλό βαθμό με την σημασία που αποδίδουν οι άνθρωποι σε αυτήν. Λόγω αυτής της αντιστοιχίας, το Pagerank είναι ένας εξαιρετικός τρόπος να δίνεται προτεραιότητα στα αποτελέσματα της αναζήτησης με λέξεις κλειδιά. Για ποιο δημοφιλή θέματα, ένα απλό ταίριασμα λέξεων που περιορίζεται στους τίτλους των Ιστοσελίδων λειτουργεί θαυμάσια όταν το PageRank δίνει προτεραιότητα στα αποτελέσματα(demo διατίθεται στο google.stanford.edu). Για τον τύπο των αναζητήσεων πλήρους κειμένου στο κυρίως σύστημα του Google, το PageRank επίσης βοηθάει πολύ. 3.2.2 Το Κείμενο των Υπερσυνδέσεων Η μηχανή αναζήτησης μεταχειρίζεται το κείμενο των συνδέσεων με ειδικό τρόπο. Οι περισσότερες μηχανές αναζήτησης συσχετίζουν το κείμενο μιας σύνδεσης με την σελίδα που βρίσκεται η σύνδεση. Επιπρόσθετα, την συσχετίζει με την σελίδα που δείχνει η σύνδεση. Αυτό έχει πολλαπλά πλεονεκτήματα. Πρώτον, τα κείμενα των συνδέσεων παρέχουν ακριβείς περιγραφές των σελίδων του Ιστού από ότι οι σελίδες οι ίδιες. Δεύτερον, μπορεί να υπάρχουν έγγραφα που δεν μπορούν να δεικτοδοτηθούν από μηχανές αναζήτησης βασισμένες στο κείμενο, όπως είναι οι εικόνες, τα προγράμματα και οι βάσεις δεδομένων. Αυτό κάνει δυνατή την επιστροφή σελίδων που δεν έχουν πραγματικά προσπελαστεί από τον σαρωτή. Προσέξτε, γιατί σελίδες που δεν έχουν προσπελαστεί από τον σαρωτή μπορεί να προκαλέσουν προβλήματα, αφού δεν έχουν ελεγχθεί ποτέ για εγκυρότητα πριν επιστραφούν στον χρήστη. Σε αυτήν την περίπτωση, η μηχανή αναζήτησης μπορεί να επιστρέψει μια σελίδα που δεν υπήρξε ποτέ, αλλά υπήρχαν υπερσυνδέσεις που δείχναν σε αυτήν. Όμως, είναι πιθανόν να ταξινομήσεις τα αποτελέσματα έτσι ώστε το συγκεκριμένο πρόβλημα να συμβαίνει σπάνια. Αυτή η ιδέα της διάδοσης του κειμένου των συνδέσεων στη σελίδα που αναφέρεται, υλοποιήθηκε στο World Wide Web Worm, επειδή βοήθησε στην αναζήτηση πληροφορίας που δεν ήταν κείμενο, και επεκτείνει την κάλυψη της αναζήτησης φορτώνοντας λιγότερα έγγραφα. Χρησιμοποιείται η διάδοση του κειμένου περισσότερο επειδή το κείμενο των συνδέσεων μπορεί να βοηθήσει έτσι ώστε παραχθούν καλύτερης ποιότητας αποτελέσματα. Η αποδοτική χρησιμοποίηση των συνδέσεων του κειμένου είναι τεχνικά δύσκολο λόγω των μεγάλων ποσών δεδομένων που πρέπει να επεξεργαστούν. Τώρα σε κάθε προσπέλαση των 24 Πλέγας Ιωάννης 16

εκατομμυρίων σελίδων, υπάρχουν πάνω από 259 εκατομμύρια κείμενα συνδέσεων που καταγράφονται(δεικτοδοτούνται). 3.2.3 Άλλα Χαρακτηριστικά Εκτός από το PageRank και την χρήση του κειμένου των συνδέσεων, το Google έχει πολλαπλά άλλα χαρακτηριστικά. πρώτον, αποθηκεύει όλες τις αναζητήσεις και κάνει εκτεταμένη χρήση της εγγύτητας στην αναζήτηση. Δεύτερον, το Google κρατάει ίχνη κάποιων χαρακτηριστικών μορφοποίησης όπως είναι το μέγεθος των γραμμάτων των λέξεων. Οι λέξεις με ένα μεγαλύτερο ή ένα πιο έντονο φόντο σταθμίζονται υψηλότερα από άλλες λέξεις. Τρίτον, υπάρχει αποθηκευμένη η HTML των σελίδων, πλήρως ανεπεξέργαστη. 3.3. Ανατομία του Συστήματος Πρώτον παρέχεται μια υψηλού επιπέδου συζήτηση της αρχιτεκτονικής., στην συνέχεια, παρατίθενται μερικές σε βάθος περιγραφές σημαντικών δομών δεδομένων. Τέλος, παρατίθεται η βασική εφαρμογή : το crawling(σάρωση), το indexing(δεικτοδότηση-κατηγοριοποίηση), και το searching(αναζήτηση) που θα εξεταστούν σε βάθος. 3.3.1 Περίληψη της Αρχιτεκτονικής του Google Σε αυτό το κεφάλαιο, θα δοθεί μια υψηλού επιπέδου περιγραφή του πώς το σύστημα λειτουργεί και εμφανίζεται στο Σχήμα 1. Πλέγας Ιωάννης 17

Σχήμα 1.Υψηλού επιπέδου περιγραφή της αρχιτεκτονικής του Google Το μεγαλύτερο κομμάτι του Google είναι υλοποιημένο σε C ή C++ για λόγους απόδοσης και μπορεί να τρέξει είτε σε Solaris είτε σε Linux. Στο Google, η φόρτωση των σελίδων(web crawling) γίνεται από πολλούς κατανεμημένους σαρωτές. Υπάρχει ένας εξυπηρετητής URL που στέλνει λίστες από URL που πρέπει να φορτωθούν από τους σαρωτές. Οι σελίδες του Ιστού που φορτώνονται, στέλνονται στην συνέχεια σε ένα εξυπηρετητή αποθήκευσης. Ο εξυπηρετητής αυτός στην συνέχεια συμπιέζει και αποθηκεύει τις σελίδες σε μια αποθήκη δεδομένων. Κάθε σελίδα του Ιστού έχει ένα αριθμό ID που συσχετίζεται με αυτήν, καλείται docid και ανατίθεται όταν ένα νέο URL προσπελαύνεται. Η συνάρτηση καταγραφής(δεικτοδότησης) υλοποιείται από τον indexer(δεικτοδοτητής - κατηγοριοποιητή) και τον sorter(ταξινομητή). Ο Indexer εκτελεί ένα σύνολο από συναρτήσεις. Διαβάζει την αποθήκη δεδομένων, αποσυμπιέζει τα έγγραφα, και τα προσπελαύνει. Κάθε έγγραφο μετατρέπεται σε ένα σύνολο εμφανίσεων λέξεων που καλούνται hits. Τα hits καταγράφουν την λέξη, την θέση στο έγγραφο, μια προσέγγιση του μεγέθους του φόντου, και το αν είναι κεφαλαία ή όχι. Ο indexer κατανέμει αυτά τα hits σε ένα σύνολο από «barrels», δημιουργώντας μια μερικά ταξινομημένη προς τα εμπρός δεικτοδότηση. Ο indexer εκτελεί άλλη μια σημαντική συνάρτηση. Προσπελαύνει όλες τις συνδέσεις σε κάθε σελίδα και αποθηκεύει σημαντικές πληροφορίες για αυτές σε ένα αρχείο καταγραφής του κειμένου των συνδέσεων. Αυτό το αρχείο περιέχει αρκετές πληροφορίες για να προσδιορίσει για κάθε σύνδεση, το που βρίσκεται, το που δείχνει και το κείμενο της σύνδεσης. O URLresolver διαβάζει τα αρχεία καταγραφής του κειμένου των Πλέγας Ιωάννης 18

συνδέσεων και μετατρέπει τα σχετικά URL σε απόλυτα URL, μετατρέποντας τα σε docid. Βάζει το κείμενο της σύνδεσης στην εμπρός δεικτοδότηση, σε σχέση με το docid που η σύνδεση δείχνει. Επίσης δημιουργεί μια βάση δεδομένων από συνδέσεις που είναι ζευγάρια από docid. Η βάση δεδομένων των συνδέσεων χρησιμοποιείται για να υπολογιστούν τα PageRank για όλα τα έγγραφα. Ο sorter παίρνει τα barrels, που είναι ταξινομημένα με βάση το docid, και τα κατατάσσει με βάση το WordID για να δημιουργήσει την ανεστραμμένη δεικτοδότηση. Αυτό γίνεται με τέτοιο τρόπο έτσι ώστε να χρειάζεται λίγος χώρος για να γίνει αυτή η συνάρτηση. Ο sorter επίσης παράγει μια λίστα από WordID και offsets μέσα στην ανεστραμμένη δεικτοδότηση. Ένα πρόγραμμα, που καλείται DumpLexicon, παίρνει την λίστα αυτή μαζί με το λεξικό που παράγεται από τον indexer και παράγει ένα νέο λεξικό για να χρησιμοποιηθεί από τον searcher. Ο searcher εκτελείται από ένα εξυπηρετητή του Ιστού και χρησιμοποιεί το λεξικό που φτιάχτηκε από το DumpLexicon μαζί με την ανεστραμμένη δεικτοδότηση και τα PageRank για να απαντήσει στα ερωτήματα. 3.3.2 Βασικές Δομές Δεδομένων Οι δομές δεδομένων του Google βελτιστοποιούνται έτσι ώστε μια μεγάλη συλλογή εγγράφων να μπορεί να προσπελαστεί, να δεικτοδοτηθεί, και να ψαχτεί με μικρό κόστος. Παρόλο που οι ρυθμοί των CPU και των ακατέργαστων εισόδων και εξόδων έχουν βελτιωθεί υπερβολικά τα τελευταία χρόνια, μια αναζήτηση στον δίσκο ακόμα απαιτεί περίπου ΙΟ ms να ολοκληρωθεί. Το Google έχει σχεδιαστεί για να αποφεύγει τις αναζητήσεις στον δίσκο όταν αυτό είναι δυνατό, και αυτό έχει σημαντική επιρροή στην σχεδίαση των δομών δεδομένων. Μεγάλα Αρχεία. Τα μεγάλα αρχεία είναι εικονικά αρχεία που συνδέουν πολλαπλά συστήματα αρχείων και διευθυνσιοδοτούνται από 64 bit ακεραίους. Αποθήκη Δεδομένων Η αποθήκη δεδομένων περιέχει τον κώδικα HTML κάθε ιστοσελίδας(σχήμα 2). Αποθήκη Δεδομένων : 53,5 GB = 147,8 GB μη συμπιεσμένα sync length compressed packet sync length compressed packet Πακέτο(αποθηκεύεται συμπιεσμένο στην βάση δεδομένων) docid ecode urllen pagelen page Σχήμα 2. Δομή Δεδομένων της Αποθήκης Δεδομένων Η Καταγραφή των Εγγράφων Η καταγραφή των εγγράφων διατηρεί πληροφορίες για κάθε έγγραφο. Η πληροφορία που αποθηκεύεται σε κάθε καταχώρηση περιλαμβάνει την τρέχουσα κατάσταση του εγγράφου. ένα δείκτη στην βάση(αποθήκη) δεδομένων, και διάφορα στατιστικά. Πλέγας Ιωάννης 19

Λεξικό Το λεξικό(σχήμα 3) έχει πολλές διαφορετικές μορφές. Το τρέχον λεξικό περιέχει 14 εκατομμύρια λέξεις(αφού μερικές σπάνιες λέξεις δεν προστίθενται στο λεξικό). Έχει υλοποιηθεί σε δυο μέρη, μια λίστα από λέξεις και ένα πίνακα από δείκτες. Λίστες Εμφανίσεων Μια λίστα εμφανίσεων αντιστοιχεί σε μια λίστα από εμφανίσεις μιας συγκεκριμένης λέξης σε ένα συγκεκριμένο έγγραφο συμπεριλαμβάνοντας την θέση της, το φόντο της και το αν βρίσκεται στην επικεφαλίδα. Προς τα Εμπρός Καταγραφή Η προς τα εμπρός καταγραφή(σχήμα 3) είναι ήδη μερικώς ταξινομημένη. Αποθηκεύεται σε ένα αριθμό από βαρέλια(barrels)(συγκεκριμένα 24). Ανεπεξέργαστο Κείμενο : Μορφοποιημένο Κείμενο : Κείμενο Συνδέσεων : Hit: 2 bytes cap : 1 imp : 3 position: 12 cap : 1 imp = 7 type: 4 position: 8 cap : 1 imp = 7 type: 4 hash: 4 pos: 4 Εμπρός Βαρέλια(Barrels) : Συνολικά 43 GB docid wordid: 24 nhits: 8 hit hit hit hit wordid: 24 nhits: 8 hit hit hit hit null wordid docid wordid: 24 nhits: 8 hit hit hit hit wordid: 24 nhits: 8 hit hit hit hit wordid: 24 nhits: 8 hit hit hit hit null wordid Λεξικό: 293 MB Αντιστραμμένα Βαρέλια wordid ndocs n docid: 27 nhits: 5 hit hit hit hit wordid ndocs docid: 27 nhits: 5 hit hit hit wordid ndocs docid: 27 nhits: 5 hit hit hit hit docid: 27 nhits: 5 hit hit Σχήμα 3. Εμπρός και Αντιστραμμένοι Δείκτες, και το Λεξικό 3.4. Καταγράφοντας τον Ιστό Προσπέλαση Κάθε φορτωτής που σχεδιάσθηκε να εκτελείται σε όλο τον Ιστό πρέπει να διαχειρίζεται μια μεγάλη λίστα από πιθανά λάθη. Αυτά ποικίλουν από ορισμούς HTML, μη ASCII χαρακτήρες, και μια μεγάλη ποικιλία από άλλα λάθη. Για μέγιστη απόδοση, αντί να χρησιμοποιηθεί το YACC για να κατασκευάσει έναν CFG Πλέγας Ιωάννης 20

φορτωτή, χρησιμοποείται το Flex για να κατασκευάσει έναν λεκτικό αναλυτή που είναι εφοδιασμένος με τον δικό του σωρό. Ταξινόμηση Για να δημιουργήσει την ανεστραμμένη δεικτοδότηση, ο ταξινομητής ταξινομεί κάθε ένα από τα βαρέλια με βάση το wordid για να παράγει ένα αντιστραμμένο βαρέλι για τους τίτλους και τα κείμενα των συνδέσμων και ένα αντιστραμμένο βαρέλι για το πλήρες κείμενο. 3.5. Αναζήτηση Ο στόχος της αναζήτησης είναι να παρέχει ποιοτικά αποτελέσματα αναζήτησης με αποδοτικό τρόπο. Πολλές από τις μεγάλες εμπορικές μηχανές αναζήτησης φαίνεται να έχουν κάνει μεγάλη πρόοδο, όσον αφορά την απόδοση. Για το λόγω αυτό, έχουν εστιάσει περισσότερο στην ποιότητα της αναζήτησης στην έρευνά τους. Η διαδικασία αποτίμησης ενός ερωτήματος στο Google, φαίνεται στο Σχήμα 4. Σχήμα 4. Αποτελέσματα ενός ερωτήματος στο Google Για να βάλει ένα όριο στον χρόνο απόκρισης, όταν βρεθεί ένας συγκεκριμένος αριθμός (ο τρέχον αριθμός είναι 40000) από έγγραφα, το πρόγραμμα της αναζήτησης κάνει αυτόματα αυτή τη διαδικασία. Αυτό σημαίνει ότι είναι πιθανό θα επιστραφούν και κάποια όχι τόσο καλά αποτελέσματα. Ερευνώνται τρόποι για να λυθεί αυτό το πρόβλημα. Στο παρελθόν, ταξινομούνταν οι εμφανίσεις με βάση το PageRank, που βελτίωνε αυτή την περίπτωση. Πλέγας Ιωάννης 21

Τέλος το Google σχεδιάσθηκε σαν μια κλιμακωτή μηχανή αναζήτησης. Ο βασικός στόχος είναι να παρέχει υψηλής ποιότητας αποτελέσματα σε ένα ταχύτατα αναπτυσσόμενο Παγκόσμιο Ιστό. Το Google χρησιμοποιεί έναν αριθμό από τεχνικές για την βελτίωση της ποιότητας των αποτελεσμάτων αναζήτησης. Επιπλέον, το Google είναι μια ολοκληρωμένη αρχιτεκτονική για την προσκόμιση ιστοσελίδων, την καταγραφή τους, και την εκτέλεση ερωτημάτων αναζήτησης πάνω σε αυτά. Πλέγας Ιωάννης 22

4. Μια Αρχιτεκτονική Κατανόησης των Μηχανών για την Βελτιστοποίηση των Μηχανών Αναζήτησης του Ιστού Συστήματα καταγραφής του παγκόσμιου Ιστού, όπως το Lycos και η AltaVista, παίζουν σημαντικό ρόλο στο να κάνουν τον Ιστό χρήσιμο και εύχρηστο. Αυτά τα συστήματα βασίζονται σε μεθόδους Ανάκτησης Πληροφορίας για την καταγραφή του κειμένου των σελίδων, και επίσης περιλαμβάνουν τεχνικές για την προσαρμογή των τιμών του εγγράφου με βάση την ειδική HTML δομή των εγγράφων του Ιστού. Παρακάτω περιγράφεται ένας μεγάλος αριθμός από τέτοιες τεχνικές. 4.1. Εισαγωγή Η Lycos, η AltaVista, και παρόμοιες μηχανές αναζήτησης έχουν γίνει απαραίτητες σαν εργαλεία για τον εντοπισμό πληροφοριών στον ταχέως αναπτυσσόμενο Παγκόσμιο Ιστό. Αυτά τα συστήματα είναι στατιστικές μέθοδοι για την καταγραφή του απλού κειμένου των εγγράφων. Όμως, το ακατέργαστο κομμάτι του Ιστού αποτελείται από HTML(HyperText Markup Language) έγγραφα, που έχουν δυο ειδών δομές που δεν παρουσιάζονται στα γενικά έγγραφα κειμένου : (1) Έχουν μια εσωτερική δομή που αποτελείται από κομμάτια κειμένου που περιέχονται σε μετά-γλωσσικές ετικέτες (markup). Η HTML καθορίζει ένα σύνολο από ρόλους που μπορούν να ανατεθούν στο κείμενο ενός εγγράφου. Κάποιοι από αυτούς τους ρόλους σχετίζονται με την μορφοποίηση, όπως είναι ο καθορισμός του έντονου και του πλάγιου κειμένου. Άλλες έχουν πιο πλούσιες σημασιολογικές πληροφορίες, όπως οι επικεφαλίδες και το κείμενο των συνδέσμων προς άλλα έγγραφα. (2) Επίσης διαθέτουν μια εξωτερική δομή. Σαν ένας κόμβος σε ένα υπερκείμενο, μια HTML σελίδα σχετίζεται με μεγάλο αριθμό από άλλες σελίδες, μέσω και των υπερσυνδέσεων που περιέχουν και των υπερσυνδέσεων που δείχνουν σε αυτή από άλλες σελίδες. Επειδή οι HTML σελίδες είναι πιο δομημένες από το γενικό κείμενο, οι μηχανές αναζήτησης περιλαμβάνουν παραδοσιακές μεθόδους καταγραφής με στοιχεία που λαμβάνουν υπόψη τη δομή αυτή. Παρακάτω περιγράφεται ένα σύστημα καταγραφής του Ιστού, το LASER. 4.2. LASER To LASER(Learning Architecture for Search Engine), είναι ένα σύστημα σχεδιασμένο να ερευνήσει την εφαρμογή μεθόδων Κατανόησης των Μηχανών για την καταγραφή των ιστοσελίδων. Από την οπτική γωνία του χρήστη, η λειτουργικότητα του LASER είναι πανομοιότυπη με αυτή των δημοφιλών μηχανών αναζήτησης. Ο χρήστης εισάγει μη δομημένες λέξεις στα ερωτήματα, και το LASER ταιριάζει με βάση το περιεχόμενο των σελίδων, και επιστρέφει τις περιλήψεις και τους συνδέσμους των 60 σελίδων που ταιριάζουν καλύτερα στο ερώτημα. Από αυτή τη σελίδα αποτελεσμάτων, ο χρήστης μπορεί να πλοηγηθεί σε οποιαδήποτε από αυτές τις σελίδες ή να εισάγει ένα νέο ερώτημα. Πλέγας Ιωάννης 23

Η συνάρτηση ανάκτησης του LASER βασίζεται στο TF-IDF μοντέλο διανυσματικού χώρου(salton 1991). Σε αυτό το μοντέλο, τα έγγραφα και τα ερωτήματα αναπαρίστανται σαν διανύσματα ή πραγματικοί αριθμοί, έναν για κάθε λέξη. Τα έγγραφα και οι ερωτήσεις με παρόμοια δεδομένα μετατρέπονται σε παρόμοια διανύσματα. Το LASER χρησιμοποιεί μια εσωτερική μετρική για να συγκρίνει τα έγγραφα με τα ερωτήματα. Τυπικά, η τιμή μιας λέξης εξαρτάται και από την συχνότητα της στο έγγραφο και την συχνότητα εμφάνισης σε όλη την συλλογή των εγγράφων. Αν μια λέξη βρίσκεται συχνότερα σε ένα έγγραφο και λιγότερο σε όλη τη συλλογή, τότε θεωρείται αξιοπρόσεκτο και τις δίνεται υψηλό σκορ. Στην απλούστερή του μορφή, το TFIDF αναθέτει σε κάθε λέξη ένα ανάλογο σκορ σε σχέση με την συχνότητά του στο έγγραφο(term frequency συχνότητα του όρου) και μια συνάρτηση του αριθμού των εγγράφων που εμφανίζεται ο όρος συνολικά(inverse document frequency(idf) αντίστροφη συχνότητα του εγγράφου). Η συνάρτηση ανάκτησης του LASER, που βασίζεται σε αυτό το μοντέλο, προσφέρει ένα αριθμό από παραμέτρους που επηρεάζουν τις τιμές που παράγει. Οι παράμετροι επηρεάζουν το πώς η συνάρτηση ανάκτησης επιδρά σε λέξεις σε συγκεκριμένα HTML πεδία(όπως οι επικεφαλίδες), πώς οι υπερσυνδέσεις συνεργάζονται, πώς θα προσαρμοστεί για μερικό ταίριασμα λέξεων ή ταίριασμα όρων ερωτημάτων, και άλλα. Υπάρχουν 18 τέτοιοι παράμετροι. Η χρήση μιας συγκεκριμένης παραμέτρου κάνει δυνατή την επιλογή μιας συνάρτησης ανάκτησης από την οικογένεια των συναρτήσεων που προσφέρει το LASER. Με αυτόν τον τρόπο, η συνάρτηση ανάκτησης μπορεί να προσαρμοστεί στα διαφορετικά χαρακτηριστικά των διαφόρων συλλογών εγγράφων και συνόλων χρηστών. 4.2.1 Χρήση HTML Μορφοποίησης στην Ανάκτηση Οι περισσότερες ιστοσελίδες γράφονται σε HTML. Η HTML είναι μια γλώσσα που επιτρέπει στον σχεδιαστή μιας σελίδας να αναθέσει συγκεκριμένα σημασιολογικά στοιχεία σε μέρη του εγγράφου, για τον έλεγχο της δομής του. Ο σχεδιαστής μπορεί να καθορίσει, για παράδειγμα, τον τίτλο ενός εγγράφου, ιεραρχίες από επικεφαλίδες και υπερσυνδέσεις, και μορφοποιήσεις χαρακτήρων όπως είναι η έντονη γραφή. Το LASER κάνει χρήση της δομής της HTML που υπάρχει στα έγγραφα. Για παράδειγμα, μια παράμετρος καθορίζει σε ποια έκταση οι λέξεις στον τίτλο ενός εγγράφου πρέπει να πάρουν πιο μεγάλο βαθμό από ότι οι λέξεις κοντά στο τέλος του εγγράφου. Το LASER έχει παραμέτρους για την βαθμολόγηση των λέξεων στα επόμενα πεδία. : TITLE(Τίτλος) H1, H2, H3 (Επικεφαλίδες) Β (έντονα), Ι (πλάγια) A (υπογράμμιση του κειμένου της σύνδεσης) Οι παράμετροι για αυτές τις HTML ετικέτες είναι απλοί παράγοντες για την μέτρηση της «συχνότητας των όρων» των λέξεων. 4.2.2 Συνεργαζόμενες Συνδέσεις Υπερκειμένου Αντίθετα με τις περισσότερες άλλες συλλογές εγγράφων, οι ιστοσελίδες είναι μέρη ενός γραφήματος υπερκειμένου. Για την ανάκτηση μπορεί να είναι χρήσιμο όχι Πλέγας Ιωάννης 24