Επικοινωνία Ανθρώπου Υπολογιστή. Β3. Κατανόηση φυσικής γλώσσας

Σχετικά έγγραφα
Τεχνητή Νοημοσύνη. 23η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 21η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Γλωσσική Τεχνολογία. 5 η Ενότητα: Συντακτική ανάλυση. Ίων Ανδρουτσόπουλος.

Ασκήσεις μελέτης της ενότητας «Συντακτική Ανάλυση»

Ασκήσεις μελέτης της ενότητας «Συντακτική Ανάλυση»

Συντακτική Ανάλυση. Ίων Ανδρουτσόπουλος.

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

«Τεχνογλωσσία VIII» Εξαγωγή πληροφοριών από κείμενα

Ασκήσεις μελέτης της 23 ης διάλεξης

Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Μάθημα: Γλωσσική Τεχνολογία, Διδάσκων: Ι. Ανδρουτσόπουλος

Ασκήσεις μελέτης της ενότητας της Γλωσσικής Τεχνολογίας

Ασκήσεις μελέτης της ενότητας «Σημασιολογική Ανάλυση»

Τεχνητή Νοημοσύνη ( )

ΤΕΧΝΟΓΛΩΣΣΙΑ VIII ΛΟΓΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΔΑΣΚΟΝΤΕΣ: ΜΑΪΣΤΡΟΣ ΓΙΑΝΗΣ, ΠΑΠΑΚΙΤΣΟΣ ΕΥΑΓΓΕΛΟΣ ΑΣΚΗΣΗ: ΔΙΟΡΘΩΣΗ ΕΚΦΡΑΣΕΩΝ (Β )

Τεχνητή Νοημοσύνη. 7η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 9η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 1 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Τεχνητή Νοημοσύνη. 12η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 3η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΣΥΝΤΑΞΗ: ΟΡΘΟΛΟΓΙΚΗ ΠΡΟΣΕΓΓΙΣΗ (FORMAL SYNTAX)

Θέματα Μεταγλωττιστών

Τεχνητή Νοημοσύνη. 8η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Θέματα Μεταγλωττιστών

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 8 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Τεχνητή Νοημοσύνη. 2η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 2 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Επικοινωνία Ανθρώπου Υπολογιστή

Γλωσσική Τεχνολογία. Εισαγωγή. Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 16η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Μοντελοποίηση Υπολογισμού. Γραμματικές Πεπερασμένα Αυτόματα Κανονικές Εκφράσεις

Περιεχόμενα Πρόλογος 1. Εισαγωγή 2. Τα Βασικά Μέρη ενός Προγράμματος Prolog

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΣΗΜΑΣΙΟΛΟΓΙΑ - SEMANTICS

ΑΣΚΗΣΗ 11: ΕΠΕΞΕΡΓΑΣΙΑ ΦΥΣΙΚΗΣ ΓΛΩΣΣΑΣ - ΣΥΝΤΑΚΤΙΚΗ ΑΝΑΛΥΣΗ (PARSING)

Λογικός Προγραμματισμός

Μοντέλα γλωσσικής επεξεργασίας: σύνταξη

Ασκήσεις μελέτης της 8 ης διάλεξης

Ασκήσεις μελέτης της 11 ης διάλεξης

Τεχνητή Νοημοσύνη. 6η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Γλώσσες Χωρίς Συμφραζόμενα

Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας

HY Λογική Διδάσκων: Δ. Πλεξουσάκης Εαρινό Εξάμηνο. Φροντιστήριο 6

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής

Τεχνητή Νοημοσύνη. 5η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 4η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Κεφάλαιο 3 Η Σημασιολογία των Γλωσσών Προγραμματισμού

Τεχνητή Νοημοσύνη. 17η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 7: Ασυμφραστικές Γλώσσες (Γλώσσες Ελεύθερες Συμφραζομένων)

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Τεχνητή Νοημοσύνη. 18η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Θέματα υπολογισμού στον πολιτισμό

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

α n z n = 1 + 2z 2 + 5z 3 n=0

Κανονικές μορφές - Ορισμοί

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

