ΚΕΦΑΛΑΙΟ 7 - Επεξεργασία και Κατανόηση Φυσικής Γλώσσας

Σύνοψη

Η επεξεργασία φυσικής γλώσσας είναι μια από τις πιο δημοφιλείς εφαρμογές της ΤΝ. Η ιδέα του να επικοινωνεί κάποιος με τον υπολογιστή και να τον ελέγχει μιλώντας τη μητρική του γλώσσα ή κάποια ευρύτερα ομιλούμενη, όπως τα αγγλικά, είναι πολύ ελκυστική. Όμως, η φυσική γλώσσα έχει διττή φύση (ως προς τη σύνταξη και ως προς τη σημασιολογία), γεγονός που δεν εμποδίζει μεν την επεξεργασία της, αλλά δημιουργεί προβλήματα στην κατανόησή της, με αποτέλεσμα να καθίσταται το εγχείρημα της επεξεργασίας και παράλληλα της κατανόησής της ιδιαίτερα δύσκολο. Στο κεφάλαιο αυτό εξετάζουμε τα στάδια της επεξεργασίας φυσικής γλώσσας (: τη συντακτική, τη σημασιολογική και την πραγματολογική ανάλυση) και θίγουμε θέματα σχετικά με την πραγματολογική ανάλυση και τις τεχνικές που χρησιμοποιούνται για διευκρίνιση διφορούμενων προτάσεων και καθιστούν εφικτή την κατανόηση κειμένου.

Προαπαιτούμενη γνώση

Επεξεργασία γλωσσών προγραμματισμού, Μεταγλωττιστές

7.1 Εισαγωγή

Πριν κάνουμε επισκόπηση στο πώς μπορούμε να επιτύχουμε την επεξεργασία φυσικής γλώσσας (natural language processing-NLP) και την κατανόηση φυσικής γλώσσας (natural language understanding-NLU), θα παρουσιάσουμε τα οφέλη που μπορεί να επιφέρει η χρήση φυσικής γλώσσας κατά την επικοινωνία χρήστη-υπολογιστή. Πλήθος τομέων μπορούν να επωφεληθούν από τη χρήση της, με κυριότερο, καταρχάς, την επικοινωνία ανθρώπου-μηχανής (human-computer interaction). Στο χώρο αυτό, η χρήση φυσικής γλώσσας επιτρέπει στους χρήστες να χρησιμοποιούν το φυσικό τρόπο επικοινωνίας τους και όχι τεχνητές γλώσσες (προγραμματισμού, μηχανής, κ.ά.) ή δομημένα μενού. Μια τέτοια προσέγγιση έχει και προτερήματα και μειονεκτήματα. Ναι μεν δεν απαιτείται εκπαίδευση στη χρήση της γλώσσας, αλλά αυτό διευκολύνει περισσότερο τους περιστασιακούς χρήστες και λιγότερο τους εξειδικευμένους, όπως είναι για παράδειγμα οι προγραμματιστές ή οι υπάλληλοι γραφείου που εισάγουν στοιχεία σε φόρμες.

Μια δεύτερη περιοχή είναι αυτή της διαχείρισης πληροφορίας (information management), όπου η NLP θα μπορούσε να ενεργοποιήσει διαδικασίες αυτόματης διαχείρισης και επεξεργασίας της πληροφορίας με βάση τη διερμηνεία της. Αν, για παράδειγμα, ένα σύστημα μπορούσε να κατανοήσει το νόημα ενός εγγράφου, θα μπορούσε να το αρχειοθετήσει μαζί με τα άλλα αντίστοιχα έγγραφα.

Τρίτη περιοχή είναι αυτή της αναζήτησης σε βάσεις δεδομένων (database searching). Οι συνήθεις τρόποι έκφρασης μιας επιθυμητής πληροφορίας είναι μέσω επιλογής από λίστες, συμπλήρωσης μενού ή σύνταξης του αιτήματος σε τεχνητή γλώσσα (special query language-SQL). Η χρήση τεχνητής γλώσσας επιτρέπει μεν την ανάπτυξη απλών μηχανισμών αναζήτησης, αλλά και πάλι ο χρήστης πρέπει να έχει κάποια γνώση σχετικά με τη δομή της βάσης. Από την άλλη πλευρά, ο χρήστης είναι πιο εξοικειωμένος με το περιεχόμενο ή την περιοχή ενδιαφέροντος της βάσης παρά με τη δομή της. Με τη χρήση φυσικής γλώσσας, τα αιτήματα μπορεί να περιοριστούν σε όρους σχετικούς με το περιεχόμενο και την περιοχή ενδιαφέροντος.

7.2 Δυσκολίες στην Κατανόηση Φυσικής Γλώσσας

Η μεγαλύτερη δυσκολία στην επεξεργασία φυσικής γλώσσας είναι η διφορούμενη ερμηνεία που προκαλεί ασάφεια στη γλώσσα (ambiguity of language) σε πολλά επίπεδα: .

