Traitement de la Parole Cours 3: Reconnaissance de la parole Principes 26/03/2007 Plan 1. Processus de reconnaissance de la parole (RAP) 2. Composantes d un système de reconnaissance 3. Extraction de caractéristiques 4. Problème de classification Loi de Bayes Exemple 5. Reconnaissance vs. Interprétation 6. Les grammaires Définitions Exemple de grammaire à états finis 7. Types d erreurs 8. Réglage du seuil de reet 9. Classification des systèmes de RAP 10. Les systèmes commerciaux Principaux fournisseurs Exemples d application 1
Voice input: overview Feature Vectors Speech Endpointing Feature Extraction Pattern classification } Feature Vectors Speech I wanna go to dallas Recognition I wanna go to dallas Language Interpretation eaning Destination=Dallas eaning Destination=Dallas Dialog anagement TTS: at what time would You like to fly to Dallas Processus de reconnaissance de la parole Reconnaissance de la parole texte reconnu Reconnaissance automatique de la parole: transformation d un signal de parole en une séquence de symboles représentative du contenu du signal. 2
Composantes d un système de reconnaissance Les systèmes de RAP procèdent en deux étapes 1. Extraction de caractéristiques (feature extraction) 2. Classification 1. odélisation acoustique 2. odélisation de la langue extraction de caractéristiques classification I wanna go to dallas Extraction de caractéristiques (1/3) Obectifs: Extraire des informations qui permettent de mieux séparer les sons Efficacité en terme de rapidité de calcul et de réduction de la quantité d information à traiter Les algorithmes les plus utilisés sont l extraction de mel frequency cepstral coeficients (mfcc) ou les linear predictive cepstral coeficients (lpcc) Schéma bloc d une extraction de coefficients mfcc 3
Extraction de caractéristiques (2/3) Framing Le signal est découpé en tranches d analyse Typiquement, la longueur d une tranche est de 30 ms et le décalage entre deux tranches de 10 ms 30 ms d analyse est en fait un compromis: de trop longues tranches d analyse vont tomber sur des parties non-stationaires du signal, de trop courtes tranches ne permettent pas l analyse spectrale Windowing Les tranches d analyse sont «fenêtrées» càd pondérées par des coefficients pour réduire les effets de bord dans les étapes ultérieures d analyse fréquentielle La fenêtre utilisée classiquement est la fenêtre de Hamming Extraction de caractéristiques (3/3) FFT (fast fourier transform) Passage dans le domaine spectral avec une transformée de Fourier rapide EL frequency transformation ultiplication par des fonctions triangulaires de EL otivation: l oreille humaine traite les informations de façon non-linéaire en fonction de la fréquence On récupère le log de l énergie à la sortie de chaque banc de filtre DCT (discrete cosine transform) Cette transformation est appliquée aux sorties des filtres EL Décorrélation naturelle des coefficients Sorte de «déconvolution homomorphique» 4
Problème de classification (1/4) Le signal de parole est l observation. On le note X. X peut être en fait considéré comme le résultat de l extraction de caractéristiques du signal de parole, càd une séquence de vecteurs acoustiques (cf. ci-avant). est le modèle associé au mot ou à la séquence de mots reconnue. { 0, 1,, I } est l ensemble des modèles associés aux mots constituant le vocabulaire du système But: choisir le modèle optimal pour minimiser le nombre d erreurs de classifications. La théorie de Bayes nous dit opt = arg max X ) Problème de classification (2/4) Loi de Bayes A, B) = A B) B) = B A) A) d'où B A) A) A B) = B) Pour notre problème: X ) ) X ) = X ) 5
Problème de classification (3/4) Vraisemblance (likelihood) = probabilité d une séquence de vecteurs acoustiques étant donné le modèle X ) ) X ) = X ) Probabilité à postériori = probabilité d un modèle étant donné l observation Probabilité àpriori= probabilité du modèle sans faire d observations Problème de classification (4/4) opt = arg max X ) X ) ) = arg max X ) Choisir le modèle optimal revient à choisir le modèle qui maximise le numérateur odèle acoustique: va être calculé par des modèles de arkov cachés (cf. cours suivants) odèle de langue: va représenter les probabilités que certains mots se suivent 6
Reconnaissance vs Interprétation La RAP est parfois suivie par une étape d interprétation (language understanding). L interprétation est souvent utilisée par le système pour exécuter une action (par ex système à dialogue) Dans le cas où l interprétation est nécessaire, les performances sont mesurées par deux taux: Le taux d erreur : performance de la phase de reconnaissance de parole Le taux de fausse interprétation: performance de la phase d interprétation Ces valeurs peuvent être différentes Speech recognition texte reconnu Language understanding interprétation hum oui c est correct absolument pas oui non Les grammaires - définitions Grammaire: ensemble des phrases/mots que l utilisateur peut énoncer pour interagir avec le système. Systèmes à simple commande: La grammaire est une liste de mots Systèmes à dialogues: La grammaire est un ensemble fini de phrases et de mots (grammaire à états finis) La grammaire est définie dans un langage de spécification de grammaire; ex GRXL, Nuance GSL La grammaire change potentiellement à chaque étape du dialogue Des portions de la grammaire peuvent être générées dynamiquement en fonction du contenu d une base de données Systèmes à dictée vocale ou audio mining: La grammaire est stochastique, elle est définie en terme de probabilités qu un mot (bigram) ou qu un ensemble de mots (n-gram) précèdent un autre mot. 7
Exemple de grammaire à états finis (1/2) Les possibilités de chemins dans la grammaire sont définis par des commandes de base. OU ET OPTION REPETITION [... ] (... )?... +... EXEPLE: grammaire oui/non [ yes no ] [ (yes?please) (no?(thank you) ] Exemple de grammaire à états finis (2/2).YES_NO (?[um uh] [([ (yes?(it?[sure certainly] is)) (it?[sure certainly] is) yup yeah okay sure (you got it) (?(?yes that's) [right correct]) ]?[please thanks (thank you)]) {return(yes)} ([ nope (absolutely not) (no?[[(it isn't) (it's not) (it is not)] way]) [(it isn't) (it's not) (it is not)] (?(?no that's) [wrong (not [correct right]) incorrect ] ) ]?[thanks (thank you)]) {return(no)} ] ) 414 possibilités de dire oui ou non 8
Types d erreur (1/4) Grammar H1 H2... Hn X ASR Acoustic models Recognition hypothesis Hi RAP sélectionne l hypothèse qui minimise les erreurs de reconnaissance H opt = arg max H X ) Types d erreur (2/4) Si on fait l hypothèse que l utilisateur dit quelque chose qui est dans la grammaire (in-grammar), il y a trois types d erreur: Suppression Insertion Substitution Ces erreurs sont pondérées et sommées pour calculer un taux d erreur représentatif des performances du système 9
Types d erreur (3/4) [ (yes?please) (no?(thank you) ] Abracadabra. X ASR Acoustic models Yes H opt = arg max H X ) Si l utilisateur dit quelque chose hors de la grammaire, le système doit être capable de reeter l hypothèse Accepte H opt si f ( H X )) > T Reette H opt si f ( H X )) < T T est appelé le seuil de reet, f est une fonction de normalisation Types d erreur (4/4) [ (yes?please) (no?(thank you) ] Types d erreur Phrase dite Phrase reconnue Décision Fausse Acceptation d une phrase hors-grammaire «Abracadabra» yes S > T Faux Reet d une phrase in-grammar «Yes please» REJECT S < T Fausse reco (Substitution) d une phrase in-grammar «Yes please» no thank you S > T 10
Réglage du seuil de reet (1/4) Le seuil de reet défini la «confiance» du système. T est élevé Le système va massivement reeter les hypothèses Le système a peut de confiance dans les hypothèses de reconnaissance T est bas Le système va accepter la plupart des hypothèses (même abracadabra ) Le système a confiance dans le les hypothèses de reconnaissance Il y a un compromis à définir relativement à la confiance du système. Il y a une valeur de T optimale (cf. slide suivant). Réglage du seuil de reet (2/4) La valeur optimale de T est obtenue en minimisant une fonction de coût: C( T ) = C FR R IG, T ) IG) + C FS S IG, T ) IG) + C FA A IG, T ) IG) où CFR = cost of false reection, CFS = cost of false substitution, CFA = cost of false acceptation R = reection, S = substitution, A = acceptation IG = in - grammar (ig) phrase, IG) = prob that user says ig phrase IG = out - of - grammar (oog) phrase, IG) = prob that user says oog phrase R IG, T ) = probability of reection of an in - grammar phrase at a given value of T... 11
Réglage du seuil de reet - exemple (3/4) R IG, T ), S IG, T ), A IG, T ) sont mesurés après analysedes logs pour une grammairedonnée IG), IG) sont mesurés après analysedes logs C, C FA FS, C FR sont donnés par le chef de proet Directory dialer - 300 entries 100.00% 90.00% 80.00% 70.00% Probability 60.00% 50.00% 40.00% S IG,T) R IG,T) A Not(IG),T) 30.00% 20.00% 10.00% 0.00% 0 7 14 21 28 35 42 49 56 63 70 77 84 91 98 Threshold (T) Réglage du seuil de reet - exemple (4/4) Cost evolution for two different weightings 4.50 4.00 3.50 3.00 Cost 2.50 2.00 Equal weight 4-1-3 1.50 1.00 0.50 0.00 1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 Threshold 12
Classification des systèmes (1/2) Les systèmes de RAP sont souvent classés suivant certains aspects du signal de parole Nombre de locuteurs: Dépendant du locuteur: un seul utilisateur du système Système multilocuteur: un nombre limité d utilisateurs Indépendant du locuteur: nombre illimité d utilisateurs Rythme de parole: Variabilité Performances ots isolés Parole continue Parole spontanée Conversation Performances Keyword spotting Taille et complexité du vocabulaire Qualité de la transmission/acquisition du signal Classification des systèmes (2/2) Signal Quality Contrôle d application - (in)dépendant du locuteur - Fonctionne sur PDA - Par ex navigation web,... - Quelques centaines de mots Dictée vocale - Dépendant du locuteur - Fonctionne sur laptops - Word processing,... - Jusque 50K mots CPU ots clés / password - Dépendant du locuteur - Fonctionne sur tél mobiles - Voice dialing,... - Quelques dizaines de mots Services télécoms - Indépendant du locuteur - Fonctionne sur serveurs - Applications à dialogue - Jusque 10 000 mots 13
Systèmes commerciaux principaux fournisseurs Dictée vocale / audio mining «Dragon naturally speaking» chez Scansoft Reconnaissance en milieu téléphonique Nuance Communications Loquendo Contrôle d application Acapela group Intégrateurs d applications Voxpilot ExcelsisNetwork UbiCall Dommunications Systèmes commerciaux exemples d applications Services d information automatique par téléphone Touring club Suisse: 163 UBS yvoice: 0848 848 005 Europlex Cinéma: 0900 900 156 RSR La Première: 0 900 365 365 Dictée vocale: ilieu médical ilieu légal Audio mining Aide aux handicapés Système d apprentissage des langues 14