Σχεδίαση Γλωσσών Προγραμματισμού Συντακτική Ανάλυση Ι. Εαρινό Εξάμηνο Lec /03/2019 Διδάσκων: Γεώργιος Χρ. Μακρής

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (1)

ΜΑΘΗΜΑ: Μεταγλωττιστές

ΥΛΗ ΕΞΕΤΑΣΕΩΝ 2007 ΥΠΟΨΗΦΙΩΝ ΥΠΟΤΡΟΦΩΝ ΚΑΘΙΔΡΥΜΑΤΟΣ ΑΘΑΝΑΣΙΟΥ ΜΑΤΑΛΑ Α ΝΕΟΕΛΛΗΝΙΚΗ ΓΛΩΣΣΑ

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

Κεφάλαιο 2: Τυπικές γλώσσες

Πρόβλημα 29 / σελίδα 28

Φυσικές και τεχνητές γλώσσες. Το αλφάβητο της ΓΛΩΣΣΑΣ, Τύποι Δεδομένων. Σταθερές, Μεταβλητές, Τελεστές, Συναρτήσεις, Δομή Προγράμματος

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής

ΓΡΑΜΜΑΤΙΚΗ ΣΥΝΤΑΞΗ ΕΙΣΑΓΩΓΗ

Διαδικασιακός Προγραμματισμός

Λογική Δημήτρης Πλεξουσάκης Φροντιστήριο 6: Προτασιακός Λογισμός: Μέθοδος Επίλυσης Τμήμα Επιστήμης Υπολογιστών

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ. Στις βασικές έννοιες που σχετίζονται με τη λεξική ανάλυση. Στη δήλωση ορισμό κανονικών εκφράσεων

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων

Βασικές έννοιες προγραμματισμού

Γλώσσες Προγραμματισμού Μεταγλωττιστές. Σημασιολογική Ανάλυση

Τεχνογλωσσία 8 Β' Εξάμηνο. Λογικός Προγραμματισμός Prolog. Άσκηση: Διορθωτής Εκφράσεων

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ - ΓΛΩΣΣΑ

ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2015 Β ΦΑΣΗ ÁÈÇÍÁ ΕΚΦΩΝΗΣΕΙΣ

ΑΕΠΠ Ερωτήσεις θεωρίας

Αυτόματα. Παράδειγμα: πωλητής καφέ (iii) Παράδειγμα: πωλητής καφέ (iv) Εισαγωγή στην Επιστήμη των Υπολογιστών 6

Επικοινωνία Ανθρώπου Υπολογιστή

Σύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2) Ισοδυναµία CFG και PDA. Σε αυτό το µάθηµα. Αυτόµατα Στοίβας Pushdown Automata

Σειρά Προβλημάτων 5 Λύσεις

Κεφάλαιο 1. Εισαγωγή

ΚΑΤΗΓΟΡΗΜΑΤΙΚΟΣ ΛΟΓΙΣΜΟΣ Ι

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

Εισαγωγή στις Αρχές της επιστήμης των ΗΥ

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΡΓΑΣΤΗΡΙΟ 6: Συναρτήσεις και Αναδρομή

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά.

Ονοματεπώνυμο: Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Δομή Ακολουθίας και Επιλογής Κεφ: 2.1, 2.3, , 6.3, , 8.1, 8.1.

ΙΑΓΩΝΙΣΜΑ ΣΤΗΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΘΕΜΑ 1 Α.

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

Ασκήσεις μελέτης της 6 ης διάλεξης

Περιεχόμενα Τι περιγράφει ένα ΣΔ ΣΔ και παραγωγές Θεωρία Υπολογισμού Ενότητα 15: Συντακτικά Δέντρα Επ. Καθ. Π. Κατσαρός Τμήμα Πληροφορικής Επ. Καθ. Π.

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

Προγραμματισμός Η/Υ. Συναρτήσεις & Υποπρογράμματα. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό

Σύνταξη & Συντακτική Ανάλυση

Απάντηση: (func endfunc)-([a-za-z])+

Κατηγορικές Γραµµατικές

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση

