Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Ανάκτηση Πληροφορίας Διδάσκων: Φοίβος Μυλωνάς fmylonas@ionio.gr Διάλεξη #14 Αναζήτηση στο Web Φοίβος Μυλωνάς fmylonas@ionio.gr Ανάκτηση Πληροφορίας 1
Άδεια χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. Φοίβος Μυλωνάς fmylonas@ionio.gr Ανάκτηση Πληροφορίας 2
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα Ιονίου Πανεπιστημίου» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. Φοίβος Μυλωνάς fmylonas@ionio.gr Ανάκτηση Πληροφορίας 3
Προβλήµατα Αναζήτησης στο Web Προβλήµατα µε τα δεδοµένα Κατανεµηµένα δεδοµένα Ευµετάβλητα δεδοµένα Πολύ µεγάλο µέγεθος Μη-δοµηµένα δεδοµένα Πλεονάζοντα δεδοµένα Ποιότητα δεδοµένων Ετερογένεια Προβλήµατα των χρηστών Πώς να καθορίσω µια ερώτηση; Πώς να ερµηνεύσω τα αποτελέσµατα Κατάλογοι και Μηχανές Αναζήτησης Κατάλογοι (Directories) Τα sites επιλέγονται από ειδικούς Αναζήτηση στα περιεχόµενα των περιγραφών των σελίδων Οργανωµένοι εκ των προτέρων σε κατηγορίες Μηχανές αναζήτησης (Search Engines) Όλες οι σελίδες σε όλα τα sites Αναζήτηση στα περιεχόµενα των σελίδων Οργανωµένα ανάλογα µε τη σχετικότητα µε ένα query 5
Τυπική Αρχιτεκτονική Μηχανής Αναζήτησης crawl the web Check for duplicates, Store the documents DocIds user query create an inverted index Show results To user Search engine servers Inverte d index Μηχανές Αναζήτησης Συλλογή εγγράφων που θα δεικτοδοτηθούν εικτοδότηση εγγράφων Αναζήτηση Αναπαράσταση της πληροφοριακής ανάγκης του χρήστη µε ένα query ιαδικασία ανάκτησης (αλγόριθµοι αναζήτησης, ranking ιστοσελίδων) ιαχείριση εγγράφων και queries Παρουσίαση των αποτελεσµάτων Εικονική συλλογή (τα έγγραφα δεν χρησιµοποιούνται µετά τη δεικτοδότηση) vs. Φυσική συλλογή (τα έγγραφα διατηρούνται µετά την δεικτοδότηση) 6
Συλλογή Εγγράφων Crawling the web Crawler Robot, spider, wanderer, walker, knowbot, web search agent Πρόγραµµα που διασχίζει το web και βρίσκει νέες ή ενηµερωµένες σελίδες για δεικτοδότηση Τρέχει σε τοπικό server και στέλνει requests σε αποµακρυσµένους servers Crawling the Web ιαδικασία crawling Ξεκίνα µα ένα σύνολο από URLs Που έχουν υποδειχθεί από χρήστες ή εταιρείες ηµοφιλή URLs Αναζήτηση σε πλάτος ή σε βάθος µε βάση τα hyperlinks Εξαγωγή περισσότερων URLs Έλεγχος µέχρι 10 εκ. σελίδων ανά ηµέρα Πολλαπλοί crawlers Ένας crawler ανά web partition Πρόβληµα πλεονασµού 7
Crawling the Web Σελίδες που δεν έχουν υποδειχθεί χρειάζονται έως και 2 µήνες για να δεικτοδοτηθούν Οι δηµοφιλής σελίδες (που έχουν πολλά links προς αυτές) επισκέπτονται από crawlers πιο συχνά Λάθος links: 2-9% Οδηγίες προς τους crawlers Ένα αρχείο που τοποθετείται στο root ενός web server (norobots.txt) είχνει ποιες σελίδες δεν πρέπει να δεικτοδοτηθούν Αποφεύγεται η υπερφόρτωση των servers/sites εικτοδότηση Εγγράφων Παραλλαγή των ανεστραµµένων αρχείων Ανάλυση των meta tags stop words removal + stemming εδοµένα θέσης (για αναζήτηση φράσεων) Στάθµιση όρων tfidf Υποβάθµιση µεγάλων σε µήκος URLs Αναβάθµιση όρων που εµφανίζονται στην κορυφή των εγγράφων ή όρων µε έµφαση Χρήση τεχνικών de-spamming Πληροφορία από hyperlinks Ένδειξη για το πόσο δηµοφιλής είναι η σελίδα Anchor text από την πηγή του link 8
Χρήση των Hypelinks Hyperlink: αναπαριστά µία σχέση µεταξύ των συνδεδεµένων σελίδων Είναι η βασική διαφορά των βασικών αλγορίθµων IR και των αλγορίθµων IR για το διαδίκτυο Τα hyperlinks µπορούν να χρησιµοποιηθούν από spammers για να αποπροσανατολίσουν µια µηχανή αναζήτησης Χρήση του Αnchor Τext Παρέχει ακριβέστερη και περιεκτική πληροφορία για τη σελίδα από την ίδια τη σελίδα (πιθανώς) περιέχει πιο σηµαντικούς όρους από την ίδια τη σελίδα Χρησιµοποιήθηκε πρώτη φορά από το WWW Worm το 1994 Έγινε δηµοφιλής µε το Google Αναπαράσταση εικόνων, προγραµµάτων, 9
Αλγόριθµοι Ranking PageRank (Google): Προσοµοίωση µιας τυχαίας περιπλάνησης στο web και υπολογισµός του score µιας σελίδας ανάλογα µε την πιθανότητα να συναντήσουµε τη σελίδα Ποιότητα σελίδας ανεξάρτητη από το query Καθολική ανάλυση HITS (Hyperlink Induced Topic Search): Εστιάζει σε queries πάνω σε ευρέα θέµατα που είναι πιθανό να απαντηθούν µε πολλές σελίδες Ποιότητα σελίδας εξαρτηµένη από το query Τοπική ανάλυση PageRank: Βασική Ιδέα Σχεδιάστηκε από τους Brin και Page στο Stanford University και χρησιµοποιήθηκε στο Google Βασική ιδέα: Μία σελίδα έχει υψηλή τιµή εφόσον το άθροισµα των τιµών των links που δείχνουν σε αυτή είναι υψηλό in-link µιας σελίδας p: ένα link από µία σελίδα στην p out-link µιας σελίδας p: ένα link από την p σε µιας σελίδα Μία σελίδα µε υψηλή τιµή PageRank αν έχει πολλά in-links ή λίγα αλλά υψηλά in-links Ανάκτηση: υπολογισµός του βαθµού σχετικότητας των κειµένων και τροποποίηση της τιµής λαµβάνοντας υπόψη τις τιµές PageRank 1 0
Μοντελοποίηση PageRank Μοντέλο Τυχαίας Περιπλάνησης (Random Surfer Model): Αρχικά ο surfer βρίσκεται σε µία τυχαία σελίδα Σε κάθε βήµα ο surfer προχωρά Σε µία τυχαία επιλεγµένη σελίδα µε πιθανότητα d (πιθανότητα µεταπήδησης) Σε µία τυχαία επιλεγµένη σελίδα που συνδέεται µε την τρέχουσα σελίδα µε πιθανότητα d-1 (πιθανότητα να ακολουθηθεί ένα link) Τύπος PageRank Η διαδικασία µοντελοποιείται µε µία αλυσίδα Markov Η τιµή PageRank (PR) µιας σελίδας a είναι η πιθανότητα να βρίσκεται ο surfer στη σελίδα a µια καθορισµένη στιγµή PR(a) = Kd + K(1-d) i=1,n PR(a i )/C(a i ) d = τίθεται από το σύστηµα K = παράγοντας κανονικοποίησης a i = σελίδες που δείχνουν στην a C(a i ) = αριθµός των out-links της σελίδας a i 1 1
HITS: Hypertext Induced Topic Search Προτάθηκε από τον Kleinberg, 1997 Αναφέρεται και ως προσέγγιση ανάλυσης συνδετικότητας Queries ευρέων θεµάτων παράγουν µεγάλα σύνολα απαντήσεων Πρόβληµα αφθονίας πάρα πολλά σχετικά κείµενα Χρειάζεται µια νέα µέτρηση της ποιότητας που να ξεχωρίζει τις πιο «αυθεντικές» σελίδες HITS Για συγκεκριµένο θέµα, αναγνωρίζει Αξιόπιστες πηγές Σελίδες που περιέχουν σχετική πληροφορία Καλά hubs Σελίδες που δείχνουν σε χρήσιµες σελίδες (καλές πηγές inks) 1 2
Ιδέα HITS Η αξιοπιστία (authority) µιας σελίδας καθορίζεται από τα in-links Ένα καλό hub καθορίζεται από τα out-links Μεγαλύτερη αξιοπιστία καθορίζεται από τα in-links καλών hubs Ένα καλό hub καθορίζεται από τα out-links σε αξιόπιστες σελίδες Αµοιβαία ενίσχυση µεταξύ hubs και αξιόπιστων σελίδων Μία αξιόπιστη σελίδα θα δείχνεται από links σε πολλά hubs Μία καλή σελίδα hub δείχνει σε πολλές αξιόπιστες σελίδες HITS S το σύνολο των σελίδων που ανακτήθηκαν Μερικές φορές οι k (π.χ. k = 200) κορυφαίες σελίδες T το σύνολο των σελίδων που δείχνουν σε ή δείχνονται από το σύνολο των ανακτηµένων σελίδων S Η ταξινόµηση των σελίδων ανάλογα µε το in_degree (αριθµός των in-links) δεν είναι αποτελεσµατική Σύνολο σελίδων T : Αξιόπιστες σελίδες σχετικές µε το query πρέπει να έχουν µεγάλο in_degree Σηµαντική επικάλυψη των συνόλων των σελίδων που δείχνουν σε αυτές hubs 10
Αλγόριθµος HITS Υπολογισµός των τιµών hub και authority για µια σελίδα µέσω της επαναληπτικής διάδοσης των authority weight και hub weight Αρχικά όλες οι τιµές είναι ίσες µε 1 Authority weight της σελίδας p: x(p) Hub weight της σελίδας p: y(p) Αν η p δείχνεται από πολλές σελίδες µε υψηλές τιµές y, τότε πρέπει να λάβει υψηλή τιµή x x(p) = Σqi p y(qi) Αν η σελίδα p δείχνει σε πολλές σελίδες µε υψηλή τιµή x, τότε πρέπει να λάβει υψηλή τιµή y y(p) = Σp qi x(qi) Μετά από κάθε υπολογισµό (επανάληψη) τα βάρη κανονικοποιούνται Topic distillation Η διαδικασία εύρεσης «ποιοτικών» (authority - hub) σελίδων Web που σχετίζονται µε ένα θέµα, δεδοµένης µιας αρχικής πληροφοριακής ανάγκης του χρήστη Επεκτάσεις του HITS ARC (Automatic Resource Compilation) SALSA, etc. Προβλήµατα του HITS Αµοιβαία ενίσχυση της σχέσης µεταξύ των hosts Αυτόµατα δηµιουργηµένα links Μη-σχετικές υπερ-συνδεδεµένες σελίδες Topic drift: γενίκευση του θέµατος 14
Σύγκριση PageRank µε HITS PageRank Υπολογίζεται για όλες τις σελίδες που είναι αποθηκευµένες στη βάση και πριν από το query Υπολογίζει µόνο authorities Απαιτεί υπολογιστικό κόστος HITS Εκτελείται σε ένα σύνολο ανακτηµένων σελίδων και για κάθε query Υπολογίζει authorities και hubs Είναι εύκολος στον υπολογισµό αλλά η εκτέλεση σε πραγµατικό χρόνο είναι δύσκολη Google Sorted barrels = inverted index Pagerank computed from link structure; combined with IR rank IR rank depends on TF, type of hit, hit proximity, etc. Billion documents Hundred million queries a day AND queries 15
εικτοποίηση στο Google Ο εικτοποιητής (Indexer) µετατρέπει κάθε doc σε µία συλλογή από hit lists και τις βάζει σε «βαρέλια» (barrels), που ταξινοµούνται ως προς το docid. ηµιουργεί επίσης µία βάση από links Hit: <wordid, position in doc, font info, hit type> Hit type: Plain or fancy. Fancy hit: Occurs in URL, title, anchor text, metatag. Βελτιστοποιηµένη αναπαράσταση των hits (2 bytes το καθένα) Ο Ταξινοµητής (Sorter) ταξινοµεί κάθε βαρέλι ως προς το wordid και δηµιουργεί ένα inverted index. ηµιουργεί επίσης ένα αρχείο λεξικού (lexicon file) Lexicon: <wordid, offset into inverted index> Το Lexicon βρίσκεται στην κυρίως µνήµη Google s Inverted Index Κάθε «βαρέλι» περιέχει στοιχεία για ένα εύρος από wordids Lexicon (in-memory) Postings ( Inverted barrels, on disk) wordid #docs wordid #docs wordid #docs Sorted by wordid Sorted by DocID DocID #hits Hit, hit, hit, hit, hit DocID #hits Hit DocID #hits Hit, hit DocID #hits Hit DocID #hits Hit, hit, hit Barrel i Barrel i+1 16
Χρήστες και Web Queries στο web: µέσες τιµές Μέτρηση Μέση τιµή Εύρος Αριθµός λέξεων 2.35 0-393 Αριθµός τελεστών 0.41 0-958 Επανάληψη των queries 3.97 1-1.5 εκατ. Queries ανά user session 2.02 1-173325 Οθόνες ανά query 1.39 1-78496 Χρήστες και Web 80% δεν τροποποιούν το query 85% κοιτούν µόνο την πρώτη οθόνη 64% των queries είναι µοναδικές 25% των χρηστών χρησιµοποιούν απλά keywords (πρόβληµα µε αµφίσηµες και συνώνυµες λέξεις) 10% των queries είναι κενά! 17
Αριθµός Web Servers Χρήση Μηχανών Αναζήτησης Νοέµβριος 2005 18
Εύρος Μηχανών Αναζήτησης Ετερογενής Πληροφορία στο Web 2003 19