Les systèmes vocaux humain-machine sont de plus en plus présents autour de nous, que ce soit pour informer les voyageurs dans les gares ou pour négocier un rendez-vous avec un technicien. Pour échanger des informations avec une machine, ils offrent une interface naturelle pour l’homme, n’occupant pas les mains et ne nécessitant pas de formation. Ils permettent aussi de réduire les coûts de tâches systématiques et d’associer une identité vocale à un service. Mais y a-t-il un lien entre ce qui est dit et le système qui va le dire ?
Prenons un exemple légèrement caricatural. Faire prononcer « Salut mes supers potes ! » avec la voix de synthèse de Jacques Chirac sera probablement humoristique. A contrario, si l’objectif n’est pas comique, alors ce choix de formulation est au mieux perturbant, au pire il peut dégrader l’image qu’a l’auditeur du système. De plus, la synthèse risque de produire des erreurs acoustiques car ces mots – et leur enchaînement – ont peu de chance d’avoir été observés lors de l’apprentissage de la voix. Il en va de même si l’on cherche à faire prononcer « Mes chers confrères, je vous adresse mes salutations. » avec la voix de synthèse de Homer Simpson. Alors que l’on peut considérer que ces deux messages disent presque la même chose, ils ne sont pas interchangeables dans certains contextes d’utilisation.
LES SYSTÈMES VOCAUX HUMAIN – MACHINE
Les systèmes vocaux humain-machine sont des systèmes automatisés d’interaction avec l’humain via une interface vocale. Ils prennent de plus en plus de place dans le quotidien car ils permettent une interaction rapide qui ne nécessite pas de formation. De plus, ils restent peu coûteux à mettre en place.
SYNTHÈSE VOCALE
La synthèse vocale consiste à transformer un texte en signal de parole acoustique. les deux modules traditionnels composant les systèmes de synthèse vocale :
– le module de traitement linguistique. Il réalise une analyse grammaticale de la phrase ; la phonètise ; détermine la prosodie ; la durée et la fréquence fondamentale des composantes du signal ;
– le module de traitement acoustique. Il réalise la production du signal acoustique du message.
La synthèse du signal peut être réalisée par plusieurs techniques :
– la synthèse articulatoire [Rubin et coll., 1981] ;
– la synthèse par formants [Allen et coll., 1987] ;
– la synthèse de diphones [Moulines et Charpentier, 1990] ;
– la synthèse par sélection d’unités acoustiques [Hunt et Black, 1996] ;
– la synthèse par modèles de Markov cachés [Yoshimura et coll., 1999] ;
– la synthèse hybride [Pollet et Breen, 2008].
Pour nos travaux, nous utilisons le système de synthèse vocale BARATINOO développé par Orange et utilisé dans un grand nombre de systèmes industriels. BARATINOO est fondé sur une approche par sélection d’unités acoustiques.
Synthèse par sélection d’unités acoustiques
Nous allons maintenant préciser le fonctionnement de la synthèse par sélection d’unités acoustiques. Cette approche est largement utilisée dans l’industrie et permet d’avoir des voix expressives de qualité. La synthèse par sélection d’unités s’appuie sur un corpus de parole enregistrée sur plusieurs heures. Ce corpus est annoté et segmenté en unités acoustiques. Cette opération est souvent réalisée manuellement afin d’obtenir une meilleure qualité de voix. Les unités acoustiques peuvent être des phones, c’est-à-dire des réalisations acoustiques d’un phonème ; des diphones, c’est-à-dire des unités allant de la moitié d’un phone à la moitié du phone suivant ; des syllabes ; etc. Notons que le corpus de parole doit contenir plusieurs réalisations d’une même classe d’unités afin de permettre au système de sélectionner celle qui est la plus appropriée, en particulier pour pouvoir produire différentes prosodies d’un même mot.
Le module de traitement acoustique concatène les unités du corpus pour produire le signal le plus proche possible de la cible fournie par le module de traitement linguistique. En fait, cette cible définit un ordre partiel sur les unités acoustiques ce qui permet de construire un treillis de production. La sélection d’unités consiste à chercher le meilleur chemin dans ce treillis, relativement à une fonction de coûts. Typiquement, la recherche est réalisée grâce à un algorithme de type Viterbi [Viterbi, 1967].
La fonction des coûts de sélection comprend traditionnellement deux composantes:
– le coût cible. Celui-ci mesure l’adéquation entre une unité potentielle et la cible définie par le module de traitement linguistique. Cette mesure peut être calculée sur la fréquence fondamentale, la durée, le contexte phonétique de l’unité, etc.
– le coût de concaténation. Celui-ci mesure l’adéquation entre deux unités potentielles consécutives. Il permet d’évaluer la qualité de la concaténation de ces deux unités. Cette mesure peut être calculée sur la différence de fréquence fondamentale, d’énergie, de caractéristique spectrale, etc.
L’avantage de la synthèse par sélection d’unités est que la parole à l’intérieur d’une unité est naturelle, puisqu’elle provient d’un enregistrement. De même, si le système concatène deux unités qui se suivaient dans le corpus d’origine – par exemple pour produire un mot qui a été prononcé lors de l’enregistrement du corpus – alors la parole produite est a priori de très bonne qualité. En revanche, les principales erreurs acoustiques risquent d’apparaître lors de la concaténation d’unités qui ne se suivaient pas dans le corpus. La taille du corpus de parole est donc un facteur primordial de la qualité de la synthèse. Mais le coût de constitution d’une voix dépend lui aussi de la taille du corpus : il faut un comédien pour l’enregistrer et rémunérer les personnes qui doivent l’annoter. La constitution de corpus est donc un problème difficile. En général, les phrases qui constituent le corpus de parole proviennent d’un grand corpus textuel, comme les articles du journal Le Monde couvrant une année. Les phrases à enregistrer sont choisies afin de couvrir un ensemble de classes d’unités acoustiques, par exemple, tous les diphonèmes. Le problème consiste donc à obtenir le sous-corpus le plus petit possible, en terme de temps d’enregistrement, qui couvre au mieux les unités nécessaires à une bonne synthèse vocale. De nombreux travaux cherchent donc à optimiser le corpus acoustique en terme :
– d’unités à couvrir [Cadic et coll., 2009] ;
– de distribution des unités [Krul et coll., 2006] ;
– d’algorithme de sélection [François, 2002], domaine auquel nous avons contribué [Chevelu et coll., 2008].
Outil d’aide à la conception de messages vocaux
Généralement, on n’utilise pas de système de synthèse vocale entièrement automatique pour les applications où la qualité acoustique des messages est très importante. Une approche plus sûre consiste à pré-enregistrer la partie fixe des messages et à laisser un système automatique les concaténer à des parties variables. Ces parties de messages pré-enregistrées peuvent tout de même être produites grâce à un système de synthèse vocale, pour éviter de faire revenir le comédien pour chaque nouveau message. En revanche, elles sont contrôlées par le concepteur de message qui s’assure de leur qualité acoustique. Pour pouvoir corriger les éventuelles erreurs acoustiques des messages, on utilise un outil d’aide à la conception.
Cet outil permet de proposer une phrase et d’obtenir le signal acoustique correspondant. Il est possible de corriger la phonétisation de la phrase ainsi que d’ajouter des pauses dans la prononciation. La fonctionnalité principale est la possibilité de modifier la sélection réalisée par le synthétiseur. Ainsi, si la synthèse proposée n’est pas satisfaisante au niveau d’une unité, l’utilisateur n’a qu’à l’indiquer. Le programme relance alors l’algorithme de sélection en interdisant l’unité incriminée et propose une nouvelle vocalisation de la phrase. Par corrections successives, le concepteur peut obtenir un message correctement synthétisé.
SERVEURS VOCAUX INTERACTIFS
Comme nous l’avons dit, nous parlons de serveurs vocaux interactifs (SVI) lorsque l’interaction est constituée de plusieurs tours de parole. Les SVI entrent dans la catégorie des systèmes de dialogue humain-machine. Ils permettent à des utilisateurs d’interagir avec un système d’information en utilisant la modalité orale – souvent par l’intermédiaire d’un téléphone. Par exemple les SVI sont utilisés dans l’industrie pour :
– de l’orientation de trafic téléphonique. Ils tentent d’identifier le correspondant le plus approprié pour l’utilisateur ;
– de la prise automatique de rendez-vous ;
– de l’assistance automatique ;
– de la réservation automatique de ticket ;
– etc.
On peut identifier trois niveaux de complexité pour ces systèmes. Ceux-ci correspondent aux actions permises à l’utilisateur :
1. choix multiples au clavier. Le système énonce plusieurs choix à l’utilisateur. Celui-ci répond en utilisant un terminal – comme les touches de son téléphone. Cette approche est simple à mettre en œuvre et très fiable. En revanche, elle limite fortement l’interaction et peut perturber l’utilisateur. En effet, celui-ci doit mémoriser l’association choix-touches du terminal et il doit attendre l’énoncé du choix correspondant à ses souhaits avant de pouvoir poursuivre le dialogue ;
2. prononciation de mots clefs. L’utilisateur prononce un ou plusieurs mots de commande définis par le système pour indiquer son souhait. Cette approche est légèrement plus complexe. Son principal avantage par rapport au système à choix multiples est que l’utilisateur emploie lui aussi la parole pour communiquer ce qui est souvent plus naturel ;
3. énonciation en langue naturelle. Pour ces systèmes, l’utilisateur est libre de formuler son message. Cette approche, qui cherche à rendre l’interaction beaucoup plus naturelle, est aussi beaucoup plus difficile à mettre en œuvre.
Dans tous les cas, le retour du système est réalisé à l’oral. Nous traiterons dans ce document des systèmes de dialogue vocaux en langue naturelle. Nos propos seront souvent valables pour les systèmes à choix multiples et les systèmes par mots clefs. La principale différence vient du fait que ces deux derniers peuvent faire abstraction du problème d’interprétation du message de l’utilisateur. Les systèmes à choix multiples évitent également le problème de la reconnaissance de la parole. Traditionnellement, les SVI sont découpés en cinq composants. Notons qu’en fonction du système de dialogue, il arrive que certains composants soient absents ou légèrement différents. Nous allons maintenant préciser le rôle de chaque composant ainsi que l’approche retenue dans la solution industrielle d’Orange : DISSERTO.
La reconnaissance vocale :
L’objectif d’un module de reconnaissance vocale est de transcrire le signal de parole émis par l’utilisateur en texte. Il réalise l’opération inverse de la synthèse vocale. Les approches utilisées de nos jours sont fondées sur des modèles statistiques appris sur des corpus de parole transcrite. Lors d’une première étape, le signal est numérisé en vecteurs acoustiques. Ensuite, un algorithme de décodage est utilisé pour trouver la séquence de mots la plus probable en fonction d’un modèle de langue phonétisée et d’un modèle acoustique. Le modèle acoustique est appris à partir d’un bi-corpus alignant signal acoustique de parole et transcription textuelle. Lorsque la situation le permet, le modèle de langue est souvent réduit à une grammaire construite manuellement. Par exemple, après une question fermée posée à l’utilisateur, le système peut attendre une réponse en « Oui », « Non » et une troisième catégorie pour le reste. Ce type d’optimisation permet d’améliorer grandement les performances de la reconnaissance vocale.
|
Table des matières
INTRODUCTION
1 LES SYSTÈMES VOCAUX HUMAIN-MACHINE
1.1 Synthèse vocale
1.1.1 Synthèse par sélection d’unités acoustiques
1.1.2 Outil d’aide à la conception de messages vocaux
1.2 Serveurs vocaux interactifs
1.3 Problématiques liées au message
1.3.1 Problèmes liés à la synthèse vocale
1.3.2 Problèmes liés aux serveurs vocaux interactifs
1.4 Conclusion
2 LES PARAPHRASES
2.1 Définitions et usages
2.1.1 La paraphrase
2.1.2 Usages des paraphrases
2.2 Production de paraphrases pour les systèmes vocaux
2.2.1 Cadre applicatif
2.2.2 Paraphrases pour systèmes vocaux
2.3 Problématiques liées aux paraphrases
2.3.1 Production
2.3.2 Utilisation
2.3.3 Évaluation
2.4 Conclusion
3 UN PROTOCOLE D’ÉVALUATION
3.1 Forme de l’évaluation
3.2 Plateforme d’évaluation
3.2.1 Questions posées
3.2.2 Protocole d’évaluation
3.2.3 Interface d’évaluation
3.3 Présentation des résultats
3.3.1 Évaluation d’un générateur de paraphrases
3.3.2 Accord entre les juges
3.3.3 Présentation des paraphrases
3.4 Corpus d’expérimentation
3.5 Conclusion
4 UN GÉNÉRATEUR DE PARAPHRASES PAR LANGUE PIVOT
4.1 Modèle de production statistique
4.2 Modèle de langue
4.3 Table de paraphrases
4.3.1 Aligneur sous-phrastique
4.3.2 Corpus d’apprentissage
4.3.3 Table de paraphrases par langue pivot
4.4 Décodeur
4.5 Mise au point des paramètres
4.6 Conclusion
5 LES LIMITES DE LA PRODUCTION STATISTIQUE DE PARAPHRASES
5.1 Limites des performances
5.1.1 Analyse des paraphrases
5.1.2 Stabilité des résultats
5.1.3 Comparaison avec d’autres travaux
5.1.4 Discussions
5.2 Limites lors de l’intégration à un système de synthèse vocale
5.2.1 Paramètres de l’expérience
5.2.2 Résultats
5.2.3 Discussions
5.3 Limites du décodeur
5.3.1 Score véritable des paraphrases et découpage optimal
5.3.2 Score des décodeurs statistiques
5.3.3 Discussions
5.4 Limites de l’évaluation
5.4.1 Un (trop) bon générateur de paraphrases
5.4.2 Résultats
5.4.3 Discussions
5.5 Conclusion
CONCLUSION