Οι επιμέρους ασάφειες μπορεί να συνδυαστούν σε μια μόνη πρόταση. Για παράδειγμα, η παρακάτω πρόταση περιέχει ασάφεια σε λεξιλογικό, αναφορικό και πραγματολογικό επίπεδο:

7.3 Ιστορική Αναδρομή

Από το 1950-1960, οπότε κατασκευάζονται οι πρώτοι υπολογιστές και επιτρέπουν το χειρισμό αριθμών και λέξεων, παρουσιάζονται και οι πρώτες δυνατότητες επεξεργασίας γλωσσικής γνώσης.

Μπορεί σήμερα η επεξεργασία και κατανόηση φυσικής γλώσσας να επιφέρει εντυπωσιακά αποτελέσματα, αλλά στις απαρχές του κλάδου οι τεχνικές που χρησιμοποιούνταν και τα αποτελέσματα ήταν στοιχειώδη. Για παράδειγμα, στο πρόγραμμα ELIZA, το οποίο προσομοιώνει τη συνομιλία ενός ψυχιάτρου με μια ασθενή, γίνεται απλή αναγνώριση λεκτικών μονάδων που πυροδοτούν τυποποιημένες απαντήσεις του προγράμματος-ψυχίατρου. Ακολούθως, δίνεται ένας παραδειγματικός διάλογος:

 

ΟΙ ΑΝΘΡΩΠΟ ΕΙΝΑΙ ΟΛΟΙ ΙΔΙΟΙ : ασθενής

ΜΕ ΠΟΙΟ ΤΡΟΠΟ; : πρόγραμμα-ψυχίατρος

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

ΜΠΟΡΕΙΣ ΝΑ ΣΚΕΦΤΕΙΣ ΕΝΑ ΣΥΓΚΕΚΡΙΜΕΝΟ ΠΑΡΑΔΕΙΓΜΑ;

ΝΑ, Ο ΦΙΛΟΣ ΜΟΥ ΜΕ ΕΚΑΝΕ ΝΑ ΕΡΘΩ ΕΔΩ

Ο ΦΙΛΟΣ ΣΟΥ ΣΕ ΕΚΑΝΕ ΝΑ ΕΡΘΕΙΣ ΕΔΩ;

ΛΕΕΙ ΟΤΙ ΕΊΜΑΙ ΣΕ ΚΑΤΑΘΛΙΞΗ ΤΟΝ ΠΕΡΙΣΣΟΤΕΡΟ ΧΡΟΝΟ

ΛΥΠΑΜΑΙ ΠΟΥ ΑΚΟΥΩ ΟΤΙ ΕΙΣΑΙ ΣΕ ΚΑΤΑΘΛΙΨΗ

ΕΙΝΑΙ ΑΛΗΘΕΙΑ, ΕΙΜΑ ΔΥΣΤΥΧΗΣ

ΝΟΜΙΖΕΙΣ ΟΤΙ ΕΡΧΟΜΕΝΗ ΕΔΩ ΘΑ ΠΑΨΕΙΣ ΝΑ ΕΙΣΑΙ ΔΥΣΤΥΧΗΣ;

ΧΡΕΙΑΖΟΜΑΙ ΚΑΠΟΙΑ ΒΟΗΘΕΙΑ, ΑΥΤΟ ΕΙΝΑΙ ΣΙΓΟΥΡΟ

ΤΙ ΘΑ ΣΗΜΑΙΝΕ ΓΙΑ ΣΕΝΑ ΝΑ ΠΑΡΕΙΣ ΚΑΠΟΙΑ ΒΟΗΘΕΙΑ;

ΙΣΩΣ ΘΑ ΜΕ ΒΟΗΘΟΥΣΕ ΝΑ ΤΑ ΒΓΑΛΩ ΠΕΡΑ ΜΕ ΤΗ ΜΗΤΕΡΑ ΜΟΥ

ΠΕΣ ΜΟΥ ΠΕΡΙΣΣΟΤΕΡΑ ΓΙΑ ΤΗΝ ΟΙΚΟΓΕΝΕΙΑ ΣΟΥ

Η ΜΗΤΕΡΑ ΜΟΥ ΜΕ ΦΡΟΝΤΙΖΕΙ

ΠΟΙΟΣ ΑΛΛΟΣ ΣΤΗΝ ΟΙΚΟΓΕΝΕΙΑ ΣΟΥ ΣΕ ΦΡΟΝΤΙΖΕΙ;

Ο ΠΕΑΤΕΡΑΣ ΜΟΥ

Ο ΠΑΤΕΡΑΣ ΣΟΥ;

ΜΟΙΑΖΕΙΣ ΜΕ ΤΟΝ ΠΑΤΕΡΑ ΜΟΥ ΚΑΤΑ ΚΑΠΟΙΟΝ ΤΡΟΠΟ

ΠΟΙΑ ΟΜΟΙΟΤΗΤΑ ΒΛΕΠΕΙΣ;