Συνέπεια, Εγκυρότητα, Συνεπαγωγή, Ισοδυναμία, Κανονικές μορφές, Αλγόριθμοι μετατροπής σε CNF-DNF

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ (Δ.Π.Μ.Σ.)

Transcript:

Επικοινωνία Ανθρώπου Υπολογιστή Β3. Κατανόηση φυσικής γλώσσας (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/

Οι διαφάνειες αυτής της διάλεξης βασίζονται εν μέρει σε ύλη του βιβλίου «Speech and Language Processing» των D. Jurafsky and J.H. Martin, 2 η έκδοση, Prentice Hall, 2009.

Τι θα ακούσετε Γραμματικές χωρίς συμφραζόμενα. Κανονική μορφή Chomsky και αλγόριθμος CKY. Επαυξημένες γραμματικές χωρίς συμφραζόμενα και γραμματικές DCG της Prolog. Σημασιολογική ανάλυση φυσικής γλώσσας με γραμματικές DCG.

Γραμματικές χωρίς συμφραζόμενα NP Det Nominal Διάζευξη. Ουσιαστικά δύο κανόνες. Nominal N Adj Nominal Det ο η το Adj πράσινο μεγάλο βαρύ N βιβλίο αυτοκίνητο Μπορούμε να τους σκεφτούμε ως λεξικό. Τερματικά σύμβολα, π.χ. «βιβλίο», «το».. Μη τερματικά σύμβολα, π.χ. «Nominal», «Adj». Οι ΓΧΣ έχουν κανόνες της μορφής: Α α. Α: μεμονωμένο μη τερματικό σύμβολο. α: (πιθανώς κενή) ακολουθία τερματικών και μη τερματικών. Αρχικό σύμβολο: ένα από τα μη τερματικά (εδώ «NP»). Γλώσσα της γραμματικής: οι ακολουθίες τερματικών συμβόλων που παράγονται από το αρχικό σύμβολο. 4

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

Μεγαλύτερο παράδειγμα ΓΧΣ NP Det PN Pron Det Nominal Nominal N Adj Nominal Nominal PP PP Prep NP S NP VP VP VP V V NP Pron εγώ Det ο η έναν μια τον την PN Θεσσαλονίκη Αθήνα N πτήση πελάτης πελάτη Adj πρωινή απογευματινή εγώ θέλω μια πρωινή πτήση,... V θέλω θέλει προτιμώ συμφωνώ Prep προς από την Αθήνα, εγώ, μια πτήση, μια πρωινή πτήση, μια πρωινή πτήση προς την Αθήνα,... Παίζουν το ρόλο λεξικού. 6

NP S VP NP παράδειγμα συντακτικού δένδρου με την προηγούμενη γραμματική Nominal Nominal PP Nominal NP Pron V Det Adj N Prep Det PN εγώ προτιμώ μια πρωινή πτήση προς την Αθήνα

Συντακτικά διφορούμενες προτάσεις «Είδαμε τον επιστήμονα με το τηλεσκόπιο.» Είδαμε [ NP τον [ Nominal επιστήμονα [ PP με το τηλεσκόπιο]]]. Όπως «την πτήση από τη Θεσσαλονίκη». «Είδαμε τον επιστήμονα με το τηλεσκόπιο.» Είδαμε [ NP τον επιστήμονα] [ PP με το τηλεσκόπιο]. Θα είχαμε και κανόνα: VP V NP PP. «Είδαμε τον επιστήμονα με το τηλεσκόπιο από το Παρίσι.» Είδαμε [τον επιστήμονα] [με το τηλεσκόπιο] [από το Παρίσι]. Είδαμε [τον επιστήμονα με το τηλεσκόπιο] [από το Παρίσι]. Είδαμε [τον επιστήμονα] [με το [τηλεσκόπιο από το Παρίσι]]. Είδαμε [τον [επιστήμονα με το [τηλεσκόπιο από το Παρίσι]]]. 8

Συντακτικά διφορούμενες προτάσεις «Είδαμε τον επιστήμονα με την άσπρη μπλούζα.» Χρειαζόμαστε σημασιολογικούς περιορισμούς που να αποκλείουν την περίπτωση η μπλούζα να είναι το μέσο της παρατήρησης. Από καθαρά συντακτική σκοπιά, οι περισσότερες προτάσεις είναι εξαιρετικά διφορούμενες. Πολύ μεγάλος αριθμός συντακτικών δένδρων (συχνά εκθετική αύξηση όσο αυξάνει ο αριθμός των φράσεων που συνδυάζονται). Χρονοβόρο να ανακαλύψουμε και να επιστρέψουμε όλα τα συντακτικά δέντρα ξεχωριστά. 9

Κανονική μορφή Chomsky Γραμματικές χωρίς συμφραζόμενα σε κανονική μορφή Chomsky (CNF). o Επιτρέπονται μόνο κανόνες της μορφής A B C και A w, όπου A, B, C μη τερματικά και w τερματικό. Π.χ: S V NP V θέλω V επιθυμώ NP Det Nominal Nominal Adj Nominal Nominal N Det μια N πτήση Nominal πτήση Adj πρωινή Adj απογευματινή Κάθε ΓΧΣ μπορεί να μετατραπεί σε CNF (βλ. J&M). o Η νέα γραμματική, όμως, μπορεί να μην οδηγεί πλέον στα συντακτικά δέντρα που θα θέλαμε. Ο αλγόριθμος CKY (ακολουθεί) είναι για ΓΧΣ σε CNF. o Άλλη μια περίπτωση δυναμικού προγραμματισμού.

Αλγόριθμος CKY 0 1 2 4 θέλω μία πτήση πρωινή 3 0 1 2 3 4 0 V (0,1) 1 Det (1,2) 2 Adj (2,3) 3 Nominal N (3,4)

Αλγόριθμος CKY 0 1 2 4 θέλω μία πτήση πρωινή 3 0 1 2 3 4 0 V (0,1) X (0,2) Δεν υπάρχει κανόνας που να συνδυάζει V με Det. 1 Det (1,2) 2 Adj (2,3) 3 Nominal N (3,4)

Αλγόριθμος CKY 0 1 2 4 θέλω μία πτήση πρωινή 3 0 1 2 3 4 0 V (0,1) 1 Det (1,2) Δεν υπάρχει κανόνας που να συνδυάζει Det με Adj. X (1,3) 2 Adj (2,3) 3 Nominal N (3,4)

Αλγόριθμος CKY 0 1 2 4 θέλω μία πτήση πρωινή 3 0 1 2 3 4 0 V (0,1) Χ (0,3) Το (1,3) είναι κενό. 1 Det (1,2) (1,3) 2 Adj (2,3) 3 Nominal N (3,4)

Αλγόριθμος CKY 0 1 2 4 θέλω μία πτήση πρωινή 3 0 1 2 3 4 0 V (0,1) (0,2) Χ (0,3) Το (0,2) είναι κενό. 1 Det (1,2) (1,3) 2 Adj (2,3) 3 Nominal N (3,4)

Αλγόριθμος CKY 0 1 2 4 θέλω μία πτήση πρωινή 3 0 1 2 3 4 0 V (0,1) (0,2) 1 Det (1,2) (1,3) 2 Adj (2,3) 3 (2,4) Nominal N (3,4) Nominal

Αλγόριθμος CKY 0 1 2 4 θέλω μία πτήση πρωινή 3 0 1 2 3 4 0 V (0,1) (0,2) 1 Det (1,2) (1,3) NP (1,4) X 2 Adj (2,3) 3 Nominal (2,4) Nominal N (3,4)

Αλγόριθμος CKY 0 1 2 4 θέλω μία πτήση πρωινή 3 0 1 2 3 4 0 V (0,1) (0,2) (0,3) S X X (0,4) 1 Det (1,2) (1,3) NP (1,4) 2 Adj (2,3) 3 Nominal (2,4) Nominal N (3,4)

Αλγόριθμος CKY Μπορούμε να αποθηκεύουμε σε κάθε κελί και τους κανόνες που παρήγαγαν τα μη τερματικά. o Έτσι μπορούμε να εξαγάγουμε τελικά από τον πίνακα και το συντακτικό δέντρο. o Αν η πρόταση είναι συντακτικά διφορούμενη, θα εξαχθούν περισσότερα του ενός δέντρα. o Αλλά η εξαγωγή του συντακτικού δέντρου κάνει εκθετική την πολυπλοκότητα του αλγορίθμου. o Ενώ χωρίς εξαγωγή O(n 3 ) χρόνος, όπου n το πλήθος των λέξεων. o Η εξαγωγή μπορεί να επεκταθεί, ώστε να επιστρέφει δέντρο της αρχικής γραμματικής. o Της γραμματικής που είχαμε πριν τη μετατροπή σε CNF. o Εναλλακτικά μπορούμε να χρησιμοποιήσουμε τον αλγόριθμο Earley (βλ. μάθημα ΤΝ) που δέχεται οποιαδήποτε ΓΧΣ.

Συμφωνία γένους με ΓΧΣ S NP VP VP NP Pron DetFem PNFem DetFem NominalFem DetMasc PNMasc DetMasc NominalMasc NominalFem NFem AdjFem NominalFem NominalFem PP NominalMasc NMasc AdjMasc NominalMasc NominalMasc PP VP V V NP PP Prep NP Pron εγώ DetFem η μια την DetMasc ο έναν τον PNFem Θεσσαλονίκη Αθήνα NFem πτήση AdjFem πρωινή απογευματινή V θέλω θέλει προτιμώ προτιμά Prep προς από NMasc πελάτης πελάτη Διπλασιασμός των σχετικών κανόνων. Και για να πετύχουμε και συμφωνία αριθμού και πτώσης; 20

Συμφωνία γένους με επαυξημένη ΓΧΣ S NP VP VP NP Pron Det(G) PN(G) Det(G) Nominal(G) Nominal(G) N(G) Adj(G) Nominal(G) Nominal(G) PP VP V V NP PP Prep NP Pron εγώ Det(masc) ο έναν τον Det(fem) η μια την PN(fem) Θεσσαλονίκη Αθήνα N(fem) πτήση N(masc) πελάτης πελάτη Adj(fem) πρωινή απογευματινή V θέλω θέλει προτιμώ προτιμά Prep προς από Αντίστοιχες ιδιότητες για πτώση, αριθμό κλπ. π.χ. Det(fem, nom, sing) η Δεν είναι πια ΓΧΣ, αλλά μπορεί να μετατραπεί σε ισοδύναμη ΓΧΣ με περισσότερους κανόνες, αρκεί οι δυνατές τιμές των ιδιοτήτων να είναι πεπερασμένες. 21

Συντακτική ανάλυση με Prolog Η Prolog υποστηρίζει άμεσα γραμματικές DCG. ΓΧΣ επαυξημένες με ιδιότητες, όπως στο παράδειγμα συμφωνίας γένους. Τις μετατρέπει σε προτάσεις Horn ΠΚΛ και αντιμετωπίζει τη συντακτική ανάλυση ως πρόβλημα εξαγωγής συμπεράσματος (βλ. μάθημα «Τεχνητή Νοημοσύνη»). Μπορούμε να δώσουμε απευθείας τις γραμματικές στο μεταγλωττιστή/διερμηνέα της Prolog. Μας επιτρέπει να πειραματιστούμε εύκολα με γραμματικές. Στην πράξη χρησιμοποιούνται συνήθως πιο σύνθετοι αλγόριθμοι συντακτικής ανάλυσης. Π.χ. CKY, Earley, ενδεχομένως τροποποιημένοι, ώστε να δέχονται επαυξημένες γραμματικές χωρίς συμφραζόμενα. Μπορούν να υλοποιηθούν και αυτοί σε Prolog. 22

Οι γραμματικές DCG της Prolog ΓΧΣ επαυξημένες με ιδιότητες. Π.χ. nominal(g) adj(g), nominal(g). Π.χ. det(masc) [έναν]. Τα τερματικά σύμβολα γράφονται μέσα σε αγκύλες. Αν το πρώτο γράμμα είναι κεφαλαίο, πρόκειται για μεταβλητή. Περιορισμός από τον ενσωματωμένο αλγόριθμο DFS: Πρέπει να αποφεύγουμε κανόνες με αριστερή αναδρομή. Π.χ. nominal nominal, pp. Γενικότερα πρέπει να αποφεύγουμε γραμματικές που επιτρέπουν παραγωγές της μορφής A... A... 23

Παράδειγμα γραμματικής DCG s --> np, vp. s --> vp. np --> pron. np --> det(g), pn(g). np --> det(g), nominal(g). nominal(g) --> n(g). nominal(g) --> adj(g), nominal(g). % Πρόβλημα αριστερής αναδρομής: % nominal(g) --> nominal(g), pp. nominal(g) --> n(g), manypp. manypp --> pp. manypp --> pp, manypp. vp --> v. vp --> v, np. pp --> prep, np. pron --> [εγώ]. det(masc) --> [ο]. det(masc) --> [έναν]. (βλ. e-class) 24

Χρήση γραμματικών DCG Θα χρειαστείτε μεταγλωττιστή/διερμηνέα Prolog. Π.χ. SWI-Prolog (βλ. συνδέσμους μαθήματος). Κατά τη χρήση της, χρησιμοποιήστε γραμματοσειρά Courier για να βλέπετε τα Ελληνικά. Φόρτωμα του αρχείου της γραμματικής: consult( ) στη γραμμή εντολών της Prolog. Σε Windows: διπλό κλικ στο αρχείο.pl της γραμματικής. Υπάρχουν παραδείγματα γραμματικών στις ιστοσελίδες. Συντακτική ανάλυση: phrase(s, [θέλω, μια, πτήση, από, την, αθήνα]). phrase(nominal(masc), [πελάτης, από, την, αθήνα]). Η απόκριση yes/no της Prolog σημαίνει ότι υπάρχει ή όχι συντακτικό δέντρο με αυτή τη ρίζα. 25

Χρήση γραμματικών DCG συνέχεια Ερωτήσεις προς το συντακτικό αναλυτή: phrase(nominal(g), [πελάτης, από, την, αθήνα]). Απάντηση: G = masc. Με «;» ζητάμε άλλη απάντηση (εδώ δεν υπάρχει). Επιστροφή συντακτικού δένδρου: Μπορούμε να επεκτείνουμε τη γραμματική (βλ. μάθημα ΤΝ), ώστε να επιστρέφεται και συντακτικό δέντρο: phrase(nominal(g, T), [πελάτης, από, την, αθήνα]). Απάντηση: G = masc και: T = nominal(n(πελάτης), manypp(pp(prep(από), np(det(την), pn(αθήνα))))) 26

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. 27

Σημασιολογία αριθμητικής γλώσσας 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. 28

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))) 29

