1 / 54

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

Ανάκτηση Πληροφορίας. Ανάκτηση Πληροφορίας στον Παγκόσμιο Ιστό ( Web Information Retrieval ). Περιεχόμενα. Παγκόσμιος Ιστός Προκλήσεις Μηχανές αναζήτησης Τεχνικές βαθμολόγησης σελίδων HITS και PageRank Τάσεις. Παγκόσμιος Ιστός ( The Web ).

candie
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ανάκτηση Πληροφορίας Ανάκτηση Πληροφορίας στον Παγκόσμιο Ιστό (Web Information Retrieval)

  2. Περιεχόμενα • Παγκόσμιος Ιστός • Προκλήσεις • Μηχανές αναζήτησης • Τεχνικές βαθμολόγησης σελίδων • HITS και PageRank • Τάσεις Τμήμα Πληροφορικής ΑΠΘ

  3. Παγκόσμιος Ιστός (The Web) Ο Παγκόσμιος Ιστός αποτελεί εφαρμογή του Internet. Χρησιμοποιεί υπερσυνδέσμους (hyperlinks) για πλοήγηση από σελίδα σε σελίδα (όπως και στο hypertext). HTTP πρωτόκολλο. CERN, Tim Berners-Lee, 1990. Ανέπτυξε το Web για την ανταλλαγή αρχείων μέσω Internet. Πηγή: Wikipedia Τμήμα Πληροφορικής ΑΠΘ

  4. Παγκόσμιος Ιστός (The Web) • Ted Nelson, 1965: δημιουργία του hypertext. • Doug Engelbart, τέλη 60: ανακάλυψη του ποντικιού και η πρώτη υλοποίηση του hypertext. • ARPANET, αρχές 70. • Αν και η βασική υποδομή υπήρχε στα μέσα της δεκαετίας του 70, χρειάστηκε η είσοδος των PCsκαι μοντέρνων δικτυακών τεχνικών για να την έμπνευση του Web. Τμήμα Πληροφορικής ΑΠΘ

  5. Παγκόσμιος Ιστός (The Web) • Mosaic Web Browser, 1993: δημιουργήθηκε από τους Marc Andreessen and Eric Bina at UIUC NCS. • Το 1993 δημιουργούνται τα πρώτα web bots (spiders). • Το 1994, οι David FiloκαιJerry Yangφοιτητές του Stanford άρχισαν να συγκεντρώνουν χειροκίνητα τα πιο δημοφιλή web sites σε έναν θεματικό κατάλογο που ονομάστηκε Yahoo. Τμήμα Πληροφορικής ΑΠΘ

  6. Παγκόσμιος Ιστός (The Web) • Το 1994, ο Brian Pinkertonανέπτυξε τον WebCrawlerστα πλαίσια μίας εργασίας στο Πανεπιστήμιο της Washington. Στη συνέχεια ο WebCrawler έγινε μέρος του Exciteκαι της AOL. • To 1995, η DECαναπτύσσει τη μηχανή Altavista. • Το 1998, οι Larry PageκαιSergey Brin, διδακτορικοί φοιτητές του Stanford, ξείνησαν την Google. Τμήμα Πληροφορικής ΑΠΘ

  7. Προκλήσεις Το Web χαρακτηρίζεται ως η εφαρμογή killerγια την ανάκτηση πληροφορίας. • μεγάλες ποσότητες δεδομένων • κατανομή δεδομένων σε εκατ. sites • συχνές αλλαγές • επανάληψη δεδομένων • πόσο ποιοτικά είναι τα δεδομένα? • αδόμητα, ημιδομημένα και πλήρως δομημένα δεδομένα • ετερογένεια (διαφορετικές μορφές, π.χ., html, mpg, pdf, διαφορετικές γλώσσες, κλπ) Τμήμα Πληροφορικής ΑΠΘ

  8. Προκλήσεις Τμήμα Πληροφορικής ΑΠΘ

  9. Προκλήσεις Τμήμα Πληροφορικής ΑΠΘ

  10. Zipf και Web • Ο αριθμός των εισερχομένων και εξερχομένων συνδέσμων μία σελίδας ακολουθεί την κατανομή Zipf. • Το μέγεθος των σελίδων ακολουθεί την κατανομή Zipf. • Ο αριθμός των hits μίας σελίδας ακολουθεί την κατανομή Zipf. Τμήμα Πληροφορικής ΑΠΘ

  11. Zipf και Web Και ποια είναι η κατανομή Zipf ? Πολλά δεδομένα του φυσικού κόσμου μπορούν να μοντελοποιηθούν σύμφωνα με την Zipf κατανομή, που είναι ειδική κατηγορία Power Law. Έστω F(x) ο αριθμός εμφανίσεων της x-οστής συχνότερης λέξης. O Zipf Law μας λέει ότι: Τοα είναι κοντά στη μονάδα. Τμήμα Πληροφορικής ΑΠΘ

  12. Zipf και Web Τμήμα Πληροφορικής ΑΠΘ

  13. Μηχανές Αναζήτησης • Βασικά στοιχεία • μηχανής αναζήτησης • Επεξεργαστής ερωτημάτων • Κατάλογος • Διαχειριστής καταλόγου • Crawler Τμήμα Πληροφορικής ΑΠΘ

  14. Μηχανές Αναζήτησης Κατανεμημένη αρχιτεκτονική Τμήμα Πληροφορικής ΑΠΘ

  15. Μηχανές Αναζήτησης:crawling • Web Crawler: ένα πρόγραμμα που διαβάζει («κατεβάζει») σελίδες Web. • Επίσης καλείται και Spider, Bot, WebBot. • Προσοχή: ο crawler δεν είναι agent, τρέχει σε κάποιον server και απλά παράγει HTTP αιτήσεις για να «κατεβάσει» τις σελίδες. • Το ίδιο ακριβώς κάνει και ένας χρήστης χρησιμοποιώντας έναν Web Browser. • Η διαφορά είναι ότι ο crawler είναι πιο συστηματικός και φυσικά πιο γρήγορος στο browsing. Τμήμα Πληροφορικής ΑΠΘ

  16. Μηχανές Αναζήτησης: crawling Απλός αλγόριθμος για crawling Έστω Wτο σύνολο των σελίδων που πρέπει να κάνουμε crawling. • Αρχικά, επιλέγονται μερικές σελίδες ως αφετηρία και μπαίνουν στο σύνολο W. • Διαβάζουμε μία σελίδα pαπό το σύνολο W.Μετά το parsing της σελίδας pέστω ότι προσδιορίζονται N(p) σελίδες άμεσα επισκέψιμες από την p. • Θέτουμε W := W + N(p) - p • Η διαδικασία επαναλαμβάνεται από το βήμα 1. Τμήμα Πληροφορικής ΑΠΘ

  17. Μηχανές Αναζήτησης: crawling Ο αλγόριθμος είναι απλός αλλά … • Πως θα κάνουμε crawling τα εκατ. των Web σελίδων; • Πως θα αποφύγουμε το overloading ενός Web server; • Τι θα κάνουμε εάν ο ιδιοκτήτης ενός server δεν επιθυμεί crawlers; • Πως θα χειριστούμε μη έγκυρους συνδέσμους (broken links); • Με ποιά στρατηγική θα προχωρήσουμε στο crawling (DFS, BFS); • Τι δομές απαιτούνται για τον έλεγχο των σελίδων που βρίσκουμε; Τμήμα Πληροφορικής ΑΠΘ

  18. Μηχανές Αναζήτησης: crawling Πως θα αποφύγουμε τους crawlers; • Ο διαχειριστής του Web server μπορεί να ορίσει ποιες περιοχές του server δεν πρέπει να διαβαστούν από crawlers, δημιουργώντας ένα κατάλληλα διαμορφωμένο αρχείο με όνομα robots.txt • Επίσης, ο συγγραφέας μίας Web σελίδας μπορεί να δηλώσει ότι δεν επιθυμεί η σελίδα να διαβαστεί και να γίνει indexed από crawlers χρησιμοποιώντας μία ειδική HTML META tag. Τμήμα Πληροφορικής ΑΠΘ

  19. Μηχανές Αναζήτησης: crawling http://gr.yahoo.com/robots.txt User-agent: * Disallow: /gnn Disallow: /msn Disallow: /pacbell Disallow: /pb Disallow: /bin/query_uk # Rover is a bad dog <http://www.roverbot.com> User-agent: Roverbot Disallow: / Τμήμα Πληροφορικής ΑΠΘ

  20. Μηχανές Αναζήτησης: crawling Χρησιμοποιώντας την META tag robotsο δημιουργός μίας σελίδας μπορεί να αποτρέψει την καταλογοποίηση και ανάλυση της σελίδας για links. Παράδειγμα: <meta name="robots" content="noindex, nofollow"> Ο crawler δεν θα πρέπει να κάνει indexing τη σελίδα ούτε και να την αναλύσει για να βρει νέα links. Τμήμα Πληροφορικής ΑΠΘ

  21. Μηχανές Αναζήτησης: crawling • Για να μπορέσουμε να κάνουμε crawling 1 δις σελίδες το μήνα θα πρέπει να κατεβάζουμε περίπου 400 σελίδες το δευτερόλεπτο. • Άρα, οι δομές δεδομένων θα πρέπει να είναι αποδοτικές. • Επίσης, δεν πρέπει να φορτώνουμε πολύ το server. • Η υλοποίηση του crawler τελικά δεν είναι καθόλου απλή. Τμήμα Πληροφορικής ΑΠΘ

  22. Μηχανές Αναζήτησης: crawling • Mercatorείναι ένας crawler υψηλών επιδόσεων που δημιουργήθηκε από τους Allan Heydon, Marc Njork, Raymie Stata και συνεργάτες στο Compaq Systems Research Center (αποτελεί συνέχιση της δουλειάς της AltaVista). • Heritrixείναι ένας ανοικτού κώδικα crawler υψηλών επιδόσεων που υλοποιήθηκε από τον Raymie Stata και συνεργάτες στο Internet Archive. Τμήμα Πληροφορικής ΑΠΘ

  23. Link Extractor HTTP RIS FTP Tag Counter Gopher GIF Stats Μηχανές Αναζήτησης: crawling: Mercator Mercator I N T E R N E T DNS Resolver Content Seen? Doc FPs 4 1 URL Filter URL Seen? URL Frontier 2 3 5 6 7 8 URL Set Queue Files Log Log Protocol Modules Processing Modules Τα βασικότερα τμήματα του Mercator (thanks to Young Geun Han ) Τμήμα Πληροφορικής ΑΠΘ

  24. Naver I N T E R N E T HTTP Naver I N T E R N E T HTTP http://naver.com/c.html http://naver.com/b.html Head http://naver.com/a.html Daum HTTP Daum http://daum.net/B.html HTTP http://naver.com/c.html http://daum.net/B.html Head http://www.ssu.ac.kr http://daum.net/A.html SSU HTTP http://daum.net/A.html http://naver.com/b.html SSU HTTP Head http://naver.com/a.html Head http://www.ssu.ac.kr Protocol Module URL frontier Web Server Protocol Module URL frontier Web Server 3.2 The URL frontier URL frontier: αποτελεί τη βασική δομή που περιέχει τα URLs που πρέπει να επισκεφτούμε. Τμήμα Πληροφορικής ΑΠΘ

  25. Μηχανές Αναζήτησης: indexing Billions of Pages Τμήμα Πληροφορικής ΑΠΘ

  26. Μηχανές Αναζήτησης: indexing • Ο κατάλογος μίας μηχανής αναζήτησης είναι συνήθως παραλλαγές του αντεστραμμένου καταλόγου. • Ωστόσο, η διαχείρισή του απαιτεί τεράστια υπολογιστική ισχύ αν σκεφτούμε ότι οι crawlers διαβάζουν σελίδες με γρήγορους ρυθμούς. Τμήμα Πληροφορικής ΑΠΘ

  27. Βαθμολόγηση • Στα κλασικά συστήματα ανάκτησης η βαθμολόγηση των εγγράφων πραγματοποιείται με βάση το περιεχόμενο των σελίδων. • Για παράδειγμα, αν χρησιμοποιήσουμε τον τύπο του συνημιτόνου έχουμε έναν τρόπο βαθμολόγησης ενός εγγράφου σε σχέση με ένα ερώτημα. • Γιατί να διαφέρουν τα πράγματα στο Web; Τμήμα Πληροφορικής ΑΠΘ

  28. Βαθμολόγηση • Στο Web θα πρέπει να λάβουμε υπόψη μας ότι τα δεδομένα δε χαρακτηρίζονται πάντα από ποιότητα και εγκυρότητα. • Η ιδέα είναι να χρησιμοποιήσουμε την πληροφορία των links για να βαθμολογήσουμε μία σελίδα. • Η τελική βαθμολογία μίας σελίδας προκύπτει από συνδυασμό των επί μέρους βαθμών. Τμήμα Πληροφορικής ΑΠΘ

  29. Βαθμολόγηση Ποιά είναι η καλύτερη σελίδα που θα μπορούσε να επισκεφτεί κάποιος που ενδιαφέρεται για Java; Απάντηση: • java.sun.com • comp.lang.java FAQ Πωςτο βρήκαμε; Τμήμα Πληροφορικής ΑΠΘ

  30. Αλγόριθμος HITS • Ο αλγόριθμος σχεδιάστηκε από τον Kleinbergτο 1998. • Προσπαθεί να εντοπίσει HUBSκαι AUTHORITIESγια ένα δεδομένο θέμα (π.χ., Java). • AUTHORITY: σελίδα που μας δίνει σημαντική, αξιόπιστη και χρήσιμη πληροφορία για ένα θέμα που μας ενδιαφέρει. • HUB: σελίδα που περιέχει links σε σχετικά AUTHORITIES. Τμήμα Πληροφορικής ΑΠΘ

  31. Hubs Authorities Αλγόριθμος HITS HUBS και AUTHORITIES σχηματίζουν διμερή γράφο. Τμήμα Πληροφορικής ΑΠΘ

  32. Αλγόριθμος HITS • Ο HITS ξεκινά από ένα σύνολο σχετικών σελίδων, σύνολο R, το οποίο επαυξάνεται για να δημιουργήσει το σύνολο S. • Στη συνέχεια, ο υπογράφος που ορίζεται από το σύνολο Sαναλύεται, ώστε να εντοπιστούν HUBS και AUTHORITIES μέσα στο S. • Τέλος, τα καλύτερα AUTHORITIES επιστρέφονται στο χρήστη. Τμήμα Πληροφορικής ΑΠΘ

  33. Αλγόριθμος HITS • Για ένα ερώτημαQ, έστω Rτο σύνολο των σελίδων που επιστρέφονται από μία μηχανή αναζήτησης. • Αρχικοποιούμε S := R. • Προσθέτουμε στο Sόλες οι σελίδες που δείχνονται από σελίδες του R. • Προσθέτουμε στοSόλες τις σελίδες που δείχνου σε σελίδες του R. S R Τμήμα Πληροφορικής ΑΠΘ

  34. Αλγόριθμος HITS • Ακόμη και μέσα στο σύνολο S, οι κόμβοι (σελίδες) με μεγάλο βαθμό εισόδου δεν είναι κατ’ ανάγκη authorities. Μπορεί απλά να είναι δημοφιλείς σελίδες (π.χ., Amazon). • Για να βρούμε τα πραγματικά authorities θα πρέπει να δούμε από πόσα hubs δείχνεται η κάθε σελίδα. • Ο αλγόριθμος εντοπίζει για κάθε σελίδα το πόσο hub και πόσο authority είναι. Τμήμα Πληροφορικής ΑΠΘ

  35. Αλγόριθμος HITS • Επαναληπτικός αλγόριθμος που εκτελείται μέχρι να συγκλίνει. • Για κάθε σελίδα p  S κρατάμε τα εξής: • authority score: as(p)(vectora) • hub score: hs(p)(vectorh) • Αρχικά για κάθε p  S,as(p) = hs(p)= 1 • Τα scores κανονικοποιούνταιέτσι ώστε: Τμήμα Πληροφορικής ΑΠΘ

  36. Αλγόριθμος HITS Τα authorities δείχνονται από πολλά καλά hubs: Τα hubs δείχνουν σε πολλά καλά authorities: Τμήμα Πληροφορικής ΑΠΘ

  37. 1 4 2 3 Αλγόριθμος HITS as(4) = hs(1)+hs(2)+hs(3) 5 4 6 hs(4) = as(5)+as(6)+as(7) 7 Τμήμα Πληροφορικής ΑΠΘ

  38. Αλγόριθμος HITS Αρχικοποίησηγια κάθεp  S: as(p) = hs(p) = 1 fori = 1 to k: for all p  S: (ενημέρωση authority scores) for all p  S:(ενημέρωση hub scores) for all p  S:as(p)= as(p)/c c: for all p  S:hs(p)= hs(p)/c c: Τμήμα Πληροφορικής ΑΠΘ

  39. Αλγόριθμος HITS • Ο αλγόριθμος συγκλίνει σε σταθερό σημείο αν επαναληφθεί πάρα πολλές φορές. • Έστω Aο πίνακας γειτνίασης του υπογράφου που ορίζεται από το σύνολο S. • Aij= 1 γιαi  S, j S iff ij (η i δείχνει στην j) • Το διάνυσμα asσυγκλίνει στο σημαντικότερο ιδιοδιάνυσμα του πίνακα ATA • Το διάνυσμα hsσυγκλίνει στο σημαντικότερο ιδιοδιάνυσμα του πίνακα AAT • Στην πράξη, με 20 επαναλήψεις έχουμε ικανοποιητικά αποτελέσματα. Τμήμα Πληροφορικής ΑΠΘ

  40. Αλγόριθμος HITS • Authorities for query: “Java” • java.sun.com • comp.lang.java FAQ • Authorities for query “search engine” • Yahoo.com • Excite.com • Lycos.com • Altavista.com • Authorities for query “Gates” • Microsoft.com • roadahead.com Τμήμα Πληροφορικής ΑΠΘ

  41. Αλγόριθμος PageRank • Εναλλακτικός τρόπος ανάλυσης συνδέσμων, Brinκαι Page, 1998 (Google). • Δεν κάνει διάκριση μεταξύ hubs και authorities. • Η βαθμολογία των σελίδων στηρίζεται μόνο σε authorities. • Εφαρμόζεται σε όλο το Web και όχι μόνο σε μία γειτονιά όπως ο HITS. • Ο αλγόριθμος είναι query independentσε αντίθεση με τον HITS που είναι query dependent. Τμήμα Πληροφορικής ΑΠΘ

  42. Αλγόριθμος PageRank • Χρησιμοποιώντας μόνο το πλήθος των εισερχομένων ακμών δεν μπορούμε να βγάλουμε ασφαλές συμπέρασμα. • Εξίσωση για κάθε σελίδαpτου Web: • Nq αριθμός εξερχομένων ακμών από τη σελίδαq. • cχρησιμοποιείται για κανονικοποίηση ώστε το άθροισμα των βαθμών (ranks) των σελίδων να είναι 1. Τμήμα Πληροφορικής ΑΠΘ

  43. .08 .05 .05 .03 .08 .03 .03 .03 Αλγόριθμος PageRank .1 .09 Τμήμα Πληροφορικής ΑΠΘ

  44. Αλγόριθμος PageRank ΈστωS το σύνολο των σελίδων Αρχικοποίηση pS: R(p) = 1/|S| repeatέως ότου οι βαθμοί δεν αλλάζουν πολύ pS: pS: R(p) = cR´(p) Τμήμα Πληροφορικής ΑΠΘ

  45. Αλγόριθμος PageRank 0.2 0.4 0.2 0.2 0.2 0.4 0.4 Τμήμα Πληροφορικής ΑΠΘ

  46. Αλγόριθμος PageRank: πρόβλημα Πρόβλημα με τον απλό αλγόριθμο Ο βαθμός καταναλώνεται Τμήμα Πληροφορικής ΑΠΘ

  47. Αλγόριθμος PageRank: λύση Εισάγουμε μία πηγή βαθμού Eπου συνεχώς δίνει ένα σταθερό κομμάτι βαθμού E(p). Τμήμα Πληροφορικής ΑΠΘ

  48. Αλγόριθμος PageRank • ΈστωS ο συνολικός αριθμός σελίδων. • pS: E(p) = /|S| (για 0<<1, π.χ., 0.15) • ΑρχικοποίησηpS: R(p) = 1/|S| • Μέχρι σύγκλιση • pS: • pS: R(p) = cR´(p) Τμήμα Πληροφορικής ΑΠΘ

  49. Αλγόριθμος PageRank • Τα πρώτα πειράματα έγιναν με περίπου 322 εκατ links. • Ο PageRank έδειξε ότι συγκλίνει σε περίπου 52 επαναλήψεις. • Εμπειρικά, απαιτούνται O(log n) επαναλήψεις για σύγκλιση, όπου nτο πλήθος των links. Τμήμα Πληροφορικής ΑΠΘ

  50. Σύγκριση PageRank • Ακριβός στους υπολογισμούς • Εφαρμόζεται μία φορά για όλες τις σελίδες • Ανεξάρτητος ερωτήματος • Ο βαθμός μίας σελίδας υπολογίζεται ως προς το authority HITS • Ακριβός στους υπολογισμούς • Εφαρμόζεται για κάθε ερώτημα • (άρα εξαρτάται από το ερώτημα) • Δίνει hubs και authorities • Η ποιότητα του αποτελέσματος εξαρτάται από την ποιότητα του αρχικού συνόλου σελίδων Τμήμα Πληροφορικής ΑΠΘ

More Related