ΔΕΝ ΕΙΣΑΙ ΕΠΙΘΕΤΙΚΟΣ, ΑΛΛΑ ΝΟΜΙΖΩ ΟΤΙ ΔΕ ΘΕΛΕΙΣ ΝΑ ΣΤΟ ΣΗΜΕΙΩΣΩ

ΤΙ ΣΕ ΚΑΝΕΙ ΝΑ ΠΙΣΤΕΥΕΙΣ ΟΤΙ ΔΕΝ ΕΙΜΑΙ ΠΟΛΥ ΕΠΙΘΕΤΙΚΟΣ;

ΔΕ ΔΙΑΦΩΝΕΙΣ ΜΑΖΙ ΜΟΥ

ΤΙ ΣΕ ΚΑΝΕΙ ΝΑ ΠΙΣΤΕΥΕΙΣ ΟΤΙ ΔΕ ΔΙΑΦΩΝΩ ΜΑΖΙ ΣΟΥ;

ΜΕ ΦΟΒΑΣΑΙ

ΣΕ ΕΥΧΑΡΙΣΤΕΙ ΝΑ ΠΙΣΤΕΥΕΙΣ ΟΤΙ ΣΕ ΦΟΒΑΜΑΙ;

Ο ΠΑΤΕΡΑΣ ΜΟΥ ΤΟΥΣ ΦΟΒΑΤΑΙ ΟΛΟΥΣ

ΤΙ ΑΛΛΟ ΣΟΥ ΕΡΧΕΤΑΙ ΣΤΟ ΜΥΑΛΟ ΟΤΑΝ ΣΚΕΦΤΕΣΑΙ ΤΟΝ ΠΑΤΕΡΑ ΣΟΥ;

ΨΕΥΡΟΠΑΛΛΗΚΑΡΙΣΜΟΙ

ΕΧΕΙ ΑΥΤΟ ΚΑΠΟΙΑ ΣΧΕΣΗ ΜΕ ΤΟ ΓΕΓΟΝΟΣ ΟΤΙ Ο ΦΙΛΟΣ ΣΟΥ ΣΕ

ΕΚΑΝΕ ΝΑ ΕΡΘΕΙΣ ΕΔΩ;

 

Οι τεχνικές του ΕLΙΖΑ είναι οι ακόλουθες:

 

Α. Οι απαντήσεις συνθέτονται μέσω περιγραμμάτων (templates) ή σκελετών, π.χ.

 

Περίγραμμα 1:

Περίγραμμα 2:

Περίγραμμα 3:

Β. Η πρόταση εισόδου εξετάζεται για την παρουσία λέξεων-κλειδιών ή μερών προτάσεων που αναγνωρίζονται από αυτόματα πεπερασμένων καταστάσεων, π.χ.:

Γ. Κάθε λέξη-κλειδί σχετίζεται με ένα σύνολο κανόνων που μετασχηματίζουν τη φράση εισόδου σε φράση εξόδου, π.χ.:

 

Κανόνας 1:

Κανόνας 2:

Όπου ΧΧΧ:

Παράδειγμα εφαρμογής των κανόνων:

Όταν το σύστημα δεν βρίσκει λέξεις-κλειδιά, τότε αντιδρά με φράση από προηγούμενη συζήτηση.

Όταν, επίσης, βλέπει να δίνονται μονολεκτικές απαντήσεις, τότε αντιδρά με κάποια γενικής φύσης φράση, όπως είναι:

7.4 Πώς πραγματοποιείται η Επεξεργασία Φυσικής Γλώσσας σήμερα

Υπάρχουν τρία στάδια για την επεξεργασία φυσικής γλώσσας: συντακτική ανάλυση, σημασιολογική ανάλυση και η πραγματολογική ανάλυση. Οι προτάσεις μπορεί να είναι καλοσχηματισμένες (well formed) ή κακοσχηματισμένες (ill formed) σε επίπεδο σύνταξης, σημασιολογίας ή πραγματολογικής διαφάνειας. Για παράδειγμα, ας δούμε περιπτώσεις καλοσχηματισμένων και κακοσχηματισμένων απαντήσεων στο ερώτημα : ‘Ξέρετε πού είναι το σχολείο;’

Κατά τη διάρκεια της επεξεργασίας το σύστημα θα προσδιορίσει κατά πόσο η πρόταση είναι καλοσχηματισμένη. Τα τρία στάδια επεξεργασίας δεν είναι κατ’ ανάγκη διακριτά ή σειριακά, αλλά θα τα θεωρήσουμε ως τέτοια για τις ανάγκες μιας όσο γίνεται πιο κατανοητής παρουσίασης.

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

7.4.1 Λεξικό

Το λεξικό μιας φυσικής γλώσσας περιέχει όλες τις λέξεις που χρησιμοποιούνται στη γλώσσα αυτή. Λόγω του μεγάλου αριθμού των λέξεων, αποθηκεύεται μόνο η βασική μορφή κάθε λέξης και οι άλλες μορφές προκύπτουν με κανόνες μορφολογικής ανάλυσης (morphological analysis):

