Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 3. Λεξικά & Ανάκτηση Ανεκτική σε Σφάλματα Ανάκτηση Πληροφοριών Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων
Περίληψη Προηγούμενης Διάλεξης Κεφάλαιο 2 Ο διαχωρισμός συμβόλου με όρο Οι όροι είναι κανονικοποιημένα σύμβολα που τοποθετούνται στο λεξικό Προβλήματα διαχωρισμού συμβόλων Hyphens, apostrophes, compounds, CJK Κλάσεις ισοδυναμίας όρων Numbers, case folding, stemming, lemmatization είκτες παράβλεψης Κωδικοποίηση μιας δενδρικής δομής σε μια λίστα καταχώρησης Ευρετήρια ζευγών λέξεων για φράσεις Ευρετήρια θέσεων για φράσεις και ερωτήματα εγγύτητας March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 2
Σε Αυτό το Μάθημα Κεφάλαιο 3 ομές δεδομένων για λεξικά Ανάκτηση ανεκτική σε σφάλματα Ερωτήματα χαρακτήρων μπαλαντέρ ιόρθωση ορθογραφικών σφαλμάτων Soundex March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 3
Δομές Λεξικού για Ανεστραμμένα Κεφάλαιο 3.1 Ευρετήρια Η δομή δεδομένων λεξικό (dictionary) αποθηκεύει το λεξιλόγιο όρων (vocabulary), τη συχνότητα εμφάνισης, δείκτες προς λίστες καταχώρησης,... Σε τι δομή δεδομένων; March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 4
Ένα Αφελές Λεξικό Κεφάλαιο 3.1 Ένας πίνακας με τη δομή: char[20] int Postings * 20 bytes 4/8 bytes 4/8 bytes Πώς αποθηκεύουμε αποδοτικά ένα λεξικό στη μνήμη; Πώς αναζητούμε γρήγορα στοιχεία στο χρόνο ερώτησης; March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 5
Δομές Δεδομένων για Λεξικό Κεφάλαιο 3.1 ύο ευρείες κλάσεις λύσεων Κατακερματισμός (hashing) έντρα αναζήτησης (trees) Άλλα συστήματα ΑΠ χρησιμοποιούν κατακερματισμό και άλλα δέντρα Κριτήρια χρήσης δέντρων ή κατακερματισμού Πόσοι όροι (κλειδιά) είναι δυνατό να προκύψουν; Ο αριθμός αυτός είναι στατικός ή αλλάζει συνεχώς; Έχουμε μόνο προσθήκες ή και διαγραφές; Ποιες είναι οι σχετικές συχνότητες με τις οποίες θα προσπελάζονται τα κλειδιά; March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 6
Πίνακες Κατακερματισμού Κεφάλαιο 3.1 Κάθε όρος του λεξιλογίου κατακερματίζεται σε έναν ακέραιο Πλεονεκτήματα Η αναζήτηση είναι γρηγορότερη Ο(1) από ότι σε δέντρα Μειονεκτήματα εν υπάρχει εύκολος τρόπος να εντοπίζουμε παρόμοιους ή παρεμφερείς όρους (judgment/judgement) εν υποστηρίζει ανάκτηση με βάση το πρόθεμα (prefix search) ΑΝΑΚΤΗΣΗ ΑΝΕΚΤΙΚΗ ΣΕ ΣΦΑΛΜΑΤΑ (όροι που ξεκινούν με automat) Εάν το μέγεθος λεξιλογίου αυξάνεται, πρέπει ανά τακτά διαστήματα να επανακατακερματίζουμε (rehashing) τα πάντα, που είναι μια ακριβή πράξη March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 7
Δέντρα: Δυαδικά Δέντρα Κεφάλαιο 3.1 a-m Root n-z a-hu hy-m n-sh si-z March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 8
Δέντρα: Β-Δέντρα Κεφάλαιο 3.1 a-hu hy-m n-z Ορισμός: κάθε εσωτερικός κόμβος έχει ένα πλήθος παιδιών στο διάστημα [a,b] όπου a και β κατάλληλοι φυσικοί αριθμοί, π.χ. [2,4] March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 9
Δέντρα Κεφάλαιο 3.1 Απλούστερο: δυαδικό δεντρο Πιο σύνηθες: Β- έντρο Τα δέντρα απαιτούν μια προκαθορισμένη διάταξη των χαρακτήρων και άρα και των αλφαριθμητικών...αλλά συνήθως υπάρχει τέτοια διάταξη Πλεονεκτήματα Λύνει το πρόβλημα αναζήτησης με πρόθεμα (π.χ. οι όροι που ξεκινούν με hyp) Μειονεκτήματα Πιο αργή ανάκτηση: O(logM) [και αυτό ισχύει για ισοζυγισμένα δέντρα] Η επαναφορά της ισορροπίας είναι ακριβή Αλλά με τα Β- έντρα μειώνεται το πρόβλημα ισοζύγισης March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 10
Ερωτήματα Χαρακτήρων Μπαλαντέρ March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 11
Κεφάλαιο 3.2 Ερωτήματα Χαρακτήρων Μπαλαντέρ: * Τα ερωτήματα χαρακτήρων μπαλαντέρ (wildcard queries) χρησιμοποιούνται στις εξής περιπτώσεις, όπου οι χρήστες: εν είναι σίγουροι για το πώς γράφεται ένας όρος Sydney ή Sidney S*dney Γνωρίζουν ότι ένας όρος γράφεται εναλλακτικά και επιθυμούν να ανακτήσουν όλα τα έγγραφα που τον περιέχουν color ή colour Αναζητούν έγγραφα που περιέχουν παραλλαγές ενός όρου judicial και judiciary judicia* εν είναι βέβαιοι για τη σωστή μεταγραφή μιας ξένης λέξης/φράσης Universit* Stuttgart March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 12
Κεφάλαιο 3.2 Ερωτήματα Χαρακτήρων Μπαλαντέρ: * mon*: εύρεση όλων των εγγράφων που περιέχουν λέξη που ξεκινά με mon (ερώτημα χαρακτήρων μπαλαντέρ τέλους trailing wildcard query) Εύκολο για λεξικό με δυαδικό δέντρο (ή Β- έντρο): βρες όλες τις λέξεις στο διάστημα: mon w < moo *mon: εύρεση όλων των εγγράφων που περιέχουν λέξη που τελειώνει σε mon (ερώτημα χαρακτήρων μπαλαντέρ αρχής leading wildcard query) (πιο δύσκολο) Χρήση ενός επιπρόσθετου αντεστραμμένου Β- έντρου Μπορούμε να ανακτήσουμε όλες τις λέξεις στο εύρος: nom w < non Άσκηση: Με βάση αυτό, πώς μπορούμε να ανακτήσουμε όλους τους όρους που ταιριάζουν με pro*cent ; March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 13
Επεξεργασία Ερωτημάτων Κεφάλαιο 3.2 Σε αυτό το σημείο έχουμε μια απαρίθμηση όλων των όρων λεξικού που ταιριάζουν με το ερώτημα χαρακτήρων μπαλαντέρ Πρέπει να βρούμε τις λίστες καταχώρησης για κάθε όρο Π.χ. θεωρήστε το ερώτημα: se*ate AND fil*er Αυτό μπορεί να καταλήξει στην εκτέλεση πολλαπλών συζευκτικών ερωτημάτων Boolean (AND) March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 14
Τα Β-Δέντρα Χειρίζονται * στο Τέλος ενός Όρου Πώς θα χειριστούμε ερωτήματα όπως co*tion Θα μπορούσαμε να εντοπίσουμε co* και *tion στο Β- έντρο και να υπολογίσουμε την τομή των δύο συνόλων όρων Ακριβό Λύση: μετασχηματισμός των ερωτημάτων ώστε τα * να εμφανίζονται στο τέλος Ευρετήριο Αντιμετατεθειμένων Όρων (Permuterm Index) Κεφάλαιο 3.2 March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 15
Ευρετήριο Αντιμετατεθειμένων Όρων (Permuterm Index) Για τον όρο hello εισάγουμε στο ευρετήριο hello$, ello$h, llo$he, lo$hel, o$hell Όπου $ είναι ένα ειδικό σύμβολο Ερωτήματα X lookup on X$ X* lookup on $X* *X lookup on X$* *X* lookup on X* X*Y lookup on Y$X* X*Y*Z??? Exercise! Κεφάλαιο 3.2.1 Query = hel*o X=hel, Y=o Lookup o$hel* March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 16
Ευρετήριο Αντιμετατεθειμένων Όρων (Permuterm Index) Κεφάλαιο 3.2.1 March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 17
Επεξεργασία Ερωτημάτων με Κεφάλαιο 3.2.1 Ευρετήριο Αντιμετατεθειμένων Όρων Περιστροφή του ερωτήματος ώστε το * να βρεθεί στο τέλος της ακολουθίας χαρακτήρων Αναζήτηση στο Β- έντρο, όπως πριν Το πρόβλημα που ανακύπτει είναι ότι μεγαλώνει το λεξικό του ευρετηρίου Τετραπλασιάζει το μέγεθός του Εμπειρική παρατήρηση για την αγγλική γλώσσα March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 18
Κεφάλαιο 3.2.2 Ευρετήρια k-γραμμάτων (k-gram Index) Το λεξικό περιέχει όλα τα k-γράμματα που εμφανίζονται σε όλους τους όρους του λεξικού Ένα k-γραμμα (k-gram) είναι μια ακολουθία k χαρακτήρων Π.χ. Από το April is the cruelest month παίρνουμε τα ακόλουθα 2-grams (bigrams) $a,ap,pr,ri,il,l$,$i,is,s$,$t,th,he,e$,$c,cr,ru, ue,el,le,es,st,t$, $m,mo,on,nt,h$ To $ είναι ειδικό σύμβολο διαχωρισμού (για αρχή και τέλος όρου) ιατηρούμε ένα δεύτερο αντεστραμμένο ευρετήριο από bigrams προς όρους λεξικού που ταιριάζουν με κάθε bigram March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 19
Παράδειγμα Bigram Κεφάλαιο 3.2.2 Το ευρετήριο k-gram εντοπίζει όρους με βάση ερώτημα που αποτελείται από k-grams (εδώ bigrams, δηλαδή k=2) $m mace madden mo on among along amortize among Άρα έχουμε 2 ευρετήρια Το στάνταρ αντεστραμμένο ευρετήριο για εύρεση εγγράφων με βάση κάποιους όρους που περιέχονται στο ερώτημα Το ευρετήριο k-gram για εύρεση όρων δοθέντος ενός ερωτήματος που αποτελείται από k-grams March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 20
Επεξεργασία Χαρακτήρων Μπαλαντέρ Το ερώτημα mon* μπορεί να εκτελεστεί ως $m AND mo AND on Βρίσκει τους όρους που ταιριάζουν με την AND εκδοχή του ερωτήματος χαρακτήρων μπαλαντέρ Όμως έτσι θα εντοπίζαμε και το moon (false positive) Πρέπει να μεταφιλτράρουμε (postfiltering) ως προς το αρχικό ερώτημα, και να απορρίψουμε τέτοιους όρους Όσοι όροι απομείνουν αναζητούνται στο καθιερωμένο αντεστραμμένο ευρετήριο όπως συνήθως k-gram index Γρήγορη μέθοδος, καταναλώνει λιγότερο χώρο από το ευρετήριο αντιμετατεθειμένων όρων Όμως το ευρετήριο αντιμετατεθειμένων όρων δε χρειάζεται μεταφιλτράρισμα Κεφάλαιο 3.2.2 March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 21
Επεξεργασία Ερωτημάτων Κεφάλαιο 3.2.2 Χαρακτήρων Μπαλαντέρ Όπως και πριν, πρέπει να εκτελέσουμε ένα ερώτημα Boole για κάθε απαριθμημένο και φιλτραρισμένο όρο Χρήση χαρακτήρων μπαλαντέρ μπορεί να έχει ως αποτέλεσμα υψηλό κόστος εκτέλεσης (πολύ μεγάλες διαζεύξεις) Για [gen* universit*]: geneva university OR geneva université OR genève university OR genève université OR general universities OR... Εάν ενθαρρύνουμε την «τεμπελιά», οι άνθρωποι θα ανταποκριθούν! [pyth* theo*] αντί για [pythagoras theorem] Επίσης αυξάνεται το κόστος εκτέλεσης Type your search terms, use * if you need to. E.g., Alex* will match Alexander. Search March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 22
Διόρθωση Ορθογραφικών Σφαλμάτων March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 23
Διόρθωση Λαθών Κεφάλαιο 3.3 ύο κύριες χρήσεις ιόρθωση εγγράφων που ευρετηριάζονται ιόρθωση ερωτημάτων χρηστών για ανάκτηση των «σωστών» απαντήσεων ύο μορφές ορθογραφικών διορθώσεων ιόρθωση μεμονωμένων όρων (isolated-term correction) ιόρθωση ενός όρου ερωτήματος τη φορά εν εντοπίζει σφάλματα που καταλήγουν σε σωστές λέξεις Π.χ. from form ιόρθωση εξαρτώμενη από τα συμφραζόμενα (contextsensitive correction) Κοιτάμε και τις τριγύρω λέξεις Π.χ. I flew form Heathrow to Narita. March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 24
Διόρθωση Εγγράφων Κεφάλαιο 3.3 Ιδιαίτερα χρήσιμη για έγγραφα που παρήχθησαν με OCR (optical character recognition) Οι αλγόριθμοι διόρθωσης είναι ρυθμισμένοι για αυτό: rn/m Μπορεί να χρησιμοποιούν γνώση για το αντικείμενο που περιγράφεται Π.χ. Το OCR μπερδεύει συχνότερα το O και το D από ότι το O και το Ι (που είναι γειτονικά πλήκτρα στο QWERTY πληκτρολόγιο, άρα πιο πιθανό να έχουν πληκτρολογηθεί κατά λάθος) Όμως ακόμη και οι ιστοσελίδες αλλά και εκτυπωμένο υλικό μπορεί να έχει σφάλματα Στόχος: το λεξικό να περιέχει λιγότερα σφάλματα Συχνά όμως δεν τροποποιούμε τα έγγραφα, αντίθετα διορθώνουμε την αντιστοίχιση ερωτήματος με έγγραφο March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 25
Διόρθωση Ερωτήματος Κεφάλαιο 3.3 Αποτελεί τον κύριο στόχο μας Π.χ. Το ερώτημα Alanis Morisett Μπορούμε είτε Να ανακτήσουμε τα έγγραφα που ευρετηριάζονται κάτω από το σωστό ορθογραφικά όρο, ή Να επιστρέφουμε διάφορα εναλλακτικά ερωτήματα που είναι σωστά ορθογραφικά Did you mean? March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 26
Διόρθωση Μεμονωμένων Όρων Κεφάλαιο 3.3.2 Βασική παραδοχή: ύπαρξη λεξικού με σωστή ορθογραφία όρων ύο βασικές επιλογές Ένα κλασικό λεξικό όπως Webster s English Dictionary Ένα λεξικό εξειδικευμένο το οποίο ενημερώνεται χειρωνακτικά Το λεξικό της συλλογής που ευρετηριάζεται Π.χ., όλες οι λέξεις στο ιαδίκτυο Όλα τα ονόματα, τα ακρώνυμα, κτλ (συμπεριλαμβανομένων των ορθογραφικών σφαλμάτων) March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 27
Διόρθωση Μεμονωμένων Όρων Κεφάλαιο 3.3.2 οθέντος ενός λεξικού και μιας ακολουθίας χαρακτήρων Q, επέστρεψε όλες τις λέξεις του λεξικού που είναι πλησιέστερες στο Q Τι σημαίνει «πλησιέστερες»; Θα μελετηθούν διάφορες εναλλακτικές Edit distance (Levenshtein distance) Weighted edit distance n-gram overlap March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 28
Κεφάλαιο 3.3.3 Απόσταση Διόρθωσης (Edit Distance) οθέντων δύο αλφαριθμητικών S 1 και S 2, ο ελάχιστος αριθμός πράξεων διόρθρωσης ώστε να μετασχηματιστεί το ένα στο άλλο Οι πράξεις είναι σε επίπεδο χαρακτήρα Εισαγωγή, διαγραφή, αντικατάσταση Π.χ.., η edit distance του dof με το dog είναι 1 Του cat με το act είναι 2 Του cat με το dog είναι 3 Γενικά υπολογίζεται με δυναμικό προγραμματισμό March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 29
Edit Distance Υπολογισμός March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 30
Edit Distance Αλγόριθμος March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 31
Edit Distance Αλγόριθμος March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 32
Edit Distance Αλγόριθμος March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 33
Edit Distance Αλγόριθμος March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 34
Edit Distance Αλγόριθμος March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 35
Edit Distance Παράδειγμα March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 36
Κελιά του Πίνακα cost of getting here from my upper left neighbor (copy or replace) cost of getting here from my left neighbor (insert) cost of getting here from my upper neighbor (delete) the minimum of the three possible movements ; the cheapest way of getting here March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 37
Απόσταση Διόρθωσης με Βάρη Κεφάλαιο 3.3.3 (Weighted Edit Distance) Όπως πριν, όμως ο συντελεστής στάθμισης (βαρύτητας) της πράξης εξαρτάται από το χαρακτήρα που εμπλέκεται Σκοπός είναι να «πιάνουμε» λάθη του OCR ή λάθη πληκτρολόγησης Παράδειγμα: το m πιθανότερα να γίνει n αντί για q Άρα αντικατάσταση του m με το n έχει μικρότερη edit distance αντί με το q Αυτό μπορεί να διατυπωθεί σαν ένα πιθανοτικό μοντέλο Απαιτείται πίνακας με τα βάρη ως είσοδος Τροποποίηση στον αλγόριθμο δυναμικού προγραμματισμού ώστε να χειρίζεται τα βάρη March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 38
Χρήση Απόστασης Διόρθωσης Κεφάλαιο 3.3.4 οθέντος ενός ερωτήματος, πρώτα απαριθμούμε όλες τις ακολουθίες χαρακτήρων εντός μιας προκαθορισμένης edit distance (π.χ., 2) Τομή αυτής της λίστας με τη λίστα με τις «σωστές» λέξεις Το αποτέλεσμα προτείνεται στο χρήστη Εναλλακτικά, Μπορούμε να εξετάσουμε την ύπαρξη όλων των διορθώσεων στο ευρετήριο και να επιστρέψουμε τα έγγραφα που σχετίζονται με αυτές (αργό!) Μπορούμε να δοκιμάσουμε με τη μία μόνο πιο πιθανή διόρθωση Οι εναλλακτικές αποδυναμώνουν το ρόλο του χρήστη, όμως εξοικονομούν ένα γύρο αλληλεπίδρασης με το χρήστη March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 39
Edit Distance ως προς όλους τους Όρους του Λεξικού οθέντος ενός ερωτήματος που εμπεριέχει σφάλμα, υπολογίζουμε την edit distance με κάθε όρο του λεξικού; Ακριβό και αργό Εναλλακτική; Πώς περιορίζουμε το σύνολο των υποψήφιων όρων του λεξικού; Μια δυνατότητα είναι να χρησιμοποιήσουμε την τομή με n-grams μόνο Αυτό μπορεί να χρησιμοποιηθεί και από μόνο του για διόρθωση Κεφάλαιο 3.3.4 March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 40
Τομή με n-grams Κεφάλαιο 3.3.4 Απαρίθμηση όλων των n-grams του ερωτήματος και του λεξικού Χρήση του ευρετηρίου n-grams (θυμηθείτε την αναζήτηση με χαρακτήρες μπαλαντέρ) για ανάκτηση όλων των όρων λεξικού που ταιριάζουν με οποιοδήποτε από τα n-grams του ερωτήματος Βάζουμε ένα κατώφλι (threshold) στο πλήθος των n- grams που ταιριάζουν Παραλλαγές: στάθμιση (βάρος) με βάση τη θέση στο πληκτρολόγιο March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 41
Παράδειγμα με Trigrams Κεφάλαιο 3.3.4 Εάν το κείμενο είναι november Τα trigrams είναι nov, ove, vem, emb, mbe, ber. Εάν το ερώτημα είναι december Τα trigrams είναι dec, ece, cem, emb, mbe, ber. Άρα 3 trigrams είναι η τομή (μεταξύ 6 σε κάθε όρο) Πώς μπορούμε να μετατρέψουμε αυτό σε ένα κανονικοποιημένο μέτρο που δείχνει πόσο μεγάλη είναι η τομή; March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 42
Μία Επιλογή Jaccard Coefficient Κεφάλαιο 3.3.4 Ένα κοινό μέτρο που δείχνει πόσο μεγάλη είναι η τομή δύο συνόλων Έστω X και Y δύο σύνολα, τότε η Jaccard Coefficient είναι Ισούται με 1, όταν X και Y έχουν τα ίδια στοιχεία, και με 0 όταν έχουν εντελώς διαφορετικά Τα X και Y δε χρειάζεται να έχουν το ίδιο μήκος Πάντα παράγει έναν αριθμό μεταξύ 0 και 1 X Y / X Y Ένα κατώφλι (threshold) καθορίζει εάν πρόκειται για ταίριασμα Π.χ., εάν J.C. > 0.8, τότε έχουμε ταίριασμα March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 43
Ταίριασμα από Trigrams Κεφάλαιο 3.3.4 Ας θεωρήσουμε το ερώτημα lord θέλουμε να εντοπίσουμε λέξεις που ταιριάζουν με 2 από τα 3 bigrams (lo, or, rd) lo or rd alone border ardent lore lore border sloth morbid card Standard postings merge will enumerate Προσαρμογή στη χρήση του Jaccard (ή κάποιου άλλου) μέτρου March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 44
Διόρθωση Ορθογραφίας Εξαρτωμένη από τα Συμφραζόμενα Κείμενο: I flew from Heathrow to Narita Κεφάλαιο 3.3.5 Ας θεωρήσουμε το ερώτημα φράσης flew form Heathrow Θα θέλαμε να απαντήσουμε Εννοούσατε flew from Heathrow? επειδή κανένα έγγραφο δεν ταίριαξε με το ερώτημα φράσης March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 45
Διόρθωση Ορθογραφίας Εξαρτωμένη από τα Συμφραζόμενα Χρειαζόμαστε το περιβάλλον κείμενο για αυτό Μια πρώτη ιδέα: ανάκτηση των όρων λεξικού που μοιάζουν (σε weighted edit distance) με κάθε όρο του ερωτήματος οκιμάζουμε όλες τις δυνατές φράσεις διατηρώντας μία λέξη τη φορά σταθερή flew from heathrow fled form heathrow flea form heathrow Κεφάλαιο 3.3.5 Hit-based spelling correction: Προτείνεται η διόρθωση που έχει τα περισσότερα hits (εμφανίσεις στη συλλογή) March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 46
Άσκηση Κεφάλαιο 3.3.5 Υποθέστε πως για το flew form Heathrow έχουμε 7 εναλλακτικές για το flew, 19 για το form και 3 για το heathrow. Πόσες διορθωμένες φράσεις θα απαριθμήσουμε με αυτό τον τρόπο? March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 47
Μια Άλλη Προσέγγιση Κεφάλαιο 3.3.5 ιάσπαση του ερωτήματος φράσης σε σύζευξη από biwords (2 ο μάθημα) Αναζήτηση από biwords που χρειάζονται διόρθωση μόνο του ενός όρου Απαρίθμηση μόνο των φράσεων που περιέχουν «κοινά» biwords March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 48
Κεφάλαιο 3.3.5 Γενικά Θεματα στη Διόρθωση Λαθών Απαριθμούμε πολλαπλές εναλλακτικές για Did you mean? Πρέπει να αποφασίσουμε ποιες θα παρουσιάσουμε στο χρήστη Η εναλλακτική με τα περισσότερα hits Ανάλυση των query logs Γενικότερα, πιθανοτική κατάταξη των εναλλακτικών argmax corr P(corr query) Από τον κανόνα Bayes, αυτό είναι ισοδύναμο με argmax corr P(query corr) * P(corr) Noisy channel Language model March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 49
Φωνητική Διόρθωση (Soundex) March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 50
Φωνητική Διόρθωση (Soundex) Κεφάλαιο 3.4 Μια κλάση ευρετικών για την παραγωγή φωνητικά ισοδύναμων όρων (φωνητικά αντίστοιχων) Εξαρτάται από τη γλώσσα κυρίως για ονόματα Π.χ., chebyshev tchebycheff Ανακαλύφθηκε το 1918 March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 51
Soundex Αλγόριθμος Κεφάλαιο 3.4 Μετατροπή κάθε όρου προς ευρετηρίαση σε μια απλοποιημένη μορφή τεσσάρων χαρακτήρων Κάνουμε το ίδιο για τους όρους του ερωτήματος Κατασκευάζουμε και αναζητούμε το ευρετήριο soundex με βάση τις απλοποιημένες μορφές Όταν κάποιο ερώτημα απαιτεί ταίριασμα soundex http://www.creativyst.com/doc/articles/soundex1/sound Ex1.htm#Top March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 52
Soundex Αλγόριθμος Κεφάλαιο 3.4 1. ιατηρούμε το πρώτο γράμμα του όρου 2. Αλλάζουμε σε 0 (μηδέν) τα γράμματα: 'A', E', 'I', 'O', 'U', 'H', 'W', 'Y 3. Αλλάζουμε τα υπόλοιπα γράμματα σε ψηφία ως εξής B, F, P, V 1 C, G, J, K, Q, S, X, Z 2 D,T 3 L 4 M, N 5 R 6 March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 53
Soundex Αλγόριθμος (συνέχεια) Κεφάλαιο 3.4 4. Καταργούμε το ένα από κάθε ζεύγος διαδοχικών όμοιων ψηφίων (επαναλαμβάνοντας αν χρειάζεται) 5. Καταργούμε όλα τα μηδενικά από το αλφαριθμητικό 6. Συμπληρώνουμε το αλφαριθμητικό με μηδενικά στο τέλος του, και επιστρέφουμε τις τέσσερις πρώτες θέσεις του οι οποίες θα αποτελούνται από ένα γράμμα ακολουθούμενο από τρία αριθμητικά ψηφία <uppercase letter> <digit> <digit> <digit> Π.χ. Το Herman γίνεται H655 Θα παράγει το hermann τον ίδιο κωδικό? March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 54
Soundex του Hermann ιατηρούμε το H ERMAN 0RM0N 0RM0N 06505 06505 06505 06505 655 Return H655 Το: HERMANN παράγει τον ίδιο κωδικό March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 55
Soundex Κεφάλαιο 3.4 Είναι ο κλασικός αλγόριθμος που παρέχεται από τις περισσότερες βάσεις (Oracle, Microsoft, ) Πόσο χρήσιμο είναι το soundex; Όχι ιδιαίτερα, για την ανάκτηση πληροφοριών Καλό για εργασίες που απαιτούν υψηλό recall (π.χ. Ιντερπολ), αν και δίνει προτίμηση σε ονόματα συγκεκριμένων εθνικοτήτων Οι Zobel and Dart (1996) δείχνουν ότι άλλοι αλγόριθμοι για φωνητικό ταίριασμα δουλεύουν πιο αποδοτικά στο πλαίσιο της ανάκτησης πληροφορίας March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 56
Τι Ερωτήματα Yποστηρίζουμε; Έχουμε Αντεστραμμένα ευρετήρια θέσης με δείκτες παράλειψης Ευρετήριο μπαλαντέρ Ορθογραφική διόρθωση Soundex Ερωτήματα όπως (SPELL(moriset) /3 toron*to) OR SOUNDEX(chaikofski) March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 57
Άσκηση Σχεδιάστε ένα διάγραμμα που δείχνει τα διάφορα ευρετήρια μιας μηχανής αναζήτησης που ενσωματώνουν όλη τη λειτουργικότητα για την οποία έχουμε μιλήσει Αναγνωρίστε κάποιες βασικές επιλογές σχεδίασης στα σειρά των ευρετηρίων Η περιστολή (stemming) γίνεται πριν το soundex ευρετήριο; Τι κάνουμε με τα n-grams; οθέντος ενός ερωτήματος, πώς θα γίνει η διάσπαση σε υπο-ερωτήματα προς τα διάφορα ευρετήρια; March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 58
Σύνοψη Ανάκτηση ανεκτική σε σφάλματα (fault-tolerant retrieval) Τι κάνουμε όταν δεν υπάρχει ακριβές ταίριασμα (exact match) μεταξύ όρου του ερωτήματος και όρων του λεξικού Ερωτήματα μπαλαντέρ Ορθογραφική διόρθωση March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 59
Πηγές Αναφοράς Εισαγωγή στην Ανάκτηση Πληροφοριών, κεφάλαιο 3 MG 4.2 Efficient spell retrieval: K. Kukich. Techniques for automatically correcting words in text. ACM Computing Surveys 24(4), Dec 1992. J. Zobel and P. Dart. Finding approximate matches in large lexicons. Software - practice and experience 25(3), March 1995. http://citeseer.ist.psu.edu/zobel95finding.html Mikael Tillenius: Efficient Generation and Ranking of Spelling Error Corrections. Master s thesis at Sweden s Royal Institute of Technology. http://citeseer.ist.psu.edu/179155.html Nice, easy reading on spell correction: Peter Norvig: How to write a spelling corrector http://norvig.com/spell-correct.html March 29, 2016 Ανάκτηση Πληροφοριών,6ο Εξάμηνο 60