Τεχνητή Νοημοσύνη 23η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1
Τι θα ακούσετε σήμερα Σημασιολογική ανάλυση φυσικής γλώσσας με γραμματικές DCG. Παραγωγή κειμένων φυσικής γλώσσας. Στάδια επεξεργασίας. Παραδείγματα εφαρμογών. 2
DCG για απλή γλώσσα αριθμητικής digit --> [zero]. digit --> [one].... digit --> [nine]. open open two plus four close slash open four minus one close close ((2 + 4 ) / (4 1)) expression --> digit. expression --> [open], expression, [plus], expression, [close]. expression --> [open], expression, [minus], expression, [close]. expression --> [open], expression, [star], expression, [close]. expression --> [open], expression, [slash], expression, [close]. phrase(expression, [open, open, two, plus, four, close, slash, open, four, minus, one, close, close]). Yes. 3
Σημασιολογία αριθμητικής γλώσσας digit(0) --> [zero]. digit(1) --> [one].... digit(9) --> [nine]. Μέσα σε άγκιστρα γράφουμε επιπλέον περιορισμούς που πρέπει να ικανοποιούνται για να χρησιμοποιηθεί ο κανόνας. Εδώ με το is εκχωρούμε στο Χ το αποτέλεσμα του αριθμητικού υπολογισμού X1 + X2. (To = στην Prolog σημαίνει ενοποίηση.) expression(χ) --> digit(χ). expression(χ) --> [open], expression(χ1), [plus], expression(χ2), [close], {X is X1 + X2}. expression(x) --> [open], expression(x1), [minus], expression(x2), [close], {X is X1 - X2}.... phrase(expression(x), [open, open, two, plus, four, close, slash, open, four, minus, one, close, close]). X = 2. 4
DCG για κλείσιμο εισιτηρίων Απλοϊκή γραμματική που επιστρέφει τη σημασιολογική παράσταση αιτημάτων κλεισίματος εισιτηρίων. phrase(s(semantics), [επιθυμώ, μια, πτήση, από, την, αθήνα, προς, τη, θεσσαλονίκη]). Απάντηση: Semantics = and(tickettype(flight), and(location(departure, ath), location(arrival, thess))) phrase(s(semantics), [θέλω, ένα, τρένο, προς, τη, θεσσαλονίκη, αύριο]). Απάντηση: Semantics = and(date(tomorrow), and(tickettype(train), location(arrival, thess))) 5
Κύρια ονόματα, ουσιαστικά, άρθρα Κάθε κύριο όνομα (π.χ. «Αθήνα») αντιστοιχίζεται στον αντίστοιχο κωδικό της πόλης (π.χ. «ath»). pn(ath) --> [αθήνα]. pn(thess) --> [θεσσαλονίκη]. pn(herak) --> [ηράκλειο]. Τα μόνα ουσιαστικά που είναι δυνατόν να χρησιμοποιηθούν δείχνουν αν ο πελάτης ενδιαφέρεται για αγορά αεροπορικού ή σιδηροδρομικού εισιτηρίου. n(flight) --> [πτήση]. n(train) --> [τρένο]. Στο απλοϊκό αυτό παράδειγμα γραμματικής, τα άρθρα δεν συνεισφέρουν στη σημασιολογική παράσταση. det --> [τη]. det --> [την]. det --> [το].... 6
Ρήματα, επιρρήματα, προθέσεις Στο απλοϊκό αυτό παράδειγμα γραμματικής, τα ρήματα δεν συνεισφέρουν στη σημασιολογική παράσταση. v --> [θέλω]. v --> [επιθυμώ]. Σε αυτή τη γραμματική, υπάρχουν μόνο χρονικά επιρρήματα, που δείχνουν την ημέρα αναχώρησης. adv(today) --> [σήμερα]. adv(tomorrow) --> [αύριο]. Στη γραμματική αυτή, οι προθέσεις δείχνουν αν η τοποθεσία που ακολουθεί αποτελεί το σημείο αναχώρησης ή τον προορισμό. prep(departure) --> [από]. prep(arrival) --> [προς]. 7
Ονοματικά σύνολα Εδώ θεωρούμε ότι ένα ονοματικό σύνολο είναι ένα κύριο όνομα (pn) με άρθρο ή ένα nominal με το άρθρο του. άρθρο + κύριο όνομα: «τη θεσσαλονίκη» άρθρο + nominal: «μια πτήση προς τη θεσσαλονίκη» H σημασιολογική παράσταση του ονοματικού συνόλου είναι η σημασιολογική παράσταση του κυρίου ονόματος ή του nominal αντίστοιχα. np(pnsem) --> det, pn(pnsem). np(nomsem) --> det, nominal(nomsem). 8
Εμπρόθετοι προσδιορισμοί Σε αυτή τη γραμματική, ένας εμπρόθετος προσδιορισμός (pp) είναι μια πρόθεση ακολουθούμενη από ένα ονοματικό σύνολο. Π.χ. «από την αθήνα», «προς τη θεσσαλονίκη». Η σημασιολογική παράσταση του ονοματικού συνόλου προσδιορίζει μία πόλη (π.χ. ath). Η σημασιολογική παράσταση της πρόθεσης δείχνει αν η πόλη είναι προορισμός ή σημείο αναχώρησης (departure ή arrival). Η σημασιολογική παράσταση του εμπρόθετου προσδιορισμού είναι ένα κατηγόρημα location. Δείχνει αν προσδιορίζεται ο προορισμός ή το σημείο αναχώρησης και ποιος είναι αυτός. pp(location(prepsem, NPSem)) --> prep(prepsem), np(npsem). 9
Πολλοί εμπρόθετοι προσδιορισμοί Το modifiers είναι ένας ή περισσότεροι εμπρόθετοι προσδιορισμοί (pp). Αν έχουμε μόνο ένα pp, η σημασιολογική παράσταση του modifiers είναι η ίδια με εκείνη του μοναδικού pp. Διαφορετικά, η σημασιολογική παράσταση του modifiers είναι η λογική σύζευξη των σημασιολογικών παραστάσεων των pp. Π.χ. and(location(departure, ath), location(arrival, thess)) Οι σχετικοί κανόνες της γραμματικής: modifiers(ppsem) --> pp(ppsem). modifiers(and(ppsem, ModSem)) --> pp(ppsem), modifiers(modsem). 10
Οι κανόνες για το nominal Εδώ ένα nominal είναι ένα ουσιαστικό, πιθανώς συνοδευόμενο από εμπρόθετους προσδιορισμούς. Π.χ. «τρένο από την αθήνα προς τη θεσσαλονίκη» Η σημασιολογική παράσταση του ουσιαστικού (flight ή train) γίνεται το όρισμα ενός κατηγορήματος tickettype. Π.χ. tickettype(train) Αν υπάρχουν εμπρόθετοι προσδιορισμοί (modifiers), η σημασιολογική τους παράσταση προστίθεται με λογική σύζευξη στο κατηγόρημα tickettype. Π.χ. and(tickettype(train), and(location(departure, ath), location(arrival, thess))) Οι κανόνες της γραμματικής: nominal(tickettype(nsem)) --> n(nsem). nominal(and(tickettype(nsem), ModSem)) --> n(nsem), modifiers(modsem). 11
Προτάσεις και ρηματικά σύνολα Στη γραμματική αυτή θεωρούμε ότι η πρόταση (s) αποτελείται μόνο από ένα ρηματικό σύνολο (vp). Π.χ. «θέλω μια πτήση προς τη θεσσαλονίκη». Η σημασιολογική παράσταση της πρότασης είναι η ίδια με τη σημασιολογική παράσταση του ρηματικού συνόλου. s(vpsem) --> vp(vpsem). Εδώ το ρηματικό σύνολο αποτελείται από ένα μεταβατικό ρήμα, ένα ονοματικό σύνολο (το αντικείμενο του ρήματος) και ενδεχομένως ένα χρονικό επίρρημα (με παράσταση «today» ή «tomorrow»). vp(npsem) --> v, np(npsem). vp(and(date(advsem), NPSem)) --> v, np(npsem), adv(advsem). 12
Παραγωγή φυσικής γλώσσας υπολογιστική παράσταση πληροφοριών (π.χ. βάση δεδομένων/γνώσεων, μετρήσεις, τυπικές προδιαγραφές συστήματος) εποικοινωνιακοί στόχοι (π.χ. αντικείμενο προς περιγραφή) σύστημα παραγωγής ΦΓ γλωσσικές πληροφορίες (π.χ. λεξικά, γραμματικές) κείμενο (π.χ. περιγραφή αντικειμένου, δελτίο καιρού, εγχειρίδιο χρήσεως) πληροφορίες για το χρήστη (π.χ. γνώσεις, ενδιαφέροντα) 13
Εργαλείο συγγραφής του IST M-PIRO. Αναπτύχθηκε στο ΕΚΕΦΕ «Δημόκριτος». Λέγεται πλέον ELEON (βλ. www.iit.demokritos.gr/~eleon/). 14
15
FOG: παράδειγμα CoGenTex Inc, http://www.cogentex.com/systems/fog/ 16
Πλεονεκτήματα παραγωγής ΦΓ Αυτόματη ενημέρωση μεγάλων συλλογών κειμένων. Π.χ. ενημέρωση εγχειριδίων με κάθε νέο μοντέλο συσκευής. Παραγωγή κειμένων σε πολλές γλώσσες. Από την ίδια βάση γνώσεων/δεδομένων ή οντολογία. Προσαρμογή ανάλογα με το χρήστη. Ενδιαφέροντα, γνώσεις, διαθέσιμος χρόνος κλπ. Π.χ. άλλα λέμε σε έναν αρχαιολόγο και άλλα σε ένα μαθητή. Διασφάλιση ενιαίου ύφους και ορολογίας. Απαιτείται σε πολλά τεχνικά εγχειρίδια. 17
Μειονεκτήματα παραγωγής ΦΓ Δυσκολία μεταφοράς σε νέες εφαρμογές. Ενδέχεται να πρέπει να τροποποιηθούν οι γλωσσικοί πόροι (λεξικά, γραμματικές κλπ). Συνήθως υπάρχουν περιορισμοί ως προς τα είδη των εφαρμογών (π.χ. μόνο περιγραφές αντικειμένων). Ενδέχεται να είναι δύσκολη η χρησιμοποίηση δεδομένων από υπάρχουσες βάσεις δεδομένων (ή γνώσεων). Ποιότητα των παραγομένων κειμένων. Ενδέχεται να μην είναι ικανοποιητική. Τα κείμενα παράγονται σε πολλές μορφές, που δυσκολεύει τον έλεγχο. 18
Στάδια παραγωγής ΦΓ δεδομένα, στόχος, είδος χρήστη σχεδιασμός εγγράφου σχέδιο εγγράφου μικρο-σχεδιασμός εγγράφου προδιαγραφές κειμένου παραγωγή επιφανειακής μορφής Επιλογή περιεχομένου Σχεδιασμός δομής εγγράφου Λέξεις και συντακτική δομή. Αναφορικές εκφράσεις Ομαδοποίηση Παραγωγή πλήρους κειμένου. Παραγωγή HTML κλπ. κείμενα σε φυσική γλώσσα 19
Επιλογή περιεχομένου Από όλα όσα ξέρουμε, τι θα πούμε στο χρήστη; Περιορισμοί χρόνου και χώρου. Ενδιαφέρον, καταλληλότητα, υπόβαθρο χρήστη κλπ. Παραδείγματα διαθέσιμων «μηνυμάτων»: Είδος εκθέματος, π.χ. isa(exhibit1, red-figure-hydria). Χρονική περίοδος, π.χ. of_century(exhibit1, 5bc). Καλλιτέχνης, π.χ. artist(exhibit1, polyklitus). Στοιχεία για τον καλλιτέχνη. Τεχνική με την οποία ζωγραφίστηκε. Περιγραφή της τεχνικής με την οποία ζωγραφίστηκε. Αναφορές σε σχετικά επιστημονικά άρθρα. 20
Καθορισμός δομής εγγράφου έγγραφο τίτλος εικόνα περιγραφή current_location( ) isa( ) Με ποια δομή («σχέδιο») εγγράφου θα παρουσιάσουμε αυτά που αποφασίσαμε να πούμε; κατασκευή origin( ) of_century( ) artist( ) 21
Στάδια παραγωγής ΦΓ δεδομένα, στόχος, είδος χρήστη σχεδιασμός εγγράφου σχέδιο εγγράφου μικρο-σχεδιασμός εγγράφου προδιαγραφές κειμένου παραγωγή επιφανειακής μορφής Επιλογή περιεχομένου Σχεδιασμός δομής εγγράφου Λέξεις και συντακτική δομή. Αναφορικές εκφράσεις Ομαδοποίηση Παραγωγή πλήρους κειμένου. Παραγωγή HTML κλπ. κείμενα σε φυσική γλώσσα 22
Επιλογή λέξεων και συντακτικής δομής isa(exhibit1, red-figure-hydria) πρόταση Για κάθε μήνυμα, ένα «σχέδιο πρότασης». αναφορά σε οντότητα μέσω κωδικού υποκείμενο ρήμα κατηγορούμενο λήμμα: «είμαι» χρόνος: ενεστώτας exhibit1 άρθρο ουσιαστικό οριστικό: επίθετο λήμμα: «υδρία» αριθμός: ενικός λήμμα: «ερυθρόμορφος» Επιπλέον πληροφορίες (π.χ. γένος του επιθέτου, κατάλληλη μορφή των λέξεων) θα προστεθούν αυτόματα κατά την παραγωγή επιφανειακής μορφής. 23
Αναφορικές εκφράσεις Υπάρχουν πολλοί τρόποι να αναφερθούμε σε μια οντότητα: «το έκθεμα αυτό» «αυτή η υδρία», «η υδρία» «αυτό το αγγείο», «το αγγείο» «αυτό» ή τίποτα (κενή αναφορική έκφραση). Υπάρχουν αλγόριθμοι επιλογής της κατάλληλης αναφορικής έκφρασης: Επιδιώκουν την αποφυγή επαναλήψεων, την αποφυγή διφορούμενων εκφράσεων, την αποφυγή χρήσης δυσνόητων εκφράσεων. 24
Παράδειγμα ομαδοποίησης Ερυθρόμορφη υδρία Αυτή είναι μια ερυθρόμορφη υδρία. Προέρχεται από την Αθήνα. Είναι έργο του «ζωγράφου του Μειδία». Κατασκευάστηκε τον 5ο αιώνα π.χ. Σήμερα βρίσκεται στο Αρχαιολογικό Μουσείο της Φλωρεντίας. Αυτή η ερυθρόμορφη υδρία, που προέρχεται από την Αθήνα, είναι έργο του «ζωγράφου του Μειδία». Κατασκευάστηκε τον 5ο αιώνα π.χ. και σήμερα βρίσκεται στο Αρχαιολογικό Μουσείο της Φλωρεντίας. 25
Στάδια παραγωγής ΦΓ δεδομένα, στόχος, είδος χρήστη σχεδιασμός εγγράφου σχέδιο εγγράφου μικρο-σχεδιασμός εγγράφου προδιαγραφές κειμένου παραγωγή επιφανειακής μορφής Επιλογή περιεχομένου Σχεδιασμός δομής εγγράφου Λέξεις και συντακτική δομή. Αναφορικές εκφράσεις Ομαδοποίηση Παραγωγή πλήρους κειμένου. Παραγωγή HTML κλπ. κείμενα σε φυσική γλώσσα 26
Παραγωγή επιφανειακής μορφής isa(exhibit1, red-figure-hydria) πρόταση υποκείμενο ρήμα κατηγορούμενο λήμμα: «είμαι» χρόνος: ενεστώτας αντωνυμία άρθρο ουσιαστικό είδος: δεικτική οριστικό: επίθετο λήμμα: «υδρία» γένος: θηλυκό λήμμα: «ερυθρόμορφος» αριθμός: ενικός Θέλουμε: «Αυτή είναι μια ερυθρόμορφη υδρία.» Η γραμματική συμπληρώνει τις πληροφορίες που λείπουν. Π.χ. συμφωνία γένους/αριθμού, πτώση υποκειμένου, σειρά όρων. 27
Το σύστημα NaturalOWL του ΟΠΑ Σύγκριση με προηγούμενα εκθέματα Οντολογία OWL Παράγει κείμενα στα ελληνικά και αγγλικά. Παράδειγμα από την OWL μορφή της οντολογίας του M-PIRO, που κατασκευάστηκε βάσει στοιχείων του ΙΜΕ. NaturalOWL: ενσωματωμένο στον επεξεργαστή οντολογιών Protégé του Stanford και ελεύθερα διαθέσιμο (βλ. http://nlp.cs.aueb.gr/software.html). 28
Το σύστημα NaturalOWL του ΟΠΑ Αναπτύχθηκε (και βελτιώνεται) σε Java από φοιτητές του Τμήματος Πληροφορικής του ΟΠΑ. Παράγει κείμενα στα Ελληνικά και Αγγλικά από οντολογίες OWL του Σημασιολογικού Ιστού. Και γλωσσικούς πόρους (π.χ. σχέδια προτάσεων, λεξικό) διατυπωμένους και αυτούς (πλέον) σε OWL. Διατίθεται ελεύθερα (βλ. http://nlp.cs.aueb.gr). Ενσωματωμένο στο σύστημα ανάπτυξης οντολογιών Protégé του Stanford (βλ. http://protege.stanford.edu/). 29
Παραγωγή φυσικής γλώσσας και προφορικοί διάλογοι στο ερευνητικό έργο INDIGO Βλ. www.ics.forth.gr/indigo/. Βλ. βίντεο στη σελίδα nlp.cs.aueb.gr/projects.html. Η εικονοσκόπηση έγινε στον Ελληνικό Κόσμο του Ιδρύματος Μείζονος Ελληνισμού στη διάρκεια του IST INDIGO. Copyright εικόνων μνημείων IME (χρήση με την ευγενική παραχώρηση του ΙΜΕ). Τα κείμενα παράγονται από μια οντολογία OWL της Αγοράς της Αθήνας, που κατασκευάστηκε βάσει στοιχείων του ΙΜΕ. 30
Παραγωγή φυσικής γλώσσας σε εικονικούς κόσμους Παραγωγή περιγραφών εκθεμάτων από οντολογίες OWL στο Second Life (βλ. http://secondlife.com/). Βλ. βίντεο στη σελίδα http://nlp.cs.aueb.gr/ projects.html. Copyright εικόνων εκθεμάτων IME (χρήση με την ευγενική παραχώρηση του ΙΜΕ). Τα κείμενα παράγονται από μια OWL μορφή της οντολογίας του IST M-IRO (www.ltg.ed.ac.uk/mpiro/). Η οντολογία βασίζεται σε στοιχεία του ΙΜΕ. 31
Παραγωγή κειμένων σε κινητά Touring Machine (Γιώργος Καρακατσιώτης και Βαγγέλης Πτερνέας, Τμήμα Πληροφορικής, ΟΠΑ). Κέρδισε το ελληνικό Imagine Cup της Microsoft το 2010 και τον τελικό της κατηγορίας interoperability του διεθνούς Imagine Cup το 2011. Τα κείμενα παράγονται από μια οντολογία OWL της Αγοράς της Αθήνας, που κατασκευάστηκε στη διάρκεια του IST INDIGO (www.ics.forth.gr/indigo/) βάσει στοιχείων του ΙΜΕ.
Βιβλιογραφία Russel & Norvig: ενότητες 22.4, 22.5. Η ενότητα 22.5 περιγράφει μια πιο συστηματική απεικόνιση από φυσική γλώσσα σε λογική, που δεν περιλαμβάνεται στην εξεταστέα ύλη. Όσοι ενδιαφέρεστε μπορείτε προαιρετικά να την μελετήσετε. Πρέπει, όμως, να μπορείτε να γράψετε απλές γραμματικές συντακτικής και σημασιολογικής ανάλυσης, παρόμοιες των γραμματικών αυτής και της προηγούμενης διάλεξης. Όσοι ενδιαφέρονται μπορούν να διαβάσουν προαιρετικά (εκτός εξεταστέας ύλης) και τις υπόλοιπες ενότητες των κεφαλαίων 22 και 23, καθώς και τα κεφάλαια 24 και 25. Βλαχάβας κ.ά: ενότητα 30.1.2. Δεν υπάρχουν ενότητες για όλη την ύλη αυτής της διάλεξης. Για τις εξετάσεις χρειάζεται να ξέρετε ό,τι αναφέρουν οι διαφάνειες. Όσοι ενδιαφέρονται μπορούν να διαβάσουν προαιρετικά (εκτός εξεταστέας ύλης) και τις υπόλοιπες ενότητες του κεφαλαίου 30.
Βιβλιογραφία συνέχεια Μελετήστε και τα παραδείγματα γραμματικών DCG που υπάρχουν στις ιστοσελίδες του μαθήματος. Εντός εξεταστέας ύλης. Περισσότερες πληροφορίες για τα θέματα της σημερινής διάλεξης μπορείτε να βρείτε στο βιβλίο «Speech and Language Processing» των D. Jurafsky and J.H. Martin, 2 η έκδοση, Prentice Hall, 2008. Υπάρχει στη βιβλιοθήκη του ΟΠΑ. Περισσότερες πληροφορίες για τα συστήματα παραγωγής φυσικής γλώσσας μπορείτε να βρείτε στο βιβλίο: E. Reiter and R. Dale, «Building Natural Language Generation Systems», Cambridge University Press, 2000. Υπάρχει στη βιβλιοθήκη του Ο.Π.Α.