Κύρια ονόματα, ουσιαστικά, άρθρα Κάθε κύριο όνομα (π.χ. «Αθήνα») αντιστοιχίζεται στον αντίστοιχο κωδικό της πόλης (π.χ. «ath»). pn(ath) --> [αθήνα]. pn(thess) --> [θεσσαλονίκη]. pn(herak) --> [ηράκλειο]. Τα μόνα ουσιαστικά που είναι δυνατόν να χρησιμοποιηθούν δείχνουν αν ο πελάτης ενδιαφέρεται για αγορά αεροπορικού ή σιδηροδρομικού εισιτηρίου. n(flight) --> [πτήση]. n(train) --> [τρένο]. Στο απλοϊκό αυτό παράδειγμα γραμματικής, τα άρθρα δεν συνεισφέρουν στη σημασιολογική παράσταση. det --> [τη]. det --> [την]. det --> [το].... 30

Ρήματα, επιρρήματα, προθέσεις Στο απλοϊκό αυτό παράδειγμα γραμματικής, τα ρήματα δεν συνεισφέρουν στη σημασιολογική παράσταση! v --> [θέλω]. v --> [επιθυμώ]. Σε αυτή τη γραμματική, υπάρχουν μόνο χρονικά επιρρήματα, που δείχνουν την ημέρα αναχώρησης. adv(today) --> [σήμερα]. adv(tomorrow) --> [αύριο]. Στη γραμματική αυτή, οι προθέσεις δείχνουν αν η τοποθεσία που ακολουθεί αποτελεί το σημείο αναχώρησης ή τον προορισμό. prep(departure) --> [από]. prep(arrival) --> [προς]. 31

