Βάσεις Δεδομένων και Παγκόσμιος Ιστός IR και Μηχανές αναζήτησης
Information Retrieval Μοντέλο Vector Space Ευρετήρια για ανεύρεση κειμένων Μηχανές αναζήτησης στον Ιστό
Βάσεις Δεδομένων και Παγκόσμιος Ιστός3 Information Retrieval και ΒΔ IR: ανεύρεση κειμένων σε μεγάλες συλλογές Από την δεκαετία του 50 Πορεία ανεξάρτητη από τις ΒΔ Μοντέλο: κάθε έγγραφο είναι μια συλλογή λέξεων (όρων) ΒΔ: η διαχείριση κειμένων είναι μια νέα πρόκληση Τα κείμενα αποτελούν μια τεράστια πηγή δεδομένων στον Ιστό Έρευνα στις ΒΔ προς την κατεύθυνση αυτή Συμπέρασμα: ο Ιστός φέρνει τις ΒΔ πιο κοντά στο IR Η XML βρίσκεται ακριβώς στην μέση, σαν συνδετικός κρίκος
Βάσεις Δεδομένων και Παγκόσμιος Ιστός4 Διαφορετικοί κόσμοι: Ιστός και IR Scalability IR: δεκάδες χιλιάδες κείμενα Ιστός: δισεκατομύρια σελίδες Ομογένεια IR: διαχείριση εγγράφων από επαγγελματίες, προσεκτική προετοιμασία, ταξινόμηση σε ομογενείς κατηγορίες Ιστός: δημιουργία εγγράφων και αναζήτηση από απλούς χρήστες, θεματικά ανομοιογενή έγγραφα, περιέχουν πολυμεσική πληροφορία Η είσοδος της XML......πρόσθεσε μεταδεδομένα (περιγραφική πληροφορία) Από ελεύθερο κείμενο σε “textual objects”
Βάσεις Δεδομένων και Παγκόσμιος Ιστός5 Διαφορετικοί κόσμοι: ΒΔ και IR (1) Κοινός καταρχήν στόχος: Υποστήριξη αναζητήσεων πάνω σε μεγάλες συλλογές δεδομένων Αναζητήσεις (searches) αντί ερωτημάτων (queries) IR: search terms πάνω σε συλλογή αδόμητων κειμένων, ranking των αποτελεσμάτων ΒΔ: ευρύ φάσμα ερωτημάτων με ακριβή σημασιολογία, αυστηρά δομημένα δεδομένα, unranked αποτελέσματα Πλεονεκτήματα IR: δεν είναι απαραίτητη η γνώση σχήματος και γλώσσας ερωτημάτων ΒΔ: τα αποτελέσματα είναι πλήρη και ακριβή
Βάσεις Δεδομένων και Παγκόσμιος Ιστός6 Διαφορετικοί κόσμοι: ΒΔ και IR (2) Ενημερώσεις και δοσοληψίες IR: προσανατολισμός σε read-only workload, χωρις δοσοληψίες IR: περιοδική ενημέρωση ή επαναδημιουργία ευρετηρίων IR: σχετικά έγγραφα μπορεί να μην εντοπίζονται λόγω μη ενημερωμένων ευρετηρίων ΒΔ: προσανατολισμός και σε update-intensive workload Ερευνητική δραστηριότητα IR: μέθοδοι για ranking, χρήση γλωσσικών τεχνολογιών για βελτίωση των αναζητήσεων ΒΔ: επεξεργασία ερωτημάτων, έλεγχος ταυτοχρονισμού, κτλ.
Information Retrieval Μοντέλο Vector Space Ευρετήρια για ανεύρεση κειμένων Μηχανές αναζήτησης στον Ιστό
Βάσεις Δεδομένων και Παγκόσμιος Ιστός8 Αναζητήσεις Δύο κατηγορίες ερωτημάτων πάνω σε συλλογές εγγράφων στα συστήματα IR Boolean queries: βρες όλα τα έγγραφα που ικανοποιούν μια Boolean έκφραση database AND (Microsoft OR IBM) Οταν μια μηχανη αναζήτησης αναφέρει «βρέθηκαν έγγραφα», αυτό είναι το μέγεθος του αποτελέσματος ενός Boolean query (ισως «κομμένο» λόγω ανώτατου επιτρεπτού ορίου) Ranked queries: ο χρήστης δίνει μερικούς όρους, και το αποτέλεσμα είναι μια λίστα εγγράφων ταξινομημένων ως προς «σχετικότητα» “Microsoft, IBM” Αν το έγγραφο περιέχει ΙΒΜ είναι σχετικό Αν περιέχει πολλά ΙΒΜ, ή και ΙΒΜ και Microsoft, ακόμη πιο σχετικό Επέκταση: βρες έγγραφα σχετικά με μια πρόταση φυσικής γλώσσας.
Βάσεις Δεδομένων και Παγκόσμιος Ιστός9 Boolean queries Πως αντιμετωπίζουμε το «όρος1» ή «όρος2»; Ένωση των δύο συνόλων εγγράφων Το «όρος1» και «όρος2»; Τομή των δύο συνόλων εγγράφων Αλφαβητική ταξινομηση και συγχώνευση των λιστών Το «όρος1» and not «όρος2»; Αφαίρεση, και πάλι μέσω ταξινόμησης Το «όρος1» or not «όρος2»; Ενωση του «όρος1» και του « not όρος2» Ολα τα έγγραφα που δεν περιέχουν το «όρος2» - πάρα πολλά Συνήθως δεν επιτρέπεται
Βάσεις Δεδομένων και Παγκόσμιος Ιστός10 Μοντέλο Vector Space (1) Βασική λειτουργία ενός μηχανισμού IR: ranking του αποτελέσματος ενός Boolean query Το μοντέλο vector space παρέχει το θεωρητικό πλαίσιο Κάθε έγγραφο στην συλλογη αναπαρίσταται από ένα διάνυσμα που λέγεται document vector Υπολογισμός document vector Θεωρούμε όλους τους όρους που εμφανίζονται στην συλλογή (n τον αριθμο) Ενα document vector αποτελείται από μια τιμή για κάθε τέτοιον όρο Απλούστερη μορφή: αν ο όρος j εμφανίζεται k φορές στο έγγραφο i, τότε το document vector του i περιέχει την τιμή k στην θέση j
Βάσεις Δεδομένων και Παγκόσμιος Ιστός11 Μοντέλο Vector Space (2) Συνεπώς: Κάθε έγγραφο είναι ένα σημείο στον n-διάστατο χώρο Παραδοχή: έγγραφα που βρίσκονται «κοντά» είναι παρόμοια Τα document vectors είναι sparse: τιμη 0 για όρους που δεν υπάρχουν σε ένα έγγραφο DocidDocument 1agent James Bond good agent 2agent mobile computer 3James Madison movie 4James Bond movie DocidagentBondcomputergoodJamesMadisonmobilemovie
Βάσεις Δεδομένων και Παγκόσμιος Ιστός12 Term Frequency (TF) TF ενός εγγράφου για κάποιον όρο, ειναι ο αριθμός εμφανίσεων του όρου στο έγγραφο...και συνεπώς η τιμή για έναν όρο σε ένα document vector Σημασία: συχνοί όροι σημαντικότεροι για τον χαρακτηρισμό ενός εγγράφου Ομως, κάποιοι όροι εμφανίζονται συχνά σε όλη την συλλογή Η εμπειρία δείχνει κατανομή Zipfian Υπερβολικά κοινοι όροι δεν είναι χρήσιμοι στις αναζητήσεις Π.χ.: “the”, HTML tags όπως Stop words: προεπεξεργασία εγγράφων και απομάκρυνση
Βάσεις Δεδομένων και Παγκόσμιος Ιστός13 TF / IDF Καποιοι όροι εμφανίζονται πολύ συχνα σε μια συλλογή......ακόμη και μετά την απομάκρυνση των stop words πχ. Linux, kernel, σε συλλογή για το Linux Αν μια αναζήτηση περιέχει και τους δύο όρους: Δεδομένου ότι το Linux είναι συχνοτερο από το kernel… …καλύτερα αποτελέσματα αν δώσουμε περισσότερη σημασία στα έγγραφα που περιέχουν το kernel TF * IDF αντί για TF στα document vectors Inverse Document Frequency (IDF): log (N / n j ) N συνολικός αριθμός εγγράφων, n j αριθμός εγγράφων που περιέχουν τον όρο j Αποτέλεσμα: αυξημένο βάρος σε σπάνιους όρους
Βάσεις Δεδομένων και Παγκόσμιος Ιστός14 Σημασία του IDF Το IDF δίνει υψηλές τιμές για σπάνιες λέξεις, και χαμηλές τιμές για κοινές λέξεις Για μια συλλογή εγγράφων:
Βάσεις Δεδομένων και Παγκόσμιος Ιστός15 Υπολογισμός TF / IDF
Βάσεις Δεδομένων και Παγκόσμιος Ιστός16 Κανονικοποίηση μεγέθους Η σημασία ενος όρου εξαρτάται και από το μέγεθος του εγγράφου Εστω Ε1, Ε2 δυο έγγραφα με Ε1 < Ε2 Εστω οτι το βάρος TF/IDF για έναν όρο Ο είναι το ίδιο για τα Ε1, Ε2 Διαισθητικά: το κανονικοποιημένο βάρος του Ο πρέπει να είναι μικρότερο για το Ε2 Εξήγηση: μεγαλύτερα έγγραφα έχουν πιο πολλούς όρους, και περισσότερες εμφανίσεις ενός όρου Κανονικοποίηση μεγέθους: όσο το μέγεθος και η συχνότητα ενός όρου j αυξάνει, η σημασία του όρου μειώνεται t ο αριθμός όρων στην συλλογή w το βάρος TF/IDF χωρις κανονικοπ. w* το βάρος με κανονικοποίηση
Βάσεις Δεδομένων και Παγκόσμιος Ιστός17 Κανονικοποίηση μεγέθους στον Ιστό Στον Ιστό παίρνουμε ένα επιπλέον μέτρο Οροι που εμφανίζονται συχνότατα σε σελίδες δημιουργούν ιδιαίτερο πρόβλημα στον Ιστό Λέξεις όπως sale, free, sex, … επαναλαμβάνονται επίτηδες Για να αυξησουν την πιθανότητα ανάσυρσης της σελίδας στα αποτελέσματα μιας αναζήτησης Ετσι οι μηχανές αναζήτησης επιβάλλουν μια μέγιστη τιμή στις συχνότητες (TF) των όρων (συνήθως 2 ή 3) Συμπέρασμα: αντιστοίχηση εγγράφων σε διανύσματα που τα χαρακτηρίζουν
Βάσεις Δεδομένων και Παγκόσμιος Ιστός18 Ranking Ενα ranked query μπορεί να θεωρηθεί σαν έγγραφο......αφού είναι μια συλλογή όρων Συνεπώς: χρήση ομοιότητας εγγράφων (document similarity) για την ταξινόμηση των αποτελεσμάτων Το έγγραφο που είναι πιο όμοιο με το query επιστρέφεται πρώτο Κάθε έγγραφο αντιστοιχεί σε ένα διάνυσμα στον t- διάστατο χώρο t ο αριθμός όρων στην συλλογή Κάθε άξονας αντιστοιχεί σε έναν όρο Κοντινά σημεία υποδηλώνουν όμοια έγγραφα Επιπλέον στον Ιστό, τα links δίνουν μια εικόνα της ποιότητας μιας σελίδας
Βάσεις Δεδομένων και Παγκόσμιος Ιστός19 Ομοιότητα εγγράφων
Βάσεις Δεδομένων και Παγκόσμιος Ιστός20 Υπολογισμός «σχετικότητας»
Βάσεις Δεδομένων και Παγκόσμιος Ιστός21 Παράδειγμα D2D2 D1D1 Q Term A Q = (0.4,0.8) D1=(0.8,0.3) D2=(0.2,0.7) Term B
Βάσεις Δεδομένων και Παγκόσμιος Ιστός22 Ακρίβεια & Ευστοχία Ακρίβεια (precision) και ευστοχία (recall): Τα συνήθη κριτήρια αξιολόγησης συστημάτων IR Ακρίβεια: το ποσοστό των εγγράφων του αποτελέσματος που είναι πράγματι σχετικά με το ερώτημα Ευστοχία: το ποσοστό των σχετικών εγγράφων στην συλλογή που ανακτήθηκαν στα αποτελέσματα Στόχος η μεγάλη ακρίβεια με παράλληλα υψηλή ευστοχία Η τέλεια ευστοχία είναι εύκολη αν η ακρίβεια είναι πολύ χαμηλή: επιστρέφουμε πάντα όλα τα έγγραφα της συλλογής Αντίθεση με ΒΔ: απόλυτη ακρίβεια και ευστοχία...λόγω αυστηρής σημασιολογίας
Βάσεις Δεδομένων και Παγκόσμιος Ιστός23 Κριτήρια στον Ιστό Η ευστοχία στον Ιστό δεν είναι εφαρμόσιμη όπως στο IR Το μέγεθος της συλλογής είναι δισεκατομύρια έγγραφα Προσαρμογή των κριτηρίων για μηχανές αναζήτησης Με βάση την πρώτη σελίδα των αποτελεσμάτων Web search precision: το ποσοστό των αποτελεσμάτων στην πρώτη σελίδα που είναι πράγματι σχετικά με το αποτέλεσμα Web search recall: το Ν/Μ επί τοις εκατό Μ: ο συνολικός αριθμός εγγράφων στην πρώτη σελίδα Ν: από τα Μ πιο σχετικά έγγραφα, ο αριθμός που εμφανίζεται στην πρώτη σελίδα
Information Retrieval Μοντέλο Vector Space Ευρετήρια για ανεύρεση κειμένων Μηχανές αναζήτησης στον Ιστό
Βάσεις Δεδομένων και Παγκόσμιος Ιστός25 Ευρετήρια για έγγραφα Inverted index Απλό στην κατασκευή, καλή απόδοση Αλλά απαιτεί πολύ χώρο: έως 300% το μέγεθος του εγγράφου Signature file Λίγος χώρος, άμεση απόρριψη πολλών εγγράφων “does not scale well”, λόγω σειριακής ανάγνωσης όλου του file Προ-επεξεργασία εγγράφων 1. Απομάκρυνση stop words 2. Stemming: αναγωγή λέξεων σε «κανονική» (βασική) μορφή Run, running, runner run Ελατώνει μέγεθος, αυξάνει την αποτελεσματικότητα
Βάσεις Δεδομένων και Παγκόσμιος Ιστός26 Inverted index Για κάθε όρο, λίστα (inverted list) από περιγραφές των εμφανίσεων του όρου Ένας κόμβος στην λιστα, για κάθε έγγραφο που περιέχει τον όρο Ο κόμβος μπορεί να περιέχει επιπλέον πληροφορία για κάθε εμφάνιση του όρου στο συγκεκριμένο έγγραφο (πχ. θέση) Επιτρέπει την γρήγορη ανεύρεση των εγγράφων που περιέχουν έναν δεδομένο όρο Υλοποιείται σαν δύο ξεχωριστά τμήματα Postings file: όλες οι inverted lists στον δίσκο Κάθε λίστα σε ξεχωριστή σελίδα, ή και σε αλυσίδα σελίδων Lexicon: Β+ δένδρο ή hash table στην κύρια μνήμη Οι όροι μαζί με δείκτες στις αντίστοιχες inverted lists
Βάσεις Δεδομένων και Παγκόσμιος Ιστός27 Παράδειγμα inverted index 0001 Madison mobile movie Bond computer agent good James 3 HASH TERM #docs pointdocid=32docid=14docid=33docid=13docid=22docid=11docid=23docid=12docid=43 2docid=21docid=31docid=41 5 Lexicon (memory)Postings file (disk) Θέσεις όπου εμφανίζεται το ‘agent’ στο έγγραφο 1
Βάσεις Δεδομένων και Παγκόσμιος Ιστός28 Χρήση inverted index Ερώτημα με έναν μόνο όρο: Από το lexicon βρίσκουμε την διεύθυνση του inverted list του όρου Ανακτούμε inverted list, αντιστοιχούμε τα docids στις φυσικές διευθύνσεις, ανακτούμε τα έγγραφα Αν τα αποτελέσματα πρέπει να είναι ranked Υπολογίζουμε την σχετικότητα (relevance) ως προς το ερώτημα κάθε εγγράφου στην λίστα Ανακτούμε τα έγγραφα με την σειρά που δηλώνει η σχετικότητα Υπολογισμός σχετικότητας: TF, IDF, «μήκος εγγράφου» Αποθηκεύονται όλα στο lexicon ή στην inverted list
Βάσεις Δεδομένων και Παγκόσμιος Ιστός29 Χρήση inverted index (2) Ερώτημα με πολλούς όρους Σύζευξη όρων: τομή των inverted lists (μικρότερες πρώτα) Διάζευξη όρων: ένωση των inverted lists Ranked queries με πολλους όρους Υπολογισμός σχετικότητας ως προς όλους τους όρους κάθε εγγράφου που εμφανίζεται σε κάποια από τις inverted lists των όρων Η σχετικότητα ενός εγγράφου προς όλους τους όρους υπολογίζεται με βάση την σχετικότητα ως προς κάθε όρο χωριστά (dot product) Στον Ιστό οι inverted lists είναι πολύ μεγάλες Προ-υπολογισμός σχετικότητας ως προς τον όρο, και ταξινόμηση λίστας ως προς σχετικότητα αντί για docid Θετικό: μπορούμε να πάρουμε μόνο τα πρώτα έγγραφα Αρνητικό: συντήρηση δαπανηρη σε χρόνο (προσθήκη νέου εγγράφου, αλλαγή ranking function)
Βάσεις Δεδομένων και Παγκόσμιος Ιστός30 Signature files Κάθε έγγραφο αναπαρίσταται στο index από ένα signature......που αποτελείται από έναν σταθερό αριθμό bits (signature width) Οι όροι αντιστοιχούνται στα bits μέσω μιας hash function Ανάλογα με τους όρους που υπάρχουν στο έγγραφο «ανάβουν» τα αντίστοιχα bits Το ίδιο bit μπορεί να ανάψει δύο φορές από διαφορετικούς όρους Μια signature S1 ταιριάζει (matches) με μια signature S2 (query) αν όλα τα αναμένα bits της S2 είναι επίσης αναμένα και στην S1 Η S1 μπορεί να έχει και άλλα αναμένα bits
Βάσεις Δεδομένων και Παγκόσμιος Ιστός31 Χρήση signature file Ερώτημα με σύζευξη όρων Δημιουργούμε το query signature Διατρέχουμε το signature file, ανακτούμε όλα τα έγγραφα των οποίων το signature ταιριάζει με το query signature Κάποια από αυτά τα έγγραφα δεν ανήκουν στο αποτέλεσμα......επειδή το signature δεν ταυτοποιεί ακριβώς τους όρους ενός εγγράφου False positive: έγγραφο του οποίου το signature ταιριάζει, αλλά που δεν περιέχει όλους τους όρους του ερωτήματος Ερώτημα με διάζευξη όρων Δημιουργούμε λίστα query signatures, ένα για κάθε όρο του ερωτήματος Ανακτούμε τα έγγραφα που ταιριάζουν με οποιοδήποτε signature της λίστας
Βάσεις Δεδομένων και Παγκόσμιος Ιστός32 Παράδειγμα signature file Ερωτήματα: James 1000 James and Bond 1100 movie and Madison 0011 Τόσα signatures όσα έγγραφα, τα εξετάζουμε όλα Bit slices: κάθετη κατάτμηση του signature file Εξετάζουμε μόνο μερικά bit slices για ένα ερώτημα docidDocumentsignature 1agent James Bond good agent1100 2agent mobile computer1101 3James Madison movie1011 4James Bond movie1110
Information Retrieval Μοντέλο Vector Space Ευρετήρια για ανεύρεση κειμένων Μηχανές αναζήτησης στον Ιστό
Βάσεις Δεδομένων και Παγκόσμιος Ιστός34 Αναζήτηση στον Ιστό Directories και search engines Directories: ψάξιμο σε περιγραφές σελίδων, επιλεγμένων sites, οργανωμένων «με το χέρι» σε κατηγορίες Search engines: ψάξιμο στο περιεχόμενο, όλων (;) των σελίδων, οργανωμένων με βάση το ερώτημα (ranking) Τα ερωτήματα στον Ιστό είναι σύντομα Μέση τιμή 2.4 λέξεις (Αυγ. 2000), 1.7 λέξεις το 1997 Τι περιμένει ο χρήστης; «Η πρώτη-πρώτη απάντηση πρέπει να είναι αυτό που ψάχνω» Ranking στον Ιστο: πολλές παραλλαγές, οι λεπτομέρειες κρατιούνται κρυφές. Συνδυασμός των παρακάτω στοιχείων: IR-style: με βάση τα TF, εγγύτητα των λέξεων, θέση (πχ. στον τίτλο), γραμματοσειρά, κτλ. Ανάλυση των links, δημοτικότητα των σελίδων
Βάσεις Δεδομένων και Παγκόσμιος Ιστός35 Μηχανές αναζήτησης και IR Ομοιότητες: ίδια βασική τεχνολογία Vector space και ranking Inverted indexes Διαφορές: Η αρχιτεκτονική των μηχανών αναζήτησης πρέπει να είναι ιδιαίτερα «scalable» - τεράστιος όγκος δεδομένων και αριθμός ερωτημάτων Τα links μεταξυ των κειμένων είναι πολύ χρήσιμα για την ανακάλυψη και την αξιολόγηση σελίδων σχετικών με ένα ερώτημα
Βάσεις Δεδομένων και Παγκόσμιος Ιστός36 Google
Βάσεις Δεδομένων και Παγκόσμιος Ιστός37 ΣΔΒΔ και Μηχανές Αναζήτησης { The Access Method Buffer Management Disk Space Management OS “The Query” Search String Modifier Simple DBMS } Ranking Algorithm Query Optimization and Execution Relational Operators Files and Access Methods Buffer Management Disk Space Management Concurrency and Recovery Needed DBMSSearch Engine
Βάσεις Δεδομένων και Παγκόσμιος Ιστός38 Γενική αρχιτεκτονική crawl the web create an inverted index Store the documents Inverted index Search engine servers user query Show results To user DocIds
Βάσεις Δεδομένων και Παγκόσμιος Ιστός39 Crawling Συλλογή πληροφορίας από το web: crawlers Απλός αλγόριθμος: διάσχιση γράφου (τα links είναι οι ακμές) Ξεκινά από κατάλογο αρχικών σελίδων που περιέχουν πολλά links (πχ. Yahoo directory) Κάθε link ακολουθείται, οδηγώντας σε νέες σελίδες, επεξεργασία Επανάληψη του πάνω βήματος, σημειώνοντας ποιές σελίδες έχει επισκεφτεί προκειμένου να τις αποφύγει στο εξής Συγκεκριμένα: Put a set on known sites on a queue Repeat until queue empty Take first page off of the queue If the page has not yet been processed Process and record info (positions of words, outgoing links, etc.) Add links of current page to the queue Record the this page has been processed
Βάσεις Δεδομένων και Παγκόσμιος Ιστός40 Ζητήματα crawling Χρονοβόρο: 1 έγγραφο ανά λεπτό ο κάθε crawler Δύσκολη και πολύπλοκη υλοποίηση: διάφορα πρακτικά προβλήματα Ελαχιστοποίηση καθυστερήσεων λόγω δικτύου Παραλληλισμός του αλγορίθμου Διαχείριση πιθανων αποτυχιών κατά την σύνδεση Σεβασμός στα sites (το crawling δεν πρέπει να «καθίζει» τον web server) Το αρχείο “norobots.txt” αναφέρει «απαγορευμένα» directories Freshness: βρίσκουμε ποιές σελίδες αλλάζουν συχνά, και επιμένουμε περισσότερο σε αυτές Το crawling είναι δύσκολο να υλοποιηθεί επαγγελματικά
Βάσεις Δεδομένων και Παγκόσμιος Ιστός41 Διαδικασία δημιουργίας indexes (1) Περιοδική ανανέωση, στο ενδιάμεσο παραμένουν στατικά. Τα έγγραφα γίνονται parsed για να εξαχθούν όροι, που αποθηκεύονται μαζί με το ID του αντίστοιχου εγγράφου. Now is the time for all good men to come to the aid of their country Doc 1 It was a dark and stormy night in the country manor. The time was past midnight Doc 2
Βάσεις Δεδομένων και Παγκόσμιος Ιστός42 Διαδικασία δημιουργίας indexes (2) Μετά την επεξεργασία όλων των εγγράφων, το inverted file ταξινομείται αλφαβητικά.
Βάσεις Δεδομένων και Παγκόσμιος Ιστός43 Διαδικασία δημιουργίας indexes (3) Συγχώνευση πολλαπλών εμφανίσεων ενός όρου στο ίδιο έγγραφο Υπολογισμός term frequency (TF) για κάθε όρο σε έγγραφο.
Βάσεις Δεδομένων και Παγκόσμιος Ιστός44 Διαδικασία δημιουργίας indexes (4) Dictionary/Lexicon Postings
Βάσεις Δεδομένων και Παγκόσμιος Ιστός45 Δημιουργία και αποθήκευση indexes Δισεκατομμύρια σελίδες – λύση: παραλληλισμός Κάθε έγγραφο αναλύεται ξεχωριστά Δημιουργούνται inverted lists για κάθε όρο στο έγγραφο Συγχώνευση σε μια inverted list του όρου για όλα τα έγγραφα Υπολογισμός IDF στο στάδιο της συγχώνευσης Το index αποθηκεύεται σε συστοιχία πολλών φθηνών μηχανημάτων (PCs) Οι όροι αντιστοιχούνται σε μηχανήματα μέσω καποιας συνάρτησης κατακερματισμού (hash) Κάθε μηχάνημα αποθηκεύει το inverted index των αντίστοιχων όρων Τα ερωτήματα αποτελούνται συνήθως από 1 ή 2 όρους: στέλνονται σε 1 ή 2 μηχανήματα
Βάσεις Δεδομένων και Παγκόσμιος Ιστός46 Αντιμετώπιση φόρτου ερωτημάτων Τεράστιος αριθμός: στο Google 150 εκατομμύρια ερωτήματα κάθε ημέρα Ομοιοτυπία (replication) των δεδομένων σε συστοιχίες μηχανημάτων Κάθε τμήμα του inverted index ανατίθεται σε πολλά μηχανήματα αντί μόνο σε ένα Κάθε μηχάνημα έχει ένα ακριβές αντίγραφο του τμήματος του inverted index Τα ερωτήματα διανέμονται στα μηχανήματα με βάση: Τον φόρτο των μηχανημάτων...ή πχ. με κατάτμηση του IP του ερωτούντος Επιπλέον κέρδος: πρόβλημα σε ένα μηχάνημα δεν βγάζει εκτός λειτουργίας την μηχανή αναζήτησης
Βάσεις Δεδομένων και Παγκόσμιος Ιστός47 Συστοιχίες μηχανημάτων Τα δεδομένα για τις σελίδες κατατμημένα σε μηχανήματα. Επιπλέον, κάθε κατάτμηση έχει πολλά μηχανήματα που χειρίζονται ερωτήματα. Κάθε σειρα μπορεί να χειριστεί 120 ερωτήματα το δευτερόλεπτο Κάθε στήλη αντέχει 7M σελίδων Για να «σηκώσει» περισσότερα ερωτήματα, προσθέτουμε σειρές.
Βάσεις Δεδομένων και Παγκόσμιος Ιστός48 Χρήση των links Πρόβλημα: οι πιο σχετικές σελίδες ίσως δεν περιέχουν τους όρους του ερωτήματος Η boolean text query “Web browser” δεν επιστρέφει τις σχετικές σελίδες του Netscape ή του IE Το “search engine” δεν επιστρέφει το home page του Yahoo Είναι όμως πιθανό μια σελίδα που δείχνει στο home page του Yahoo να περιέχει τον όρο “search engine” Μέχρι τώρα θεωρούσαμε τις σελίδες απομονωμένες......για να εκτιμήσουμε το πόσο σχετικές είναι με το ερώτημα Πως χρησιμοποιούμε την πληροφορία των links;
Βάσεις Δεδομένων και Παγκόσμιος Ιστός49 Αλγόριθμος HITS Διαπίστωση: οι «καλές» σελίδες δείχνονται από πολλά links επίσης «καλών» σελίδων Δύο τύποι σελίδων Authority: πολύ σχετική με το θέμα, αναγνώριση από άλλες σελίδες Hub: όχι πολύ γνωστή σελίδα, λίγα εισερχόμενα links, περιέχει links σε authorities Παραδειγμα hub: λιστα sites σχετικών με τα hobbies κάποιου HITS: a link-based algorithm Μοντελοποιεί τον Ιστό σαν κατευθυνόμενο γράφο Οι σελίδες είναι κόμβοι και τα links ακμές Δυο βήματα: sampling και iteration steps
Βάσεις Δεδομένων και Παγκόσμιος Ιστός50 Βήμα sampling Συλλέγει με συμβατικό τρόπο (πχ. boolean query) ένα σύνολο σελίδων (root set) που περιέχει τους όρους του ερωτήματος Πιθανόν να μην περιέχει όλα τα σχετικά authorities… …θεωρούμε όμως οτι τα πιο σχετικά authorities συνδέονται μέσω link με σελίδες του root set Επαυξάνει το root set προσθέτοντας το σύνολο των......link pages: σελίδες που συνδέονται (δείχνουν ή δείχνονται) μέσω links με το root set Αποτέλεσμα: base set = root set + link pages
Βάσεις Δεδομένων και Παγκόσμιος Ιστός51 Βήμα iteration Στόχος: ανεύρεση καλών authorities και καλών hubs Επιστροφή των καλύτερων authorities και hubs σαν απάντηση Πως αξιολογείται η ποιότητα των hubs και authorities; Καλό hub = σελίδα με πολλά links προς καλά authorities Καλό authority = σελίδα με πολλά links από καλά hubs Κάθε σελίδα συσχετίζεται με ένα hub weight και ένα authority weight Αρχικοποίηση όλων των weights σε 1 Ενημέρωση των weights από διαδοχικές επαναλήψεις Σε μια επανάληψη: α p = Σ all base pages q that have a link to p (h q ) h p = Σ all base pages q such that p has a link to q (α q ) Αποδεικνύεται ότι τα weights συγκλίνουν (fixpoint), ανεξάρτητα της αρχικής τιμής
Βάσεις Δεδομένων και Παγκόσμιος Ιστός52 Αριθμός indexed σελίδων
Βάσεις Δεδομένων και Παγκόσμιος Ιστός53 Ποσοστό κάλυψης του Ιστού
Βάσεις Δεδομένων και Παγκόσμιος Ιστός54 Μελλοντικός στόχος: σημασιολογία Σκοπός: οι μηχανές αναζήτησης να εκμεταλεύονται την μεταπληροφορία που θα υπάρχει στο μέλλον στον Ιστό Λογικό επίπεδο: XML Σημασιολογικό επίπεδο (RDF, OWL) Παράδειγμα: βρες φωτογραφία του Alan Rector Επιστρέφει: φωτογραφία του Alan …, Rector of …Church Πως θα πούμε στις μηχανές αναζήτησης οτι το Rector στην μια περίπτωση είναι επώνυμο, ενώ στην άλλη επάγγελμα; Επισημείωση της πληροφορίας με tags (XML) Ορισμός του λεξιλογίου των tags (RDF, OWL) Δυνατό (πλέον) το ερώτημα: «priest Alan»