• Aucun résultat trouvé

Partant de la maximisation décrite par l'équation (1.4) et des modèles à notre disposi-tion, la question du décodage d'un signal de parole consiste à parcourir l'espace de recherche que représente l'intégralité des séquences de mots possibles à partir du vocabulaire du sys-tème et à calculer le score de chacune d'entre elles. Clairement, cet espace de recherche est inni puisqu'aucune hypothèse n'est faite sur la longueur des séquences à trouver. Quand bien même une telle hypothèse serait faite, le test de toutes les hypothèses de transcription possibles reste irréaliste étant donnée l'explosion combinatoire de leur nombre face à la taille du vocabulaire. Un système de reconnaissance s'appuie alors sur plusieurs stratégies qui, conjointement utilisées, permettent de maintenir des temps de décodage raisonnables.

1.2.1 Partitionnement du signal de parole

La durée du signal peut être un problème car, lorsqu'elle augmente, la longueur de la transcription attendue en sortie augmente également. Ainsi, des signaux d'entrée trop longs impliquent le parcours d'espace de recherche gigantesques et nécessitent des temps de traitements prohibitifs. En pratique, pour contourner cette limite, un signal de parole en entrée est découpé en segments relativement courts, typiquement d'une durée de 10 à 30 secondes. Pour ce faire, une frontière peut notamment être posée dans le signal à chaque fois qu'un locuteur marque une pause silencieuse de quelques dixièmes de seconde, par exemple pour prendre sa respiration. Par la suite, nous ferons référence à ces segments via le terme groupes de soue. Une fois le signal segmenté, la transcription de celui-ci se réduit à transcrire successivement chacun de ses groupes de soue.

1.2.2 Processus de transcription multi-passes

Les systèmes de reconnaissance automatique de la parole à grand vocabulaire fonc-tionnent souvent selon un processus itératif visant à réduire progressivement l'espace de recherche. Ce processus s'organise en plusieurs passes où, à l'issue de chacune, l'espace de

Décodage et questions algorithmiques

recherche courant est conservé et est transmis à la passe suivante. Chaque nouvelle passe consiste alors à re-parcourir l'espace de recherche courant en utilisant des modèles plus pré-cis que ceux utilisés jusqu'alors, permettant ainsi d'écarter des hypothèses de transcription jugées trop peu prometteuses par les nouveaux modèles.

En pratique, les diérents espaces de recherche manipulés sont représentés sous la forme de graphes dirigés acycliques, dits graphes de mots, dont les n÷uds sont des instants du signal et dont chaque arc représente une hypothèse de mot à laquelle sont associés deux scores : un score acoustique correspondant à la vraisemblance du mot étant donnée la posi-tion courante dans le signal, score donné par le modèle acoustique ; et un score linguistique qui exprime la probabilité du mot sachant les mots qui le précèdent, score donné par le modèle de langue.

Le processus de reconnaissance d'un groupe de soue comporte généralement au moins trois étapes : une première qui, sur la base d'un modèle de langue peu précis et d'un modèle acoustique générique, crée un premier graphe de mots pour chaque groupe de soue ; une deuxième qui utilise les meilleures hypothèses de transcription de ces graphes de mots pour adapter le modèle acoustique à la voix du locuteur ; et enn, une troisième étape qui se base sur un modèle de langue plus précis et des modèles acoustiques adaptés à la voix du locuteur. À l'issue de ces étapes, la taille des graphes de mots est telle qu'il devient envisageable de leur appliquer un algorithme de recherche du meilleur chemin pour obtenir la séquence de mots la plus probable. En pratique, les algorithmes généralement utilisés pour cette recherche sont l'algorithme de Viterbi (Viterbi, 1967) ou l'algorithme A (Hart et al., 1968).

1.2.3 Décodage en faisceau

Parmi les multiples étapes du processus de reconnaissance, la première d'entre elles, celle qui génère les premiers graphes de mots, est fondamentale car elle conditionne le déroulement de celles qui lui succèdent. Par ailleurs, il s'agit d'une étape coûteuse car elle s'attaque à l'espace de recherche complet. Pour ne pas avoir à parcourir cet espace en entier, les graphes de mots sont construits selon un algorithme dit de décodage en faisceau (beam search) qui s'appuie sur des principes de programmation dynamique (Ney, 1991). Cet algorithme se montre particulièrement intéressant car il propose une stratégie conjointe de parcours en largeur de l'espace de recherche et de calcul des scores des hypothèses de transcription. Par ailleurs, cet algorithme permet d'élaguer les hypothèses partielles les moins prometteuses au fur et à mesure du décodage, ce qui le rend très performant en terme de temps de calcul.

1.2.3.1 Parcours de l’espace de recherche et calcul des scores