Ονοματική φράση Εδώ θεωρούμε ότι μια ονοματική φράση είναι ένα κύριο όνομα (pn) με άρθρο ή ένα nominal με το άρθρο του. άρθρο + κύριο όνομα: «τη θεσσαλονίκη» άρθρο + nominal: «μια πτήση προς τη θεσσαλονίκη» H σημασιολογική παράσταση της ονοματικής φράσης είναι η σημασιολογική παράσταση του κυρίου ονόματος ή του nominal αντίστοιχα. np(pnsem) --> det, pn(pnsem). np(nomsem) --> det, nominal(nomsem). 32

Εμπρόθετοι προσδιορισμοί Σε αυτή τη γραμματική, ένας εμπρόθετος προσδιορισμός (prepositional phrse, pp) είναι μια πρόθεση ακολουθούμενη από μια ονοματική φράση. Π.χ. «από την αθήνα», «προς τη θεσσαλονίκη». Η σημασιολογική παράσταση της ονοματικής φράσης προσδιορίζει μία πόλη (π.χ. ath). Η σημασιολογική παράσταση της πρόθεσης δείχνει αν η πόλη είναι προορισμός ή σημείο αναχώρησης (departure ή arrival). Η σημασιολογική παράσταση του εμπρόθετου προσδιορισμού είναι ένα κατηγόρημα location. Δείχνει αν προσδιορίζεται ο προορισμός ή το σημείο αναχώρησης και ποιος είναι αυτός. pp(location(prepsem, NPSem)) --> prep(prepsem), np(npsem). 33