Επιπλέον, το λεξικό πρέπει να κατατάσσει σημασιολογικά όλες τις λέξεις ανάλογα με τον τρόπο χρήσης τους. Για παράδειγμα:

Η γνώση μιας τέτοιας πληροφορίας δε θα επιτρέψει να παραχθούν φράσεις όπως «Ο φοιτητής είναι Μαρία».

Τα λεξικά που οργανώνονται σημασιολογικά ονομάζονται οντολογίες (ontologies ).

7.5 Συντακτική Ανάλυση

Η συντακτική ανάλυση (syntactic analysis) εξετάζει τη δομή των προτάσεων προσπαθώντας να διαπιστώσει με διάφορους τρόπους αν αυτή είναι ορθή ή λανθασμένη.

Η πιο απλή προσέγγιση είναι η χρήση κάποιου τύπου ταιριάσματος προτύπου, οπότε απαιτείται να υπάρχουν αποθηκευμένα πρότυπα προτάσεων που περιέχουν μεταβλητές, ώστε να επιτρέπεται το ταίριασμα με συγκεκριμένες προτάσεις, Π.χ. το πρότυπο

 

<η ** πίνει **>

 

όπου ** ταιριάζει με οτιδήποτε, επιτρέπει την αναγνώριση ως συντακτικά καλοσχηματισμένων προτάσεων όπως: ο Γιώργος οδηγεί ένα ωραίο αυτοκίνητο, ο Πέτρος οδηγεί το τραίνο, κλπ. Παρά ταύτα, η προσέγγιση δε θεωρείται πολύ αποτελεσματική, γιατί δεν επιτρέπει την αναγνώριση προβληματικών σημασιολογικά προτάσεων, όπως, π.χ., ο τοίχος οδηγεί ένα σπίτι. Η μέθοδος του ταιριάσματος προτύπων θεωρείται κατάλληλη μόνο για πολύ στοιχειώδη περιβάλλοντα επικοινωνίας, όπου η χρήση της φυσικής γλώσσας πραγματοποιείται υπο περιορισμούς. Χρησιμοποιήθηκε αρχικά από το πρόγραμμα ELIZA (Weizenbaum, 1966) που, όπως αναφέραμε και στην προηγούμενη παράγραφο, δεν κατόρθωσε να εντοπίσει τις διφορούμενες προτάσεις και κατέληξε να αποδέχεται ως καλοσχηματισμένες προτάσεις ασυνάρτητες.

Πιο αποτελεσματική μέθοδος είναι η γραμματική ανάλυση μιας πρότασης (parsing), κατά την οποία η πρόταση μετατρέπεται σε μια ιεραρχική δομή που υποδεικνύει τα συστατικά της μέρη. Τα συστήματα γραμματικής ανάλυσης αποτελούνται από:

Οι συντακτικοί αναλυτές μπορεί να είναι ανοδικοί, εάν αρχίζουν από τα σύμβολα εισόδου και προσπαθούν να ταιριάξουν κανόνες σε αυτά, ή καθοδικοί, οπότε αρχίζουν από τους γραμματικούς κανόνες και προσπαθούν να ταιριάξουν τα σύμβολα εισόδου σε αυτούς.

Άλλες μέθοδοι συντακτικής ανάλυσης περιλαμβάνουν διαγράμματα μετάβασης (transition networks) και επαυξημένα διαγράμματα μετάβασης (augmented transition networks) (ενδεικτικά).

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

7.6 Γραμματική

Μια γραμματική (grammar) προσδιορίζει τις αποδεκτές δομές μιας γλώσσας. Αποτελείται από ένα σύνολο κανόνων του τύπου

 

Α → Β

 

που επιτρέπουν κάθε στοιχείο που ταιριάζει με το αριστερό μέρος τους να αντικαθίσταται από το δεξί μέρος. Για παράδειγμα, έστω ότι έχουμε δυο κανόνες:

 

1ος κανόνας: υποκείμενο → άρθρο ουσιαστικό

2ος κανόνας: πρόταση → υποκείμενο ρήμα αντικείμενο

 

τότε, στον 2ο κανόνα, εκεί όπου παρουσιάζεται το αριστερό μέρος του 1ου κανόνα, δηλαδή ό όρος ‘υποκείμενο’, μπορεί να αντικατασταθεί από το δεξί μέρος του, διαμορφώνοντας τον 2ο κανόνα ως εξής:

 

πρόταση → άρθρο ουσιαστικό ρήμα αντικείμενο

 

Μια γραμματική έχει τρία συστατικά μέρη:

Τερματικά σύμβολα (terminals) είναι οι λέξεις που αποτελούν τη γλώσσα και διαμορφώνουν το λεξικό της (lexicon). Επιπλέον, για κάθε λέξη στο λεξικό προσδιορίζεται ο θεμελιώδης τύπος της.

