Μηχανές Αναζήτησης από τη σκοπιά των Βάσεων Δεδοµένων

Σχετικά έγγραφα
Αναζήτηση στο ιαδίκτυο

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

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

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

Information Retrieval

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

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΑ ΣΥΣΤΗΜΑΤΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ

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

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

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

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

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

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

Κοινωνικά Δίκτυα Αναζήτηση Πληροφοριών σε Δίκτυα

Μελέτη Πολιτικών Χρονοδροµολόγησης σε Κατανεµηµένα Συστήµατα Πλοηγητών. Όνοµα : Ελένη Τσιακκούρη

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

ιαµέριση - Partitioning

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

Social Web: lesson #4

Αλγόριθµοι δροµολόγησης µε µέσα µαζικής µεταφοράς στο µεταφορικό δίκτυο των Αθηνών

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

Search and Replication in Unstructured Peer-to-Peer Networks

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

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

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

ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

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

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ

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

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

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

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

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

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

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

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

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

Επερωτήσεις σύζευξης με κατάταξη

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

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

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

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

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

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

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

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

Κεφ.11: Ευρετήρια και Κατακερματισμός

Περίληψη ιπλωµατικής Εργασίας

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

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

Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών. ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης

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

Κεφάλαιο 4: Λογισμικό Συστήματος

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

E-commerce Networks & Applications. Η διαφήμιση στο Internet. Νίκος Κωνσταντίνου

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

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

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

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

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

ΗΥ562 Προχωρημένα Θέματα Βάσεων Δεδομένων Efficient Query Evaluation over Temporally Correlated Probabilistic Streams

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

Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing)

Διαχείριση Δεδομένων

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

3. Προσομοίωση ενός Συστήματος Αναμονής.

Κατακερματισμός (Hashing)

Geographic Information System(GIS)

Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing)

Εύρεση & ιαχείριση Πληροφορίας στον Παγκόσµιο Ιστό

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

Ν. Μ. Μισυρλής. Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών. Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου / 18

Vodafone Business Connect

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

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοηµοσύνη Ι» 7ο Φροντιστήριο 15/1/2008

Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων

GoDigital.Store E-Commerce Platform

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

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Μία αξιωματική προσέγγιση για τη διαφοροποίηση των αποτελεσμάτων

openlaws Αυτοματοποιημένη κωδικοποίηση της ελληνικής νομοθεσίας με NLP Θοδωρής Παπαδόπουλος

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

Πληροφοριακά Συστήµατα

Query-by-Example (QBE)

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1

Αριθµητική Ανάλυση 1 εκεµβρίου / 43

Εύρεση & ιαχείριση Πληροφορίας στον Παγκόσµιο Ιστό. Ζητήµατα Μεγάλης-Κλίµακας Υλοποίησης του PageRank. Αρχιτεκτονική Μηχανής Αναζήτησης

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Η επιλογή γλώσσας (π.χ. ελληνικά) διεπαφής του συστήματος, βρίσκεται στο υποσέλιδο του ιστότοπου

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

Transcript:

Μηχανές Αναζήτησης από τη σκοπιά των Βάσεων Δεδοµένων 1

2 Αναζήτηση Πληροφοριών Information Retrieval: κλάδος της βιβλιοθηκονοµίας και της Πληροφορικής. Στόχος: ανεύρεση πληροφορίων µέσα σε συλλογές (βιβλίων, άρθρων, βιβλιοθηκών). Προσεγγίσεις (αλγόριθµοι και τεχνικές IR): Ταξινόµηση και Καταλογογράφηση. Ενδείκτες. Αναζητήσεις µε λέξεις κλειδιά. Δυνατότητα Επερωτήσεων.

3 Ανάγνωσµα Searching the web. A. Arasu, J. Cho, H. Garcia-Molina, and S. Raghavan. ACM Transactions on Internet Technologies, 1(1), June 2001.

4 Συνθήκες Αναζήτησης Πληροφοριών στον Ιστό Οι κλασσικές τεχνικές IR αφορούν κυρίως µικρές, κλειστές και συνεκτικές (coherent) συλλογές περιεχοµένου. Ο Ιστός: Ενσωµατώνει τεράστιο όγκο πληροφοριών. Ελάχιστα συνεκτικός. Ανοικτός. Αλλάζει συνεχώς και µε γρήγορους ρυθµούς. Είναι γεωγραφικά κατανεµηµένος. Έχει κάποια δοµή. Εποµένως, χρειαζόµαστε νέες τεχνικές (µεταβίβαση υποδείγµατος;) για: Συλλογή πληροφοριών. Δηµιουργία και Διαχείριση Κλιµακώσιµων Ενδεικτών. Αξιοποίηση της δοµής του Ιστού (υπερσύνδεσµοι) για ανίχνευση σχέσεων ανάµεσα σε πληροφορίες.

Πληθώρα των πληροφοριών στον Ιστό Πέραν του 1 δις ιστοσελίδων στον Ιστό (στοιχεία 2000). Θεωρείται ότι το µέγεθος του Ιστού διπλασιάζεται σε λιγότερο από δύο χρόνια. Υπάρχει η εκτίµηση ότι η τάση αυτή θα συνεχιστεί για τα επόµενα δύο χρόνια. Εκτός από τις νέες ιστοσελίδες που προστίθενται, οι παλαιές αλλάζουν µε σχετικά υψηλή συχνότητα: Μελέτη έχει δείξει ότι γύρω στο 23% των ιστοσελίδων αλλάζουν καθηµερινά. Το ποσοστό αυτό ανέρχεται στο 40% των ιστοσελίδων του πεδίου.com Στο πεδίο.com, σε 10 ηµέρες περίπου οι µισές από τις ιστοσελίδες εξαφανίζονται. Η διαδικασία αλλαγών των ιστοσελίδων µοντελοποιείται ικανοποιητικά από διεργασία Poisson. 5

Δοµή του Ιστού A. Broder paper (9th WWW Conference, 2000) Graph Structure in the Web. 6

Αναζήτηση Πληροφοριών στον Ιστό Crawler Based Search Engines (Google, AltaVista) Χρησιµοποιούν «αράχνη» (crawler) για τις αναζητήσεις τους Αυτόµατη ανάκτηση σελιδών από τον Iστό Οι αλλαγές σε µια ιστοσελίδα ανευρίσκονται αυτόµατα Human Powered Directories (Yahoo, MSN Search) Ιστοσελίδες προστίθενται στη γνωσιακή βάση του συστήµατος χειρονακτικά. Οι διαχειριστές των διάφορων ιστιακών κόµβων υποβάλλουν µια περιγραφή του κόµβου στο directory. H αναζήτηση µιας ιστοσελίδας βασίζεται στα δεδοµένα και στην περιγραφή η οποία έχει υποβληθεί στο σύστηµα Το σύστηµα δεν ενηµερώνεται αυτόµατα για οποιεσδήποτε αλλαγές σε µια ιστοσελίδα ( πλην εξαιρέσεων ) Hybrid Search Engines (HotBot, Go/Infoseeκ) Συνδυάζουν χαρακτηριστικά των δύο προηγούµενων τύπων µηχανών αναζήτησης Συνήθως ένα τέτοιο είδος µηχανής τείνει να χρησιµοποιεί περισσότερο τον ένα εκ των δυο τρόπων αναζήτησης 7