Πολλοί εμπρόθετοι προσδιορισμοί Το 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). 34

Οι κανόνες για το 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). 35

Προτάσεις και ρηματικές φράσεις Στη γραμματική αυτή θεωρούμε ότι η πρόταση (s) αποτελείται μόνο από μία ρηματική φράση (vp). Π.χ. «θέλω μια πτήση προς τη θεσσαλονίκη». Η σημασιολογική παράσταση της πρότασης είναι η ίδια με τη σημασιολογική παράσταση της ρηματικής φράσης. s(vpsem) --> vp(vpsem). Το ρηματικό σύνολο περιλαμβάνει ένα μεταβατικό ρήμα, ένα ονοματικό σύνολο (το αντικείμενο του ρήματος) και ενδεχομένως ένα χρονικό επίρρημα (με παράσταση «today» ή «tomorrow»). vp(npsem) --> v, np(npsem). vp(and(date(advsem), NPSem)) --> v, np(npsem), adv(advsem). 36

Διάβασμα Το μεγαλύτερο μέρος της ύλης αυτής της ενότητας καλύπτεται από τα κεφάλαια 12 και 13 των J&M. o Εισαγωγή κεφ. 12, ενότητες 12.1 12.3, 12.5, 13.2, 13.4.1. o Για τις εξετάσεις, χρειάζεται να γνωρίζετε μόνο όσα αναφέρουν οι διαφάνειες. o Όσοι ενδιαφέρονται μπορούν να διαβάσουν προαιρετικά και το κεφάλαιο 18. Περισσότερες πληροφορίες για τις γραμματικές DCG θα βρείτε (προαιρετικά) στις διαφάνειες του μαθήματος «Τεχνητή Νοημοσύνη» στο e-class. o Περιγράφουν επίσης τον αλγόριθμο Earley. Περισσότερες πληροφορίες για τα θέματα αυτής της ενότητας θα βρείτε (προαιρετικά) στις διαφάνειες του μεταπτυχιακού μαθήματος «Γλωσσική Τεχνολογία». 37