Επεξεργασία & Οργάνωση Δεδομένων Εφαρμογές Γλωσσικής Τεχνολογίας Σοφία Στάμου
Γλώσσα και Επικοινωνία Κάθε γλωσσικό σύστημα διέπεται από κανόνες για τη χρήση, τη σύνταξη και την ερμηνεία των λέξεων Γιατί υπάρχουν παρερμηνείες στη γλωσσική επικοινωνία; Locke (1690) ΙΔΙΟΛΕΚΤΟ Επικοινωνία: όταν τα ιδιόλεκτα συμπίπτουν Frege (1892) ΝΟΗΜΑ ΚΑΙ ΑΝΑΦΟΡΑ Αναφορά: το αντικείμενο στο οποίο αναφέρεται η λέξη Νόημα: ο τρόπος που αντιλαμβανόμαστε την αναφορά 2
Γλώσσα Φυσικές (Ελληνικά, Αγγλικά, κα.) Δυναμική φύση Ασάφεια Πολυπλοκότητα Εκφραστικότητα Τεχνητές (Esperanto, γλώσσες προγραμματισμού) Απλές με λίγους γραμματικούς κανόνες Ορίζονται από τους ειδικούς της δεικτοδότησης υπό τη μορφή θησαυρών, ή ταξινομικών συστημάτων Παρέχουν ισοδύναμες εκφράσεις για τις ίδιες έννοιες που ο χρήστης πρέπει να γνωρίζει 3
Επεξεργασία Φυσικής Γλώσσας Πλήθος δεδομένων 20Β ιστοσελίδες Εφαρμογές επεξεργασίας μεγάλου όγκου δεδομένων κειμένου επεξεργασία φυσικής γλώσσας Ανάθεση κειμένου σε κατηγορίες Δεικτοδότηση και αναζήτηση κειμένων Μηχανική Μετάφραση Εξαγωγή Πληροφορίας Εξαγωγή και/ή Σύνθεση Περιλήψεων Question answering Εξόρυξη γνώσης Σύνθεση φυσικής γλώσσας 4
Δυσκολίες στην Επεξεργασία Φυσικής Γλώσσας Για την αντιστοίχιση λέξεων σε έννοιες πρέπει να επιλύσουμε: Ασάφεια ΜτΛ (π.χ. απαντήσεις) Σημασιολογική (π.χ. ποντίκι) Συντακτική (π.χ. Είδα τον άντρα στο πάρκο με το τηλεσκόπιο) Ομωνυμία (ίδια μορφή) Ομόφωνα (π.χ. χοίρος, χήρος) Ταυτώνυμα (π.χ. λόγος) Ομόγραφα (π.χ, φακών) Πολυσημία (π.χ. τράπεζα) Συνωνυμία (π.χ. γράμμα, επιστολή) 5
Τι είναι το ευρετήριο; Συστηματικήοργάνωσηδεδομένωνμεστόχοτη διευκόλυνση των χρηστών για τον εντοπισμό πληροφορίας σε ένα κείμενο Τύποι οργάνωσης Αλφαβητική (Α-Ω) Δευτερευόντων όρων (υπο-καταχωρήσεων) Διαφόρων όρων (πολλαπλές καταχωρήσεις) Ετερο-αναφορών 6
Στρατηγικές ευρετηρίασης Εξειδίκευση: κατά πόσο το σύστημα μας επιτρέπει να είμαστε λεπτομερείς κατά τον προσδιορισμό του θεματικού περιεχομένου Εξειδικευμένη ευρετηρίαση μεγάλη ακρίβεια Εξαντλητική: το βάθος ανάλυσης του περιεχομένου του κειμένου για τον καθορισμό των σημείων θεματικής πρόσβασης σε αυτό Εξαντλητική ευρετηρίαση μεγάλη ανάκληση 7
Δημιουργώντας το ευρετήριο Επιλογή εννοιών ευρετητιοποίησης (συγκεκριμένες vs. αφηρημένες) Ουσιαστικά: αποδίδουν πληρέστερα το θεματικό περιεχόμενο Ονοματικές φράσεις και συμφράσεις Επιλογή σημαντικών (αντιπροσωπευτικών) εννοιών Περιγραφή εννοιών με μονοσήμαντους όρους 8
Κανόνες ευρετηρίασης Δεικτοδοτούμε όρους που πιθανώς θα επιλέξουν οι χρήστες για να διατυπώσουν ερωτήματα Επιλέγουμε και τροποποιούμε (όπου χρειάζεται) τους όρους βάσει των αναγκών του χρήστη Συνέπεια στη μεθοδολογία επιλογής, απόδοσης και οργάνωσης θεματικών όρων 9
Δημιουργώντας το ευρετήριο Αρχείο Ευρετηρίου Αρχείο κειμένων 10
Παράδειγμα ευρετηρίασης Computer table 11
Αναζήτηση κειμένων Λεξικό Ερώτημα αναζήτησης: Η τέχνη της Μουσικής Μουσική 0 Τέχνη 1 Πιάνο 2 Τομή των IDs κειμένων που βρίσκονται και στις 2 λίστες (boolean AND): 0 -> 0, 1 1 -> 0, 2 2 -> 1 Ευρετήριο IDs λέξεων : 0, 1 0 (Μουσική) 1 (Τέχνη) Αποτέλεσμα 0 0 Βρέθηκε! 1 n/a Δεν Βρέθηκε! n/a 2 Δεν Βρέθηκε! 12
Είδη Ευρετηρίων Θεματικά Συγγραφέων Ονομάτων Γεωγραφικά Τίτλων Αριθμών και κωδικών 13
Λέξεις - Κλειδιά Πλεονεκτήματα Παρέχουν πρόσβαση στις λέξεις που χρησιμοποιούνται στα ευρετήρια συλλογών Μειονεκτήματα Δεν μπορούν να αντισταθμίσουν την πολυπλοκότητα των φυσικών γλωσσών Δεν μπορούν να υποκαταστήσουν πλήρως το περιεχόμενο Η αναζήτηση 24/5/2011 με λέξεις-κλειδιά Επεξεργασία διευκολύνεται και Οργάνωση Δεδομένων όταν η ευρετηρίαση είναι 14 ελεγχόμενου λεξιλογίου
Επιλέγοντας τις λέξεις-κλειδιά Βήματα επεξεργασίας κειμένου: 1. Αναγνώριση προτάσεων και λέξεων 2. Μορφοσυντακτική ανάλυση 3. Απαλοιφή τερματικών όρων 4. Μετρική βαθμολόγησης σπουδαιότητας 5. Επιλογή σημαντικών όρων 15
Μορφοσυντακτική ανάλυση Σε ποιο μέρος του λόγου (Part-of-Speech) ανήκει κάθε λέξη του κειμένου Λέξεις the koala put the keys on the table Ετικέτες N V P DET 16
Μορφοσυντακτική ανάλυση ASCII κείμενο αναγνωριστής συμβόλων και προτάσεων λέξεις, σημεία στίξης, αριθμοί, κτλ. λέξεις μορφολογικό λεξικό μορφοσυντακτική πληροφορία λέξεις με ασάφεια άγνωστες λέξεις συμφραζόμενα αποσαφηνιστής αποσαφηνισμένη μορφοσυντακτική πληροφορία ακολουθία συμβόλων και προτάσεων κείμενο με μορφοσυντακτικό σχολιασμό mark-up φορμαλισμός (XML) 17
Μετασχηματιστικοί Κανόνες 1. Μορφοσυντακτική ετικέτα μεγαλύτερης συχνότητας (άγνωστες λέξεις = ουσιαστικό) 2. Χρήση μετασχηματιστικών κανόνων 3. Διόρθωση ετικετών που είναι ασύμβατες με τα συμφραζόμενα 18
Μηχανική Μάθηση Κανόνων ΒΗΜΑ 1 Morphosyntactically Annotated Text Split C1 (90%) C2 (10%) Exact copy C2a Lexicon C2a Tagged 19
Μηχανική Μάθηση Κανόνων ΒΗΜΑ 2 Compare C2 to C2a tags Compile error list a, b, n 20
Μηχανική Μάθηση Κανόνων ΒΗΜΑ 3 For every e i = a i, b i, n i check rules taking t steps ΒΗΜΑ 4 Weight rules as follows: R = rule Weight R = n i - (# correct changes R - # wrong changes R 21
Μηχανική Μάθηση Κανόνων ΒΗΜΑ 5 Sort weighted Rules in descending order ΒΗΜΑ 6 Pick R with the highest weight 22
Ο Βάκης αισθάνθηκε το αίμα να χτυπάει με ορμή στις φλέβες του, μυρμηγκιάζοντας στις κλειδώσεις. Μορφοσυντακτική Ανάλυση Ο/[ο:Άρθ(ΑρσΕνιΟνο)] Βάκης/[Βακης:Ουσ(ΑρσΕνιΟνο)] αισθάνθηκε/[αισθάνομαι:ρήμ(παθαοροριενιγ )] το/[ο:άρθ(ουδενιαιτ)] αίμα/[αίμα:ουσ(ουδενιαιτ)] να/[να:μορ] χτυπάει/[χτυπώ:ρήμ(ενρενευποενιγ )] με/[με:προ] ορμή/[ορμή:ουσ(θηλενιαιτ)] στις/[στον:προάρθ(θηλπληαιτ)] φλέβες/[φλέβα:ουσ(θηλπληαιτ)] του/[μου:κταντ(γ'αρσενιγεν)],/κόμμα μυρμηγκιάζοντας/[μυρμηγκιάζω:μετ(ενρενε)] στις/[στον:εμάρθ(θηλπληαιτ)] κλειδώσεις/[κλείδωση:ουσ(θηλπληαιτ)]./τελεία 23
Ένα ταξίδι στα σχολειά της Ελλάδας ξεκινούν οι Γιατροί Χωρίς Σύνορα έχοντας ως πλοηγό το καινούργιο εκπαιδευτικό τους πρόγραμμα. Μορφοσυντακτική Ανάλυση Ένα/[ένας:Άρθ(ΟυδΕνιΑιτ)] ταξίδι/[ταξίδι:ουσ(ουδενιαιτ)] στα/[ο:προάρθ(ουδπληαιτ)] σχολειά/[σχολείο:ουσ(ουδπληαιτ)] της/[ο:άρθ(θηλενιγεν)] Ελλάδας/[Ελλάδα:Ουσ(ΘηλΕνιΓεν)] ξεκινούν/[ξεκινώ:ρήμ(ενεενσοριπληγ )] οι/[ο:άρθ(αρσπληονο)] Γιατροί/[γιατρός:Ουσ(ΑρσΠληΟνο)] Χωρίς/[χωρίς:Προ] Σύνορα/[σύνορο:Ουσ(ΟυδΠληΑιτ)] έχοντας/[έχω:μτχ(ενεενσ)] ως/[ως:μόρ] πλοηγό/[πλοηγός:ουσ(αρσενιαιτ)] το/[ο:άρθ(ουδενιαιτ)] καινούργιο/[καινούργιος:επθ(ουδενιαιτ)] εκπαιδευτικό/[εκπαιδευτικός:επθ(ουδενιειτ)] τους/[μου:κταντ(γ ΑρσΠληΑιτ)] πρόγραμμα/[πρόγραμμα:ουσ(ουδενιαιτ)]. /Τελεία Επιλογή λεξημάτων (αποκλεισμός άρθρων, αντωνυμιών, μορίων ταξίδι σχολείο Ελλάδα ξεκινώ γιατρός σύνορο πλοηγός καινούργιος εκπαιδευτικός πρόγραμμα 24
Επιλέγοντας λέξεις-κλειδιά Frequency/Informativity frequency informativity Max. Min. 1 2 3 Rank 25
tf*idf Βαθμολόγηση tf = term frequency Συχνότητα όρου σε ένα κείμενο. df = document frequency Πόσα κείμενα περιέχουν τον όρο; idf = inverse document frequency Η άνιση κατανομή του όρου στο κείμενο Πόσο συγκεκριμένος είναι ο όρος για το κείμενο Όσο πιο ομοιόμορφη είναι η κατανομή του όρου στη συλλογή τόσο λιγότερο συγκεκριμένος είναι για ένα κείμενο weight(t,d) = tf(t,d) * idf(t) 26
Term frequency (TF) Ένας όρος που εμφανίζεται πολλές φορές σ ένα κείμενο ίσως είναι πιο σημαντικός από τους όρους που εμφανίζονται μόνο μία φορά n ij ο αριθμός των εμφανίσεων του όρου ω j σε ένα κείμενο d i Term frequency TF ij = n d ij i 27
Inverse document frequency (IDF) Ένας όρος που εμφανίζεται σε λίγα κείμενα είναι πιθανόν να διακρίνει καλύτερα τα κείμενα μεταξύ τους απ ότι ένας όρος που εμφανίζεται στα περισσότερα ή σε όλα τα κείμενα n j ο αριθμός των κειμένων που περιέχουν τον όρο ω j n ο συνολικός αριθμός των κειμένων στη συλλογή Inverse document frequency IDF j = log n n j 28
Βαθμολόγηση όρων (TF-IDF) Το TF-IDF βάρος του όρου ωj στο κείμενο di είναι: x = TF ij ij IDF j 29
Διανύσματα Κειμένων Αναπαράσταση κειμένων ως bag of words Αναπαράσταση κειμένων ως διανύσματα Διάνυσμα: πίνακας ελεύθερων διαστάσεων Κάθε διάνυσμα δίνει διακριτή θέση για κάθε όρο της συλλογής δεδομένων Αραιά διανύσματα 30
Διανύσματα Κειμένων: μια τοποθεσία για κάθε λέξη A B C D E F G H I nova galaxy heat h wood film role diet fur 10 5 3 5 10 10 8 7 9 10 5 Nova εμφανίζεται 10 φορές στο κείμενο A Galaxy εμφανίζεται 5 φορές στο κείμενο A Heat εμφανίζεται 3 φορές στο κείμενο A (το κενό σηματοδοτεί μηδενική εμφάνιση) 5 7 9 10 10 9 10 6 10 2 8 7 5 1 3
Διανύσματα Κειμένων Document ids A B C D E F G H I nova galaxy heat h wood film role diet fur 10 5 3 5 10 10 8 7 9 10 5 10 10 9 10 5 7 9 6 10 2 8 7 5 1 3
Μοντέλο Διανυσματικού Χώρου Τα κείμενα αναπαριστώνται στο χώρο ως διανύσματα Τα ερωτήματα αναπαριστώνται όπως και τα κείμενα Μέτρηση απόστασης διανυσμάτων κειμένου ερωτήματος για ταξινόμηση αποτελεσμάτων ανάκτησης Ομοιότητα κειμένου- ερωτήματος βάσει απόστασης των διανυσμάτων τους Πράξεις σε διανύσματα για εξυπηρέτηση Boolean ερωτημάτων 33
Αναθέτωντας βάρη στους όρους Δυαδικά βάρη Απλή συχνότητα εμφάνισης όρου tf x idf Βάσει Zipf κατανομής Θέλουμε να δώσουμε μεγάλο βάρους σε όρους αν έχουν Μεγάλη συχνότητα σε σχετικά κείμενα ΑΛΛΑ Χαμηλή συχνότητα για τη συλλογή συνολικά 34
Δυαδικά Βάρη Μόνο η παρουσία (1) ή ηαπουσία(0) ενός όρου περιέχεται στο διάνυσμα docs t1 t2 t3 D1 1 0 1 D2 1 0 0 D3 0 1 1 D4 1 0 0 D5 1 1 1 D6 1 1 0 D7 0 1 0 D8 0 1 0 D9 0 0 1 D10 0 1 1 D11 1 0 1 35
Βάρη όρων βάσει συχνότητας Η συχνότητα εμφάνισης του όρου σε κάθε κείμενο περιέχεται στο διάνυσμα docs t1 t2 t3 D1 2 0 3 D2 1 0 0 D3 0 4 7 D4 3 0 0 D5 1 6 3 D6 3 5 0 D7 0 8 0 D8 0 10 0 D9 0 0 1 D10 0 3 5 D11 4 0 1 36
TF x IDF Βάρη tf x idf μετρική: Term Frequency (tf) Inverse Document Frequency (idf) τρόπος αντιμετώπισης των προβλημάτων της κατανομής Zipf Στόχος: Ανάθεση tf * idf βάρους σε κάθε όρο του κάθε κειμένου 37
Υπολογισμός TF x IDF w = tf ik ik * log( N / nk ) T = όρος k στο κείμενο D tf k συχνότητα όρου T στο κείμενο ik k i idf = αντίστροφη συχνότητα εμφάνισης όρου T στο C k N = συνολικός αριθμός κειμένων στη συλλογή C i n = πλήθος κειμένων στη συλλογή C που περιέχουν το T k idf k = log N = n k D k k 38
Βήματα δεικτοδότησης Doc 1 I did enact Julius Caesar I was killed i' the Capitol; Brutus killed me. Doc 2 So let it be with Caesar. The noble Brutus hath told you Caesar was ambitious Term Doc # I 1 did 1 enact 1 julius 1 caesar 1 I 1 was 1 killed 1 i' 1 the 1 capitol 1 brutus 1 killed 1 me 1 so 2 let 2 it 2 be 2 with 2 caesar 2 the 2 noble 2 brutus 2 hath 2 told 2 you 2 caesar 2 was 2 ambitious 2 39
Βήματα δεικτοδότησης Συγχώνευση όρων με πολλαπλές εμφανίσεις στο κείμενο Προστίθεται πληροφορία για τη συχνότητα Term Doc # ambitious 2 be 2 brutus 1 brutus 2 capitol 1 caesar 1 caesar 2 caesar 2 did 1 enact 1 hath 1 I 1 I 1 i' 1 it 2 julius 1 killed 1 killed 1 let 2 me 1 noble 2 so 2 the 1 the 2 told 2 you 2 was 1 was 2 with 2 Term Doc # Term freq ambitious 2 1 be 2 1 brutus 1 1 brutus 2 1 capitol 1 1 caesar 1 1 caesar 2 2 did 1 1 enact 1 1 hath 2 1 I 1 2 i' 1 1 it 2 1 julius 1 1 killed 1 2 let 2 1 me 1 1 noble 2 1 so 2 1 the 1 1 the 2 1 told 2 1 you 2 1 was 1 1 was 2 1 with 2 1 40
Δομή Ευρετηρίου t1 (d1,o1) (d2,o2) d1 t2 tn (dp,op) d2 dp Terms (words, phrases) Bag of tuples (dm,om) (document id, offset) dm 41
Ευρετηρίαση #1: The brown cat purred. Index Brown Search 1, 3 #2: Cats like brown chairs. Cat Chair 1, 2, 3 2 Like 2, 3 #3: Tommy likes cats. Purr 1 Tommy 3 42
Λεξιλογική Επεξεργασία Προηγείται της δεικτοδότησης ή της μετατροπής των κειμένων σε διανυσματικές αναπαραστάσεις Tokenization Εξαγωγή των όρων του κειμένων Συγχώνευση όρων μείωση του λεξιλογίου Αποκατάληξη Αναγωγή των όρων στη ρίζα θέματος Απαλοιφή τερματικών όρων Κοινοί όροι άνευ σημασιολογικού περιεχομένου 20-30% μείωση του μεγέθους του ευρετηρίου 43
Αποκατάληξη Συγχώνευση κλιτικών τύπων σε έναν όρο δεικτοδότησης Π.χ. ένα κείμενο με τους όρους fish και fisher μπορεί να ανακτηθεί από το ερώτημα fishing (χωρίς το fishing να περιέχεται στο κείμενο) Αποκατάληξη συγχώνευση λέξεων στον τύπο ρίζας π.χ. fish ο όρος δεικτοδότησης Αλγόριθμος αποκατάληξης Porter (1980) Στηρίζεται σε προϋπάρχουσα λίστα καταλήξεων και σε ένα σύνολο κανόνων Π.χ. Αν suffix=ization και το prefix περιέχει τουλάχιστον έναν φωνήεν ακολουθούμενο από σύμφωνο, replace με suffix=ize BINARIZATION => BINARIZE 44
Αναζήτηση Πληροφορίας στον Παγκόσμιο Ιστό WWW Προσκομιστής Συλλογή κειμένων Ερώτημα Σύστημα Ανάκτησης 1. Κείμενο 1 2. Κείμενο 2 3. Κείμενο 3.. Ταξινομημένα κείμενα 45
Ευχαριστώ!! 46