Δοµή Μηχανών Αναζήτησης (crawlerbased) Μ. Δικαιάκος, 2000-2002 1 8

9 Δοµή Μηχανών Αναζήτησης (crawler-based) Crawler (ιχνηλάτες): προγράµµα ανάκτησης πόρων από τον Ιστό. Crawler control: δέχεται νέα URL από τους ιχνηλάτες και αποφασίζει ποιοι πόροι θα ανακτηθούν στη συνέχεια. Page Repository: αποθηκεύει τους πόρους που ανακτώνται, για περαιτέρω επεξεργασία. Indexer Module (µονάδα ενδείκτη): εξαγάγει λέξεις από κάθε ιστοσελίδα και καταγράφει το URL στο οποίο υπάρχει µια λέξη. Δηµιουργεί ένα µεγάλο πίνακα αναζήτησης (lookup table), τον Text Index. Collection Analysis Module: δηµιουργεί µη-συµβατικούς ενδείκτες. Π.χ. τον ενδείκτη δοµής (structure index) και τον ενδείκτη ωφέλειας (utility index).

10 Δοµή Μηχανών Αναζήτησης (crawler-based) Κρύπτη ιστιακών πόρων (cache). Query Engine (µηχανή επερωτήσεων): υπεύθυνη για την παραλαβή και εκτέλεση επερωτήσεων χρηστών. Προς τούτο χρησιµοποιεί τους ενδείκτες και ορισµένες φορές και την αποθήκη ιστοσελίδων. Ranking Module (µονάδα ιεράρχισης): ασχολείται µε την ιεράρχηση των (συνήθως πολλών) απαντήσεων που δίνει η µηχανή επερωτήσεων, ώστε οι πιό σηµαντικέςσχετικές απαντήσεις να εµφανίζονται πρώτες.

11 Λειτουργία Ιχνηλατών Ένας crawler αποτελεί ένα µικρό πρόγραµµα στο οποίο δίνεται ένα αρχικό σύνολο από URLs τα οποία τοποθετεί σε µια ουρά. Ακολούθως βάσει κριτηρίων ο crawler επιλέγει ένα URL από την ουρά αυτή και ανακτά την αντίστοιχη ιστοσελίδα. Ο ιχνηλάτης αναλύει την ιστοσελίδα και εξάγει τα URL που αυτή περιέχει, τοποθετώντας τα στην ουρά. Η διαδικασία επαναλαµβάνεται µέχρι τη στιγµή που ο ιχνηλάτης αποφασίζει να σταµατήσει.

12 Λειτουργία Ιχνηλατών Θέµατα που πρέπει να αντιµετωπίσουµε: Ποιες σελίδες θα κατεβάσει ο ιχνηλάτης (συνήθως µικρό υποσύνολο των διαθέσιµων ιστοσελίδων) ανάγκη για ιεράρχηση προτεραιοτήτων. Στρατηγική επανάληψης επισκέψεων ιχνηλάτη πως λαµβάνουµε υπόψη τον ρυθµό αλλαγής περιεχοµένου ιστοσελίδων. Πως ελαχιστοποιούµε την ενόχληση των ιστιακών εξυπηρετητών που επισκέπτεται ένας ιχνηλάτης; Πως µπορούµε να εκτελέσουµε παράλληλα την ιχνηλασία;

13 Βαθµός Σηµαντικότητας Ιστοσελίδων Θέλουµε να επισκεπτόµαστε τις σηµαντικές ιστοσελίδες πριν από τις λιγότερο σηµαντικές ιστοσελίδες, για κάποιο µέτρο σηµαντικότητας. Μοντέλα καθορισµού σηµαντικότητας: Ελκόµενα από το Ενδιαφέρον (interest driven): µε βάση τα «ενδιαφέροντα» των χρηστών. Ελκόµενα από την Δηµοτικότητα (popularity driven): µε βάση τη δηµοτικότητα ιστοσελίδων. Ελκόµενα από την Τοποθεσία (Location driven): µε βάση το πεδίο στο οποίο βρίσκονται τοποθετηµένες οι ιστοσελίδες. Με συνδυασµό των παραπάνω µοντέλων.

Σηµαντικότητα Ιστοσελίδων µε βάση το Ενδιαφέρον Επερώτηση Οδηγός (driving query): χρησιµοποιείται για να καθορίσει ποιες σελίδες είναι «ενδιαφέρουσες». Δεδοµένης µιας επερώτησης-οδηγού Q, ο «βαθµός σηµαντικότητας» IS(P) µιας ιστοσελίδας P κρίνεται από την κειµενική οµοιότητα (textual similarity) µεταξύ P και Q. Υπολογίζουµε την κειµενική οµοιότητα µοντελοποιώντας τα P και Q σαν v-διάστατα διανύσµατα <w1, w2,, wν> όπου τα wi αναπαριστούν τις λέξεις ενός λεξιλογίου και αποτυπώνουν τη σηµαντικότητα της µέσα σε ένα έγγραφο. Το w i ισούται µε τον αριθµό των εµφανίσεων µιας λέξης σε ένα έγγραφο, επί το inverse document frequency (idf), δηλαδή την αντίστροφη συχνότητα εµφάνισης της λέξης στο σώµα των εγγράφων του Ιστού (πως υπολογίζουµε το idf;) Η κειµενική οµοιότητα µεταξύ P και Q ορίζεται σαν το εσωτερικό γινόµενο των δύο διανυσµάτων. 14

15 Σηµαντικότητα Ιστοσελίδων µε βάση το Ενδιαφέρον Ο βαθµός σηµαντικότητας µιας ιστοσελίδας εξαρτάται από το πόσο «δηµοφιλής» είναι η σελίδα αυτή. Ως βαθµό δηµοτικότητας µιας ιστοσελίδας P χρησιµοποιούµε το backlink count, δηλαδή τον αριθµό των υπερσυνδέσµων από ιστοσελίδες διαφορετικές της P, οι οποίοι παραπέµπουν στην P. Στην περίπτωση αυτή, ο backlink count αποτελεί το µέτρο της σηµαντικότητας µιας ιστοσελίδας: IB(P) Ο µετρητής backlink έλκει την καταγωγή του από τον µετρητή ετεροαναφορών (citation count) των βιβλιοθηκών και των ακαδηµαϊκών δηµοσιεύσεων.