Παράδειγμα, η πρόταση η γάτα πίνει γάλα, περιέχει 4 τερματικά σύμβολα ( "η", "γάτα", "πίνει", "γάλα"), τα οποία στο λεξικό θα έχουν καταχωρηθεί με τους προσδιορισμούς τους ως εξής:

 

[η]: άρθρο

[γάτα]: ουσιαστικό

[πίνει]: ρήμα

[γάλα]: αντικείμενο

 

Τα μη-τερματικά σύμβολα (non-terminals) είναι ειδικά σύμβολα που περιγράφουν δομές της γλώσσας και είναι τριών τύπων:

Οι γραμματικοί κανόνες παραγωγής ή συντακτικοί κανόνες (production rules or syntax rules) ή, απλώς, κανόνες περιγράφουν τους έγκυρους συνδυασμούς των λέξεων της γλώσσας. Ένας κανόνας έχει συνήθως την εξής μορφή:

 

Α → ΟΦ ΡΦ

 

όπου, Α το αρχικό σύμβολο για μια ονοματική φράση ΟΦ (π.χ. η γάτα) και ΡΦ για μια ρηματική φράση (π.χ. πίνει γάλα)

Αν μια σωστή πρόταση δεν αναγνωρίζεται συντακτικά από τη γραμματική, τότε η γραμματική πρέπει να επεκτείνεται, ώστε να αναγνωρίζεται και η συγκεκριμένη πρόταση.

7.6.1 Γραμματικές Οριστικών Προτάσεων

Γραμματικές σαν την παραπάνω ονομάζονται Γραμματικές Οριστικών Προτάσεων-ΓΟΠ (Definite Clause Grammars-DCGs).

 

Τρία είναι τα κύρια προβλήματα που πρέπει να αντιμετωπιστούν, όταν γίνεται η χρήση τους από ένα σύστημα συντακτικής ανάλυσης:

Παράδειγμα γραμματικής με αποτύπωση μόνο συντακτικών κανόνων:

 

Γραμματική Γ1

Η γραμματική συνοδεύεται από το παρακάτω λεξικό:

Στην παραπάνω γραμματική Γ1, το αρχικό σύμβολο είναι το πρόταση, τερματικά σύμβολα είναι όλα τα σύμβολα μεταξύ ‘[‘ και ‘]’ που εμφανίζονται στο λεξικό, όλα δε τα υπόλοιπα είναι μη-τερματικά σύμβολα.

Βασικό πρόβλημα της παραπάνω γραμματικής είναι το ότι δεν μπορεί να αναγνωρίσει σημασιολογικά λάθη, όπως αυτά της πρότασης η Γιάννης πίνει γάτα. Η επίλυση του προβλήματος απαιτεί τον εμπλουτισμό της γραμματικής με επιπλέον κανόνες σημασιολογικής και πραγματολογικής μορφής. Άλλα πιθανά προβλήματα μπορεί να οφείλονται σε μη αναγνώριση λέξεων που είτε δεν υπάρχουν στο λεξικό είτε έχουν καταχωρηθεί λανθασμένα.

7.6.2 Συντακτικό Δένδρο

Η παραπάνω γραμματική Γ1 μπορεί να αναγνωρίσει συντακτικά οποιαδήποτε πρόταση είναι γραμμένη στη γλώσσα της. Ένας συντακτικός αναλυτής (parser) που κάνει καθοδική γραμματική ανάλυση (parsing) θα αρχίσει από το αρχικό σύμβολο της γραμματικής, στην περίπτωσή μας το πρόταση, το οποίο θα αποτελέσει τη ρίζα ενός δένδρου που καλείται συντακτικό δένδρο (parse tree). Ουσιαστικά, ένα συντακτικό δένδρο αντιπροσωπεύει την ιεραρχική διάσπαση μιας πρότασης στα συντακτικά μέρη της. Η ρίζα του είναι το αρχικό σύμβολο και κάθε ενδιάμεσος κόμβος του αντιπροσωπεύει ένα μη-τερματικό σύμβολο της γραμματικής. Τα φύλλα του δένδρου αντιπροσωπεύουν τερματικά σύμβολα.

Ο συντακτικός αναλυτής αναπτύσσει το συντακτικό δένδρο βήμα-βήμα με τη βοήθεια των παραγωγών της γραμματικής, έως ότου καταλήξει σε φύλλα, δηλαδή σε τερματικά σύμβολα. Σε κάθε βήμα ανάπτυξης, επιλέγεται ένας κόμβος που εκπροσωπεί ένα αριστερό μη-τερματικό σύμβολο ενός κανόνα και από κάτω διασπάται σε κόμβους που αντιπροσωπεύουν τα σύμβολα του δεξιού μέρους του κανόνα.

Το συντακτικό δένδρο που παράγει η συντακτική ανάλυση διερμηνεύεται

Στο σχήμα 7.1 παρουσιάζεται το συντακτικό δένδρο που προκύπτει από την γραμματική ανάλυση της πρότασης ο Γιάννης είναι έξυπνος.