L'algorithme de décodage en faisceau permet de construire progressivement un graphe de mots de manière trame-synchone, c'est-à-dire simultanément avec le parcours du si-gnal. Comme présenté en gure 1.4, l'algorithme construit à la volée et met à jour en permanence un graphe d'états représentant l'ensemble des hypothèses de transcription. La construction de ce graphe s'eectue en parcourant des copies de l'arbre lexical, chacune de ces copies correspondant à une hypothèse partielle w1...wi ou, plus exactement dans le cas d'un modèle n-gramme, à un historique h = wi−n+1...wi. Au sein de ces arbres, une nouvelle hypothèse partielle w1...wi+1 est dénie à chaque fois qu'est atteint un état signiant la n de prononciation d'un motwi+1. Une nouvelle copie d'arbre correspondant

FIGURE1.4 Schéma du déroulement de l'algorithme de décodage en faisceau.

au nouvel historique h0 =wi−n+2...wi+1 est alors créée an de permettre la poursuite du décodage. Parallèlement à cette construction de l'espace de recherche, l'algorithme calcule, à chaque nouvelle trame yt, un score Qh(s, yt) pour chaque état s actuellement parcouru pour chaque historique actif h. Ce score est évalué à partir des scores des prédécesseurs de s et reète ainsi l'expression partielle des produits des scores acoustiques et linguistiques calculés jusque là. Plus précisément, le score attribué à un nouvel état s est le maximum des scores obtenus à partir de chacun de ses prédécesseurs. Dans cette logique, deux cas se distinguent. Si sest un état quelconque de l'arbre lexical d'un historiqueh, le calcul du nouveau score se fait uniquement grâce au modèle acoustique :

Qh(s, yt) = max

s0→s

Qh(s0, yt−1)×p(s|yt)×P(s0 →s) , (1.7) où s0 →s signie ques0 est un prédecesseur de s,p(s|yt) est la vraisemblance de l'état s sachant la trameytetP(s0 →s)est la probabilité de transition entres0ets. Siscorrespond à l'hypothèse de n de prononciation d'un mot wi+1, il faut en outre associer un score à la racines0 du nouvel arbre lexical créé. Ce score reprend le nouveau score calculé pours et intègre la probabilité P[wi+1|h]fournie par le modèle de langue, ainsi que la pénalité I d'insertion d'un nouveau mot dans l'hypothèse partielle courante :

Qh0(s0, yt) = max

h→h0

n

Qh(s, yt)×P[wi+1|h]ψ×Io

, (1.8)

Sorties d’un système de reconnaissance automatique de la parole

où h → h0 signie que l'historique h conduit, après l'hypothèse de n de mot de wi+1, à l'historique de même ordre h0 = wi−n+2...wi+1 correspondant au nouvel arbre lexical et ψ est le facteur de mise à l'échelle des probabilités du modèle de langue. Finalement, l'algorithme de décodage se termine quand il n'y a plus aucun nouvel état à parcourir, par exemple dans le cas où toutes les trames ont été consommées par l'algorithme.

1.2.3.2 Stratégies d’élagage

Dans sa version brute, telle que nous venons de la présenter, l'algorithme de décodage en faisceau demeure d'une complexité calculatoire élevée puisque toutes les possibilités de transcriptions sont évaluées. Heureusement, il est possible d'y intégrer une stratégie de suppression des hypothèses partielles les moins prometteuses en élaguant le graphe d'états en même temps que celui-ci est construit. Cet élagage s'eectue par des contraintes sur les scores de chaque état. Trois types principaux de contraintes sont considérés. Des exemples de l'eet des contraintes de chacun de ces types sont présentés sur la gure 1.4 par les légendes (a), (b) et (c). Premièrement, à chaque trame yt du signal décodé, seules sont conservés les états dont le score est susamment proche du meilleur score courant parmi l'ensemble des copies d'arbre (légende a). Pour chaque nouvel état s envisageable pour l'arbre lexical de l'historiqueh, cette contrainte d'existence s'exprime comme :

Qh(s, yt)> δAC× max

(h0,s0)

Qh0(s0, yt) (1.9) où la constanteδAC∈[0,1], appelé seuil acoustique, dénit la tolérance acoustique du sys-tème. Deuxièmement, le même type de seuillage est appliqué pour chaque hypothèse de n de mot, c'est-à-dire que seules seront explorées les nouvelles copies d'arbre des historiques dont le score est susamment proche du scoreQM L(t) de la meilleure hypothèse de n de mot à la trameyt (légende b). La contrainte est alors :

Qh0(s0, yt)> δM L×QM L(t) , (1.10) où le facteur δM L ∈[0,1] est appelé seuil linguistique. Enn, une dernière contrainte res-treint l'ensemble des hypothèses actives à chaque trame aux seulesM hypothèses ayant le meilleur score (légende c). En pratique, les constantesδACM L etM sont des valeurs em-piriques obtenues par la recherche d'un compromis optimal entre diérents critères comme la qualité des transcriptions automatiques générées, la durée de cette génération et la taille des graphes de mots. Cet apprentissage est important car il dénit le niveau de tolérance du système de reconnaissance au niveau acoustique et linguistique, tolérance ayant une inuence directe sur la qualité des sorties du système.

Maintenant que nous avons dévoilé les aspects théoriques et pratiques du fonctionne-ment d'un système de reconnaissance automatique de la parole, voyons les diérents types de sortie qu'il peut produire.

1.3 Sorties d’un système de reconnaissance automatique de