16 Σηµαντικότητα Ιστοσελίδων µε βάση την Τοποθεσία Ο βαθµός σηµαντικότητας µιας ιστοσελίδας ορίζεται από την τοποθεσία της και όχι τα περιεχόµενά της. Έτσι, η σηµαντικότητά της IL(P) είναι συνάρτηση του URL της ιστοσελίδας. Π.χ. ιστοσελίδες µε URL το οποίο καταλήγει σε.com ή έχει την συµβολοσειρά home ή index ή έχει λιγότερους χαρακτήρες «/» µπορεί να είναι πιο σηµαντικές από άλλες.

17 Προτεραιοδότηση Ιστοσελίδων Ενας ιχνηλάτης διατηρεί µια ουρά από εκκρεµή URL, τα οποία χρονοδροµολογεί για ανάκτηση. Για τον σκοπό αυτό, κάθε URL u πρέπει να έχει µια προτεραιότητα (ordering metric), ώστε να προηγείται η ανάκτηση του URL µε τον υψηλότερο βαθµό. Ο βαθµός σηµαντικότητας ιστοσελίδων µπορεί να χρησιµοποιηθεί για τον καθορισµό της προτεραιότητας των υπερσυνδέσµων που εισάγονται στην ουρά του ιχνηλάτη. Αν π.χ. ενδιαφερόµαστε για ιστοσελίδες µε υψηλή δηµοτικότητα, θα πρέπει να εισαγάγουµε το u στην ουρά µε βάση το IB(P), όπου P είναι η ιστοσελίδα στην οποία παραπέµπει το URL u. Προφανώς, για τον υπολογισµό του IB(P) θα πρέπει να χρησιµοποιήσουµε κάποια προσέγγιση.

18 Προτεραιοδότηση Ιστοσελίδων (συνέχεια) Αν µας ενδιαφέρουν ιστοσελίδες συγκεκριµένης τοποθέτησης, ο καθορισµός προτεραιότητας από το URL u είναι σχετικά εύκολος µόνο από το u (µπορεί να γίνει τοπικά στον ιχνηλάτη). Αν µας ενδιαφέρουν ιστοσελίδες λόγω σηµασιολογικού ενδιαφέροντος, υπάρχει πρόβληµα γιατί δεν µπορούµε να υπολογίσουµε το IS(P) πριν ανακτήσουµε την ιστοσελίδα P. Προσέγγιση: χρησιµοποιούµε την άγκυρα για να εκτιµήσουµε την εγγύτητα της P µε κάποια επερώτηση Q. Πειραµατισµοί: Θεώρηση των 225.000 ιστοσελίδων του Στάνφορδ σαν το σύνολο του Ιστού. Εξωτερικές ιστοσελίδες δεν ανακτώνται. Μέτρηση σχετικής επίδοσης ιχνηλασίας µε χρήση διαφορετικών προσεγγίσεων προτεραιοδότησης.

Αξιολόγηση Επίδοσης Ιχνηλατών Επιθυµούµε ο ιχνηλάτης να δίνει προτεραιότητα στην επίσκεψη των σηµαντικών ιστοσελίδων. Πως κρίνουµε αν ο ιχνηλάτης κάνει καλή δουλεία; Ορίζουµε µετρική ποιότητας του ιχνηλάτη µε βάση τα ακόλουθα δύο εναλλακτικά µοντέλα: Crawl & Stop: ξεκίνα από µια αρχική σελίδα, κατέβασε Κ ιστοσελίδες και µετά σταµάτα. Ορίζουµε σαν καυτές σελίδες (hot pages) αυτές που έχουν τις Κ υψηλότερες τιµές σηµαντικότητας. Η ποιότητα της ιχνηλασίας µας εξαρτάται από το πόσες καυτές σελίδες επιτυγχάνουµε να ανακτήσουµε στη διάρκειά της. Crawl and Stop with Threashold: ορίζουµε σαν καυτές σελίδες αυτές που έχουν βαθµό σηµαντικότητας µεγαλύτερο από κάποιο κατώφλι G. Η ποιότητα της ιχνηλασίας µας εξαρτάται από το πόσες καυτές σελίδες επιτυγχάνουµε να ανακτήσουµε στη διάρκειά της. 19

Αξιολόγηση Επίδοσης Ιχνηλατών Crawl & Stop: αν οι ιστοσελίδες του Ιστού είναι Τ, η ποιότητα της ιχνηλασίας (για ιχνηλάτη που επιλέγει τυχαίως ιστοσελίδες) είναι κατά µέσο όρο: Κ. 100 /T (υπολογίστε το). Crawl & Stop with Threashold: αν οι ιστοσελίδες του ιστού που έχουν βαθµό σηµαντικότητας πάνω από το κατώφλι G είναι H, η ποιότητα της ιχνηλασίας (για ιχνηλάτη που επιλέγει τυχαίως ιστοσελίδες) ισούται µε τον είναι κατά µέσο όρο: (K. 100) / Τ όταν Κ < Η (υπολογίστε το). Η βέλτιστη ποιότητα είναι K. 100 / H (γιατί;) 1 20

Πειραµατισµός Crawl & Stop µε κατώφλι G=100 (σελίδες µε πάνω από 100 παραποµπές θεωρούνται καυτές). Μέτρηση του αριθµού των καυτών σελίδων που ανακτώνται. Hot Pages crawled Pages crawled 1 21

22 Ανανέωση Ιστοσελίδων Από τη στιγµή που ο ιχνηλάτης επέλεξε και ανάκτησε σηµαντικές ιστοσελίδες, πρέπει να αποφασίσει µε τι περιοδικότητα θα τις ανανεώσει. Πιθανές πολιτικές: Οµοιόµορφης ανανέωσης (uniform refresh policy): Ο ιχνηλάτης χρησιµοποιεί την ίδια συχνότητα f επίσκεψης σε όλες τις ιστοσελίδες. Επανακάµπτει σε όλες τις σελίδες µε την ίδια συχνότητα, ανεξάρτητα από τον ρυθµό ανανέωσης τους. Αναλογικής ανανέωσης (proportional refresh policy): Επανακάµπτει σε µια σελίδα, ανάλογα µε τον ρυθµό ανανέωσης της. Ο ιχνηλάτης επισκέπτεται συχνότερα ιστοσελίδες που αλλάζουν συχνότερα. Αν λi είναι η συχνότητα αλλαγής µιας ιστοσελίδας και fi είναι η συχνότητα ανανέωσής της από τον ιχνηλάτη, τότε πρέπει το λi/ fi να είναι το ίδιο για όλες τις σελίδες.