Σχήμα 7.1 Παράδειγμα συντακτικού δένδρου

Εντούτοις, η γραμματική που χρησιμοποιήθηκε είναι πολύ περιορισμένη. Για να την επεκτείνουμε, χρειαζόμαστε πολλούς ακόμα κανόνες και ένα πολύ μεγαλύτερο λεξικό. Θα επανέλθουμε στο θέμα αυτό αργότερα.

7.6.3 Διαγράμματα Μετάβασης

Ένα διάγραμμα μετάβασης (transition network) είναι μια μέθοδος συντακτικής ανάλυσης που αναπαριστά τη γραμματική ως ένα σύνολο μηχανών πεπερασμένων καταστάσεων. Μια μηχανή πεπερασμένων καταστάσεων, που καλείται επίσης αυτόματο πεπερασμένων καταστάσεων (finite state automaton-FSA), είναι ένα μοντέλο υπολογιστικής συμπεριφοράς, στο οποίο κάθε κόμβος αναπαριστά μια εσωτερική κατάσταση του συστήματος και οι ακμές παρουσιάζουν τον τρόπο μετάβασης από κατάσταση σε κατάσταση. Στην περίπτωση της επεξεργασίας φυσικής γλώσσας, οι ακμές αντιπροσωπεύουν είτε ένα τερματικό είτε ένα μη τερματικό σύμβολο. Οι γραμματικοί κανόνες αντιστοιχούν σε μια διαδρομή μέσα στο διάγραμμα. Για κάθε μη-τερματικό σύμβολο, υπάρχει και ένα διάγραμμα μετάβασης που το αναγνωρίζει.

Στο σχήμα 7.2 δίνεται ένα παράδειγμα χρήσης διαγραμμάτων μετάβασης για τη γραμματική Γ1.

Σχήμα 7.2 Παράδειγμα διαγραμμάτων μετάβασης

Η αναγνώριση της πρότασης ο Γιάννης είναι έξυπνος θα γίνει ως ακολούθως: Καταρχάς, θα επιχειρηθεί η διάσχιση του διαγράμματος του αρχικού συμβόλου πρόταση. Για τη διάσχιση του διαγράμματος απαιτείται, πρώτον, η αναζήτηση ενός τερματικού συμβόλου τύπου άρθρου. Η λέξη ‘ο’ είναι ορισμένη στο λεξικό ως άρθρο, οπότε επιτρέπει τη διάσχιση προς τον επόμενο κόμβο που απαιτεί ένα τερματικό σύμβολο τύπου ουσιαστικού. Η λέξη Γιάννης είναι ορισμένη στο λεξικό ως ουσιαστικό, οπότε η διάσχιση του διαγράμματος για την αναγνώριση του υποκειμένου ολοκληρώνεται επιτυχώς και επιστρέφουμε στο αρχικό διάγραμμα για την συνέχιση της διάσχισης. Ακολουθεί η ανάγκη διάσχισης του διαγράμματος του μη-τερματικού συμβόλου ρήμα Για τη διάσχιση θα απαιτηθεί η αναζήτηση ενός τερματικού συμβόλου τύπου ρήματος. Η λέξη είναι που ακολουθεί είναι ορισμένη στο λεξικό ως ρήμα οπότε η διάσχιση είναι επιτυχής και προχωρούμε στην ανάγκη διάσχισης ή του διαγράμματος αντικείμενο ή του διαγράμματος κατηγορούμενο. Μετά από ανάλυση επιλέγεται το κατηγορούμενο, οπότε διασχίζοντας το διάγραμμά του απαιτείται η παρουσία ενός επιθέτου ή ενός ουσιαστικού. Δεδομένου ότι στην πρόταση ακολουθεί η λέξη έξυπνος που είναι καταχωρημένη ως επίθετο, η αναγνώριση ολοκληρώνεται επιτυχώς Η ολοκληρωμένη συντακτική ανάλυση για την αναγνώριση της πρότασης ο Γιάννης είναι έξυπνος δίνεται στο σχήμα 7.3.

Σχήμα 7.3 Διάσχιση διαγραμμάτων μετάβασης κατά τη συντακτική ανάλυση

7.7 Αλγόριθμοι Διόρθωσης Ορθογραφικών Λαθών

Τα πιο κοινά λάθη που παρουσιάζει μια πρόταση και εμποδίζουν την αναγνώρισή της είναι τα ορθογραφικά. Για να αντιμετωπιστούν, η επεξεργασία φυσικής γλώσσας χρησιμοποιεί αλγόριθμους διόρθωσης λαθών που συνήθως έχουν τις παρακάτω δυνατότητες:

Η λειτουργία των αλγορίθμων διόρθωσης λαθών στηρίζεται στην έννοια της εγγύτητας (closeness) μεταξύ λέξεων. Τρόποι ορισμού της εγγύτητας είναι οι παρακάτω:

