Επικοινωνία Ανθρώπου Υπολογιστή Β2. Αναγνώριση ομιλίας (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/
Οι διαφάνειες αυτές βασίζονται στην ύλη του βιβλίου Speech and Language Processing των D. Jurafsky και J.H. Martin, 2 η έκδοση, Pearson Education, 2009. 2
Τι θα ακούσετε Εισαγωγή στην αναγνώριση ομιλίας. Επεξεργασία και παράσταση σήματος. o Μετασχηματισμός Fourier. o Ιδιότητες MFCC. Κρυφά Μαρκοβιανά Μοντέλα (HMMs). o Μοντέλα φώνων, τρι-φώνων, λέξεων. o Αποκωδικοποίηση και εκπαίδευση. o Ενσωμάτωση γλωσσικών μοντέλων. Μέτρα αξιολόγησης αναγνώρισης ομιλίας. 3
Γιατί αναγνώριση ομιλίας; Χρήστες με δυσκολίες κίνησης ή/και όρασης. Όταν τα χέρια ή τα μάτια είναι απασχολημένα. o Π.χ. περπάτημα, οδήγηση (δύσκολο λόγω θορύβου!). Ιδιαίτερα σε συστήματα προφορικών διαλόγων. o Π.χ. κλείσιμο εισιτηρίων μέσω τηλεφώνου. Εξαγωγή πληροφοριών ή γνώμης. o Π.χ. από τηλεφωνικές συνδιαλέξεις ή εκπομπές. Φυσικότερη ή εντυπωσιακότερη επικοινωνία. o Π.χ. υπαγόρευση μηνυμάτων ή κειμένου. o Π.χ. αλληλεπίδραση με ρομπότ ή παιχνίδια. o Προσοχή στις λανθασμένες προσδοκίες! 4
Τι επηρεάζει την αναγνώριση; Μέγεθος λεξιλογίου. o Εύκολο: αναγνώριση αριθμών ή δεκάδων λέξεων. o Δύσκολο: αναγνώριση δεκάδων χιλιάδων λέξεων (π.χ. στην υπαγόρευση κειμένου). Μεμονωμένες λέξεις ή συνεχής ομιλία. o Σε συνομιλίες μεταξύ ανθρώπων συνήθως δεν υπάρχουν κενά μεταξύ των λέξεων. o Η αναγνώριση μεμονωμένων λέξεων είναι πιο εύκολη. Για συγκεκριμένο χρήστη ή όχι; o Π.χ. τα συστήματα υπαγόρευσης συχνά βελτιώνονται με δείγματα ομιλίας του συγκεκριμένου χρήστη. o Τα περισσότερα συστήματα πλέον δεν απαιτούν ειδική εκπαίδευση ανά χρήστη. 5
Τι επηρεάζει την αναγνώριση; Μητρική γλώσσα ή όχι; Διάλεκτοι. Ηλικία o Συνήθως υποστηρίζονται συγκεκριμένες γλώσσες και διάλεκτοι, κυρίως για ενήλικες. Μικρόφωνα, πλήθος χρηστών, θόρυβος. o Ευκολότερο: ένας χρήστης με ακουστικό κεφαλής σε ήσυχο γραφείο. o Πολύ δυσκολότερο: πολλοί χρήστες σε θορυβώδες περιβάλλον (π.χ. συνεδρίαση) με μακρινά μικρόφωνα. Είδος συνομιλίας. o Η αυτόματη αναγνώριση ομιλίας μεταξύ ανθρώπων (π.χ. πρακτικά συνεδριάσεων) είναι πολύ πιο δύσκολη. o Οι άνθρωποι απλοποιούν την ομιλία τους όταν μιλούν σε μηχανές (ή σε παιδιά ή σε μαθητές ξένων γλωσσών). 6
Μετασχηματισμός Fourier Μπορούμε να σκεφτούμε κάθε ήχο (ή σήμα) ως άθροισμα πολλών (γενικά άπειρων) ημιτονοειδών. = + + Σχήματα από τον ιστότοπο http://www.thefouriertransform.com/. + 7
Μετασχηματισμός Fourier Σχήματα από τον ιστότοπο http://www.thefouriertransform.com/. 8
Μετασχηματισμός Fourier Σχήματα από τον ιστότοπο http://www.thefouriertransform.com/. 9
Μετασχηματισμός 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 10
Διακριτός μετασχηματισμός 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 11
Ψηφιακή παράσταση σήματος Σχήμα από τις διαφάνειες των 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 ( 32.768 ως 32.767). 12
Προέμφαση Σχήματα από τις διαφάνειες των Jurafsky & Martin (2008). Ενισχύουμε τις υψηλότερες συχνότητες της ομιλίας. o Χρησιμοποιώντας υψιπερατό φίλτρο. o Βοηθά τη σωστή αναγνώριση ομιλίας. 13
Παράθυρα Σχήμα από τις διαφάνειες των Jurafsky & Martin (2008). Εξάγουμε επικαλυπτόμενα τμήματα του σήματος. o Πολλαπλασιάζοντας με μια συνάρτηση «παραθύρου». o Σέρνουμε το παράθυρο κατά μήκος του σήματος. Κάθε τμήμα παριστάνεται από διάνυσμα 39 αριθμών. o 39 MFCC features (βλ. παρακάτω). 14
Παράθυρα Σχήμα από τις διαφάνειες των Jurafsky & Martin (2008). Το παράθυρο Hamming δίνει έμφαση στο κέντρο του τμήματος. o Βοηθά επίσης να αποφύγουμε ασυνέχειες στα άκρα των παραθύρων. 15
Παράθυρα Τετράγωνο παράθυρο: Παράθυρο Hamming: Τύποι από τις διαφάνειες των Jurafsky & Martin (2008). 16
Ενέργεια του τμήματος Σχήματα από τις διαφάνειες των Jurafsky & Martin (2008). Από κάθε τμήμα (εφαρμογή παραθύρου) εξάγουμε 39 αριθμούς (τιμές ιδιοτήτων MFCC). Η τιμή μιας από τις ιδιότητες MFCC είναι η ενέργεια του τμήματος. L 1 Energy = x 2 [n] n=0 17
Μετ/μός Fourier κάθε τμήματος Κατόπιν εφαρμόζουμε DFT στο τμήμα. Σχήματα από τις διαφάνειες των Jurafsky & Martin (2008). 18
Μετασχηματισμός σε φάσμα mel Η ακοή δεν είναι το ίδιο ευαίσθητη στις συχνότητες. o Λιγότερο ευαίσθητη σε συχνότητες 1 KHz. Συστοιχία φίλτρων mel: o Κάθε φίλτρο δρα ως τριγωνικό παράθυρο πάνω στο φάσμα. o Τα φίλτρα ισαπέχουν για 1 KHz, αραιότερα για 1 KHz. o m 1, m 2,, m M : Ο λογάριθμος της ενέργειας μετά την εφαρμογή του αντίστοιχου τριγωνικού φίλτρου. Σχήμα από τις διαφάνειες των Jurafsky & Martin (2008). 19
Υπολογισμός ιδιοτήτων MFCC Σκεφτόμαστε κατόπιν το φάσμα (έχει γίνει m 1, m 2,, m M ) σαν σήμα. o Εφαρμόζουμε DFT στο φάσμα (spectrum), για να βρούμε τις μικρές του «συχνότητες», που είναι πιο χρήσιμες στην αναγνώριση φωνής. o Ακριβέστερα, εφαρμόζουμε ανάστροφο DFT (IDFT), γιατί πάμε από το πεδίο συχνοτήτων πίσω στο πεδίο του χρόνου. o Κρατάμε τις 12 αριστερότερες τιμές του νέου «φάσματος» (cepstrum). spectrum cepstrum Σχήματα από τις διαφάνειες των Jurafsky & Martin (2008). 20
Μεταβολές (Δ και ΔΔ) Προσθέτουμε μεταβολές (Δ): Σχήματα από τις διαφάνειες των Jurafsky & Martin (2008). o Απλούστερη περίπτωση: πόσο άλλαξε η ενέργεια από το προηγούμενο τμήμα και πόσο άλλαξε κάθε μία από τις άλλες 12 τιμές MFCC. Συνήθως πιο περίπλοκοι υπολογισμοί. Προσθέτουμε μεταβολές μεταβολών (ΔΔ): o Στην απλούστερη περίπτωση: πόσο άλλαξε το Δ της ενέργειας, το Δ κάθε μιας από τις 12 τιμές MFCC κλπ. Συνολικά 39 τιμές ανά τμήμα. o Κάθε τμήμα παριστάνεται από ένα διάνυσμα 39 αριθμών. 21
Κρυφά Μαρκοβιανά Μοντέλα (Hidden Markov Models, 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]. 22
Κρυφά Μαρκοβιανά Μοντέλα 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 Οι πράσινες πιθανότητες («εκπομπής») δείχνουν πόσο πιθανό είναι να παραχθεί κάθε διάνυσμα στη συγκεκριμένη κατάσταση. 23
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 δεν ισχύει πάντα αυτό. 24
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 ) Επιτρέπει ακολουθίες λέξεων. 25
Αποκωδικοποίηση (αναζήτηση μονοπατιού) 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 Το μονοπάτι είναι «κρυμμένο» από τον παρατηρητή. 26
Αποκωδικοποίηση (αναζήτηση μονοπατιού) Παρατηρούμενη ακολουθία διανυσμάτων 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 27
Η πιθανότερη ακολουθία καταστάσεων 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 στην οποία βρισκόμαστε. 28
Ƹ Αποκωδικοποίηση (αναζήτηση μονοπατιού) 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 P Ԧv i s i Ο υπολογισμός γίνεται με δυναμικό προγραμματισμό. o Αλγόριθμος Viterbi. Βλ. μαθήματα «Μηχανική Μάθηση», «Γλωσσική Τεχνολογία» και παραπομπές. Ελαφρά τροποποιημένο σχήμα από τις διαφάνειες των Jurafsky & Martin (2008). Εδώ αγνοούμε στο γινόμενο τις μεταβάσεις από την end στη start. 29
Προσθήκη γλωσσικού μοντέλου Τροποποιημένο σχήμα από τις διαφάνειες των Jurafsky & Martin (2008). Πριν αγνοούσαμε τις μεταβάσεις μεταξύ λέξεων. Τώρα λαμβάνουμε υπόψη πόσο πιθανό είναι η κάθε λέξη να ακολουθεί μια άλλη. P(uw 1 t 3 ) P( Ԧv t 3 ) P( Ԧv uw 3 ) Θα υπήρχαν και εδώ καταστάσεις start, end, παύσης. Παραλείπονται για εξοικονόμηση χώρου. P(iy 2 iy 2 ) 30
Αποκωδικοποίηση (τώρα και με γλωσσικό μοντέλο) 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-γραμμάτων. Υποθέτουμε εδώ ότι όταν πηγαίνουμε από την τελευταία κατάσταση μιας λέξης στην πρώτη κατάσταση μιας άλλης λέξης, δεν εκπέμπεται διάνυσμα. 31
Αποκωδικοποίηση (τώρα και με γλωσσικό μοντέλο) Γενικότερα, αν δεν έχουμε γλωσσικό μοντέλο 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 το πλήθος των λέξεων. 32
Εκπαίδευση του 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 Βλ. μαθήματα «Μηχανική Μάθηση», «Γλωσσική Τεχνολογία» και βιβλιογραφία. 33
Μέτρα αξιολόγησης Λόγος λαθών λέξεων (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 λάθος / πλήθος προτάσεων. 34
Διάβασμα Η ύλη αυτής της ενότητας καλύπτεται από τα κεφάλαια 6 και 9 του βιβλίου «Speech and Language Processing» των Jurafsky & Martin, 2 η έκδοση, Prentice Hall, 2008. Υπάρχει στη βιβλιοθήκη. Ενότητες 6.1, 6.2, εισαγωγή κεφ. 9, ενότητες 9.1 9.3, 9.5 9.8. Μόνο ό,τι περιλαμβάνεται στις διαφάνειες. Όσοι ενδιαφέρεστε ιδιαίτερα, διαβάστε και άλλες ενότητες/κεφάλαια. Περισσότερες πληροφορίες για την αναγνώριση ομιλίας θα βρείτε (προαιρετικά) στο βιβλίο «Spoken Language Processing: A Guide to Theory, Algorithm and System Development» των X. Huang κ.ά, Prentice Hall, 2001. Υπάρχει στη βιβλιοθήκη. 35
Διάβασμα Για πιο πρόσφατες προσεγγίσεις βασισμένες σε Deep Learning, συμβουλευτείτε το βιβλίο «Automatic Speech Recognition: A Deep Learning Approach» των D. Yu και L. Deng, Springer, 2015. 36