Μετρικές Φρεσκάδας Ανάµεσα στις δύο στρατηγικές ανανέωσης, ποιά επιτυγχάνει την υψηλότερη φρεσκάδα ; Μετρικές Φρεσκάδας (freshness metrics): πως συγκρίνουµε την φρεσκάδα δύο συλλογών ιστοσελίδων Α και Β; Π.χ., αν η Α έχει 10 σελίδες ενηµερωµένες ενώ η Β έχει 15 σελίδες ενηµερωµένες κάποια χρονική στιγµή, τότε λέµε ότι η Β είναι πιό φρέσκια από την Α. Ακόµη κι αν όλες οι σελίδες της Α και της Β είναι ληγµένες, η συλλογή Α µπορεί να θεωρηθεί πιό σύγχρονη από την Β αν η Α ανανεώθηκε πριν µια µέρα ενώ η Β πριν ένα χρόνο. Χρειαζόµαστε ορισµούς για τη Φρεσκάδα (Freshness) και την Ηλικία (Age) για τις τοπικές σελίδες του ιχνηλάτη, σε σύγκριση µε τις σελίδες στον Ιστό. 23

Ορισµοί Μετρικών (Metrics Definitions) Φρεσκάδα ιστοσελίδας e i: F(ei,t) = 1, αν η ei είναι ενηµερωµένη τη χρονική στιγµή t και 0 αλλοιώς. Φρεσκάδα τοπικής συλλογής ιστοσελίδων S = {e 1,..., en}: ισούται µε τη µέση τιµή των βαθµών φρεσκάδας των συστατικών της συλλογής. Ηλικία ιστοσελίδας ei: A(ei,t) = t modification time of ei, αν η ei δεν είναι ενηµερωµένη τη χρονική στιγµή t και 0 αλλοιώς. Ηλικία τοπικής συλλογής ιστοσελίδων S = {e1,..., en}: ισούται µε τη µέση τιµή της ηλικίας τών συστατικών της συλλογής. Για να βρούµε τη µέση φρεσκάδα και ηλικία σε µια µεγάλη χρονική περίοδο, χρησιµοποιούµε ολοκλήρωµα: F(ei) = lim ( F(ei;t) dt)/t 24

Στρατηγική Ανανέωσης Ιστοσελίδων Ο ιχνηλάτης µπορεί να ανακτήσει έναν περιορισµένο αριθµό ιστοσελίδων ανά χρονικό διάστηµα (εκατοντάδες σελίδες το δευτερόλεπτο, συνήθως). Για να καταρτίσουµε µια καλή στρατηγική ανανέωσης ιστοσελίδων, θα πρέπει να αξιοποιήσουµε τον πόρο (resource) αυτό, δηλαδή την ικανότητα ανάκτησης x ιστοσελίδων το δευτερόλεπτο, ώστε να βελτιστοποιήσουµε την µετρική φρεσκάδας της συλλογής µας. Υποθέστε ότι: Μπορούµε να ανακτούµε 1 ιστοσελίδα την ηµέρα. Η συλλογή µας αποτελείται από δύο ιστοσελίδες, η µία εκ των οποίων (e1) ανανεώνεται 9 φορές την ηµέρα και η άλλη (e2)µόνο µια φορά. Ποιά σελίδα θα κατεβάσουµε και γιατί; Με κάποιες απλοποιητικές υποθέσεις µπορούµε να δείξουµε ότι συµφέρει να ανακτήσουµε την e2 (αποδείξτε γιατί). 25

26 Στρατηγική Ανανέωσης Ιστοσελίδων Υποθέτοντας ότι ο ρυθµός αλλαγής ιστοσελίδων είναι διεργασία Poisson, αποδεικνύεται ότι η οµοιόµορφη πολιτική είναι πάντοτε υπέρτερη της αναλογικής, για οποιοδήποτε αριθµό σελίδων, συχνότητα αλλαγής και συχνότητα ενηµέρωσης. Για απόδειξη βλ. Cho & Molina, Synchronizing a database to improve freshness, Intl' Conf. Management of Data, 2000.

Αποθήκη Ιστοσελίδων (Repository) To page repository εκτελεί δυο σηµαντικές λειτουργίες: Προσδίδει µέσω της κατάλληλης διεπαφής την δυνατότητα στον ιχνηλάτη για αποθήκευση σελιδών. Προσφέρει την δυνατότητα στον indexer και στο collection analysis module για αποδοτική και εύκολη πρόσβαση στις αποθηκευµένες σελίδες. Το page repository δεν αποτελεί ένα κλασικό σύστηµα αποθήκευσης και διαχείρισης δεδοµένων. Δεν χρειάζονται δοσοληψίες, απογραφή (logging), δοµή καταλόγου κλπ, όπως σε ΒΔ ή Συστήµατα Αρχείων. Βασικές προκλήσεις: Κλιµακωσιµότητα: να µπορούµε να αποθηκεύουµε 27

28 Αποθήκη Ιστοσελίδων: Θέµατα Σχεδιασµού Κατανοµή ιστοσελίδων στους κόµβους ενός κατανεµηµένου συστήµατος: οµοιόµορφη (uniform) ή κατακερµατισµένη (hash distribution). Στην κατατεµαχισµένη, η τοποθέτηση µιας ιστοσελίδας σε κάποιο αποθηκευτικό κόµβο εξαρτάται από το όνοµα της ιστοσελίδας. Φυσική οργάνωση των ιστοσελίδων σε ένα αποθηκευτικό κόµβο: Πρόσθεση και εισαγωγή ιστοσελίδων Ροή υψηλής ταχύτητας Τυχαία πρόσβαση

29 Φυσική Οργάνωση Ιστοσελίδων σε Κατακερµατισµένη οργάνωση (hashed): Ένας δίσκος οργανώνεται σαν σύνολο από καλάθια κατακερµατισµού. Κάθε καλάθι έχει τόση χωρητικότητα ώστε να χωράει στην κεντρική µνήµη. Μια ιστοσελίδα µπαίνει σε κάποιο καλάθι, ανάλογα µε τον κώδικα κατακερµατισµού που συνάγεται από το όνοµά της. Οργάνωση απογραφής (log-structured organization): Δεδοµένης της µεγάλης συχνότητας εγγραφών, µπορούµε να κερδίσουµε χρησιµοποιώντας εγγραφές µέσω απογραφής. Ένας δίσκος θεωρείται σαν µια µεγάλη, συνεχής, σειριακή δοµή απογραφής, στην οποία επικολλούµε (append) εισερχόµενες ιστοσελίδες. Η ανάγκη τυχαίας πρόσβασης µπορεί να υποστηριχθεί µέσω επιπρόσθετου ενδείκτη Β-δένδρου ο οποίος απεικονίζει URLs σε φυσικές θέσεις στο δίσκο. Υβριδική προσέγγιση: χρησιµοποιούµε κατακερµατισµένη οργάνωση, χωρίζοντας το δίσκο σε τελάρα, µέσα στα οποία οι ιστοσελίδες εισάγονται µε οργάνωση απογραφής.

