ΜΥΕ003: Ανάκτηση Πληροφορίας Διδάσκουσα: Ευαγγελία Πιτουρά. Κεφάλαια 6, 7: Βαθμολόγηση. Στάθμιση όρων. Το μοντέλο διανυσματικού χώρου.

Σχετικά έγγραφα
Information Retrieval

Τι (άλλο) θα δούμε σήμερα;

6. Βαθμολόγηση, Στάθμιση Όρων, και το Μοντέλο Διανυσματικού Χώρου

ΜΥΕ003: Ανάκτηση Πληροφορίας

Information Retrieval

Information Retrieval

Information Retrieval

7. Υπολογισμός Βαθμολογιών σε ένα Πλήρες Σύστημα Αναζήτησης

Information Retrieval

Περίληψη διαβάθμισης

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

Εύρεση & Διαχείριση Πληροφορίας στον Παγκόσµιο Ιστό. Διδάσκων Δημήτριος Κατσαρός

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

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

ΜΥΕ003: Ανάκτηση Πληροφορίας. Διδάσκουσα: Ευαγγελία Πιτουρά Κεφάλαιο 11: Πιθανοτική ανάκτηση πληροφορίας.

Προτεινόμενες Λύσεις 1 ης Σειράς Ασκήσεων (Αξιολόγηση της Αποτελεσματικότητας της Ανάκτησης & Μοντέλα Ανάκτησης)

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

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

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

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

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

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

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

ΛΥΣΕΙΣ 2 ης ΣΕΙΡΑΣ ΑΣΚΗΣΕΩΝ

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

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

1. Financial New Times Year MAXk {FREQij} D D D D

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

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

Διαχείριση εγγράφων. Αποθήκες και Εξόρυξη Δεδομένων Διδάσκων: Μ. Χαλκίδη

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

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

Information Retrieval

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

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

5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

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

0 The quick brown fox leaped over the lazy lazy dog 1 Quick brown foxes leaped over lazy dogs for fun

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

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

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1

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

Information Retrieval

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1

ΜΥΕ003: Ανάκτηση Πληροφορίας. Διδάσκουσα: Ευαγγελία Πιτουρά Κεφάλαιο 5: Στατιστικά Συλλογής. Συμπίεση.

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

Πιθανοκρατικό μοντέλο

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

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

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

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

Ουρές Προτεραιότητας: Υπενθύμιση. Σωροί / Αναδρομή / Ταξινόμηση. Υλοποίηση Σωρού. Σωρός (Εισαγωγή) Ορέστης Τελέλης

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων

Information Retrieval

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

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στην επιστήμη των υπολογιστών

Λύσεις 1 ης Σειράς Ασκήσεων (Αξιολόγηση της Αποτελεσµατικότητας της Ανάκτησης)

Information Retrieval

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

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

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

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

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης

Μεταπτυχιακή Διπλωματική Εργασία. «Τεχνικές Δεικτοδότησης Συστημάτων Ανάκτησης Πληροφορίας με τη χρήση Wavelet Trees» Κατσίπη Δήμητρα ΑΜ: 741

HΥ463 - Συστήματα Ανάκτησης Πληροφοριών Information Retrieval (IR) Systems. Μοντέλα Ανάκτησης Ι

Εισαγωγή στην Αριθμητική Ανάλυση

Ομαδοποίηση ΙΙ (Clustering)

Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Επίλυση Προβλημάτων 1

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

Κεφάλαιο 4. Διαίρει και Βασίλευε (Divide and Conquer) Παύλος Εφραιμίδης V1.1,

Information Retrieval

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

MYE003: Ανάκτηση Πληροφορίας Διδάσκουσα: Ευαγγελία Πιτουρά. Κεφάλαιο 1: Εισαγωγή. Ανάκτηση Boole

MYE003: Ανάκτηση Πληροφορίας Διδάσκουσα: Ευαγγελία Πιτουρά. Κεφάλαιο 1: Εισαγωγή. Ανάκτηση Boole

Διάλεξη 14: Δέντρα IV - B-Δένδρα

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων

MYE003: Ανάκτηση Πληροφορίας Διδάσκουσα: Ευαγγελία Πιτουρά. Κεφάλαιο 1: Εισαγωγή. Ανάκτηση Boole

ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ

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

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33

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

Ανάπτυξη συστήματος ερωταποκρίσεων για αρχεία ελληνικών εφημερίδων

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

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι

Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις

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

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

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

Πληροφορική 2. Αλγόριθμοι

Αλγόριθμοι Ταξινόμησης Μέρος 4

Όρια Αλγόριθμων Ταξινόμησης. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Transcript:

ΜΥΕ003: Ανάκτηση Πληροφορίας Διδάσκουσα: Ευαγγελία Πιτουρά Κεφάλαια 6, 7: Βαθμολόγηση. Στάθμιση όρων. Το μοντέλο διανυσματικού χώρου. 1

Κεφ. 6 Τι θα δούμε σήμερα; Βαθμολόγηση και κατάταξη εγγράφων Στάθμιση όρων (term weighting) Αναπαράσταση εγγράφων και ερωτημάτων ως διανύσματα 2

Κεφ. 6 Boolean Μοντέλο Μέχρι τώρα, τα ερωτήματα που είδαμε ήταν Boolean. Τα έγγραφα είτε ταιριάζουν στο ερώτημα, είτε όχι Τα Boolean ερωτήματα συχνά έχουν είτε πολύ λίγα (=0) είτε πάρα πολλά (χιλιάδες) αποτελέσματα ( feast or famine ) Ερώτημα 1: standard user dlink 650 200,000 hits Ερώτημα 2: standard user dlink 650 no card found : 0 hits Χρειάζεται επιδεξιότητα για να διατυπωθεί μια ερώτηση που έχει ως αποτέλεσμα ένα διαχειρίσιμο αριθμό ταιριασμάτων AND πολύ λίγα - OR πάρα πολλά 3

Κεφ. 6 Boolean Μοντέλο Κατάλληλο για ειδικούς με σαφή κατανόηση των αναγκών τους και γνώση της συλλογής Επίσης, καλή για εφαρμογές: οι εφαρμογές μπορούν να επεξεργαστούν χιλιάδες αποτελεσμάτων. Αλλά, όχι κατάλληλη για την πλειοψηφία των χρηστών Είναι δύσκολο για τους περισσότερους χρήστες να διατυπώσουν Boolean ερωτήματα Οι περισσότεροι χρήστες δεν θέλουν να διαχειριστούν χιλιάδες αποτελέσματα. Ιδιαίτερα στην περίπτωση των αναζητήσεων στο web 4

Κεφ. 6 Μοντέλα διαβαθμισμένης ανάκτησης Αντί ενός συνόλου εγγράφων που ικανοποιούν το ερώτημα, η διαβαθμισμένη ανάκτηση (ranked retrieval) επιστρέφει μια διάταξη των (κορυφαίων) για την ερώτηση εγγράφων της συλλογής Όταν το σύστημα παράγει ένα διατεταγμένο σύνολο αποτελεσμάτων, τα μεγάλα σύνολα δεν αποτελούν πρόβλημα Δείχνουμε απλώς τα κορυφαία (top) k ( 10) αποτελέσματα Δεν παραφορτώνουμε το χρήστη Προϋπόθεση: ο αλγόριθμος διάταξης να δουλεύει σωστά 5