7.7.1 Μοντέλο Χαρακτήρων Διόρθωσης Λαθών

Στο μοντέλο χαρακτήρων (letter-based model), ως λάθη θεωρούνται:

Αν θεωρήσουμε ότι η γλώσσα μας διαθέτει ένα αλφάβητο 24 γραμμάτων και ότι έχει συμβεί μόνο ένα λάθος σε μια λέξη, μια λέξη με 8 γράμματα μπορεί να έχει σε επίπεδο χαρακτήρων 9x24 πιθανά λάθη εισαγωγής, 8 πιθανά λάθη διαγραφής, 8x23 πιθανά λάθη αντικατάστασης και 7 πιθανά λάθη αντιμετάθεσης∙ άρα, μπορεί να έχει συνολικά 415 διαφορετικά λάθη.

Η χρήση της εγγύτητας χαρακτήρων μπορεί να βοηθήσει στον περιορισμό της αναζήτησης του λάθους. Για παράδειγμα, έστω ότι έχει γραφεί λανθασμένα η έγκυρη λέξη "αυτοκίνητο". Γειτονικές λανθασμένες λέξεις αυτής της λέξης, σε σχέση με την εγγύτητα είναι οι ακόλουθες:

Όμως η διόρθωση λαθών βάσει εγγύτητας δε μπορεί να εφαρμοστεί σε όλες τις περιπτώσεις. Για παράδειγμα:

7.7.2 Ηχητικό Μοντέλο Διόρθωσης Λαθών

Στο ηχητικό μοντέλο (sound-based model), οι λέξεις μεταφράζονται στο φωνητικό ισοδύναμο, στο οποίο διατηρείται όλη η πληροφορία που είναι απαραίτητη για την εκφώνηση της λέξης, χωρίς, ωστόσο, να διατηρείται και η ορθογραφία τους. Για παράδειγμα, γίνεται αντικατάσταση των «αι» από «ε», των «η» και «υ», από το «ι».

Αφού κατασκευαστεί το φωνητικό ισοδύναμο, μπορούν να εφαρμοστούν οι ίδιοι κανόνες αναζήτησης λαθών, όπως και στο μοντέλο χαρακτήρων. Όσο λιγότεροι είναι οι φθόγγοι, τόσο ευκολότερα μπορούν να ανιχνευθούν ‘κοντινές’ λέξεις.

7.8 Σημασιολογική ανάλυση

Κατά τη σημασιολογική ανάλυση (semantic analysis) πραγματοποιείται μετατροπή των προτάσεων σε εσωτερικές δομές αναπαράστασης γνώσης, χρησιμοποιώντας τη νοηματική σημασία των λέξεων. Για να επιτευχθεί κάτι τέτοιο, απαιτούνται οι λεγόμενες εξελιγμένες Γραμματικές Οριστικών Προτάσεων.

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

 

πρόταση ® υποκείμενο(Γένος,Αριθμός,ονομαστική)
ρήμα(Αριθμός)
αντικείμενο(Γένος,Αριθμός,αιτιατική)

πρόταση ® υποκείμενο(Γένος,Αριθμός,ονομαστική)
ρήμα(Αριθμός)
κατηγορούμενο(Γένος,Αριθμός,ονομαστική)

υποκείμενο ® άρθρο(Γένος,Αριθμός,Πτώση)
ουσιαστικό(Γένος,Αριθμός,Πτώση)

κατηγορούμενο® επίθερο(Γένος,Αριθμός,Πτώση)

 

Σε γραμματικές του παραπάνω τύπου, τα χαρακτηριστικά διαδίδονται από τους ειδικότερους στους γενικότερους κανόνες, ώστε να υπάρχει συμφωνία των χαρακτηριστικών αυτών μεταξύ διαφορετικών τμημάτων της πρότασης. Για παράδειγμα:

7.8.1 Αντιμετώπιση αμφιβολίας στην ερμηνεία

Η αμφιβολία στην ερμηνεία προκύπτει από την ασάφεια και σε σημασιολογικό και σε πραγματολογικό επίπεδο, όπως αναλύσαμε στην εισαγωγική παράγραφο του κεφαλαίου αυτού. Για παράδειγμα, στην παρακάτω πρόταση υπάρχει αμφιβολία σχετικά με την απόδοση του χρονικού προσδιορισμού «σήμερα» σε ένα από τα δύο ρήματα:

 

Ο Νίκος ζήτησε από τον Ηλία να τον αντικαταστήσει στη δουλειά σήμερα.

 

Τέτοιας μορφής ασάφεια μπορεί να αντιμετωπισθεί με συντακτικούς κανόνες, όπως, για παράδειγμα, ότι χρονικοί προσδιορισμοί συνδέονται με το κοντινότερο ρήμα. Όμως, οι κανόνες αυτοί δεν μπορούν να έχουν καθολική ισχύ.