30 Στρατηγικές Ανανέωσης Μαζικός Ιχνηλάτης (batch-mode ): Εκτελείται περιοδικά (π.χ., µιά φορά το µήνα) και ιχνηλατεί για ένα συγκεκριµένο χρονικό διάστηµα µέχρι να συλλέξει έναν καθορισµένο αριθµό ιστοσελίδων. Ενηµερώνει την αποθήκη του στη διάρκεια της ιχνηλασίας. Σταθερός ιχνηλάτης (steady crawler): Τρέχει ασταµάτητα, παράσχοντας ενηµερώσεις της αποθήκης και καινούργιες ιστοσελίδες συνέχεια. Στην περίπτωση µαζικού ιχνηλάτη, µπορεί να ακολουθείται πολιτική µερικής ιχνηλασίας, όπου ο µαζικός ιχνηλάτης επισκέπτεται ένα υποσύνολο ιστοσελίδων ή ιστιακών τόπων. Ενηµέρωση αποθήκης: Εντός τόπου (in place): καθώς ανακτούµε ιστοσελίδες, τις εντάσσουµε κατευθείαν στην αποθήκη. Επισκιασµός (shadowing): οι νέες ιστοσελίδες σώζονται σε προσωρινό χώρο και η ενηµέρωση της αποθήκης γίνεται ασύγχρονα (πλήρης αποσύνδεση ενηµέρωσης από ανακτήσεις από την αποθήκη).

31 Ενδεικτοδότηση (Indexing) Ενδείκτης δοµής: Κατασκευάζεται από τη µονάδα ενδείκτη (indexer module). Αποτελεί µια κλιµακώσιµη και αποδοτική δοµή αναπαράστασης του Ιστού ως γραφήµατος (µε αρκετά εκατοµύρια κόµβους και ακµές). Κατασκευασµένος ώστε να παρέχει µε σχετική ευκολία πληροφορίες γειτνίασης (neighborhood information). Π.χ, δεδοµένης µιας ιστοσελίδας P να βρεθούν οι ιστοσελίδες στις οποίες παραπέµπει η P, ή τα αδέλφια της P. Eνδείκτης περιεχοµένου: Κατασκευάζεται από τη µονάδα ενδείκτη (indexer module). Συνήθως χρησιµοποιεί κάποια γνωστή µέθοδο υποστήριξης ανάκτησης µε βάση κείµενο, όπως suffix arrays, inverted files ή inverted indexes και signature files. Eνδείκτης ωφελείας (utility index) : Κατασκευάζεται από τη µονάδα ανάλυσης συλλογής αναλόγως µε τα χαρακτηριστικά της µηχανής αναζήτησης στην οποία ανήκει. Π.χ., σε ένα ψαχτήρι ιστιακού τόπου, είναι χρήσιµος ένας ενδείκτης του ιστιακού τόπου (site index).

Δείκτες Κειµένου (text indexes) Ένας αντεστραµµένος ενδείκτης αποτελείται από σύνολο αντεστραµµένων καταλόγων έναν για κάθε λέξη (ή όρο του ενδείκτη). Ο αντεστραµµένος κατάλογος περιέχει µια σειρά από τοποθεσίες όπου συναντάται ο συγκεκριµένος όρος: ταυτότητα ιστοσελίδας και θέση του όρου µέσα στην ιστοσελίδα. Επιπλέον της τοποθεσίας, µπορεί να υπάρχουν και άλλες πληροφορίες σχετικές µε τα συµφραζόµενα της εµφάνισης του όρου στην ιστοσελίδα: αν π.χ. βρίσκεται µέσα σε άγκυρα, ή σε έντονη συµβολοσειρά κλπ. Παράλληλα µε τις αντεστραµµένες λίστες, οι περισσότεροι ενδείκτες κειµένου έχουν και ένα λεξικό 32

33 Κατασκευή Ενδείκτη Κειµένου Η κατασκευή ενός ενδείκτη ακολουθεί τα παρακάτω βήµατα: 1. Επεξεργασία σελίδας για εξαγωγή τοποθεσιών της µορφής <λέξη, θέση>. 2. Ταξινόµηση των τοποθεσιών µε βάση πρώτα τη λέξη και µετά τη θέση. 3. Εγγραφή των ταξινοµηµένων τοποθεσιών σαν συλλογή από αντεστραµµένους καταλόγους στο δίσκο. Όταν θέλουµε όµως να κατασκευάσουµε ενδείκτες για µηχανές αναζήτησης: Μεγάλος αριθµός ιστοσελίδων δίνει τεράστιους ενδείκτες, η δηµιουργία των οποίων απαιτεί σηµαντικούς υπολογιστικούς πόρους. Η περιοδική ανανέωση και προσθετική ενηµέρωση ενός

34 Κατάτµηση Ενδεικτών Για την κατάτµηση ενός µεγάλου ενδείκτη σε περισσότερες µηχανές, υπάρχουν δύο βασικές τεχνικές: Local inverted file (τοπικό αντεστραµµένο αρχείο): ένας ενδείκτης αποτελείται από πολλούς τοπικούς ενδείκτες, καθένας εκ των οποίων δεικτοδοτεί ένα διαφορετικό υποσύνολο των ιστοσελίδων της συλλογής µας. Global inverted file (γενικό αντεστραµµένο αρχείο): γίνεται κατάτµηση µε βάση τους όρους του ενδείκτη επερωτήσεις για διαφορετικούς όρους εξυπηρετούνται από διαφορετικούς εξυπηρετητές.

Ιεράρχηση Ιστοσελίδων και Ανάλυση Η εµφάνιση ιστοσελίδων ως αποτελεσµάτων επερωτήσεων για λέξεις κλειδιά δεν είναι αρκετή σαν λύση στον Ιστό διότι: Υπάρχει τεράστιος αριθµός σελίδων, µε µεγάλη διαφοροποίηση στην ποιότητα του περιεχοµένου. Άρα, πολλές από τις απαντήσεις δεν είναι ενδιαφέρουσες ή σχετικές. Πολλές ιστοσελίδες δεν είναι επαρκώς αυτοπεριγραφικές ή δίνουν παραπλανητικές πληροφορίες. Για την υποβοήθηση των µηχανών αναζήτησης, χρειαζόµαστε αλγορίθµους οι οποίοι να υποβοηθούν την ιεράρχηση των απαντήσεων σε επερωτήσεις µε λέξεις 35

