1 / 59

Λειτουργίες επί των Κειμένων

Λειτουργίες επί των Κειμένων. Προεπεξεργασία Clustering Συμπίεση. Προεπεξεργασία Κειμένων. Πριν από τη δεικτοδότηση των κειμένων προηγούνται μερικές βασικές διαδικασίες οι οποίες χρησιμοποιούνται για την απλοποίηση των κειμένων. Το σύνολο των διεργασιών αυτών καλείται Προεπεξεργασία Κειμένου.

peigi
Download Presentation

Λειτουργίες επί των Κειμένων

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

E N D

Presentation Transcript


  1. Λειτουργίες επί των Κειμένων Προεπεξεργασία Clustering Συμπίεση

  2. Προεπεξεργασία Κειμένων Πριν από τη δεικτοδότηση των κειμένων προηγούνται μερικές βασικές διαδικασίες οι οποίες χρησιμοποιούνται για την απλοποίηση των κειμένων. Το σύνολο των διεργασιών αυτών καλείται Προεπεξεργασία Κειμένου. Ανάκτηση Πληροφορίας

  3. Προεπεξεργασία Κειμένων accents spacing etc. automatic or manual indexing noun groups document stopwords stemming structure recognition text + structure text structure full text index terms Ανάκτηση Πληροφορίας

  4. Προεπεξεργασία Κειμένων • Λεκτική ανάλυση (lexical analysis) • Απαλοιφή stopwords • Stemming • Επιλογή index terms • Δημιουργία δομών κατηγοριών Ανάκτηση Πληροφορίας

  5. Λεκτική Ανάλυση Διαδικασία μετατροπής ενός κειμένου από σειρά χαρακτήρων (character stream) σε σειρά λέξεων (word stream). Η αρχική εντύπωση που δημιουργείται είναι ότι το μόνο που έχουμε να κάνουμε είναι να αναγνωρίσουμε τους κενούς χαρακτήρες του κειμένου, οι οποίοι διαχωρίζουν τις λέξεις. Όμως υπάρχουν πολύ περισσότερα που πρέπει να προσέξουμε! Ανάκτηση Πληροφορίας

  6. Λεκτική Ανάλυση • Αριθμητικά ψηφία • Συλλαβισμός • Σύμβολα Στίξης • Μικρά και Κεφαλαία Γράμματα Ανάκτηση Πληροφορίας

  7. Αριθμητικά Ψηφία • Οι αριθμοί δεν θεωρούνται καλές περιπτώσεις index terms διότι χωρίς τα συμφραζόμενα το νόημά τους είναι αρκετά ασαφές. • Γενικά, τα συστήματα IR δεν περιλαμβάνουν τους αριθμούς στη λίστα των index terms. • Ωστόσο, υπάρχουν περιπτώσεις στις οποίες απαιτείται ιδιαίτερη προσοχή. Για παράδειγμα, κείμενα τα οποία περιέχουν αριθμούς πιστωτικών καρτών. Ανάκτηση Πληροφορίας

  8. Συλλαβισμός • Συνήθως η απαλοιφή του συμβόλου συλλαβισμού (‘-’) δε δημιουργεί προβλήματα στην ανάκτηση πληροφορίας (π.χ. State-of-the-art -> state of the art) • Ωστόσο απαιτείται προσοχή, διότι υπάρχουν λέξεις στις οποίες το σύμβολο ‘-’ παίζει σημαντικό ρόλο (B-52) Ανάκτηση Πληροφορίας

  9. Σύμβολα Στίξης • Συνήθως τα σύμβολα στίξης αφαιρούνται εντελώς κατά τη φάση της λεκτικής ανάλυσης κειμένων και ερωτήσεων (I.K.A -> IKA, D.N.A. -> DNA) • Υπάρχουν ειδικές περιπτώσεις οι οποίες πρέπει να προσεχθούν ιδιαίτερα. Για παράδειγμα, σε ένα σύστημα IR το οποίο διαχειρίζεται κώδικα γραμμένο σε C/C++, υπάρχει διαφορά ανάμεσα στις εκφράσεις x.idκαι xid. Ανάκτηση Πληροφορίας

  10. Μικρά-Κεφαλαία Γράμματα • Κατά τη φάση της λεκτικής ανάλυσης όλα τα γράμματα μετατρέπονται σε μικρά ή σε κεφαλαία. (HORSE, Horse, horse) • Ειδικές περιπτώσεις πρέπει να αντιμετωπίζονται ξεχωριστά. Για παράδειγμα, κατά την αναζήτηση κειμένων που σχετίζονται με το λειτουργικό σύστημα Unix, η σημασία των εντολών ls –l και ls –L είναι διαφορετική. (To Unix διαχωρίζει μικρά και κεφαλαία γράμματα). Ανάκτηση Πληροφορίας

  11. Προεπεξεργασία Κειμένων • Λεκτική ανάλυση (lexical analysis) • Απαλοιφή stopwords • Stemming • Επιλογή index terms • Δημιουργία δομών κατηγοριών Ανάκτηση Πληροφορίας

  12. Απαλοιφή stopwords • Λέξεις οι οποίες εμφανίζονται στην πλειοψηφία των κειμένων δεν είναι καλές για index terms. • Αυτές οι λέξεις καλούνται stopwords. • Άρθρα, προθέσεις, σύνδεσμοι • Η απαλοιφή των stopwords μειώνει σημαντικά το μέγεθος ενός κειμένου. • Ωστόσο, η απαλοιφή των stopwords μπορεί να μειώσει το recall. Για παράδειγμα αναζητώντας τη φράση “to be or not to be” ο χρήστης θα αντιμετωπίσει πρόβλημα. Για το λόγο αυτό πολλές μηχανές αναζήτησης στο WEB χρησιμοποιούν όλες τις λέξεις των κειμένων. Ανάκτηση Πληροφορίας

  13. Προεπεξεργασία Κειμένων • Λεκτική ανάλυση (lexical analysis) • Απαλοιφή stopwords • Stemming • Επιλογή index terms • Δημιουργία δομών κατηγοριών Ανάκτηση Πληροφορίας

  14. Stemming • Η λέξη που αναζητά ο χρήστης μπορεί να υπάρχει με αυτήν την μορφή στο κείμενο (π.χ. connect, connecting). • Stem: τμήμα της λέξης που απομένει μετά την απομάκρυνση prefix και suffix. • Μειώνεται ο αριθμός των διακριτών λέξεων του κειμένου. • Μερικές μηχανές αναζήτησης στο WEB δεν πραγματοποιούν stemming. Ανάκτηση Πληροφορίας

  15. Stemming • Affix removal, table lookup, successor variety, n-grams. • Το πιο σημαντικό μέρος είναι η απομάκρυνση του suffix, διότι οι διαφορετικές εκδοχές μίας λέξης προσδιορίζονται με διαφορετικές καταλήξεις. • Αλγόριθμος Porter, για την απομάκρυνση των καταλήξεων από τις λέξεις. Χρησιμοποιούνται μερικοί κανόνες (π.χ. s->null). Ανάκτηση Πληροφορίας

  16. Προεπεξεργασία Κειμένων • Λεκτική ανάλυση (lexical analysis) • Απαλοιφή stopwords • Stemming • Επιλογή index terms • Δημιουργία δομών κατηγοριών Ανάκτηση Πληροφορίας

  17. Επιλογή Index Terms • Σε full text αναπαράσταση, όλες οι λέξεις ενός κειμένου χρησιμοποιούνται ως index terms. • Διαφορετικά, ένα σύνολο από index terms πρέπει να επιλεγεί είτε χειροκίνητα είτε αυτόματα. • Επιλέγονται ουσιαστικά τα οποία ομαδοποιούνται σε ομάδες ουσιαστικών με κοινό νόημα (π.χ. computer science, information retrieval, query language) Ανάκτηση Πληροφορίας

  18. Προεπεξεργασία Κειμένων • Λεκτική ανάλυση (lexical analysis) • Απαλοιφή stopwords • Stemming • Επιλογή index terms • Δημιουργία δομών κατηγοριών (θησαυροί) Ανάκτηση Πληροφορίας

  19. Θησαυροί Λέξεων • Στην απλή του μορφή ένας θησαυρός λέξεων αποτελείται από ένα σύνολο σημαντικών λέξεων, και για κάθε λέξη ένα σύνολο σχετικών λέξεων (π.χ. συνώνυμα). • Σύμφωνα με τον Foskett οι βασικοί στόχοι ενός θησαυρού είναι: • Να παρέχει ένα σταθερό λεξιλόγιο για αναζήτηση. • Να βοηθά τους χρήστες στη μορφοποίηση των ερωτήσεων. • Να παρέχει ιεραρχίες ώστε να μπορεί ο χρήστης να διευρύνει ή να περιορίζει τα αποτελέσματα. Ανάκτηση Πληροφορίας

  20. Θησαυροί Λέξεων • Κίνητρο: ελεγχόμενο λεξιλόγιο για indexing και searching. • Το ελεγχόμενο λεξιλόγιο προσφέρει κανονικοποίηση, μείωση θορύβου, ανάκτηση βασισμένη στο νόημα (concept) παρά σε λέξεις. • Σε συγκεκριμένους τομείς (π.χ. ιατρική) τα παραπάνω είναι πολύ σημαντικά. • Ωστόσο, υπάρχουν τομείς στους οποίους η κατασκευή θησαυρού είναι δύσκολη διότι: το γνωστικό αντικείμενο είναι νέο, μεγάλο, αλλάζει δυναμικά (π.χ. WEB). Ανάκτηση Πληροφορίας

  21. Clustering • Clustering είναι η ομαδοποίηση κειμένων τα οποία είναι όμοια μεταξύ τους. • Δεν αναφέρεται σε ένα μόνο κείμενο αλλά σε μία συλλογή κειμένων. • Global clustering: τα κείμενα ομαδοποιούνται ανάλογα με την εμφάνισή τους σε όλη τη συλλογή κειμένων. • Local clustering: η ομαδοποίηση πραγματοποιείται σύμφωνα με τα χαρακτηριστικά των ερωτήσεων του χρήστη και το σύνολο των κειμένων της απάντησης. Ανάκτηση Πληροφορίας

  22. Συμπίεση Κειμένων • Δυνατότητα να αναπαραστήσουμε τα κείμενα με μικρότερο αριθμό bytes. • Οι μέθοδοι συμπίεσης χρησιμοποιούν τη δομή που υπάρχει στο κείμενο για να δημιουργήσουν μία «μειωμένη» έκδοση του αρχικού κειμένου. • Από τη συμπιεσμένη έκδοση του κειμένου το αρχικό κείμενο μπορεί να ανακτηθεί πλήρως. Ανάκτηση Πληροφορίας

  23. Συμπίεση Κειμένων Τι κερδίζουμε; • Λιγότερος χώρος αποθήκευσης • Λιγότερος χρόνος για λειτουργίες εισόδου/εξόδου (Ι/Ο) • Λιγότερος χρόνος μετάδοσης δεδομένων από έναν σταθμό σε άλλον Ανάκτηση Πληροφορίας

  24. Συμπίεση Κειμένων Οι μέθοδοι συμπίεσης διακρίνονται σε δύο βασικές κατηγορίες: • Στατιστικές μέθοδοι, οι οποίες στηρίζονται σε εκτιμήσεις πιθανότητας σχετικά με την εμφάνιση των συμβόλων στο κείμενο. • Μέθοδοι βασισμένες σε λεξικό, οι οποίες αντικαθιστούν την εμφάνιση μίας σειράς συμβόλων με έναν δείκτη (pointer) στην αμέσως προηγούμενη εμφάνιση της σειράς. Ανάκτηση Πληροφορίας

  25. Συμπίεση Κειμένων Συμπίεση Statistical Dictionary Modeling Coding Modeling Coding 1. adaptive 2. static 3. semi-static 1. Huffman coding 2. Byte-oriented Huffman coding 1. adaptive 2. static 3. semi-static Inverted File coding Ανάκτηση Πληροφορίας

  26. Στατιστικές Μέθοδοι Συμπίεσης Σύμβολο: ένας χαρακτήρας, μία λέξη, μία σειρά χαρακτήρων. Αλφάβητο: το σύνολο των διαφορετικών συμβόλων. Μοντελοποίηση: η διαδικασία εκτίμησης της πιθανότητας των συμβόλων Κωδικοποίηση: η διαδικασία της μετατροπής των συμβόλων σε δυαδικά ψηφία Ανάκτηση Πληροφορίας

  27. Στατιστικές Μέθοδοι Συμπίεσης Δύο βασικές μέθοδοι κωδικοποίησης (coding)που χρησιμοποιούνται στις στατιστικές μεθόδους συμπίεσης: • Κωδικοποίηση Huffman (Huffman Coding) • Αριθμητική Κωδικοποίηση (Arithmetic Coding) Ανάκτηση Πληροφορίας

  28. Στατιστικές Μέθοδοι Συμπίεσης • Η αριθμητική κωδικοποίηση επεξεργάζεται ένα σύμβολο τη φορά. • Δεν επιτρέπεται η αποκωδικοποίηση μίας σειράς χαρακτήρων η οποία βρίσκεται στη μέση του κειμένου. • Πρέπει κάθε φορά η αποκωδικοποίηση να ξεκινά από την αρχή του κειμένου. • Για το λόγο αυτό τα συστήματα IR δεν χρησιμοποιούν τη μέθοδο της αριθμητικής κωδικοποίησης. Ανάκτηση Πληροφορίας

  29. Στατιστικές Μέθοδοι Συμπίεσης Σχέση μεταξύ πιθανοτήτων και κωδικών (Claudde Shannon): Σε μία βέλτιστη μέθοδο κωδικοποίησης, ένα σύμβολο το οποίο αναμένεται να εμφανιστεί με πιθανότητα p, πρέπει να του αντιστοιχεί ένας κωδικός με μέγεθος bits Ανάκτηση Πληροφορίας

  30. Στατιστικές Μέθοδοι Συμπίεσης Η μέση ποσότητα πληροφορίας κάθε συμβόλου σε όλο το αλφάβητο καλείται εντροπία της κατανομής και δίνεται από τον τύπο: Το Ε αποτελεί κάτω φράγμα ως προς τον αριθμό των bits που πρέπει να περιέχει ένα κωδικοποιημένο σύμβολο. Ανάκτηση Πληροφορίας

  31. Στατιστικές Μέθοδοι ΣυμπίεσηςModeling • Προσαρμοστικά (adaptive) • Στατικά (static) • Ημιστατικά (semi-static) Ανάκτηση Πληροφορίας

  32. Στατιστικές Μέθοδοι ΣυμπίεσηςModeling ΠροσαρμοστικάΜοντέλα: • Δεν έχουν καμία πληροφορία για το κείμενο, αλλά την αποκτούν σταδιακά καθώς προχωρά η διαδικασία συμπίεσης. • Απαιτούν μόνο ένα πέρασμα στο κείμενο εισόδου. • Για αρκετά μεγάλα κείμενα το μοντέλα συγκλίνουν στην πραγματική κατανομή του κειμένου. • Η διαδικασία της αποσυμπίεσης πρέπει να ξεκινά από την αρχή. • Καλή τεχνική για γενικές εφαρμογές αλλά όχι τόσο καλή για IR. Ανάκτηση Πληροφορίας

  33. Στατιστικές Μέθοδοι ΣυμπίεσηςModeling Στατικά Μοντέλα: • Θεωρούν μία μέση κατανομή όλων των κειμένων εισόδου. • Δεν έχουν καλό λόγο συμπίεσης όταν το περιεχόμενο του κειμένου ξεφεύγει από τις αρχικές πιθανοτικές εκτιμήσεις (π.χ. οικονομικά κείμενα τα οποία περιέχουν πολλούς αριθμούς). Ανάκτηση Πληροφορίας

  34. Στατιστικές Μέθοδοι ΣυμπίεσηςModeling Ημιστατικά Μοντέλα: • Δεν υποθέτουν κατανομή δεδομένων, αλλά παίρνουν αυτήν την πληροφορία κατά το πρώτο πέρασμα. • Στο δεύτερο πέρασμα γίνεται συμπίεση με βάση τα στατιστικά στοιχεία που εξάχθηκαν από το πρώτο πέρασμα. • Στη φάση της αποκωδικοποίησης, η στατιστική πληροφορία μεταδίδεται στον decoder πριν την αποστολή του συμπιεσμένου κειμένου. • Το βασικό τους μειονέκτημα είναι τα δύο περάσματα που απαιτούνται. • Επιτρέπεται άμεση προσπέλαση σε οποιοδήποτε σημείο του κειμένου. Ανάκτηση Πληροφορίας

  35. Στατιστικές Μέθοδοι ΣυμπίεσηςModeling Μοντέλα βασισμένα σε λέξεις (word-based): • Επιτυγχάνεται καλύτερος λόγος συμπίεσης. • Τα περισσότερα συστήματα IR στηρίζονται σε λέξεις. • Η συχνότητα εμφάνισης λέξεων είναι χρήσιμη στην απάντηση ερωτήσεων τα οποία χρησιμοποιούν πολλές λέξεις μαζί. Η επεξεργασία συνήθως ξεκινά από τη λέξη με τη μικρότερη συχνότητα εμφάνισης. Ανάκτηση Πληροφορίας

  36. Στατιστικές Μέθοδοι ΣυμπίεσηςModeling Μοντέλα βασισμένα σε λέξεις (word-based): Σε μερικές περιπτώσεις παράγονται μεγάλες ποσότητες διαφορετικών κωδικών (π.χ. αριθμοί) Συνήθως οι μέθοδοι που στηρίζονται σε λέξεις είναι αποδοτικές για αρκετά μεγάλα κείμενα. Γιατι; Ανάκτηση Πληροφορίας

  37. Στατιστικές Μέθοδοι ΣυμπίεσηςCoding Βασικά Σημεία: • Ο κύριος στόχος ενός κωδικοποιητή είναι η αντιστοίχιση μικρών κωδικών σε συχνά εμφανιζόμενα σύμβολα και μεγάλων κωδικών σε σπάνια εμφανιζόμενα σύμβολα. • Ο χρόνος κωδικοποίησης και αποκωδικοποίησης είναι σημαντικός. Μερικές φορές προτιμούμε να έχουμε μικρότερο λόγο συμπίεσης προκειμένου να κερδίσουμε σε χρόνο (π.χ. WinZIP). Ανάκτηση Πληροφορίας

  38. Στατιστικές Μέθοδοι ΣυμπίεσηςCoding Έστω τα σύμβολα A,B,C,D με τους εξής κωδικούς: Code(‘A’) = 0 Code(‘B’) = 000 Code(‘C’) = 11 Code(‘D’) = 1 Ο κωδικός 111000 σε ποια σειρά χαρακτήρων αντιστοιχεί; DDDAAA DCB CDAAA DDDB Ανάκτηση Πληροφορίας

  39. Στατιστικές Μέθοδοι ΣυμπίεσηςCoding Βασική προϋπόθεση: Μετά τη φάση της κωδικοποίησης κανένας κωδικός δεν πρέπει να αποτελεί prefix άλλου κωδικού. Ανάκτηση Πληροφορίας

  40. Κωδικοποίηση Huffman Έστω το ακόλουθο κείμενο: one two three one two one one one two three four five one: 5/12 two: 3/12 three: 2/12 four: 1/12 five: 1/12 Συχνότητες εμφάνισης λέξεων Ανάκτηση Πληροφορίας

  41. Κωδικοποίηση Huffman 12/12 0 Δένδρο Huffman 7/12 0 1 4/12 1 0 1 2/12 0 1 five 1/12 four 1/12 three 2/12 two 3/12 one 5/12 Ανάκτηση Πληροφορίας

  42. Κωδικοποίηση Huffman Μετά την κωδικοποίηση προκύπτουν οι εξής κωδικοί: • five: 0000 • four: 0001 • three: 001 • two: 01 • one: 1 Τι παρατηρούμε; Ανάκτηση Πληροφορίας

  43. Κωδικοποίηση Huffman Τι συμπίεση επιτυγχάνουμε για το παράδειγμα; Απαιτούνται 42*8 = 336 bits για το αρχικό κείμενο (χωρίς τους κενούς χαρακτήρες) Απαιτούνται 25 bits για το συμπιεσμένο κείμενο Ανάκτηση Πληροφορίας

  44. Κωδικοποίηση Huffman Έστω το ακόλουθο κείμενο ABRACADABRA A 5/11 B 2/11 C 1/11 D 1/11 R 2/11 Ανάκτηση Πληροφορίας

  45. Κωδικοποίηση Huffman 11/11 0 Δένδρο Huffman 6/11 1 0 1 2/11 4/11 1 0 1 0 C 1/11 D 1/11 B 2/11 R 2/11 A 5/11 000 001 010 011 1 Ανάκτηση Πληροφορίας

  46. Λεξικά • Οι μέθοδοι βασισμένες σε λεξικά επιτυγχάνουν συμπίεση αντικαθιστώντας σειρές συμβόλων με δείκτες. • Αυτό που πρέπει να προσέξουμε είναι η επιλογή των entries στο λεξικό. Ανάκτηση Πληροφορίας

  47. Στατικές Μέθοδοι Λεξικών • Οι πιο απλές μέθοδοι χρησιμοποιούν στατικά λεξικά τα οποία περιέχουν μικρές εκφράσεις. • Είναι αρκετά γρήγορες και απαιτούν λίγο χρόνο για να επιτύχουν μικρά ποσοστά συμπίεσης. • Μία διαδεδομένη μέθοδος είναι διγραμματική κωδικοποίηση (digram coding), στην οποία επιλεγμένα ζεύγη γραμμάτων αντικαθιστώνται με κωδικούς. • Το βασικό πρόβλημα των στατικών μεθόδων είναι ότι ένα λεξικό κατάλληλο για ένα κείμενο μπορεί να είναι ακατάλληλο για κάποιο άλλο. Ανάκτηση Πληροφορίας

  48. Ημι-στατικές Μέθοδοι Λεξικών • Κατασκευάζουν νέο λεξικό για κάθε νέο κείμενο που συμπιέζεται. • Το βασικό πρόβλημα στις μεθόδους αυτές είναι η επιλογή του λεξικού. Ανάκτηση Πληροφορίας

  49. Προσαρμοστικές Μέθοδοι • Μέθοδος Ziv-Lempel, 1970 • Μία φράση αντικαθίσταται με έναν δείκτη ο οποίος αναφέρεται στην προηγούμενη εμφάνιση της φράσης. • Η διαδικασία της αποκωδικοποίησης δεν μπορεί να ξεκινήσει από τη μέση του κειμένου, αλλά μόνο από την αρχή. • Το ενδιαφέρον για τις μεθόδους βασισμένες σε λεξικά συνεχώς μειώνεται. Ανάκτηση Πληροφορίας

  50. Αντεστραμμένο Αρχείο • Μία δομή αντεστραμμένου αρχείου αποτελείται από: • Ένα διάνυσμα (vocabulary) το οποίο περιέχει όλες τις διακριτές λέξεις του κειμένου, και • Μία λίστα κειμένων για κάθε διακριτή λέξη Ανάκτηση Πληροφορίας

More Related