Μοντέλα διαβαθμισμένης ανάκτησης Αν και διαφορετικά θέματα, η διαβαθμισμένη ανάκτηση συνήθως με ερωτήματα ελεύθερου κειμένου Ερωτήματα ελεύθερου κειμένου (Free text queries): Μία ή περισσότερες λέξεις σε μια φυσική γλώσσα (αντί για μια γλώσσα ερωτημάτων με τελεστές και εκφράσεις) 6

Κεφ. 6 Βαθμολόγηση ως βάση της διαβαθμισμένης ανάκτησης Θέλουμε να επιστρέψουμε τα αποτελέσματα διατεταγμένα με βάση το πόσο πιθανό είναι να είναι χρήσιμα στο χρήστη ή με βάση τη συνάφεια τους με το ερώτημα Πως διατάσουμε-διαβαθμίζουμε τα έγγραφα μιας συλλογής με βάση ένα ερώτημα; Αναθέτουμε ένα βαθμό (score) ας πούμε στο [0, 1] σε κάθε έγγραφο score(d, q): μετρά πόσο καλά το έγγραφο d ταιριάζει (match) με το ερώτημα q 7

Κεφ. 6 Βαθμός ταιριάσματος ερωτήματος-εγγράφου Χρειαζόμαστε ένα τρόπο για να αναθέσουμε ένα βαθμό σε κάθε ζεύγος ερωτήματος (q), εγγράφου (d) score(d, q) Αν κανένα όρος του ερωτήματος δεν εμφανίζεται στο έγγραφο, τότε ο βαθμός θα πρέπει να είναι 0 Όσο πιο συχνά εμφανίζεται ο όρος του ερωτήματος σε ένα έγγραφο, τόσο μεγαλύτερος θα πρέπει να είναι ο βαθμός Θα εξετάσουμε κάποιες εναλλακτικές για αυτό 8

Κεφ. 6 Προσπάθεια 1: Συντελεστής Jaccard Υπενθύμιση: συνηθισμένη μέτρηση της επικάλυψης δύο συνόλων A και B jaccard(a,b) = A B / A B jaccard(a, A) = 1 jaccard(a, B) = 0 if A B = 0 Τα A και B δεν έχουν απαραίτητα το ίδιο μέγεθος Αναθέτει πάντα έναν αριθμό μεταξύ του 0 και του 1 9

Κεφ. 6 Συντελεστής Jaccard: Παράδειγμα βαθμολόγησης Ποιος είναι o βαθμός ταιριάσματος ερωτήματος-εγγράφου με βάση το συντελεστή Jaccard για τα παρακάτω; Ερώτημα (q): ides of march Έγγραφο 1 (d1): caesar died in march Έγγραφο 2 (d2): the long march Εναλλακτικός τρόπος κανονικοποιήσης του μήκους: A B / A B 10

Κεφ. 6.2 Παράδειγμα Ποιο είναι ο βαθμός για τα παρακάτω ζεύγη χρησιμοποιώντας jaccard; q1: [information on cars] d1: all you ve ever wanted to know about cars q1: [information on cars] d2: information on trucks, information on planes, information on trains q2: [red cars and red trucks] d3: cops stop red cars more often 11

Κεφ. 6 Προβλήματα Jaccard δεν λαμβάνει υπ όψιν την συχνότητα όρου (term frequency): πόσες φορές εμφανίζεται ο όρος στο έγγραφο Αγνοεί το γεγονός πως οι σπάνιοι όροι περιέχουν περισσότερη πληροφορία από ό,τι οι συχνοί. 12

Κεφ. 6.2.2 Βαθμός εγγράφου και ερώτησης Μέτρο βαθμολογίας επικάλυψης (overlap score measure) t q d score( q, d) w(t, d) 13

Συχνότητα όρου - Term frequency (tf) Η συχνότητα όρου tf t,d του όρου t σε ένα έγγραφο d ορίζεται ως ο αριθμός των φορών που το t εμφανίζεται στο d (το πλήθος των εμφανίσεων του όρου t στο έγγραφο d) 14

Κεφ. 6.2 Παράδειγμα Ποιο είναι ο βαθμός για τα παρακάτω ζεύγη χρησιμοποιώντας tf; q: [information on cars] d1: all you ve ever wanted to know about cars d2: information on trucks, information on planes, information on trains q: [red cars and red trucks] d3: cops stop red cars more often 15

Κεφ. 6.2.1 Συχνότητα εγγράφου (Document frequency) Οι σπάνιοι όροι παρέχουν περισσότερη πληροφορία από τους συχνούς όρους Θυμηθείτε τα stop words (διακοπτόμενες λέξεις) Θεωρείστε έναν όρο σε μια ερώτηση που είναι σπάνιος στη συλλογή (π.χ., arachnocentric) Το έγγραφο που περιέχει αυτόν τον όρο είναι πιο πιθανό να είναι περισσότερο συναφές με το ερώτημα από ένα έγγραφο που περιέχει ένα λιγότερο σπάνιο όρο του ερωτήματος Θέλουμε να δώσουμε μεγαλύτερο βάρος στους σπάνιους όρους αλλά πως; df 16

Κεφ. 6.2.1 Βάρος idf df t είναι η συχνότητα εγγράφων του t: ο αριθμός (πλήθος) των εγγράφων της συλλογής που περιέχουν το t df t είναι η αντίστροφη μέτρηση της πληροφορίας που παρέχει ο όρος t df t N Ορίζουμε την αντίστροφη συχνότητα εγγράφων idf (inverse document frequency) του t ως idf N/df t t 17

Κεφ. 6.2.2 Βαθμός εγγράφου και ερώτησης score( q, d) tf.idf t q d t, d Μεγάλο για όρους που εμφανίζονται πολλές φορές σε λίγα έγγραφα (μεγάλη διακριτική δύναμη (discriminating power) σε αυτά τα έγγραφα) Μικρότερο όταν ο όρος εμφανίζεται λίγες φορές σε ένα έγγραφο ή όταν εμφανίζεται σε πολλά έγγραφα Το μικρότερο για όρους που εμφανίζονται σχεδόν σε όλα τα έγγραφα Υπάρχουν πολλές άλλες παραλλαγές Πως υπολογίζεται το tf (με ή χωρίς log) Αν δίνεται βάρος και στους όρους του ερωτήματος 18

Κεφ. 6.2.2 Στάθμιση tf-idf Ποιο είναι το idf ενός όρου που εμφανίζεται σε κάθε έγγραφο (ποια η σχέση με stop words); tf-idf των παρακάτω όρων: 19

Κεφ. 6.2.2 Στάθμιση tf-idf Ερώτημα (q) a b Έγγραφα d 1 a.. b d 2 a a d 3 a a b d 4 b.. b b d 5 a a b b a. d 6 Διάταξη?? 20

Η επίδραση του idf στη διάταξη Το idf δεν επηρεάζει τη διάταξη ερωτημάτων με ένα μόνο όρο, όπως iphone Το idf επηρεάζει μόνο τη διάταξη εγγράφων με τουλάχιστον δύο όρους Για το ερώτημα capricious person, η idf στάθμιση έχει ως αποτέλεσμα οι εμφανίσεις του capricious να μετράνε περισσότερο στην τελική διάταξη των εγγράφων από ότι οι εμφανίσεις του person. ένα έγγραφο που περιέχει μόνο το capricious είναι πιο σημαντικό από ένα που περιέχει μόνο το person 21

Κεφ. 6.2.2 Στάθμιση tf-idf score( q, d) tf.idf t q d t, d Υπάρχουν πολλές άλλες παραλλαγές Πως υπολογίζεται το tf (με ή χωρίς log) Αν δίνεται βάρος και στους όρους του ερωτήματος.. 22