Αλγόριθµος PageRank Ενας από τους πιο γνωστούς αλγορίθµους είναι ο PageRank των Brin & Page (7 th WWW Conference, 1998). Επεκτείνει τη βασική ιδέα της ιεράρχησης µε βάση τον αριθµών των παραποµπών, λαµβάνοντας υπόψη του και την σηµαντικότητα των σελίδων από τις οποίες προέρχονται οι παραποµπές. Θεωρεί ότι έχουν ισχυρά συνδετικό γράφηµα και χρησιµοποιεί τον ακόλουθο ορισµό για το βαθµό επιρροής (ranks): r(i) = r(1)/n(1) + r(2)/n(2) + + r(j)/n(j) + +r(m)/n(m) Όπου το j ανήκει στο σύνολο B(j) των σελίδων οι οποίες παραπέµπουν στην i (j=1,,m). Ν(j) είναι ο αριθµός των 36

37 Αλγόριθµος PageRank Αποδεικνύεται ότι η τιµή του rank µιας ιστοσελίδας, µε βάση τον ορισµό των Brin & Page, είναι ανάλογη της πιθανότητας µε την οποία ένας τυχαίος πλοηγός (random surfer) θα επισκεφθεί την ιστοσελίδα αυτή. Random surfer: κάποιος που πλοηγείται στον ιστό, επιλέγοντας µε τυχαίο τρόπο τους συνδέσµους που θα ακολουθήσει. Η πλοήγηση αυτή ισοδυναµεί µε τυχαίο περίπατο (random walk) στο γράφηµα του ιστού.

