Reconnaissance automatique de la parole

publicité
1. Introduction générale
2. Ingénierie des langues
–
–
–
•
•
•
2.3.1 Dictionnaires et étiquetage de surface
2.3.2 Re-ponctuation et recapitalisation de textes
2.3.3 Traduction automatique statistique
3. Ingénierie de la parole
–
–
–
–
–
x : suite de vecteurs acoustiques
wi : mot ou phonème
2.1 Représentation et codage des textes
2.2 Théorie de l’information et probabilités
2.3 Quelques applications du traitement automatique du langage naturel
3.1 Rappels de traitement numérique du signal
3.2 Le signal de parole : analyse, unités pertinentes et variabilité
3.3 Codage et compression de la parole
3.4 Reconnaissance automatique de la parole
3.5 Synthèse de la parole
=
=
!
x : suite de vecteurs acoustiques
wi : mot ou phonème
Petits lexiques :
– Représentation globale : un modèle dédié à
chaque mot du vocabulaire
Grands lexiques :
=
=
– Les mots sont représentés par une suite
d’unités élémentaires (phonèmes)
!
# $
!
Inconvénients
– Petits vocabulaires
– Difficilement modifiable
– Base de données importante et spécifique pour
l’apprentissage.
– Pour l’apprentissage des modèles, il faut disposer
d’une base de données contenant plusieurs
prononciations de chaque mot à reconnaître
En général, associé à des systèmes simples ou à
des applications type « word spotting »
!
&
%
Couper les mots en morceaux :
– préfixes, racines, …..
Décomposer les mots en syllabes
– nombre important
Décomposer les mots en phonèmes
– une trentaine pour le français
Attention à la coarticulation
Phonétisation du lexique
– plusieurs phonétisations pour un même mot
Un mot devient une suite de modèles acoustiques
– un par phonème : modélisation hors contexte
– plusieurs par phonème : modélisation contextuelle
• contexte droit ou gauche
• contexte droit et gauche
– Représenter un mot par une suite de phonèmes en
contexte
"
!
&
!
($
&
Apprentissage des modèles (phonèmes)
indépendamment des mots à reconnaître
Ajouter un mot :
– le phonétiser
– mettre la liste des phonèmes dans le
lexique
Nombre important de noeuds
Pas de frontières entre les mots
Construire à partir des listes de phonèmes
un arbre a tête commune de tous les mots
:
Exemple :
– lexique
• A=abc
• B=abd
• C=ae
Soit une production vocale :
– on ne connaît pas le nombre de mots
prononcés par le locuteur
– on ne sait pas où chaque mot commence et
finit
'
*
$
%
)
x : suite de vecteurs acoustiques
wi : mot ou phonème
But : associer une probabilité à toute suite de
mots et participer aux choix des candidats
pour la suite de la phrase à reconnaître
Deux approches possibles :
– l ’une issue de la théorie de l ’information
=
=
– l ’autre faisant appel à des connaissances linguistiques
et grammaticales
, %
%
-
Une distribution de probabilités
associée à une séquence de mots
P(“And nothing but the truth”) ≈ 0.001
P(“And nuts sing on the roof”) ≈ 0
!
&
P(X) signifie “probabilité que X soit vrai”
– P(baby is a boy) ≈ 0.5 (% of total that are boys)
– P(baby is named John) ≈ 0.001 (% of total
named John)
. $/ $ /
. $
0 &
+
!
&
!
P(X, Y) signifie “probabilité que X et Y
soient vrais tous les deux”
P(X|Y) signifie “probabilité que X soit
vrai quand on sait déjà que Y est vrai”
– P(baby is named John | baby is a boy) ≈ 0.002
– P(baby is a boy | baby is named John ) ≈ 1
– e.g. P(brown eyes, boy)
. $/ $ /
0 &
!
. $
. 2
. $
0 &
!
P(X|Y) = P(X, Y) / P(Y)
– P(baby is named John | baby is a boy) =
P(baby is named John, baby is a boy) / P(baby
is a boy) = 0.001 / 0.5 = 0.002
0 &
. $/ $ /
/
&
. $/ $ /
&
. $
&
Règle de Bayes : P(X|Y) = P(Y|X) × P(X) /
P(Y)
P(named John | boy) = P(boy | named
John) × P(named John) / P(boy)
. $/ $ /
. $
0 &
1
4
&
&
Difficile de calculer : P(“And nothing
but the truth”)
=> Decomposer la probabilité
P(“And nothing but the truth) =
P(“And”) ×P(“nothing|and”) × P(“but|and
nothing”) × P(“the|and nothing but”) ×
P(“truth|and nothing but the”)
Estimer la probabilité d ’un mot ou d ’une
séquence de mots W=w1w2…wn
En général, on peut calculer la probabilité
d’une séquence de mots avec la formule :
=
"
6 6
=∏
=
5
6 6
−
– impossibles à estimer
– impossibles à stocker
&
&
"
'
En pratique, on utilisera un modèle bigramme :
=∏
ou trigramme :
6
En pratique, ces probabilités sont :
=
=∏
=
−
−"
6
−
On utilise un grand corpus des données (le
corpus d’entraînement) pour calculer les
fréquences d ’unigrammes, bigrammes et
trigrammes :
6 " = "'
'
'
Exemple : calculer un ML (uni- et bigramme) sur la phrase suivante :
« Pour trouver la bonne orthographe et
la bonne syntaxe, le logiciel de
reconnaissance vocal effectue en
permanence des analyses de contexte
des mots que vous dictez »
"
3
&
)
&
+
Réponse :
nombre de mots différents : 22
unigrammes
– (pour, trouver, orthographe, et, syntaxe, le, logiciel,
reconnaissance, vocal, effectue, en, permanence, analyses,
contexte, mots, que, vous, dictez)
p=0.038 (1/26)
– (la, bonne, de, des)
p=0.077 (2/26)
Au lieu de compter les mots, on peut
utiliser un analyseur syntaxique ou faire
une caractérisation grammaticale des
mots, puis compter les classes (article,
adjectif, verbe, nom…)
bigrammes : ….26 bigrammes equiprobables
&
1
« Pour trouver la bonne orthographe et la bonne
syntaxe, le logiciel de reconnaissance vocal effectue
en permanence des analyses de contexte des mots
que vous dictez »
« prep. verbe article adj. nom conj article adj. nom,
article nom prep. nom adj. verbe prep. nom article
nom prep nom prep nom conj. pronom verbe »
uni-classes :
– prep:0.19 (5) ; verbe:0.12 (3) ; article:0.15 (4) ; adj:0.12 (3) ;
nom:0.31 (8) ; conj:0.08 (2) ; pronom:0.04 (1)
#
Modèles stochastiques limités par le mémoire
de quelques mots (3, 4, 5 au maximum…)
La grammaire permet d ’imposer des
contraintes au niveau d ’une phrase (règles)
Nouveau problème : quelle grammaire pour un
discours oral (sans véritable structure
classique, comme dans un discours écrit) ?
bi-classes :
– article-verbe: 0 !!! (ça n ’arrive pas…)
– article-nom : ça arrive + souvent
– ...
7
9:
%
Perplexité
x : suite de vecteurs acoustiques
wi : mot ou phonème
– soit une séquence de mots W=w1w2…wn
=[
– on utilise souvent :
6
=−
"
6 6
]−
6
=
"
6 6
−
Taux de reconnaissance du système de RAP
=
=
– Problème d ’évaluation des systèmes…
– Nécessité d ’avoir un même système de décodage
acoustico-phonétique pour évaluer différents modèles
de langage (impossible…)
;
;
<
8
=< > !(<
http://wwwclips.imag.fr/geod/User/laurent.besacier/
NEW-TPs/TP-CL/tp8.html
Les meilleurs systèmes obtiennent*
– ~10-12% de taux d’erreur de mots pour l’anglais sur
des documents de journaux télévisés ou des
enregistrements du parlement européen
– ~20% de taux d’erreur de mots pour l’anglais sur des
conversations téléphoniques
Progrès réguliers
Voir évaluations DARPA & NIST …
*sources: projets TCSTAR & GALE
Progrès des 15 dernières années
essentiellement dus à…
– Un affinement des modèles : approches
discriminantes (MMI,MPE), partage (tying) de
gaussiennes ou d’états
– Des techniques d’adaptation
(MAP,MLLR,VTLN)
– Une puissance de calcul croissante : pour le
décodage multi-passe ou les approches multireconnaisseurs (ROVER)
– … surtout…
5
9:
• Plus de données !
Tendances
•
–
–
–
–
–
“There’s no data like more data”, Robert L. Mercer
Transcription ‘Simple’
Flux audio contrôlé
Un capteur
Monolingue
Audio seul
Transcription Riche
Flux audio continu
Capteurs multiples
Multilingue
Multimodal
Difficulté croissante des tâches
Training (hrs)
141
297
602
843
WER(%)
17.2
15.4
14.7
14.5
$
!
:
Transcription enrichie
–
Marquer les tours de parole, les disfluences
Flux audio continu
–
Besoin de marques de début / fin de phrases, ponctuation, pas
uniquement de la parole
Capteurs multiples
Multilinguisme
–
Portage vers une nouvelle langue, locuteurs non natifs
Multimodalité
–
$%
"
Flux multiples et souvent asynchrones
%&
!#
?
&
Téléchargement