Αμφιβολία στην ερμηνεία προκύπτει, επίσης, από την πολυσημία των λέξεων. Για παράδειγμα, στην παρακάτω πρόταση, η λέξη καιρός μπορεί να αναφέρεται και α) στα καιρικά φαινόμενα και β) στην έννοια του χρόνου:

 

Ο καιρός φταίει που οι ντομάτες δεν έχουν κοκκινίσει.

 

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

7.9 Πραγματολογική ανάλυση

Σκοπός της πραγματολογικής ανάλυσης είναι η κατανόηση κειμένων και ο χειρισμός διαλόγων. Κατά την πραγματολογική ανάλυση επιχειρείται η ένταξη κάθε πρότασης μέσα στο γενικότερο νοηματικό πλαίσιο των συμφραζόμενων (context) της, λαμβανομένων υπόψη των συνθηκών μέσα στις οποίες αυτή λέχθηκε. Δυσκολίες προκύπτουν, όταν η πρόταση περιέχει αντωνυμίες, οι οποίες αναφέρονται σε ονόματα άλλων προτάσεων. Για παράδειγμα:

 

Τον αγαπάει.

 

Ως αίτια που οδηγούν ένα κείμενο να παρουσιάζει δυσκολίες στην κατανόησή του καταγράφονται:

Για να λυθούν τα παραπάνω προβλήματα κατανόησης, πρέπει το σύστημα επεξεργασίας φυσικής γλώσσας να κατέχει τη γνώση για τον τρόπο με τον οποίο λειτουργεί ο κόσμος (το γενικότερο νοηματικό πλαίσιο) μέσα στον οποίο αναφέρεται η πρόταση, για τις πιθανότητες εμφάνισης κάποιων γεγονότων, για συνήθειες των ενεργούντων, πιθανά σενάρια (scripts) που μπορεί να διαδραματιστούν (ενδεικτικά).

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

7.10 Παραγωγή Φυσικής Γλώσσας

Η δυνατότητα ενός συστήματος να απαντά στο χρήστη σε φυσική γλώσσα απαιτεί την παραγωγή φυσικής γλώσσας (natural language generation) από το σύστημα, αφού, φυσικά, κατανοήσει πρώτα το ερώτημα του χρήστη, όταν αυτό έχει επίσης εκφραστεί σε φυσική γλώσσα.

Η παραγωγή φυσικής γλώσσας πραγματοποιείται σε δύο στάδια:

Το στάδιο της επιλογής του τι θα λεχθεί έχει να κάνει με το ποια πληροφορία επιλέγει το σύστημα να αναφέρει στο χρήστη. Το πρόβλημα της επιλογής της πληροφορίας αναφέρεται ως σχεδιασμός κειμένου (text planning) και σε εξελιγμένες περιπτώσεις δανείζεται τεχνικές από το σχεδιασμό ενεργειών (planning).

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

Σε περίπτωση κατά την οποία η απάντηση πρέπει να εκφωνηθεί, υπάρχουν επίσης δύο προσεγγίσεις:

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

7.11 Αναγνώριση ομιλίας

Για να καταστεί δυνατή η αναγνώριση ομιλίας (speech recognition), πρέπει να υπάρχει σύστημα καταγραφής ηχητικών-ηλεκτρικών σημάτων με δυνατότητα μετατροπής τους σε φθόγγους και σύνθεσης των φθόγγων για την παραγωγή λέξεων και προτάσεων.

Τα βήματα αναγνώρισης ομιλίας είναι τρία:

  1. Παραγωγή φασματογραφήματος: δημιουργία του φασματογραφήματος (spectrogram) του ήχου που συλλαμβάνεται από ένα μικρόφωνο.
  2. Αναγνώριση φθόγγων: εξαγωγή των φθόγγων (phonemes) από το φασματογράφημα, βάσει μιας βιβλιοθήκης που περιέχει πρότυπα (templates) αυτών.
  3. Δημιουργία λέξεων: συνδυασμός των φθόγγων σε λέξεις που αναγνωρίζονται με τη βοήθεια του λεξικού της γλώσσας.

7.12 Πεδία εφαρμογής Επεξεργασίας Φυσικής Γλώσσας

Η επεξεργασία φυσικής γλώσσας έχει ένα πλήθος εφαρμογών σε διάφορους χώρους. Κατά την κρίση μας, σημαντικότεροι για παρουσίαση είναι οι παρακάτω:

Παρά την πληθώρα τους, οι εφαρμογές στις οποίες απαιτείται κατανόηση φυσικής γλώσσας συχνά αποτυγχάνουν στο να κατανοήσουν και να διατυπώσουν σύνθετες ερωτήσεις. Για να υπάρχει ικανοποιητικό αποτέλεσμα, ο χρήστης θα πρέπει να γνωρίζει το υποστηριζόμενο λεξιλόγιο και τις γραμματικές/συντακτικές δυνατότητες του συστήματος. Ίσως και για το λόγο αυτό δε γνώρισαν έως τώρα μεγάλη εμπορική επιτυχία.