Αλγόριθµος HITS (Hypertext Induced Υπολογίζει δύο τιµές ιεράρχησης ιστοσελίδων: Τιµή αυθεντίας (authority score) Τιµή κοµβικότητας (hub score) Ιστοσελίδες, οι οποίες είναι οι πιθανότερες να περιέχουν τις πιο έγκυρες πληροφορίες για µια συγκεκριµένη επερώτηση, ονοµάζονται ιστοσελίδες αυθεντίας. Ιστοσελίδες οι οποίες παραπέµπουν σε πολλές ιστοσελίδες αυθεντίας, ονοµάζονται κοµβικές (hubs). Μεταξύ των αυθεντιών και των κοµβικών ιστοσελίδων, υπάρχει µια σχέση αµφίδροµης ενίσχυσης: Μια ιστοσελίδα αυθεντίας πρέπει να δέχεται παραποµπές από αναγνωρισµένες κοµβικές ιστοσελίδες. Μια κοµβική ιστοσελίδα πρέπει να παραπέµπει σε 38

39 Αλγόριθµος HITS Eύρεση ενός µικρού υπογράφου από το Διαδίκτυο και εφαρµογή ανάλυσης συνδέσµων ( link analysis ) σε αυτόν, προς ανεύρεση των αυθεντιών και των κοµβικών ιστοσελίδων. Η επιλογή του υπογράφου αυτού εξαρτάται από το είδος της επερώτησης του χρήστη και γίνεται µε χρήση του ενδείκτη κειµένου.

Αρχιτεκτονική CBSE Ranking and link analysis (4) Λειτουργία του αλγορίθµου HITS: Eύρεση ενός µικρού υπογράφου από το Διαδίκτυο και εφαρµογή ανάλυσης συνδέσµων ( link analysis ) σε αυτόν, προς ανεύρεση των hub pages και authority pages. Η επιλογή του υπογράφου αυτού εξαρτάται από το είδος της επερώτησης του χρήστη. Ο αλγόριθµος HITS ουσιαστικά µας λέει ότι ένα καλό hub page «δείχνει» σε πολλά καλα authority pages και αντίστροφα 1 40

41 Οι Μηχανές Αναζήτησης από την Combining Systems and Databases: A Search Engine Retrospective. Eric A. Brewer, In J. M. Hellerstein and M. Stonebraker (Editors), Readings in Database Systems, Fourth Edition, MIT Press, 2005.

42 Εισαγωγικά Μια σύγχρονη Μηχανή Αναζήτησης χειρίζεται πάω από 3 δις έγγραφα, µε περίπου 10 ΤΒ δεδοµένων και δέχεται γύρω στα 150 εκατοµύρια επερωτήσεις ηµερησίως, µε µέγιστη ροή πολλών εκατοντάδων χιλιάδων επερωτήσεων το δευτερόλεπτο. Οι επερωτήσεις προς τις ΜΑ είναι συνήθως σύντοµες, ωστόςο υπάρχουν πάνω από 10 εκατοµύρια διαφορετικές λέξεις σε όλες τις γλώσσες. Προκλήσεις για την επιστήµη: Ανεύρεση και κατάταξη 10 εκ. λέξεων σε 3 δις έγγραφα, λαµβάνοντας υπόψη θέση και σχετική σηµαντικότητα κάθε λέξης. Κατάταξη των χιλιάδων αποτελεσµάτων που προκύπτουν από µικρές επερωτήσεις. Υψηλή διαθεσιµότητα (availability): downtime contributes directly to lost revenue and customer churn. Φρεσκάδα: διατήρηση ενηµερωµένου ευρετηρίου της ΜΑ.

43 ΒΔ και ΜΑ Οι ΜΑ δεν κάνουν χρήση συστηµάτων Διαχείρισης ΒΔ. Θα ήταν χρήσιµο, οι ΜΑ να ακολουθούσαν τις βασικές αρχές των ΒΔ - όχι όµως απαραίτητα και τις τεχνικές υλοποίησης των ΒΔ: Σχεδιασµός από πάνω προς τα κάτω (top-down design): ο σχεδιασµός των ΒΔ ξεκινάει από την επιθυµητή σηµασιολογία (ACID ιδιότητες) και διαµορφώνει µηχανισµούς υλοποίησης της σηµασιολογίας Η ανάπτυξη των µηχανών αναζήτησης θα πρέπει να ξεκινάει από την σηµασιολογία τους (διαφορετική των ΒΔ) µε τους µηχανισµούς τους να έπονται της σηµασιολογίας. Ανεξαρτησία δεδοµένων (data independence): τα δεδοµένα υπάρχουν σε σύνολα χωρίς δείκτες - εποµένως µπορούµε να εξελίσουµε την αναπαράσταση και την αποθήκευσή τους, ενώ παράλληλα διευκολύνται η ανάκαµψη (recovery) και η αντοχή στα σφάλµατα (fault tolerance). Declarative Query Language: η χρήση γλωσσών επερωτήσεων περιγραφής του τι θέλουµε και όχι του πώς θα υπολογίσουµε την απάντηση. Αν και δεν χρησιµοποιείται η SQL, υπάρχει ανάγκη χρήσης δοµών συστηµάτων ΒΔ για σάρωση επερωτήσεων, βελτιστοποίηση και εκτέλεση επερωτήσεων.

44 Σηµασιολογία ΜΑ Η σηµασιολογία των ΜΑ διαφέρει από αυτή των ΒΔ (ACID): Προτίµηση σε υψηλή διαθεσιµότητα (availability) έναντι της συνέπειας (consistency): Προσπάθεια διατήρησης της φρεσκάδας (µείωσης της ασυνέπειας ). Δεν υπάρχει ανάγκη για γενικούς µηχανισµούς ενηµέρωσης (update mechanisms): Οι επερωτήσεις δεν προκαλούν ενηµέρωση καθώς είναι readonly ενηµέρωση στις ΜΑ συµβαίνει µε τρόπο ατοµικό και αφορά στην αντικατάσταση ολόκληρων πινάκων - εποµένως η εκτέλεση επερωτήσεων δεν συνεπάγεται έλεγχο ατοµικότητας και διατηρησιµότητας (durability). Η διατηρησιµότητα είναι εύκολη υπόθεση καθώς η ΜΑ δεν είναι το κύριο αντίγραφο της βάσης (master copy), αλλά τυχόν χαµένα δεδοµένα µπορούν να ξαναχτιστούν από τοπικά αντίγραφα ή τον Ιστό.

45 Αρχιτεκτονική στιγµιοτύπου (snapshot architecture) Έµφαση αρχιτεκτονικών ΜΑ: υποστήριξη µεγάλου αριθµού ταυτόχρονων επερωτησεων µε µικρή απόκλιση στο εύρος των επερωτήσεων και µε έµφαση στην υψηλή διαθεσιµότητα. Αρχιτεκτονική: Στατική ΒΔ για εξυπηρέτηση των read-only επερωτήσεων. Αρκετή εργασία off-line για χτίσιµο και ξαναχτίσιµο της στατικής ΒΔ. Πλεονεκτήµατα: Απλούστευση εξυπηρετητή online και συνεπώς βελτίωση διαθεσιµότητας, κλιµακωσιµότητας και κόστους.

46 Αρχιτεκτονική ΜΑ Crawl, Index, Serve Crawling (ιχνηλασία): Επίσκεψη σε ιστοσελίδες, µε τον ίδιο τρόπο µε τις επισκέπτονται οι χρήστες. Αποτέλεσµα: ένα µεγάλο αρχείο (µε ένα χάρτη στην αρχή του), το οποίο συµπεριλαµβάνει χιλιάδες συναλυσωµένα έγγραφα. Crawler: έλεγχος επίσκεψης αρχείων, χρονοδροµολόγηση επισκέψεων και επανεπισκέψεων, διαχείριση δυναµικών σελίδων, τύπων MIME, kκλπ.

Αρχιτεκτονική ΜΑ Indexer: Σαρώνει και διερµηνεύει συλλογές εγγράφων. Ανιχνεύει τη γλώσσα του εγγράφου, τη γεωγραφική του τοποθεσία, εξερχόµενους και εισερχόµενους συνδέσµους. Ανιχνεύει τις άγκυρες όλων των υπερσυνδέσµων που παραπέµπουν σε κάποιο έγγραφο. Βαθµολογεί τα έγγραφα και τις λέξεις µέσα στα έγγραφα. Στην εκροή του δηµιουργεί ένα τµήµα της στατικής ΒΔ, το chunk, το οποίο περιλαµβάνει όλες τις ανωτέρω πληροφορίες συνήθως κωδικοποιηµένες σαν ένα κανονικοποιηµένο σκόρ. Server: Εκτελεί επερωτήσεις πάνω σε συλλογές από chunks. Πραγµατοποιεί σάρωση των επερωτήσεων, ξαναγράψιµο επερωτήσεων, βελτιστοποίηση και εκτέλεση επερωτήσεων. No locks, no isolation issues, no need for concurrency control. 47

48 Μοντελοποίηση Εγγράφων Έγγραφα (documents): Έχουν µοναδικό ID (DocID),URL, summary information Περιλαµβάνουν λέξεις: σε κάθε λέξη ενός εγγράφου ανατίθεται ένα βάρος (score). Έχουν ιδιότητες, οι οποίες είναι boolean. Έχουν µετα-λέξεις (metawords) µε τις οποίες µπορούµε να κωδικοποιήσουµε ιδιότητες οι οποίες δεν έχουν boolean τιµές (π.χ. την ποιότητα ενός εγγράφου, την φρεσκάδα του, τον αριθµό των εισερχόµενων και εξερχόµενων συνδέσµων του κλπ).

49 Επερωτήσεις Μηχανών Αναζήτησης Καθορίζουν λέξεις και ιδιότητες τις οποίες ένα έγγραφο θα πρέπει να περιλαµβάνει/ικανοποιεί. Περιλαµβάνουν κατάλογο από όρους τους οποίους θα πρέπει να περιλαµβάνει ένα έγγραφο: Το συνταίριασµα ιδιοτήτων είναι απόλυτο: ένα έγγραφο πρέπει να ικανοποιεί όλες τις επιθυµητές ιδιότητες της επερώτησης. Το συνταίριασµα λέξεων είναι σχετικό: κάθε έγγραφο βαθµολογείται για το πόσο καλά ταιριάζει µε κάθε όρο της επερώτησης. Q = <w1, w2,, wk> Score(Q, d) = Quality(d) + Σi Score (wi, d) Quality(d): ανεξάρτητο της επερώτησης Score (wi, d): υπολογίζεται στη διάρκεια του indexing και εξαρτάται από την συχνότητα και την θέση της λέξης µέσα στο έγγραφο. Πρόβληµα: πώς εκτελούµε µια επερώτηση στη ΜΑ;

50 Λογικό Πλάνο Επερώτησης (Logical Query Plan) Η υιοθέτηση ενός αφαιρετικού λογικού πλάνου είναι σηµαντική για την βελτιστοποίηση της εκτέλεσης επερωτήσεων σε ΜΑ. Υποθέτουµε απλό λογικό σχήµα για την αποθήκευση των δεδοµένων µιας ΜΑ στους ακόλουθους πίνακες: document info, word data, property data. Σε κάθε λέξη αντιστοιχίζουµε ένα κλειδί wordid - η αντιστοιχία αυτή διασώζεται στον πίνακα term table T.

Λογικό Πλάνο Επερώτησης (Logical Query Plan) Όλες οι επερωτήσεις ΜΑ έχουν βασικά το ίδιο λογικό πλάνο. Document join Επιστρέφει τα k πρώτα στοιχεία ενός πίνακα, ταξινοµηµένα µε βάση την στήλη Score 51

52 Υπολογισµός Εγγράφου Προσαρµογής Για τον υπολογισµό του συνόλου των εγγράφων προσαρµογής (matching documents) και της βαθµολογίας τους, ακολουθείται προσέγγιση top-down, ορίζοντας µια µικρή γλώσσα επερωτήσεων (απλούστερη της SQL), η οποία περιέχει: Expressions: δέχονται βαθµολογία (score), αντιστοιχούν σε αναζητούµενες λέξεις κλειδιά. Properties: δεν δέχονται βαθµολογία, αντιστοιχούν σε επιθυµητές ιδιότητες των αναζητούµενων εγγράφων.

53 Επερωτήσεις Συνηθισµένες επερωτήσεις κωδικοποιούνται σαν σειρές από αναζητούµενες λέξεις µε τον υπόρρητο τελεστή AND µεταξύ τους: άνω πετράλωνα (άνω AND πετράλωνα) Επερωτήσεις που περιλαµβάνουν επιθυµητές ιδιότητες εγγράφων κωδικοποιούνται µε τη βοήθεια του τελεστή FILTER: άνω πετράλωνα lang:greek ((άνω AND πετράλωνα) FILTER lang:greek ) Επερωτήσεις που περιλαµβάνουν άρνηση κωδικοποιούνται επίσης µε τη βοήθεια του τελεστή FILTER: Νέα Ιωνία -Αττική ((Νέα AND Ιωνία) FILTER ΝΟΤ Αττική )

Υλοποίηση Επερωτήσεων Η επεξεργασία των πινάκων για την υλοποίηση των επερωτήσεων βασίζεται στην σειριακή πρόσβαση σε ένα ταξινοµηµένο αντεστραµµένο ευρετήριο: Ταξινοµηµένη λίστα όλων των εγγράφων που περιέχουν ένα συγκεκριµένο όρο. Για expressions, η λίστα περιλαµβάνει έγγραφα και βαθµολογίες. Για properties, η λίστα περιλαµβάνει απλώς έγγραφα. Επειδή οι λίστες είναι ταξινοµηµένες, το join των σχέσεων ισοδυναµεί µε απλό merge join. Στην πράξη, δεν χρειάζεται να κάνουµε binary join, αλλά multiway merge joins, αφού έτσι επιτυγχάνουµε να µειώσουµε το βάθος του πλάνου. Σε αντίθεση µε τα συστήµατα επερωτήσεων των κλασικών ΒΔ, στις ΜΑ: Γίνεται αποµνηµόνευση ενδιάµεσων αποτελεσµάτων (caching) Δεν γίνεται διασωλήνωση του πλάνου εκτέλεσης των επερωτήσεων (no pipelining). Έτσι, επιτυγχάνεται υψηλότερη διεκπεραιωτικότητα (throughput) αλλά και υψηλότερη υστέρηση. 54

55 Υλοποίηση Επερωτήσεων Αφού χρησιµοποιούµε µόνο multiway joins, µπορούµε να περιοριστούµε στην υλοποίηση µόνο τεσσάρων φυσικών τελεστών: OR(e1, e2,, ek) -> expr : full outer multiway join w. scoring ORp(p1, p2,, pk) -> prop : multiway full outer join w/o scoring ANDp(p1, p2,, pk) -> prop : multiway inner join w/o scoring FILTER (e1, e2,, ek) (p1, p2,, pk) -> expr : multiway inner join with scoring for expressions and no scoring for the properties

56 Υλοποίηση Επερωτήσεων

57 Βελτιστοποίηση Επερωτήσεων Στόχος: Απεικόνιση της λογικής επερώτησης σε φυσικές λειτουργίες Ισοπέδωση του δένδρου των join Αξιοποίηση αποµνηµονευµένων αποτελεσµάτων Ελαχιστοποίηση των join µε χρήση multiway joins

58 Άλλα Θέµατα Υλοποίησης Παραλληλοποίηση για παράλληλη εκτέλεση µιας επερώτησης σε συστοιχίες υπολογιστών. Συµπίεση αντεστραµµένων ευρετηρίων. Διαχείριση ανανεώσεων ευρετηρίων (updates). Ευρωστία σε σφάλµατα (fault tolerance). Phrase queries: Τεχνικές γειτνίασης (proximity techniques): επαύξηση βαθµολογίας εγγράφων στα οποία οι λέξεις µιας φράσης βρίσκονται κοντά. Αναζήτηση φράσης (πhrase searching): η ΜΑ διατηρεί στοιχεία για την ακριβή θέση κάθε λέξης σε κάθε έγγραφο!

59 Σύνοψη Η χρήση εξειδικευµένης διαχείρισης των δεδοµένων µιας ΜΑ έδωσε 10 φορές καλύτερη επίδοση από την περίπτωση χρήσης ενός γενικού συστήµατος ΒΔ όπως η Informix (circa 1996), το οποίο υποστήριζε παραλληλοποίηση, αποµνηµόνευση κλπ Λόγοι της διαφοροποίησης στην επίδοση: Η ΒΔ γενικού σκοπού υποστηρίζει ακριβές λειτουργικότητες που είναι όµως άχρηστες για τις ΜΑ, π.χ. κλειδιά (locking). Στις ΜΑ µπορούµε να πραγµατοποιήσουµε εξειδικευµένες βελτιστοποιήσεις (multiway joins, βελτιστοποίηση των πλάνων επερωτήσεων, συµπίεση ευρετηρίων). Στις ΒΔ των µέσων της δεκαετίας του 90, η αποθήκευση ευρετηριασµένου κειµένου χρειαζόταν 3 φορές περισσότερο χώρο απ ότι το ίδιο το κείµενο - στις ΜΑ ο χώρος αυτός ήταν πολύ λιγότερος.

60 Συµπεράσµατα Οι σχεδιαστές µεγάλων συστηµάτων διαχείρισης δεδοµένων πρέπει να λαµβάνουν υπόψη τους τις γενικές αρχές που ακολουθούνται από τις βάσεις δεδοµένων και να τις υλοποιούν στα συστήµατά τους: Συστήµατα διαχείρισης αρχείων απογραφής. Google file system. Batch-aware distributed file-system. XML databases.