Γλωσσική Τεχνολογία 7 η Ενότητα: Αναγνώριση ομιλίας και συστήματα προφορικών διαλόγων 2015 16 Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1
Οι διαφάνειες αυτές βασίζονται εν μέρει στην ύλη του βιβλίου Speech and Language Processing των D. Jurafsky και J.H. Martin, 2 η έκδοση, Pearson Education, 2009. 2
Τι θα ακούσετε Αναγνώριση ομιλίας: o Επεξεργασία και παράσταση ηχητικού σήματος. o Μετασχηματισμός Fourier και ιδιότητες MFCC. o Ακουστικά μοντέλα HMMs. o Ενσωμάτωση γλωσσικών μοντέλων. o Μέτρα αξιολόγησης αναγνώρισης ομιλίας. Συστήματα προφορικών διαλόγων: o Είδη και χαρακτηριστικά διαλόγων. o Αρχιτεκτονικές διαλογικών συστημάτων. o Διαχείριση διαλόγων με αυτόματα πεπερασμένων καταστάσεων και πλαίσια. o Αξιολόγηση συστημάτων προφορικών διαλόγων. 3
Τι επηρεάζει την αναγνώριση; Μέγεθος λεξιλογίου. o Εύκολο: αναγνώριση αριθμών ή δεκάδων λέξεων. o Δύσκολο: αναγνώριση δεκάδων χιλιάδων λέξεων (π.χ. στην υπαγόρευση κειμένου ή εκπομπές). Μεμονωμένες λέξεις ή συνεχής ομιλία. o Σε συνομιλίες μεταξύ ανθρώπων συνήθως δεν υπάρχουν κενά μεταξύ των λέξεων. o Η αναγνώριση μεμονωμένων λέξεων είναι πιο εύκολη. Για συγκεκριμένο χρήστη ή όχι; o Π.χ. τα συστήματα υπαγόρευσης συχνά βελτιώνονται με δείγματα ομιλίας του συγκεκριμένου χρήστη. o Τα περισσότερα συστήματα πλέον δεν απαιτούν ειδική εκπαίδευση ανά χρήστη. 4
Τι επηρεάζει την αναγνώριση; Μητρική γλώσσα ή όχι; Διάλεκτοι. Ηλικία o Συνήθως υποστηρίζονται συγκεκριμένες γλώσσες και διάλεκτοι, κυρίως για ενήλικες. Μικρόφωνα, πλήθος χρηστών, θόρυβος. o Ευκολότερο: ένας χρήστης με ακουστικό κεφαλής σε ήσυχο γραφείο. o Πολύ δυσκολότερο: πολλοί χρήστες σε θορυβώδες περιβάλλον (π.χ. συνεδρίαση) με μακρινά μικρόφωνα. Είδος συνομιλίας. o Η αυτόματη αναγνώριση ομιλίας μεταξύ ανθρώπων (π.χ. πρακτικά συνεδριάσεων) είναι πολύ πιο δύσκολη. o Οι άνθρωποι απλοποιούν την ομιλία τους όταν μιλούν σε μηχανές (ή σε παιδιά ή σε μαθητές ξένων γλωσσών). 5
Ψηφιακή παράσταση σήματος Σχήμα από τις διαφάνειες των Jurafsky & Martin (2008), προερχόμενο από τον B. Pellom. Μέτρηση του αναλογικού σήματος (πίεση αέρα) ανά τακτά χρονικά διαστήματα (10Hz = 10 φορές ανά sec). o Απαιτείται συχνότητα δειγματοληψίας τουλάχιστον διπλάσια από τη μέγιστη συχνότητα (συνιστώσα) του σήματος. o Ομιλία: < ~10 KHz, άρα δειγματοληψία 20 KHz. o Τηλεφωνία: < 4 KHz, άρα δειγματοληψία 8 KHz. Οι μετρήσεις αποθηκεύονται ως ακέραιοι. o Συνήθως των 8 bit ( 128 ως 127) ή 16 bit ( 32768 ως 32767). 6
Παράθυρα Σχήμα από τις διαφάνειες των Jurafsky & Martin (2008). Εξάγουμε επικαλυπτόμενα τμήματα του σήματος. o Πολλαπλασιάζοντας με μια συνάρτηση «παραθύρου». o Σέρνουμε το παράθυρο κατά μήκος του σήματος. Κάθε τμήμα παριστάνεται συχνά από διάνυσμα 39 αριθμών. o 39 MFCC features (βλ. παρακάτω). 7
Παράθυρα Προαιρετική μελέτη Σχήμα από τις διαφάνειες των Jurafsky & Martin (2008). Το παράθυρο Hamming δίνει έμφαση στο κέντρο του τμήματος. o Βοηθά επίσης να αποφύγουμε ασυνέχειες στα άκρα των παραθύρων. 8
Παράθυρα Προαιρετική μελέτη Τετράγωνο παράθυρο: Παράθυρο Hamming: Τύποι από τις διαφάνειες των Jurafsky & Martin (2008). 9
Μετασχηματισμός Fourier Προαιρετική μελέτη Μπορούμε να σκεφτούμε κάθε ήχο (ή σήμα) ως άθροισμα πολλών (γενικά άπειρων) ημιτονοειδών. = + + Σχήματα από τον ιστότοπο http://www.thefouriertransform.com/. + 10
Μετασχηματισμός Fourier Προαιρετική μελέτη Σχήματα από τον ιστότοπο http://www.thefouriertransform.com/. 11
Μετασχηματισμός Fourier Προαιρετική μελέτη Σχήματα από τον ιστότοπο http://www.thefouriertransform.com/. 12
Μετασχηματισμός Fourier Προαιρετική μελέτη Μετατρέπει το αρχικό σήμα f(t) (συνάρτηση του χρόνου t) σε μιγαδική συνάρτηση መf ξ της συχνότητας (ξ). + o መf ξ = f(t) e 2π i t ξ dt (e i θ = cos θ + i sin θ) o Το μέτρο του μιγαδικού f ξ συχνότητα ξ στο αρχικό σήμα. δείχνει πόσο συμμετέχει η φάσμα συχνοτήτων Σχήματα από την ιστοσελίδα https://learn.adafruit.com/fft-fun-with-fourier-transforms/background 13
Διακριτός μετ/μός Fourier (DFT) Προαιρετική μελέτη Για διακριτό σήμα x 0,, x N 1 και N διακριτές συχνότητες ξ: o x ξ = σ N 1 n=0 x[n] e 2π i n ξ N (e i θ = cos θ + i sin θ) o Αν Ν = 2 m (δύναμη του 2), μπορούμε να χρησιμοποιήσουμε τον αλγόριθμο FFT (Fast Fourier Transform). φάσμα συχνοτήτων Σχήματα από την ιστοσελίδα https://learn.adafruit.com/fft-fun-with-fourier-transforms/background 14
Σχήματα από τις διαφάνειες των Jurafsky & Martin (2008). Προέμφαση Προαιρετική μελέτη Ενισχύουμε τις υψηλότερες συχνότητες της ομιλίας. o Χρησιμοποιώντας υψιπερατό φίλτρο. o Βοηθά τη σωστή αναγνώριση ομιλίας. 15
Ενέργεια του τμήματος Προαιρετική μελέτη Σχήματα από τις διαφάνειες των Jurafsky & Martin (2008). Από κάθε τμήμα (εφαρμογή παραθύρου) εξάγουμε 39 αριθμούς (τιμές ιδιοτήτων MFCC). Η τιμή μιας από τις ιδιότητες MFCC είναι η ενέργεια του τμήματος. L 1 Energy = x 2 [n] n=0 16
Μετ/μός Fourier κάθε τμήματος Προαιρετική μελέτη Κατόπιν εφαρμόζουμε DFT στο τμήμα. Σχήματα από τις διαφάνειες των Jurafsky & Martin (2008). 17
Μετ/μός σε φάσμα mel Προαιρετική μελέτη Η ακοή δεν είναι το ίδιο ευαίσθητη στις συχνότητες. o Λιγότερο ευαίσθητη σε συχνότητες 1 KHz. Συστοιχία φίλτρων mel: o Κάθε φίλτρο δρα ως τριγωνικό παράθυρο πάνω στο φάσμα. o Τα φίλτρα ισαπέχουν για 1 KHz, αραιότερα για 1 KHz. o m 1, m 2,, m M : Ο λογάριθμος της ενέργειας μετά την εφαρμογή του αντίστοιχου τριγωνικού φίλτρου. Σχήμα από τις διαφάνειες των Jurafsky & Martin (2008). 18
Υπολογισμός ιδιοτήτων MFCC Προαιρετική μελέτη Σκεφτόμαστε κατόπιν το φάσμα (έχει γίνει m 1, m 2,, m M ) σαν σήμα. o Εφαρμόζουμε DFT στο φάσμα (spectrum), για να βρούμε τις μικρές του «συχνότητες», που είναι πιο χρήσιμες στην αναγνώριση φωνής. o Ακριβέστερα, εφαρμόζουμε ανάστροφο DFT (IDFT), γιατί πάμε από το πεδίο συχνοτήτων πίσω στο πεδίο του χρόνου. o Κρατάμε τις 12 αριστερότερες τιμές του νέου «φάσματος» (cepstrum). spectrum cepstrum Σχήματα από τις διαφάνειες των Jurafsky & Martin (2008). 19
Μεταβολές (Δ και ΔΔ) Προαιρετική μελέτη Προσθέτουμε μεταβολές (Δ): Σχήματα από τις διαφάνειες των Jurafsky & Martin (2008). o Απλούστερη περίπτωση: πόσο άλλαξε η ενέργεια από το προηγούμενο τμήμα και πόσο άλλαξε κάθε μία από τις άλλες 12 τιμές MFCC. Συνήθως πιο περίπλοκοι υπολογισμοί. Προσθέτουμε μεταβολές μεταβολών (ΔΔ): o Στην απλούστερη περίπτωση: πόσο άλλαξε το Δ της ενέργειας, το Δ κάθε μιας από τις 12 τιμές MFCC κλπ. Συνολικά 39 τιμές ανά τμήμα. o Κάθε τμήμα παριστάνεται από ένα διάνυσμα 39 αριθμών. 20
Αναγνώριση λέξεων με HMMs P(s s) P(ih ih) P(k k) P(s s) Τροποποιημένο σχήμα από τις διαφάνειες των Jurafsky & Martin (2008). P(s start) P(ih s) P(k ih) P(s k) P(end s) Θεωρούμε ότι ο ομιλητής παράγει την ακολουθία τμημάτων (διανυσμάτων MFCC) ακολουθώντας ένα μονοπάτι. o Οι καταστάσεις αντιστοιχούν σε «φώνους» (phones). o Π.χ. το «six» προφέρεται [s ih k s]. Σε κάθε βήμα πηγαίνει σε νέα κατάσταση (ή μένει στην ίδια) με τις κόκκινες πιθανότητες. o Μπορεί π.χ. να πει [s s ih ih ih k s s] ή [s s s ih ih ih ih ih k s s s]. 21
Αναγνώριση λέξεων με HMMs P(s s) P(ih ih) P(k k) P(s s) Τροποποιημένο σχήμα από τις διαφάνειες των Jurafsky & Martin (2008). P(s start) P(ih s) P(k ih) P(s k) P(end s) P( Ԧv s) P( Ԧv ih) P( Ԧv k) P( Ԧv s) Όποτε πηγαίνει (ή μένει) σε μια κατάσταση, ο ομιλητής παράγει ένα τμήμα (διάνυσμα MFCC) σύμφωνα με κατανομή πιθανοτήτων που εξαρτάται από την κατάσταση. o Τα διανύσματα δεν αντιστοιχούν 1-1 με τις καταστάσεις. o Διαφορετικά διανύσματα μπορεί να παραχθούν από την ίδια κατάσταση σε διαφορετικές επισκέψεις της κατάστασης. o Οι πράσινες πιθανότητες («εκπομπής») δείχνουν πόσο πιθανό είναι να παραχθεί κάθε διάνυσμα στη συγκεκριμένη κατάσταση. 22
HMM με υπο-φώνους P(s 0 s 0 ) Τροποποιημένο σχήμα από τις διαφάνειες των Jurafsky & Martin (2008). P(s 1 s 0 ) P(ih 0 s 2 ) P(k o ih 2 ) P( Ԧv s 2 ) P( Ԧv ih 1 ) P( Ԧv ih 2 ) Συνήθως χρησιμοποιούνται τρεις διαφορετικές καταστάσεις (υποφώνοι) ανά φώνο, αντί για μία κατάσταση ανά φώνο. o Γιατί ο ίδιος φώνος συχνά παράγει διαφορετικά διανύσματα MFCC στην αρχή, τη μέση και το τέλος της προφοράς του. Δεν παράγονται διανύσματα MFCC στις start και end. Στην αναγνώριση ομιλίας, κάθε κατάσταση του HMM συνήθως έχει μεταβάσεις μόνο προς μια δεξιότερη κατάσταση ή την ίδια κατάσταση. Σε άλλες εφαρμογές των HMMs δεν ισχύει πάντα αυτό. 23
HMM για αριθμούς Βλ. π.χ. http://www.speec h.cs.cmu.edu/cgi -bin/cmudict Ελαφρά τροποποιημένο σχήμα από τις διαφάνειες των Jurafsky & Martin (2008). Πιθανή παύση (σιωπή) μεταξύ λέξεων. P(z 3 z 3 ) P(uw 1 t 3 ) P( Ԧv z 3 ) P( Ԧv ow 1 ) Επιτρέπει ακολουθίες λέξεων. 24
Αποκωδικοποίηση (αναζήτηση μονοπατιού) one two P(z 3 z 3 ) P(uw 1 t 3 ) v 1,, v k P( Ԧv z 3 ) P( Ԧv ow 1 ) Ελαφρά τροποποιημένο σχήμα από τις διαφάνειες των Jurafsky & Martin (2008). Ψάχνουμε το πιθανότερο μονοπάτι που μπορεί να παρήγαγε την παρατηρούμενη ακολουθία διανυσμάτων MFCC. o Ουσιαστικά την πιθανότερη ακολουθία καταστάσεων, άρα και λέξεων. o Δεν ξέρουμε άμεσα ποιο μονοπάτι χρησιμοποιήθηκε γιατί δεν υπάρχει 1-1 αντιστοιχία μεταξύ καταστάσεων και παρατηρούμενων διανυσμάτων. o Το μονοπάτι είναι «κρυμμένο» από τον παρατηρητή. 25
Αποκωδικοποίηση (αναζήτηση μονοπατιού) Παρατηρούμενη ακολουθία διανυσμάτων MFCC: Ԧv k 1 = Ԧv 1, Ԧv 2,, Ԧv k Μια οποιαδήποτε ακολουθία καταστάσεων ίσου μήκους: s k 1 = s 1, s 2,, s k Θέλουμε την (κρυφή) ακολουθία καταστάσεων που είναι πιθανότερο να οδήγησε στην ακολουθία διανυσμάτων: s 1 Ƹ k = argmax sk 1 P s 1 k Ԧv 1 k = argmax s 1 k o Χρησιμοποιήσαμε τον κανόνα του Bayes. P s 1 k o Ο παρονομαστής είναι ο ίδιος για κάθε s 1 k. P Ԧv 1 k s 1 k P Ԧv 1 k 26
Η πιθανότερη ακολουθία καταστάσεων sƹ k 1 = argmax P s k 1 Ԧv k 1 sk 1 argmax s 1 k = argmax s 1 k P s 1 k P Ԧv 1 k s 1 k = P s 1 P s 2 s 1 P s 3 s 1, s 2 P s 4 s 1 3 P s k s 1 k 1 P Ԧv 1 s 1 k P Ԧv 2 Ԧv 1, s 1 k P Ԧv 3 Ԧv 1, Ԧv 2, s 1 k P Ԧv k Ԧv 1 k 1, s 1 k 1 η απλούστευση: P s i s 1,, s i 1 P s i s i 1 HMM 1 ης τάξης: η πιθανότητα μετάβασης στην κατάσταση s i εξαρτάται μόνο από την προηγούμενη κατάσταση s i 1. HMM n-στής τάξης: εξαρτάται από τις n προηγούμενες. 2 η απλούστευση: P Ԧv i Ԧv 1 i 1, s 1 k P Ԧv i s i Θεωρούμε ότι η πιθανότητα εκπομπής ενός διανύσματος Ԧv i εξαρτάται μόνο από την κατάσταση s i στην οποία βρισκόμαστε. 27
Ƹ Αποκωδικοποίηση (αναζήτηση μονοπατιού) one two P(z 3 z 3 ) P(uw 1 t 3 ) v 1,, v k P( Ԧv z 3 ) Θεωρώντας t 0 = start. P( Ԧv ow 1 ) s k 1 = argmax P s i s i 1 s 1 k k i=1 Ο υπολογισμός γίνεται με Viterbi. P Ԧv i s i o Βλ. ενότητα επισημείωσης ακολουθιών. Στην πράξη χρησιμοποιούνται βελτιώσεις (π.χ. πριόνισμα, βλ. J&M). Ελαφρά τροποποιημένο σχήμα από τις διαφάνειες των Jurafsky & Martin (2008). Εδώ αγνοούμε στο γινόμενο τις μεταβάσεις από την end στη start. 28
Προσθήκη γλωσσικού μοντέλου Τροποποιημένο σχήμα από τις διαφάνειες των Jurafsky & Martin (2008). Πριν αγνοούσαμε τις μεταβάσεις μεταξύ λέξεων. Τώρα λαμβάνουμε υπόψη πόσο πιθανό είναι η κάθε λέξη να ακολουθεί μια άλλη. P(uw 1 t 3 ) P( Ԧv t 3 ) P( Ԧv uw 3 ) Θα υπήρχαν και εδώ καταστάσεις start, end, παύσης. Παραλείπονται για εξοικονόμηση χώρου. P(iy 2 iy 2 ) 29
Αποκωδικοποίηση (τώρα και με γλωσσικό μοντέλο) one two P(uw 1 t 3 ) P( Ԧv t 3 ) P( Ԧv uw 3 ) Ελαφρά τροποποιημένο σχήμα από τις διαφάνειες των Jurafsky & Martin (2008). v 1,, v k P(iy 2 iy 2 ) Θεωρώντας t 0 = start. sƹ k 1 = argmax sk 1 k i=1 P s i s i 1 P Ԧv i s i P w j w j 1 m j=1 Οι πιθανότητες των μεταβάσεων από το τέλος κάθε λέξης στην αρχή μιας επόμενης. Ουσιαστικά γλωσσικό μοντέλο 2-γραμμάτων. Υποθέτουμε εδώ ότι όταν πηγαίνουμε από την τελευταία κατάσταση μιας λέξης στην πρώτη κατάσταση μιας άλλης λέξης, δεν εκπέμπεται διάνυσμα. 30
Αποκωδικοποίηση (τώρα και με γλωσσικό μοντέλο) Γενικότερα, αν δεν έχουμε γλωσσικό μοντέλο 2-γραμμάτων, αλλά π.χ. 3-γραμάτων. sƹ k 1 = argmax sk 1 k i=1 P s i s i 1 P Ԧv i s i LMScore w 1 m argmax s 1 k Στην πράξη δουλεύουμε με λογαρίθμους (αποφεύγουμε πολλαπλασιασμούς πιθανοτήτων). Επίσης δίνουμε βάρος λ στο γλωσσικό μοντέλο. k log P s i s i 1 + log P Ԧv i s i +λ log LMScore w m 1 + m C i=1 Διόρθωση για να μην προτιμώνται προτάσεις με λίγες μεγάλες λέξεις (ευνοούνται από το γλωσσικό μοντέλο). C > 0, m το πλήθος των λέξεων. 31
Εκπαίδευση του HMM Τις πιθανότητες μεταβάσεων P s i s i 1 και εκπομπής P Ԧv i s i τις μαθαίνουμε κατά την εκπαίδευση του HMM. o Απαιτείται σώμα (corpus) μεταγεγραμμένων ομιλιών (εκφωνήματα και αντίστοιχο κείμενο). Σχήμα από τις διαφάνειες των Jurafsky & Martin (2008). o Εκπαίδευση με τον αλγόριθμο Forward-Backward (Baum Welch), αλλά με ειδικές βελτιώσεις για ομιλία. o Οι P Ԧv i s i μοντελοποιούνται ως μίγματα πολυμεταβλητών κανονικών κατανομών (Gaussian Mixture Models, GMM), οπότε μαθαίνουμε τις παραμέτρους τους (μ, σ, βάρος κάθε καμπάνας). o Πιο πρόσφατα χρησιμοποιούνται νευρωνικά δίκτυα (deep neural nets, DNN) για τις P Ԧv i s i ή/και αντί των HMM. o Βλ. μάθημα «Μηχανική Μάθηση» και βιβλιογραφία. 32
Μέτρα αξιολόγησης Λόγος λαθών λέξεων (Word Error Rate): o WERR = Insertions+Replacements+Deletions #ReferenceWords Παράδειγμα από τις διαφάνειες των Jurafsky & Martin (2008). REF: portable **** PHONE UPSTAIRS last night so HYP: portable FORM OF STORES last night so I R R WER = (1+2+0)/6 = 50% Έξοδος συστήματος (υπόθεση). Σωστή μεταγραφή (reference). o Υπολογίζεται όπως η απόσταση Levenshtein, αλλά με κόστος 1 και για R. Το WERR μπορεί να βγει και > 1. Λόγος λαθών προτάσεων (Sentence Error Rate): o Προτάσεις με 1 λάθος / πλήθος προτάσεων. 33
Συστήματα προφορικών διαλόγων Πολλές εφαρμογές, όπως: o κλείσιμο εισιτηρίων ή παροχή πληροφοριών, o πλοήγηση κατά την οδήγηση, o έλεγχος ή προγραμματισμός οικιακών συσκευών, o έλεγχος γνώσεων, γενικότερα εκπαίδευση μαθητών/φοιτητών. Πολλές από τις έννοιες που θα συναντήσουμε εφαρμόζονται και σε συστήματα γραπτών διαλόγων. o Πρόσφατα (πάλι) μεγάλο ενδιαφέρον για chatbots π.χ. αγορών. Η προφορική γλώσσα διαφέρει πολύ από τη γραπτή. Ααα, καλημέρα. Θαα... Θα ήθελα να κλείσω για... εεεε... Μπορείτε να μου πείτε εε... για Αθήνα... γύρωω στις πέντε... γι αύριο μιλάω, έτσι; εεε... αν έχει θέσεις με Ολυμπιακή. 34
Συστήματα προφορικών διαλόγων «Θέλω να πάω στο Ηράκλειο.» (φωνή) αναγνώριση φωνής [θέλω, θα, πάω, στο,???] ανάλυση φυσικής γλώσσας διαχείριση διαλόγου παραγωγή φυσικής γλώσσας σύνθεση φωνής parameter-input(arrive-to, noise) parameter-ask(arrive-to) [πού, θέλετε, να, πάτε, ;] άλλα συστήματα «Πού θέλετε να πάτε;» (φωνή) 35
Προφορικοί διάλογοι με το CSLU Toolkit Το CSLU Toolkit διατίθεται ελεύθερα (βλ. http://www.cslu.ogi.edu/toolkit/). 36
Διαχείριση διαλόγων με αυτόματα πεπερασμένων καταστάσεων Πολλά συστήματα χρησιμοποιούν διαχειριστές διαλόγου βασισμένους σε αυτόματα πεπερασμένων καταστάσεων. Στην πιο απλή περίπτωση, σε κάθε κατάσταση το σύστημα περιμένει συγκεκριμένες λέξεις. Ανάλογα με τη λέξη που θα ακούσει, πηγαίνει σε νέα κατάσταση. o Στο προηγούμενο παράδειγμα, στην κατάσταση size, ο χρήστης μπορούσε να πει «small», «medium» ή «large». o Σε κάποιες καταστάσεις εκτελούνται και ενέργειες, όπως π.χ. κλείσιμο εισιτηρίου. Για να μπορεί ο χρήστης να πει ολόκληρες προτάσεις, συχνά προστίθεται σε κάθε κατάσταση μια γραμματική αναμενόμενων προτάσεων. o Υποβοηθούν την αναγνώριση φωνής καθορίζοντας τις δυνατές ακολουθίες λέξεων του χρήστη σε κάθε κατάσταση. 37
Με διπλό κλικ στην κατάσταση order 38
Με διπλό κλικ στην έξοδο της order «Semantic grammar»: τα μη τερματικά αντιστοιχούν σε είδη οντοτήτων, ενεργειών κλπ., όχι σε γραμματικές κατηγορίες (π.χ. NP, VP). αρχικό σύμβολο: pizza : διάζευξη [...]: προαιρετικό $...: μη τερματικό σύμβολο *sil: παύση *any: λέξεις εκτός λεξικού %%: μην περιλάβεις την αριστερή του λέξη στο αποτέλεσμα της αναγνώρισης 39
Φωνητικό λεξικό 40
Διπλό κλικ στην κατάσταση verify $order(recog): Το αποτέλεσμα της αναγνώρισης φωνής στην κατάσταση order. 41
Πρωτοβουλία (initiative) Στα συστήματα με αυτόματα ως μοντέλα διαλόγου, ο διάλογος καθοδηγείται κυρίως από το σύστημα. o Πρωτοβουλία συστήματος (system initiative): το σύστημα έχει τον έλεγχο. Π.χ. το σύστημα προσφέρει συγκεκριμένες επιλογές και ο χρήστης επιλέγει ή το σύστημα ρωτά τις τιμές συγκεκριμένων παραμέτρων και ο χρήστης τις δίνει. Εναλλακτικά, ο διάλογος καθοδηγείται από το χρήστη. o Πρωτοβουλία χρήστη (user initiative): ο χρήστης έχει τον έλεγχο. Π.χ. θέτει ερωτήσεις ή δίνει εντολές και το σύστημα απαντά. Σε διαλόγους μεταξύ ανθρώπων, ο διάλογος συχνά δεν είναι διαρκώς υπό τον έλεγχο του ίδιου συνομιλητή. o Μικτή πρωτοβουλία (mixed initiative): π.χ. το σύστημα ξεκινά με «Πώς μπορώ να σας εξυπηρετήσω;», κατόπιν παίρνει την πρωτοβουλία όταν χρειάζεται («Τι ώρα θέλετε να πετάξετε;»). 42
Διαχείριση διαλόγων μέσω πλαισίων Η υποστήριξη μικτής πρωτοβουλίας είναι συχνά ευκολότερη με τη χρήση πλαισίων. o Υποστηρίζονται από τη VoiceXML (βλ. J&M). Πώς μπορώ να σας εξυπηρετήσω; #$#$@#$ να [ requesttype κλείσω] @#$#$ [ destination για Αθήνα] @#$@ [ departtime στις πέντε] #$$@#$ [ date αύριο] $@##$$ [ carrier με Ολυμπιακή] requesttype booking Θέλετε να κλείσετε ή να αλλάξετε εισιτήριο; carrier OA Με ποια εταιρεία θέλετε να πετάξετε; date 23/5/11 Ποια ημερομηνία θέλετε να πετάξετε; departfrom Από πού θέλετε να αναχωρήσετε; destination ATH Ποιος είναι ο προορισμός σας; departtime 17:00 Τι ώρα θέλετε να αναχωρήσετε; 43
Διαχείριση διαλόγων μέσω πλαισίων Το σύστημα χρησιμοποιεί μια γραμματική που καλύπτει προτάσεις για οποιαδήποτε πεδία του πλαισίου. o Η γραμματική εξάγει και τις τιμές των πεδίων. o Δυσκολότερη έτσι όμως η αναγνώριση φωνής, γιατί η γραμματική επιτρέπει μεγαλύτερη ποικιλία προτάσεων. Αν λείπει η τιμή ενός πεδίου, το σύστημα παίρνει την πρωτοβουλία και ρωτά για αυτό. o Για κάθε πεδίο, το πλαίσιο παρέχει κατάλληλη ερώτηση. Μπορεί να χρησιμοποιούνται πολλά πλαίσια. o Π.χ. να υπάρχει και πλαίσιο για κλείσιμο αυτοκινήτου. o Ενδέχεται να χρησιμοποιείται γράφος με κόμβους-πλαίσια (π.χ. πρώτα πλαίσιο για κλείσιμο εισιτηρίων, μετά πλαίσιο για κλείσιμο ξενοδοχείου). 44
Αντί για γραμματικές Αντί για γραμματικές, ενδέχεται να χρησιμοποιείται ένα γλωσσικό μοντέλο και μέθοδοι αυτόματης επισημείωσης ακολουθιών. o Το γλωσσικό μοντέλο βοηθά την αναγνώριση φωνής να δώσει προτεραιότητα σε πιο πιθανές προτάσεις. o Η αυτόματη επισημείωση (π.χ. με HMM) εντοπίζει φράσεις που αντιστοιχούν σε τιμές πεδίων ενός πλαισίου. o Όπως π.χ. στην αναγνώριση ονομάτων οντοτήτων. o Απαιτείται και κανονικοποίηση των φράσεων-τιμών. [ ignore Καλημέρα θα ήθελα] [ noise #$#$@#$] [ ignore παρακαλώ να] [ requesttype κλείσω] [ noise @#$#$] [ destination για Αθήνα] [ noise @#$@] [ departtime στις πέντε] [ noise #$$@#$] [ date αύριο] [ noise $@##$$] [ carrier με Ολυμπιακή] 45
Εντοπισμός τιμών πεδίων tˆ arg max P( t w ) arg max k k k 1 1 1 t k 1 k k 1 t1 arg max P( t ) P( w t ) k 1 t k k k 1 1 1 P( t ) P( w t ) k k k 1 1 1 k Pw ( 1 ) arg max P( t1) P( t2 t1) P( t3 t1, t2) P( tk t1,, tk 1) t P( w t ) P( w w, t ) P( w w, t ) P( w w, t ) k k 2 k k 1 k 1 1 2 1 1 3 1 1 k 1 1 [ ignore Καλημέρα θα ήθελα] [ noise #$#$@#$] [ ignore παρακαλώ να] [ requesttype κλείσω] [ noise @#$#$] [ destination για Αθήνα] [ noise @#$@] [ departtime στις πέντε] [ noise #$$@#$] [ date αύριο] [ noise $@##$$] [ carrier με Ολυμπιακή] 46
Εντοπισμός τιμών πεδίων με (semi-)hmm 1 η απλούστευση: Θεωρούμε (μοντέλο Μ-γραμμάτων) ότι η πιθανότητα εμφάνισης μιας ετικέτας εξαρτάται μόνο από τις προηγούμενες M 1. 2 η απλούστευση: P( t t,, t ) P( t t ) i 1 i 1 i 1 i i M 1 P( w w, t ) P( w w, t ) i 1 i i 1 i 1 1 i i M 1 i Θεωρούμε (semi-hmm) ότι η πιθανότητα εμφάνισης μιας λέξης στην ακολουθία εξαρτάται μόνο από την ετικέτα της και τις προηγούμενες M 1 λέξεις. Αντίθετα από τα HMM, όπου εξαρτάται μόνο από την ετικέτα της. [ ignore Καλημέρα θα ήθελα] [ noise #$#$@#$] [ ignore παρακαλώ να] [ requesttype κλείσω] [ noise @#$#$] [ destination για Αθήνα] [ noise @#$@] [ departtime στις πέντε] [ noise #$$@#$] [ date αύριο] [ noise $@##$$] [ carrier με Ολυμπιακή] 47
Παραγωγή αποκρίσεων Είτε με χρήση απλών σχεδιότυπων (templates). o Π.χ. «Ώστε θέλετε μια $order(recog) πίτσα.» Είτε με τεχνικές παραγωγής κειμένων (βλ. σχετική ενότητα). o Η επιλογή περιεχομένου (τι θα πούμε;) συνήθως γίνεται από το διαχειριστή διαλόγων. o Ενδέχεται να προστίθενται και ετικέτες στο παραγόμενο κείμενο, οι οποίες να καθοδηγούν το συνθέτη φωνής. o Ετικέτες: προσωδία ερώτησης ή δήλωσης, ημερομηνίες, χρηματικά ποσά κλπ., μέρη του λόγου (π.χ. «object», αλλά «OBJect»). 48
Στρατηγικές επιβεβαίωσης Ρητή επιβεβαίωση (explicit confirmation). o «Είπατε ότι θέλετε να πάτε στην Αθήνα;» o «Ώστε θέλετε να πετάξετε προς την Αθήνα, αύριο, στις 9:00, με την Ολυμπιακή;» o Συνήθως προτιμότερη μόνο σε κρίσιμα σημεία ή όταν η βεβαιότητα αναγνώρισης/κατανόησης φωνής είναι μικρή. Υπονοούμενη επιβεβαίωση (implicit confirmation). o «Τι ώρα θέλετε να φύγετε για την Αθήνα;» o Προτιμότερη σε μη κρίσιμα σημεία, με επαρκή βεβαιότητα. Απόρριψη (rejection), αν η βεβαιότητα είναι χαμηλή. o Π.χ. αρχικά σύντομη απόρριψη («Συγγνώμη, τι είπατε;»), κατόπιν πιο κατευθυνόμενη («Συγγνώμη, πότε είπατε ότι θέλετε να φύγετε;»), με τελικά εντελώς ελεγχόμενη είσοδο (π.χ. «Παρακαλώ πληκτρολογήστε»). 49
Αξιολόγηση διαλογικών συστημάτων Αξιολόγηση με ανθρώπους-κριτές, π.χ. ερωτηματολόγια: o Βαθμός ικανοποίησης από την αναγνώριση/κατανόηση και παραγωγή/σύνθεση ομιλίας. o Βαθμός ικανοποίησης από την ταχύτητα απόκρισης και το συνολικό χρόνο διαλόγου. o Βαθμός ικανοποίησης από την καθοδήγηση και το αποτέλεσμα (κατάφερε να κλείσει το εισιτήριο που ήθελε;). o Συνολική ικανοποίηση; Θα το ξαναχρησιμοποιούσε; Δύσκολη η διαρκής αξιολόγηση με ανθρώπους-κριτές. Προσπαθούμε να μάθουμε πώς συσχετίζεται η συνολική ικανοποίηση με παράγοντες που μετράμε εύκολα. Π.χ: s d = w 1 p d + w 2 c d + w 3 q d + ικανοποίηση ποσοστό ολοκλήρωσης κόστος διαλόγου ποιότητα αποτελέσματος 50
Μάθηση μέτρου αυτόματης αξιολόγησης s d = w 1 p d + w 2 c d + w 3 q d + Ποσοστό ολοκλήρωσης p d της εργασίας: o Π.χ. ποσοστό των πεδίων που συμπληρώθηκαν ή ποσοστό των υπο-εργασιών που εκτελέστηκαν. Κόστος c d διαλόγου: o Π.χ. διάρκεια του διαλόγου σε χρόνο ή κινήσεις (turns) ή αριθμός διορθώσεων που απαιτήθηκαν. Ποιότητα q d του αποτελέσματος: o Π.χ. ποσοστό πεδίων που συμπληρώθηκαν σωστά ή γενικότερα ποιότητα του έργου που εκτελέστηκε. Μαθαίνουμε τα βάρη w i π.χ. με μεθόδους παλινδρόμησης. o Παραδείγματα εκπαίδευσης: διάλογοι για τους οποίους γνωρίζουμε το βαθμό ικανοποίησης των χρηστών (π.χ. από ερωτηματολόγια) και τα p d, c d, q d, 51
Jurafsky & Martin: Βιβλιογραφία Εισαγωγή κεφ. 9, ενότητες 9.1 9.3, 9.5 9.8, κεφ. 24 (εκτός των ενοτήτων 24.5, 24.6, 24.7). Εξεταστέα ύλη: ό,τι περιλαμβάνεται στις διαφάνειες. Όσοι ενδιαφέρεστε ιδιαίτερα, διαβάστε και τις υπόλοιπες ενότητες, καθώς και τα κεφάλαια 7, 8, 10, 11. Περισσότερες πληροφορίες για τα συστήματα προφορικών διαλόγων θα βρείτε στα βιβλία: o o o «Spoken Dialogue Systems», των J. Jokinen και M. McTear, Morgan & Claypool Publishers, 2010. «Spoken Dialogue Technology Towards the Conversational User Interface», του M.F. McTear, Springer, 2004. Υπάρχουν στη βιβλιοθήκη. 52
Βιβλιογραφία Περισσότερες πληροφορίες για την αναγνώριση ομιλίας θα βρείτε στο βιβλίο: o o «Spoken Language Processing: A Guide to Theory, Algorithm and System Development» των X. Huang κ.ά., Prentice Hall, 2001. Υπάρχει στη βιβλιοθήκη. Για πιο πρόσφατες προσεγγίσεις βασισμένες σε Deep Learning, συμβουλευτείτε το βιβλίο: o «Automatic Speech Recognition: A Deep Learning Approach» των D. Yu και L. Deng, Springer, 2015. 53