Συχνότητα όρου - Term frequency (tf) Υπενθύμιση: Η συχνότητα όρου tf t,d του όρου t σε ένα έγγραφο d ορίζεται ως ο αριθμός των φορών που το t εμφανίζεται στο d. Φτάνει μόνο η συχνότητα; Ένα έγγραφο με 10 εμφανίσεις ενός όρου είναι πιο σχετικό από ένα έγγραφο με 1 εμφάνιση του όρου.. Αλλά είναι 10 φορές πιο σχετικό; Η συνάφεια (relevance) δεν αυξάνει αναλογικά με τη συχνότητα εμφάνισης όρου 23

Κεφ. 6.2 Στάθμιση με Log-συχνότητας Η στάθμιση με χρήση του λογάριθμου της συχνότητας (log frequency weight) του όρου t στο d είναι w t,d 1 log10 tft,d, if tft,d 0 0, otherwise 0 0, 1 1, 2 1.3, 10 2, 1000 4, κλπ Ο βαθμός για ένα ζεύγος εγγράφου-ερωτήματος: άθροισμα όλων των κοινών όρων : score t q d ) idf (1 log tft, d t Ο βαθμός είναι 0 όταν κανένας από τους όρους του ερωτήματος δεν εμφανίζεται στο έγγραφο 24

Κεφ. 6.2.2 Στάθμιση με log tf Ερώτημα (q) a b Έγγραφα d 1 a.. b d 2 a a d 3 a a b d 4 b.. b b d 5 a a b b a. d 6 Διάταξη?? 25

Κεφ. 6.2.1 Βάρος idf Χρησιμοποιούμε log (N/df t ) αντί για N/df t για να «ομαλοποιήσουμε» την επίδραση του idf. idf log ( N/df t 10 t ) 26

Κεφ. 6.2.1 Παράδειγμα idf, έστω N = 1 εκατομμύριο term df t idf t calpurnia 1 6 animal 100 4 sunday 1,000 3 fly 10,000 2 under 100,000 1 the 1,000,000 0 idf log ( N/df t 10 t ) Κάθε όρος στη συλλογή έχει μια τιμή idf Ολική μέτρηση (επίσης, αλλάζει συνεχώς) 27

Κεφ. 6.2.2 Στάθμιση tf-idf Το tf-idf βάρος ενός όρου είναι το γινόμενο του βάρους tf και του βάρους idf. w (1 log tf ) log ( N / df ) 10 t, d 10 t, d t Το πιο γνωστό σχήμα διαβάθμισης στην ανάκτηση πληροφορίας Εναλλακτικά ονόματα: tf.idf, tf x idf Αυξάνει με τον αριθμό εμφανίσεων του όρου στο έγγραφο Αυξάνει με τη σπανιότητα του όρου 28

Κεφ. 6.2.1 Συχνότητα συλλογής και εγγράφου Η συχνότητα συλλογής ενός όρου t είναι ο αριθμός των εμφανίσεων του t στη συλλογή, μετρώντας και τις πολλαπλές εμφανίσεις Παράδειγμα: Word Collection frequency Document frequency insurance 10440 3997 try 10422 8760 Ποια λέξη είναι καλύτερος όρος αναζήτησης (και πρέπει να έχει μεγαλύτερο βάρος)? 29

Bag of words model Η tf-idf διαβάθμιση δεν εξετάζει τη διάταξη των λέξεων σε ένα έγγραφο John is quicker than Mary και Mary is quicker than John Έχουν τα ίδια διανύσματα Αυτό λέγεται μοντέλο σάκου λέξεων (bag of words model) έχει σημασία ο αριθμός των εμφανίσεων αλλά όχι η διάταξη Θα εισάγουμε πληροφορία θέσης αργότερα 30

Κεφ. 6 Τι θα δούμε σήμερα; Βαθμολόγηση και κατάταξη εγγράφων Στάθμιση όρων (term weighting) Αναπαράσταση εγγράφων και ερωτημάτων ως διανύσματα 31

Κεφ. 6.2.2 Στάθμιση tf-idf Το tf-idf βάρος ενός όρου είναι το γινόμενο του βάρους tf και του βάρους idf. w (1 log tf ) log ( N / df ) 10 t, d 10 t t,d Το πιο γνωστό σχήμα διαβάθμισης στην ανάκτηση πληροφορίας Εναλλακτικά ονόματα: tf.idf, tf x idf Αυξάνει με τον αριθμό εμφανίσεων του όρου στο έγγραφο Αυξάνει με τη σπανιότητα του όρου 32

Κεφ. 6.2 Δυαδική μήτρα σύμπτωσης (binary termdocument incidence matrix) Antony and Cleopatra Julius Caesar The Tempest Hamlet Othello Macbeth Antony 1 1 0 0 0 1 Brutus 1 1 0 1 0 0 Caesar 1 1 0 1 1 1 Calpurnia 0 1 0 0 0 0 Cleopatra 1 0 0 0 0 0 mercy 1 0 1 1 1 1 worser 1 0 1 1 1 0 Κάθε έγγραφο αναπαρίσταται ως ένα δυαδικό διάνυσμα {0,1} V (την αντίστοιχη στήλη) 33

Κεφ. 6.2 Ο πίνακας με μετρητές Θεωρούμε τον tf, αριθμό (πλήθος) των εμφανίσεων ενός όρου σε ένα έγγραφο: Κάθε έγγραφο είναι ένα διάνυσμα μετρητών στο N v : μια στήλη παρακάτω Antony and Cleopatra Julius Caesar The Tempest Hamlet Othello Macbeth Antony 157 73 0 0 0 0 Brutus 4 157 0 1 0 0 Caesar 232 227 0 2 1 1 Calpurnia 0 10 0 0 0 0 Cleopatra 57 0 0 0 0 0 mercy 2 0 3 5 5 1 worser 2 0 1 1 1 0 34

Κεφ. 6.3 Ο πίνακας με βάρη Antony and Cleopatra Julius Caesar The Tempest Hamlet Othello Macbeth Antony 5.25 3.18 0 0 0 0.35 Brutus 1.21 6.1 0 1 0 0 Caesar 8.59 2.54 0 1.51 0.25 0 Calpurnia 0 1.54 0 0 0 0 Cleopatra 2.85 0 0 0 0 0 mercy 1.51 0 1.9 0.12 5.25 0.88 worser 1.37 0 0.11 4.15 0.25 1.95 Θεωρούμε το tf-idf βάρος του όρου: Κάθε έγγραφο είναι ένα διάνυσμα tf-idf βαρών στο R v 35

Κεφ. 6.3 Τα έγγραφα ως διανύσματα (vector space model) Έχουμε ένα V -διάστατο διανυσματικό χώρο Οι όροι είναι οι άξονες αυτού του χώρου Τα έγγραφα είναι σημεία ή διανύσματα σε αυτόν τον χώρο Πολύ μεγάλη διάσταση: δεκάδες εκατομμύρια διαστάσεις στην περίπτωση της αναζήτησης στο web Πολύ αραιά διανύσματα οι περισσότεροι όροι είναι 0 36

Αποθήκευση Που υπάρχει αυτή η πληροφορία στο σύστημα ανάκτησης πληροφορίας; 37

Κεφ. 6.3 Ομοιότητα διανυσμάτων Πρώτη προσέγγιση: απόσταση μεταξύ δυο διανυσμάτων Ευκλείδεια απόσταση; Δεν είναι καλή ιδέα είναι μεγάλη για διανύσματα διαφορετικού μήκους 38

Κεφ. 6.3 Χρήση της γωνίας αντί της απόστασης Έστω ένα έγγραφο d. Υποθέστε ότι κάνουμε append το d στον εαυτό του και έστω d το κείμενο που προκύπτει. Σημασιολογικά το d και το d έχουν το ίδιο περιεχόμενο Η Ευκλείδεια απόσταση μεταξύ τους μπορεί να είναι πολύ μεγάλη Η γωνία όμως είναι 0 (αντιστοιχεί στη μεγαλύτερη ομοιότητα) => χρήση της γωνίας 39

Κεφ. 6.3 Η Ευκλείδεια απόσταση μεταξύ του q και του d 2 είναι μεγάλη αν και η κατανομή των όρων είναι παρόμοια 40

Κεφ. 6.3 Από γωνίες σε συνημίτονα Συνημίτονο μονότονα φθίνουσα συνάρτηση στο διάστημα [0 o, 180 o ] 41

Ομοιότητα εγγράφων V i i V i i V i i i d d d d d d d d d d d d d d d d sim 1 2 1 2 1 ' ' ' ' ' ' ) ', cos( ) ', ( 42 Dot product Unit vectors d i (d i ) είναι το tf-idf βάρος του i-οστού όρου στο έγγραφο d (d ) cos(d,d) η ομοιότητα συνημιτόνου μεταξύ d and d ή, Ισοδύναμα, το συνημίτονο της γωνίας μεταξύ των d και d. Κεφ. 6.3

Κεφ. 6.3 Κανονικοποίηση του μήκους Ένα διάνυσμα μπορεί να κανονικοποιηθεί διαιρώντας τα στοιχεία του με το μήκος του, με χρήση της L 2 νόρμας: x 2 Διαιρώντας ένα διάνυσμα με την L 2 νόρμα το κάνει μοναδιαίο Ως αποτέλεσμα, μικρά και μεγάλα έγγραφα έχουν συγκρίσιμα βάρη Για διανύσματα που έχουμε κανονικοποιήσει το μήκος τους (length-normalized vectors) το συνημίτονο είναι απλώς το εσωτερικό γινόμενο (dot or scalar product): cos( d ', d ) d ' d i V i x 1 2 i d' d i i 43

Παράδειγμα Κεφ. 6.3 Ποια είναι οι ομοιότητα μεταξύ των έργων SaS: Sense and Sensibility PaP: Pride and Prejudice, and WH: Wuthering Heights? Συχνότητα όρων (μετρητές) όρος SaS PaP WH affection 115 58 20 jealous 10 7 11 gossip 2 0 6 wuthering 0 0 38 44

Κεφ. 6.3 Παράδειγμα (συνέχεια) Για απλοποίηση δε θα χρησιμοποιήσουμε τα idf βάρη Log frequency βάρος (log tf) όρος SaS PaP WH affection 3.06 2.76 2.30 jealous 2.00 1.85 2.04 gossip 1.30 0 1.78 wuthering 0 0 2.58 Μήκος 2 2 2 2 SAS = 3.06 2.00 1.3 0 3. 88 όρος SaS PaP WH affection 115 58 20 jealous 10 7 11 gossip 2 0 6 wuthering 0 0 38 Μετά την κανονικοποίηση όρος SaS PaP WH affection 0.789 0.832 0.524 jealous 0.515 0.555 0.465 gossip 0.335 0 0.405 wuthering 0 0 0.588 45

Κεφ. 6.3 Παράδειγμα (συνέχεια) όρος SaS PaP WH affection 0.789 0.832 0.524 jealous 0.515 0.555 0.465 gossip 0.335 0 0.405 wuthering 0 0 0.588 όρος SaS PaP WH affection 115 58 20 jealous 10 7 11 gossip 2 0 6 wuthering 0 0 38 cos(sas,pap) 0.789 0.832 + 0.515 0.555 + 0.335 0.0 + 0.0 0.0 0.94 cos(sas,wh) 0.79 Γιατί cos(sas,pap) > cos(sas,wh)? cos(pap,wh) 0.69 46

Κεφ. 6.3 Τα ερωτήματα ως διανύσματα Βασική ιδέα 1: Εφαρμόζουμε το ίδιο και για τα ερωτήματα, δηλαδή, αναπαριστούμε και τα ερωτήματα ως διανύσματα στον ίδιο χώρο Βασική ιδέα 2: Διαβάθμιση των εγγράφων με βάση το πόσο κοντά είναι στην ερώτηση σε αυτό το χώρο Κοντινά = ομοιότητα διανυσμάτων Ομοιότητα αντίθετο της απόστασης 47

Κεφ. 6.3 Από γωνίες σε συνημίτονα Οι παρακάτω έννοιες είναι ισοδύναμες: Διαβάθμιση των εγγράφων σε φθίνουσα διάταξη με βάση τη γωνία μεταξύ του εγγράφου και του ερωτήματος Διαβάθμιση των εγγράφων σε αύξουσα διάταξη με βάση το συνημίτονο της γωνίας μεταξύ του εγγράφου και του ερωτήματος 48

cosine(query, document) V i i V i i V i i i d q q d d d q q d q d q d q 1 2 1 2 1 ), cos( 49 Dot product Unit vectors q i είναι το tf-idf βάρος του όρου i στην ερώτηση d i είναι το tf-idf βάρος του όρου i στο έγγραφο Κεφ. 6.3

Ομοιότητα συνημίτονου 50

Περίληψη βαθμολόγησης στο διανυσματικό χώρο 1. Αναπαράσταση του ερωτήματος ως ένα διαβαθμισμένο tf-idf διάνυσμα 2. Αναπαράσταση κάθε εγγράφου ως ένα διαβαθμισμένο tf-idf διάνυσμα 3. Υπολόγισε το συνημίτονο για κάθε ζεύγος ερωτήματος, εγγράφου 4. Διάταξε τα έγγραφα με βάση αυτό το βαθμό 5. Επέστρεψε τα κορυφαία Κ (π.χ., Κ =10) έγγραφα στο χρήστη 51

Κεφ. 6.4 Παραλλαγές της tf-idf στάθμισης Γιατί δεν έχει σημασία η βάση του λογαρίθμου; 52

Κεφ. 6.4 Κανονικοποίηση με μέγιστη συχνότητα όρου Έστω τ ο ποιο συχνός όρος σε ένα έγγραφο d και tfmax(d) η συχνότητα του Διαιρούμε τη συχνότητα tf t,d κάθε όρου t στo d με αυτήν την τιμή Γιατί; Στα μεγάλα έγγραφα μεγάλες συχνότητες όρων απλώς γιατί υπάρχει επανάληψη Προβλήματα: Ασταθής (πχ τροποποίηση stopwords) Ιδιαίτερη λέξη (outlier) που εμφανίζεται συχνά Πρέπει να υπάρχει διαφορά ανάμεσα σε έγγραφα με ομοιόμορφη και skewed κατανομή 53

Κεφ. 6.4 Κανονικοποίηση με μέγιστη συχνότητα όρου (augmented) Το a είναι ένας τελεστές στάθμισης (εξομάλυνσης) smoothing factor (συχνά και 0.4 αντί 0.5) 54

Κεφ. 6.4 Στάθμιση ερωτημάτων και εγγράφων Πολλές μηχανές αναζήτησης σταθμίζουν διαφορετικά τις ερωτήσεις από τα έγγραφα Συμβολισμό: ddd.qqq, με χρήση των ακρωνύμων του πίνακα (πρώτα 3 γράμματα έγγραφο- επόμενα 3 γράμματα ερώτημα) συχνότητα όρου-συχνότητα εγγράφων-κανονικοποίηση Συχνό σχήμα : lnc.ltc Έγγραφο: logarithmic tf (l), no idf (n), cosine normalization (c) Ερώτημα: logarithmic tf (l), idf (t), cosine normalization (c) 55

Κεφ. 6.4 Παράδειγμα Ερώτημα: best car insurance Έγγραφο: car insurance auto insurance Ν = 1000Κ Όρος Ερώτημα (Query) Έγγραφο Prod tf-raw tf-wt df idf wt n lize tf-raw tf-wt wt n lize auto 0 0 5000 2.3 0 0 1 1 1 0.52 0 best 1 1 50000 1.3 1.3 0.34 0 0 0 0 0 car 1 1 10000 2.0 2.0 0.52 1 1 1 0.52 0.27 insurance 1 1 1000 3.0 3.0 0.78 2 1.3 1.3 0.68 0.53 2 2 2 2 Μήκος Ερωτήματος = 0 1.3 2.0 3 3. 8 Μήκος Εγγράφου = 1 2 0 2 1 2 1.3 2 1.92 lnc.ltc Score = 0+0+(0.52*0.52=)27+(0.78*0.68=)0.53 = 0.8 56

Κεφ. 6.3 Θέματα Που αποθηκεύουμε τις συχνότητες; Μια καλή δομή για τον υπολογισμό του top-k? Βοηθάει η διάταξη των εγγράφων με βάση το id; Πιο χρήσιμη διάταξη; 57

Επέκταση καταχωρήσεων Συχνότητες όρων Σε κάθε καταχώρηση, αποθήκευση του tf t,d επιπρόσθετα του docid d Η συχνότητα idf t αποθηκεύεται στο λεξικό μαζί με τον όρο t (το μήκος της λίστας) 58

Κεφ. 7 Υπολογισμός ανά έγγραφο (document-at-a-time) (document-at-a-time) Μπορούμε να διατρέχουμε τις λίστες των όρων του ερωτήματος παράλληλα όπως στην περίπτωση της Boolean ανάκτησης (merge sort) Αυτό έχει ως αποτέλεσμα λόγω της ίδιας διάταξης των εγγράφων στις λίστες καταχωρίσεων τον υπολογισμό του βαθμού ανά έγγραφο 59

Κεφ. 7 Παράδειγμα Ερώτημα: [Brutus Caesar]: Διατρέχουμε παράλληλα τις λίστες για το Brutus και Caesar 60

Κεφ. 7 Υπολογισμός βαρών Αν συνημίτονο: Εξαρτάται από τη μέθοδο ίσως χρειαστεί να αποθηκεύσουμε και το μήκος του εγγράφου (για κανονικοποίηση) ή να αποθηκεύσουμε τις κανονικοποιημένες τιμές (αντί του tf) Τροποποίησεις εγγράφων; Η σχετική διάταξη των εγγράφων δεν επηρεάζεται από την κανονικοποίηση ή όχι του διανύσματος του q Αν κάθε όρος μόνο μια φορά στο ερώτημα, το w t,q μπορεί να αγνοηθεί, οπότε μπορούμε απλώς να αθροίζουμε τα w t,d 61

Κεφ. 7 Υπολογισμός k-κορυφαίων αποτελεσμάτων Σε πολλές εφαρμογές, δε χρειαζόμαστε την πλήρη διάταξη, αλλά μόνο τα κορυφαία k (top-k), για κάποιο μικρό k, π.χ., k = 100 Απλοϊκός τρόπος: Υπολόγισε τους βαθμούς για όλα τα N έγραφα Sort Επέστεψε τα κορυφαία k Αν δε χρειαζόμαστε όλη τη διάταξη, υπάρχει πιο αποδοτικός τρόπος να υπολογίσουμε μόνο τα κορυφαία k; Έστω J τα έγγραφα με μη μηδενικό συνημίτονο. Μπορούμε να βρούμε τα K καλύτερα χωρίς ταξινόμηση όλων των J εγγράφων; 62

Κεφ. 7 Χρήση min-heap Χρήση δυαδικού min heap Ένα δυαδικό min heap είναι ένα δυαδικό δέντρο που η τιμή ενός κόμβου είναι μικρότερη από την τιμή των δύο παιδιών του. 63

Κεφ. 7 Αποθήκευση σε πίνακα Η ρίζα είναι στη θέση 1 του πίνακα. Για το i-οστό στοιχείο: Το αριστερό παιδί είναι στη θέση 2*i Το δεξί παιδί είναι στη θέση 2*i+1 Ο γονέας στη θέση i/2 64

Κεφ. 7 Εισαγωγή στοιχείου Το νέο στοιχείο εισάγεται ως το τελευταίο στοιχείο (στο τέλος του heap) Η ιδιότητα του heap εξασφαλίζεται με σύγκριση του στοιχείου με τον γονιό του και μετακίνηση του προς τα πάνω (swap with parent) μέχρι να συναντήσει στοιχείο ίσο ή μεγαλύτερο (percolation up). 65

Κεφ. 7 Διαγραφή μικρότερου στοιχείου Το μικρότερο στοιχείο βρίσκεται στη ρίζα (το πρώτο στοιχείο του πίνακα) Το σβήνουμε από τη λίστα και το αντικαθιστούμε με το τελευταίο στοιχείο στη λίστα, εξασφαλίζοντας την ιδιότητα του heap συγκρίνοντας με τα παιδιά του (percolating down) 66

Κεφ. 7 Επιλογή των κορυφαίων k σε O(N log k) Στόχος: Διατηρούμε τα καλύτερα k που έχουμε δει μέχρι στιγμής Χρήση δυαδικού min heap Για την επεξεργασία ενός νέου εγγράφου d με score s : Get current minimum h m of heap (O(1)) If s h m skip to next document /* υπάρχουν k καλύτερα */ If s > h m heap-delete-root (O(log k)) /* καλύτερο, σβήσε τη ρίζα heap-add d /s (O(log k)) και βάλτο στο heap */ 67

Κεφ. 7.1 Πιο αποδοτικός υπολογισμός; Η ταξινόμηση (merge) έχει πολυπλοκότητα χρόνου O(N) όπου N ο αριθμός των εγγράφων (ή, ισοδύναμα J). Βελτιστοποίηση κατά ένα σταθερό όρο, αλλά ακόμα θέλουμε O(N), N > 10 10 (δηλαδή, πρέπει να «δούμε» όλα τα έγγραφα) Υπάρχουν sublinear αλγόριθμοι; Αυτό που ψάχνουμε στην πραγματικότητα αντιστοιχεί στο να λύνουμε το πρόβλημα των k-πλησιέστερων γειτόνων (knearest neighbor (knn) problem) στο διάνυσμα του ερωτήματος (= query point). Δεν υπάρχει γενική λύση σε αυτό το πρόβλημα που να είναι sublinear. (ειδικά για πολλές διαστάσεις) 68

Κεφ. 7.1.1 Ασφαλής (safe) και μη ασφαλής (non-safe) διάταξη Ο όρος ασφαλής διάταξη (safe ranking) χρησιμοποιείται για μεθόδους που εξασφαλίζουν ότι τα K έγγραφα που επιστέφονται είναι ακριβώς τα Κ έγγραφα με το μεγαλύτερο score Μη ασφαλής διάταξη αποδεκτή αλλά πρέπει να εξασφαλίσουμε ότι δεν είμαστε «πολύ μακριά» από την ασφαλή διάταξη 69

Κεφ. 7.1.1 Γενική προσέγγιση «ψαλιδίσματος» Βρες ένα σύνολο A από υποψήφια έγγραφα (contenders), όπου K < A << N Το A δεν περιέχει απαραίτητα όλα τα top K, αλλά περιέχει αρκετά καλά έγγραφα και πολλά από τα top K Επέστρεψε τα top K έγγραφα του A Το Α είναι ένα ψαλίδισμα (pruning) των μη υποψηφίων Έτσι και αλλιώς το συνημίτονο είναι μόνο μια «εκτίμηση» της συνάφειας Θα δούμε σχετικούς ευριστικούς 70

Κεφ 7.1.2 Περιορισμός του ευρετηρίου (index elimination) Ο βασικός αλγόριθμος υπολογισμού του συνημίτονου θεωρεί έγγραφα που περιέχουν τουλάχιστον έναν όρο του ερωτήματος Μπορούμε να επεκτείνουμε αυτήν την ιδέα; Εξετάζουμε μόνο τους όρους του ερωτήματος με μεγάλο idf Εξετάζουμε μόνο έγγραφα που περιέχουν πολλούς από τους όρους του ερωτήματος 71

Κεφ. 7.1.2 Μόνο όροι με μεγάλο idf Παράδειγμα: Για το ερώτημα «catcher in the rye» Αθροίζουμε μόνο το βαθμό για τους όρους catcher και rye Γιατί; οι όροι in και the έχουν μικρή συνεισφορά στο βαθμό και άρα δεν αλλάζουν σημαντικά τη διάταξη Όφελος: Οι καταχωρήσεις των όρων με μικρά idf περιέχουν πολλά έγγραφα (μεγάλες λίστες καταχωρήσεων) αυτά τα (πολλά) έγγραφα δε μπαίνουν ως υποψήφια στο σύνολο Α 72

Κεφ. 7.1.2 Έγγραφα με πολλούς όρους του ερωτήματος Κάθε έγγραφο που έχει τουλάχιστον έναν όρο του ερωτήματος είναι υποψήφιο για τη λίστα με τα κορυφαία Κ έγγραφα Για ερωτήματα με πολλούς όρους, υπολογίζουμε τους βαθμούς μόνο των εγγράφων που περιέχουν αρκετούς από τους όρους του ερωτήματος Για παράδειγμα, τουλάχιστον 3 από τους 4 όρους Παρόμοιο με ένα είδος μερικής σύζευξης ( soft conjunction ) στα ερωτήματα των μηχανών αναζήτησης (αρχικά στη Google) Εύκολα να υλοποιηθεί κατά τη διάσχιση των καταχωρήσεων 73

Κεφ. 7.1.2 Παράδειγμα Antony 3 4 8 16 32 64 128 Brutus Caesar Calpurnia 2 4 8 16 32 64 128 1 2 3 5 8 13 21 34 13 16 32 3 από τους 4 όρους του ερωτήματος Υπολογισμοί βαθμών μόνο για τα έγγραφα 8, 16 και 32 74

Κεφ. 7.1.3 Λίστες πρωταθλητών Προ-υπολογισμός για κάθε όρο t του λεξικού, των r εγγράφων με το μεγαλύτερο βάρος ανάμεσα στις καταχωρήσεις του t -> λίστα πρωταθλητών (champion list, fancy list ή top docs για το t) Αν tf.idf, είναι αυτά με το καλύτερο tf Κατά την ώρα του ερωτήματος, πάρε ως Α την ένωση των λιστών πρωταθλητών για τους όρους του ερωτήματος, υπολόγισε μόνο τους βαθμούς για τα έγγραφα της Α και διάλεξε τα Κ ανάμεσα τους To r πρέπει να επιλεγεί κατά τη διάρκεια της κατασκευής του ευρετηρίου Έτσι, είναι πιθανόν ότι r < K 75

Υπολογισμός ανά όρο Yπολογισμός ανά-όρο (ένας-όρος-τη-φορά - a-termat-a-time) Επεξεργαζόμαστε όλη τη λίστα καταχωρήσεων για τον πρώτο όρο του ερωτήματος Δημιουργούμε ένα συσσωρευτή των βαθμών για κάθε docid εγγράφου που βρίσκουμε Μετά επεξεργαζόμαστε πλήρως τη λίστα καταχωρήσεων για τον δεύτερο όρο κοκ 76

Κεφ. 7 Διάταξη καταχωρήσεων του t με βάση το f t,d Προσέγγιση: δεν επεξεργαζόμαστε τις καταχωρήσεις που θα συνεισφέρουν λίγο στον τελικό βαθμό Διάταξη των εγγράφων με βάση το βάρος (weight) wf t,d Όχι κοινή διάταξη των εγγράφων σε όλες τις λίστες Η απλούστερη περίπτωση, normalized tf-idf weight Τα κορυφαία k έγγραφα είναι πιθανόν να βρίσκονται στην αρχή αυτών των ταξινομημένων λιστών. γρήγορος τερματισμός ενώ επεξεργαζόμαστε τις λίστες καταχωρήσεων μάλλον δε θα αλλάξει τα κορυφαία k έγγραφα 77

Κεφ. 7 Διάταξη καταχωρήσεων του t με βάση το f t,d Τα «καλά» έγγραφα για έναν όρο είναι στην αρχή της λίστας Αλλά, δε μπορούμε να υπολογίσουμε ένα συνολικό βαθμό για κάθε έγγραφο με merge sort «συσσωρεύουμε τους βαθμούς για τα έγγραφα ανά όρο 78

Κεφ. 7 Υπολογισμός ανά όρο (term-at-a-time) Για κάθε όρο t του ερωτήματος q Λέμε τα στοιχεία του πίνακα Scores, συσσωρευτές (accumulators) 79

Κεφ. 7 Επεξεργασία Ανά-Έγγραφο και Ανά-Όρο Υπολογισμός ανά-όρο (term-at-a-time processing): Υπολογίζουμε για κάθε όρο της ερώτησης, για κάθε έγγραφο που εμφανίζεται στη λίστας καταχώρησης του ένα βαθμό και μετά συνεχίζουμε με τον επόμενο όρο της ερώτησης Υπολογισμός Ανά Έγγραφο (document-at-a-time processing): Τελειώνουμε τον υπολογισμό του βαθμού ομοιότητας ερωτήματος-εγγράφου για το έγγραφο d i πριν αρχίσουμε τον υπολογισμό βαθμού ομοιότητας ερωτήματος-εγγράφου για το έγγραφο d i+1. 80

Κεφ. 7 Υπολογισμός ανά όρο Μη φέρεις όλη τη λίστα καταχωρήσεων, μόνο τα πρώτα στοιχεία της 81

Κεφ. 7.1.5 1. Πρόωρος τερματισμός Κατά τη διάσχιση των καταχωρήσεων ενός όρου t, σταμάτα νωρίς αφού: Δεις ένα προκαθορισμένο αριθμό r από έγγραφα Το wf t,d πέφτει κάτω από κάποιο κατώφλι Πάρε την ένωση του συνόλου των εγγράφων που προκύπτει Ένα σύνολο για κάθε όρο Υπολόγισε τους βαθμούς μόνο αυτών των εγγράφων 82

Κεφ. 7.1.5 2. idf-διατεταγμένοι όροι Κατά την επεξεργασία των όρων του ερωτήματος Τους εξετάζουμε με φθίνουσα διάταξη ως προς idf Όροι με μεγάλο idf πιθανών να συνεισφέρουν περισσότερο στο βαθμό Καθώς ενημερώνουμε τη συμμετοχή στο βαθμό κάθε όρου Σταματάμε αν ο βαθμός των εγγράφων δεν μεταβάλλεται πολύ 83

Κεφ. 7 Με βάση την «ποιότητα» του εγγράφου (g(d)) Συχνά υπάρχει ένας ανεξάρτητος του ερωτήματος (στατικός) χαρακτηρισμός της καταλληλότητας ( goodness, authority) του εγγράφου έστω g(d) Για παράδειγμα: o Στις μηχανές αναζήτησης (στο Google) το PageRank g(d) μιας σελίδας d μετρά το πόσο «καλή» είναι μια σελίδα με βάση το πόσες «καλές» σελίδες δείχνουν σε αυτήν, ή o αριθμός hits (δημοφιλείς) ή o wikipedia σελίδες ή o άρθρα σε μια συγκεκριμένη εφημερίδα, κλπ 84

Κεφ. 7 Με βάση την «ποιότητα» του εγγράφου (g(d)) Αν υπάρχει μια διάταξη της καταλληλότητας τότε ο συγκεντρωτικός βαθμός (net-score) ενός εγγράφου d και μιας ερώτησης q είναι ένας συνδυασμός της ποιότητας του εγγράφου (που έστω ότι δίνεται από μια συνάρτηση g στο [0, 1]) και της συνάφειας του με το ερώτημα q (πχ με χρήση tf-idf): net-score(q, d) = g(d) + score(q, d) Θέλουμε να επιλέξουμε σελίδες που είναι και γενικά σημαντικές (authoritative) και συναφείς ως προς την ερώτηση (το οποίο μας δίνει το score) Στη πράξη (βάρη) net-score(q, d) = w 1 g(d) + w 2 score(q, d) Υπόθεση: κανονικοποίηση ώστε score επίσης στο [0, 1] 85

Κεφ. 7 Με βάση την «ποιότητα» του εγγράφου (g(d)) Θέλουμε διάταξη με βάση το net-score Πως μπορούμε να επιτύχουμε γρήγορο τερματισμό (early termination); Δηλαδή να μην επεξεργαστούμε όλη τη λίστα καταχωρήσεων για να βρούμε τα καλύτερα k; 86

Κεφ. 7 Με βάση την «ποιότητα» του εγγράφου (g(d)) Διατάσουμε τις λίστες καταχωρήσεων με βάση την καταλληλότητα (π.χ., PageRank) των εγγράφων: g(d 1 ) > g(d 2 ) > g(d 3 ) >... Η διάταξη των εγγράφων είναι ίδια για όλες τις λίστες καταχωρήσεων Τα «καλά» έγγραφα στην αρχή της κάθε λίστας, οπότε αν θέλουμε να βρούμε γρήγορα καλά αποτελέσματα μπορούμε να δούμε μόνο την αρχή της λίστας 87

Κεφ. 7 Με βάση την «ποιότητα» του εγγράφου (g(d)) Υπενθύμιση net-score(q, d) = g(d) + score(q, d) και τα έγγραφα σε κάθε λίστα σε διάταξη με βάση το g Επεξεργαζόμαστε ένα έγγραφο τη φορά δηλαδή, για κάθε έγγραφο υπολογίζουμε πλήρως το net-score του (για όλους τους όρους του ερωτήματος) Έστω g [0, 1], το τελευταίο k-κορυφαίο έγγραφο έχει βαθμό 1.2 και για το έγγραφο d που επεξεργαζόμαστε g(d) < 0.1, άρα και για όλα τα υπόλοιπα συνολικός βαθμός < 1.1 (στην καλύτερη περίπτωση έχουν score ίσο με 1 που δεν αρκεί όμως). => δε χρειάζεται να επεξεργαστούμε το υπόλοιπο των λιστών 88

Ορισμός score(q, d) tf-idf Διανυσματικό μοντέλο Περίληψη Υπολογισμός top-k συναφών εγγράφων Χρήση heap Ασφαλής και μη ασφαλής τερματισμός (ακριβής μη ακριβής υπολογισμός) Τεχνικές Ανά έγγραφο Document At A Time (DAAT) Ανά όρο Term At A Time (TAAT) Επηρεάζει τον τρόπο διάταξης των εγγράφων στις λίστες καταχωρήσεων του ανεστραμμένου ευρετηρίου 89

Περίληψη Αλγόριθμοι υπολογισμού 1. Διάταξη με doc-id υπολογισμό ανά έγγραφο μη ασφαλή (pruning): (1) μικρό idf, (2) τουλάχιστον m1 από τους m2 (1 < m1 < m2) όρους του ερωτήματος, (3) λίστες πρωταθλητών 2. Διάταξη με tf t,d Υπολογισμός ανά όρο Μη ασφαλής γρήγορος τερματισμός: (1) prune για κάθε όρο (τα πρώτα r έγγραφα ή όλα πάνω κάποιου tf) (2) εξέταση με βάση idf, σταμάτα αν όχι μεγάλη αλλαγή 90

Περίληψη Αλγόριθμοι υπολογισμού (συνέχεια) 3. Αν υπάρχει g(d) (κάποια βαθμολογία των εγγράφων ανεξάρτητη του ερωτήματος), διάταξη με g(d) υπολογισμό ανά έγγραφο ασφαλή: κατώφλι μη ασφαλή: γρήγορος τερματισμός 91

Κεφ. 7.1.6 Κλάδεμα συστάδων Προ-επεξεργασία - συσταδοποίηση (clustering) εγγράφων Επέλεξε τυχαία K ( πχ, N) έγγραφα: τα οποία τα ονομάζουμε ηγέτες (leaders) Για κάθε άλλο έγγραφο, προ-υπολογίζουμε τον κοντινότερο ηγέτη του (χρήση ομοιότητας συνημιτόνου) Αυτά τα έγγραφα καλούντα ακόλουθοι (followers); Ο αναμενόμενος αριθμός είναι: ~ N ακόλουθοι ανά ηγέτη Τελικά N ομάδες με N έγγραφα 92

Κεφ. 7.1.6 Κλάδεμα συστάδων Για κάθε ερώτημα q Βρες τον πιο κοντινό ηγέτη L. Ψάξε για τα K πλησιέστερα έγγραφα ανάμεσα στους ακολούθους του L (δηλαδή, στην ομάδα του L). 93

Κεφ. 7.1.6 Κλάδεμα συστάδων Ερώτημα Ηγέτης Ακόλουθος 94

Κεφ. 7.1.6 Κλάδεμα συστάδων Γιατί τυχαία δείγματα; Γρήγορη Οι ηγέτες αντανακλούν την πραγματική κατανομή 95

Κεφ. 7.1.6 Κλάδεμα συστάδων Γενικές παραλλαγές (b1-b2) Κάθε ακόλουθος συνδέεται με b1=3 πλησιέστερους ηγέτες. Για ένα ερώτημα, βρες b2 = 4 κοντινότερους ηγέτες και τους ακολούθους τους. 96

Τι (άλλο) θα δούμε σήμερα; Παραμετρικά Ευρετήρια Βαθμιδωτά Ευρετήρια Συνολικό Σύστημα 97

Sec. 6.1 Παραμετρικά ευρετήρια και ευρετήρια ζώνης Μέχρι τώρα, ένα έγγραφο ως μια ακολουθία όρων Στην πραγματικότητα, τα ευρετήρια είναι χωρισμένα σε μέρη με διαφορετική σημασία: Συγγραφέας Τίτλος Ημερομηνία δημοσίευσης Γλώσσα κλπ Καλούνται κα μεταδεδομένα (metadata) του εγγράφου

Κεφ. 6.1 Παραμετρική αναζήτηση 99

Sec. 6.1 Παραμετρικά ερωτήματα Συχνά αναζήτηση με βάση τα μεταδεδομένα Π.χ., βρες όλα τα έγγραφα που έγγραψε ο William Shakespeare το 1601, που περιέχουν τις λέξεις alas poor Yorick Year = 1601 είναι παράδειγμα ενός πεδίου (field) Επίσης, author last name = shakespeare, κλπ Ερωτήματα με πεδία (παραμετρικά ερωτήματα) συνήθως ερμηνεύονται ως συζευκτικά (conjunction AND) πρέπει να ισχύουν όλα)

Sec. 6.1 Ζώνη Η ζώνη (zone) είναι μια περιοχή ενός εγγράφου που περιέχει κείμενο, π.χ., Title (τίτλος) Abstract (περίληψη) References (αναφορές) Πρέπει να τροποποιήσουμε τα ευρετήρια ώστε να επιτρέψουμε σχετικά ερωτήματα όπως πχ, βρες έγγραφα με τον όρο «merchant» στον τίτλο τους για το ερώτημα «gentle rain» Επίσης χρήσιμα αν θέλουμε να δώσουμε μεγαλύτερο βάρος σε εμφανίσεις όρων στον τίτλο ή στην περίληψη

Sec. 6.1 Πεδία (fields) Ευρετήριο πεδίου (Field index) ή παραμετρικό ευρετήριο (parametric index): καταχωρήσεις (postings) για κάθε πεδίο Συχνά ειδικού τύπου (πχ δέντρα διαστήματος για ημερομηνίες) Βασικό ευρετήριο ζώνης encoded στο λεξικό (διαφορετικές λίστες καταχωρήσεων) (ένα ευρετήριο για κάθε ζώνη/πεδίο):

Κεφ. 6.1 Ερωτήματα με ζώνες Η πληροφορία ζώνης στις λίστες καταχώρησης: Το πρώτο καλύτερα για παραμετρικά ερωτήματα Το δεύτερο καλύτερο για υπολογισμό «ενιαίας» συνάφειας 103

Βαθμιδωτά (διαστρωματωμένα) ευρετήρια (Tiered indexes) Βασική ιδέα: Κατασκευάζουμε διάφορα επίπεδα/βαθμίδες από ευρετήρια, όπου το καθένα αντιστοιχεί στη σημαντικότητα των όρων Κατά τη διάρκεια της επεξεργασίας του ερωτήματος, Αρχίζουμε από την υψηλότερη βαθμίδα Αν το ευρετήριο της υψηλότερης βαθμίδας, έχει τουλάχιστον k (π.χ., k = 100) αποτελέσματα: σταμάτα και επέστρεψε αυτά τα αποτελέσματα στο χρήστη Αλλιώς, αν έχουμε βρει < k ταιριάσματα: επανέλαβε την αναζήτηση στην επόμενη βαθμίδα 104

Βαθμιδωτά ευρετήρια Παράδειγμα Έστω 2 βαθμίδες Βαθμίδα 1: Ευρετήριο για όλους τους τίτλους ή με τα έγγραφα με μεγάλο tf.idf ή με τα έγγραφα με μεγάλο g(d) Βαθμίδα 2: Ευρετήριο για τα υπόλοιπο έγγραφα ή με τα έγγραφα με μικρό tf.idf ή με τα έγγραφα με μικρό g(d) 105

Βαθμιδωτά ευρετήρια 106

Βαθμιδωτά ευρετήρια Η χρήση βαθμιδωτών ευρετηρίων θεωρείται ως ένας από τους λόγους που η ποιότητα των αποτελεσμάτων του Google ήταν αρχικά σημαντικά καλύτερη (2000/01) από αυτήν των ανταγωνιστών τους. μαζί με το PageRank, τη χρήση του anchor text και περιορισμών θέσεων (proximity constraints) 107

Συνδυασμός διανυσματικής ανάκτησης Πως συνδυάζουμε την ανάκτηση φράσεων (και γενικά την εγγύτητα όρων proximity queries) με τη διανυσματική ανάκτηση; Window: το μικρότερο παράθυρο που περιέχονται όλοι οι όροι του ερωτήματος μετρημένο ως το πλήθος λέξεων του παραθύρου Χρήση στη διάταξη του μεγέθους του παραθύρου πως? Με κάποιο σταθμισμένο άθροισμα? Πως συνδυάζουμε την Boolean ανάκτηση με τη διανυσματική ανάκτηση; Π.χ., AND ή NOT Πως συνδυάζουμε τα * με τη διανυσματική ανάκτηση; Evidence accumulation 108

Sec. 7.2.3 Πολλαπλοί παράγοντες Συνδυασμοί score πχ με βάρη Πως Σε ορισμένες εφαρμογές από χρήστες Machine learning (αλγόριθμοι μάθησης)

Επεξεργασία ερωτήματος Αναλυτής ερωτημάτων (query parser) Παράδειγμα rising interest rates 1. Εκτέλεσε την ερώτημα ως ερώτημα φράσης rising interest rates και κατάταξε τα αποτελέσματα χρησιμοποιώντας διανυσματική βαθμολόγηση 2. Αν δεν υπάρχουν αρκετά αποτελέσματα, εκτέλεσε το ερώτημα ως 2 ερωτήματα φράσεις: rising interest και interest rates και κατάταξε τα αποτελέσματα χρησιμοποιώντας διανυσματική βαθμολόγηση 3. Αν δεν υπάρχουν αρκετά αποτελέσματα, εκτέλεσε το ερώτημα ως διάνυσμα και κατάταξε τα αποτελέσματα χρησιμοποιώντας διανυσματική βαθμολόγηση Μπορούμε τώρα για τα έγγραφα που εμφανίζονται σε παραπάνω από ένα από τα παραπάνω βήματα να συνδυάσουμε (αθροίσουμε) τους βαθμούς 110

Πλήρες σύστημα αναζήτησης Προ-επεξεργασία Επεξεργασία ερωτήματος Ευρετήρια (παραλλαγές του αντεστραμμένου ευρετηρίου) 111

Πλήρες σύστημα αναζήτησης Τι έχουμε ήδη δει: Προ-επεξεργασία των εγγράφων Ευρετήρια θέσεων (Positional indexes) Βαθμιδωτά ευρετήρια (Tiered indexes) Διορθώσεις ορθογραφικές (Spelling correction) Ευρετήρα k-γραμμάτων (για ερωτήματα με * και ορθογραφικές διορθώσεις) Επεξεργασία ερωτημάτων Βαθμολόγηση εγγράφων 112

ΤΕΛΟΣ 6 ου - 7 ου Κεφαλαίου Ερωτήσεις? Χρησιμοποιήθηκε κάποιο υλικό των: Pandu Nayak and Prabhakar Raghavan, CS276:Information Retrieval and Web Search (Stanford) Hinrich Schütze and Christina Lioma, Stuttgart IIR class 113