Explications sur le logiciel CSLU Toolkit
Transcription
Explications sur le logiciel CSLU Toolkit
UNIVERSITÉ D’AVIGNON ET DES PAYS DU VAUCLUSE INSTITUT UNIVERSITAIRE PROFESSIONNALISÉ Génie Mathématiques et Informatique Bruno Chareyre Emmanuel Roux Année 2003-2004 Initiation à la recherche IUP3 Le logiciel CSLU Toolkit Sommaire 1. Le logiciel CSLU Toolkit.................................................................................................................. 2 2.1. L’éventail du logiciel.................................................................................................................... 2 2.2. Interface du logiciel ..................................................................................................................... 3 2. Les différentes catégories d’objet................................................................................................ 4 2.1. Les objets de base ...................................................................................................................... 4 2.2. Les objets De Tucker-Maxon .................................................................................................... 4 2.3. Les objets de PSL ....................................................................................................................... 4 3. Explication des objets ..................................................................................................................... 5 3.1. L’objet action........................................................................................................................ 5 3.2. Le « digit » objet .................................................................................................................. 6 3.3. L’objet générique................................................................................................................. 7 3.4. L’objet conditionnel ............................................................................................................. 8 3.5. L’objet sous dialogue.......................................................................................................... 9 3.6. L’objet de liste générique................................................................................................. 10 3.7. L’objet de construction de liste ....................................................................................... 10 3.8. L’objet d’identification ....................................................................................................... 12 3.9. L’objet média ..................................................................................................................... 13 3.10. L’objet réponse................................................................................................................ 17 Bruno CHAREYRE – Emmanuel ROUX Page 1 sur 17 Le logiciel CSLU Toolkit 1. Le logiciel CSLU Toolkit 2.1. L’éventail du logiciel CSLU (Center for Spoken Language Understanding) Toolkit a été créé pour fournir le cadre et les outils de base à des personnes souhaitant étudier et employer les systèmes interactifs de langue. Ce système incorpore la reconnaissance de la parole marginale, la compréhension de langage naturel, la synthèse de la parole et les technologies faciales d'animation. Il fournit un environnement complet, puissant et flexible pour les systèmes interactifs de langue de bâtiment qui emploient ces technologies, et pour la recherche de conduite pour les améliorer. Les applications qui font partie du logiciel sont : • Le créateur d'application rapide (RAD) : RAD est un outil pour créer des dialogues structurés entre les utilisateurs et l'ordinateur. Avec cet outil, il est possible de créer une grande variété de programmes interactifs. Avec RAD, il suffit de cliquer, glisser et déposer des états de dialogues sur une toile (aussi appelée canevas), les relier ensemble, et les configurer, créer des texte/voix animés, identifier la langue parlée, ou les images d'affichage. • Baldi : correspond à une tête animée. Cette tête animée, peut être utilisée dans RAD, et dans d'autres applications pour fournir une source visuelle synchronisée avec la parole. Il est possible de configurer beaucoup d'aspects du visage ainsi que d’adapter ces configurations suivant les objectifs de l’application (personnage, caractéristiques du visage, voix, image d’arrière plan etc.). • Programme de synchronisation de Baldi (Baldi Sync) : ce programme permet d'enregistrer une expression et puis d'animer Baldi avec la voix enregistrée. Il est possible de modifier l'alignement du discours de Baldi avec celui enregistré et d’économiser toute cette information comme fichier d'exécution. Ces dossiers peuvent être utilisés dans RAD ou d'autres applications pour fournir un discours animé. Bruno CHAREYRE – Emmanuel ROUX Page 2 sur 17 Le logiciel CSLU Toolkit 2.2. Interface du logiciel Personnage animé (Baldi) se synchronisant sur la voix. Liste des états de dialogues (objets) disponibles pour réaliser les applications. Exemple d’application réalisée. On distingue différents objets avec les liens entre eux. Indicateur du niveau de son du microphone. Application RAD, permettant la réalisation des applications. Bruno CHAREYRE – Emmanuel ROUX Page 3 sur 17 Le logiciel CSLU Toolkit 2. Les différentes catégories d’objet 2.1. Les objets de base Voici les différents objets de base disponible dans le logiciel CSLU Toolkit : 2.2. Action Alpha-Digit Conditional Digit DTMF Enter Exit Generic Goodbye Keyword Start Subdialogue Les objets De Tucker-Maxon Ces objets font partie du Tucker-Maxon plugin. 2.3. Generic List Listbuilder Media Randomizer Login Les objets de PSL Ces objets sont un ensemble d'objets utilisés pour des expériences de conduite. Expcontrol Bruno CHAREYRE – Emmanuel ROUX Stimulus Response Page 4 sur 17 Le logiciel CSLU Toolkit 3. Explication des objets Les différents objets présentés ci-après sont ceux utilisés fréquemment dans la programmation d’applications avec RAD. 3.1. L’objet action • Définition L'objet d'action fournit permet d’exécuter le code de Tcl/TK qu’il contient durant son exécution. Le code de Tcl/Tk est évalué par un interpréteur indépendant de rad. • Explication d’utilisation Cet exemple de code de Tcl/TK est évalué dans l'interpréteur quand le logiciel passe cet objet d'action au temps d'exécution. • Actions disponibles sur l’objet (identique pour chaque objet) Etant donné que chaque objet possède approximativement le même menu, nous expliciteront ce dernier q’une seule fois. Bruno CHAREYRE – Emmanuel ROUX Page 5 sur 17 Le logiciel CSLU Toolkit Properties... Ouvre la fenêtre de propriétés. Coupe l’objet Cut Copie l’objet Copy Efface l’objet Delete Renommer l’objet Rename 3.2. Le « Digit » Objet • Définition L'objet de chiffre permet de reconnaître seulement des chiffres grâce à une grammaire fournit par défaut par le logiciel RAD. Les chiffres identifiés sont stockés dans la variable de rangée '$[nom_objet](recog) '. • Explication d’utilisation Pour ouvrir la fenêtre d'identification de chiffre, il suffit de double cliquer sur l’icône de l’objet chiffre. Par défaut, l'objet de chiffre possède une grammaire de reconnaissance. Cette grammaire de chiffre est installée pour identifier des nombres entre 0 et 9. Bruno CHAREYRE – Emmanuel ROUX Page 6 sur 17 Le logiciel CSLU Toolkit 3.3. L’objet générique • Explication d’utilisation Cet objet exécute la synthèse de la parole, en énonçant les mots entrés. Il est également possible de définir un port correspondant à ce que l’utilisateur. Le schéma ci-dessous permet de mieux comprendre dette propriété : Dans l'exemple ci-dessous, l'objet générique demande "le résultat de deux plus deux ?" Si l'utilisateur dit "quatre" le dialogue s'embranchera vers la gauche, si l'utilisateur dit que toute autre chose (*any) le dialogue s'embranchera vers la droite. • Les fonctionnalités de l’objet o La synthèse vocale La synthèse vocale permet de commander la voix de l'ordinateur en utilisant le texte. Les voix disponibles incluent plusieurs langues, dialectes et genres. Une voix enregistrée peut également être employée. o La reconnaissance vocale Le système de reconnaissance de la parole de toolkit essaye d'assortir ce que l'utilisateur dit aux mots dans les ports d'identification. Dans le diagramme ci-dessus, le dialogue peut prendre deux directions différentes : vers la gauche si l'utilisateur dit "quatre" et vers la droite si l'utilisateur dit toute autre chose. La reconnaissance de la parole du logiciel CSLU ne crée pas une transcription directe des textes, mais plutôt la reconnaissance de la parole et le mot d'utilisations pour commander l'écoulement du dialogue en s'embranchant à chaque objet générique. Bruno CHAREYRE – Emmanuel ROUX Page 7 sur 17 Le logiciel CSLU Toolkit • Propriétés de l’objet TTS Transformer du texte en parole. Recorded Permet d’enregistrer des voix. Recognition Permet d’éditer les arrangements de reconnaissance de la parole. DTMF Permet d’éditer des arrangements de téléphonie. Misc Permet d’éditer des arrangements divers. On Enter Créer un code Tcl/TK qui sera exécuté à l’entrée de l'objet. On Exit Créer un code Tcl/TK qui sera exécuté à la sortie de l'objet. Tucker-Maxon Permet d’éditer les arrangements de paquet de Tucker-Maxon Add Port Crée un port ROUGE additionnel de reconnaissance de la parole. 3.4. L’objet conditionnel L'objet conditionnel évalue des expressions booléennes de TCL dans ses ports. Une expression booléenne est une expression qui est vraie ou fausse. Le port extrême gauche est évalué d'abord. Si l'expression évaluée est "vrai", le dialogue emprunte immédiatement le port sans considérer les autres ports. Les ports sont évalués de gauche à droite. L'insertion d'un "1" dans le port extrême droite fournira une branche garantie (qui sera toujours vraie) si toutes les autres expressions sont évaluées comme fausses. L’exemple ci-dessous permet de mieux comprendre le fonctionnement et l’intérêt d’un tel objet : Bruno CHAREYRE – Emmanuel ROUX Page 8 sur 17 Le logiciel CSLU Toolkit 3.5. L’objet sous dialogue • Définition L'objet sous dialogue permet d'organiser l’application en composants. Chaque sous dialogue est une mini application de rad qui peut être sauvée dans l‘application principale ou dans d'autres sous dialogues. Ceci permet une réutilisation des parties de l’application et permet de moins encombrer le canevas de l’application principale. • Création Quand on clique sur l’objet sous dialogue et qu’on le déplace sur le canevas, le logiciel demande si l’on veut créer un "nouveau sous dialogue principal" ou si l’on veut choisir un sous dialogue principal existant. Bruno CHAREYRE – Emmanuel ROUX Page 9 sur 17 Le logiciel CSLU Toolkit • Actions disponibles sur l’objet Open Subdialogue Save Subdialogue Object Cut Copy Delete Rename Master 3.6. Ouvre la fenêtre du sous dialogue pour l'éditer. Sauve le sous dialogue et son contenu. Coupe le sous dialogue. Copie le sous dialogue. Supprime le sous dialogue. Renomme le sous dialogue. L’objet de liste générique Exécute la synthèse de la parole et la reconnaissance de la parole tout comme l’objet générique. La reconnaissance de la parole opère sur des mots et des variables. 3.7. L’objet de construction de liste • Définition Cet objet permet de créer une liste d'articles (par exemple texte, noms d'image). Chaque fois que le dialogue traverse l’objet, la variable correspondant à la liste (ici "$chores") est assigné à la prochaine valeur dans la liste. La première fois que le dialogue traverse le l’objet, la valeur de "$chores" est "fix the faucet", la prochaine fois que la valeur de "$chores" est "do the dishes". Bruno CHAREYRE – Emmanuel ROUX Page 10 sur 17 Le logiciel CSLU Toolkit Exemple: Si dans l’objet on entre le texte "Your next job is to $chores ". A chaque passage, vous entendrez la valeur portez par $chores, par exemple: "Your next job is to fix the faucet", "You next job is to do the dishes" et ainsi de suite. • Actions disponibles sur l’objet Add List Rename List Permet de créer une nouvelle liste. Permet de renommer la liste. Permet de créer une nouvelle liste avec les mêmes entrées. Delete List Efface la liste. Copy List Insert Permet d’insérer un fichier dans la liste. Filename Insert IPA Permet d’insérer un symbole phonétique. Permet d’insérer une marque conforme du Insert SABLE XML vers TTS pour mieux contrôler Sable la synthèse vocale. Record Permet de créer un enregistrement de voix. Sob Add Entry Ajoute une entrée à la fin. Delete Efface l’entrée selectionnée. Entry Insère une entrée à l’endroit ou l’on se Insert trouve. Entry View This Permet d’avoir une vue de l’entrée sélectionnée. Entry Lors de l’exécution, l’ordre de sélection des entrées d’une liste peut être paramétré par le « list sortin ». Les entrées peuvent être sélectionnées dans l’ordre d’insertion, dans l’ordre inverse d’insertion ou de manière aléatoire. Bruno CHAREYRE – Emmanuel ROUX Page 11 sur 17 Le logiciel CSLU Toolkit 3.8. L’objet d’identification • Définition Cet objet établit une liste des noms des utilisateurs. Lors de l’exécution, cette liste est présentée, permettant à l'utilisateur de cliquer sur son nom. Le nom choisi est ainsi stocké dans une variable permettant de faire des tests par la suite. • Explication d’utilisation Tout d’abord il faut faire un clic droit sur l’objet et choisir "Edit user list" pour construire la liste des utilisateurs. Lors de l’exécution, la fenêtre ci-dessous est affichée à l’écran. Le nom sélectionné sera stocké dans la variable « $user ». Si par exemple l’utilisateur choisi le nom « mary », la variable « $user » portera la valeur « mary ». Bruno CHAREYRE – Emmanuel ROUX Page 12 sur 17 Le logiciel CSLU Toolkit • Actions disponibles sur l’objet Edit User List Ouvre la fenêtre d’édition de la liste d’utilisateurs. Coupe l’objet. Cut Copie l’objet. Copy Efface l’objet. Delete Permet de renommer l’objet. Rename 3.9. L’objet média • Définition L’objet média permet de présenter des images, des sons, des textes et des images cliquables sur l’écran. L'objet média a deux modes de fonctionnement : "jouer des médias » et « enlever les médias qui sont en train d’être joués ». Quand des médias sont présentés, le résultat dépend du type de médias présentés. Le texte, les images, et les hyper images sont montrés dans des fenêtres indépendantes et qui persisteront jusqu'à ce qu'ils soient enlevés avec un autre objet média. Ces médias seront joués quand l'exécution sera sur l'objet média. L'option "enlever médias" énumérera tous les objets médias dans l'application afin de permettre de choisir le ou les objet(s) que l’on souhaite enlever lorsque l’exécution passera sur cet objet de suppression de médias. • Explication d’utilisation Lorsqu’on édite les propriétés de l’objet média, une fenêtre s’ouvre présentant les différents types de médias qu’il est possible d’utiliser et il suffit de choisir le ou les type(s) choisis. Bruno CHAREYRE – Emmanuel ROUX Page 13 sur 17 Le logiciel CSLU Toolkit Voici cette fenêtre de propriétés de l’objet média : Window Placement Text Image Image Map Recording Permet de paramétrer la position sur l’écran des médias affichés. Permet d’afficher un titre à une image ou d’afficher un simple texte. Permet d’afficher une image au format GIF. Permet de mettre en place une image cliquable. L’image est une image au format GIF et les zones de click sont éditables en cliquant sur le bouton « Edit ». Permet de jouer un son au format wave. Pour enlever un média qui est affiché à l’écran, il faut créer un nouvel objet média, puis faire un click droit sur l’objet est choisir « Remove média ». La fenêtre ci-contre s’affiche, listant les différents médias créés et permettant de choisir les médias à masquer. Bruno CHAREYRE – Emmanuel ROUX Page 14 sur 17 Le logiciel CSLU Toolkit Il est possible d’utiliser un objet de construction de liste avec l'objet média. Dans ce cas, les listes contiennent l'information spécifique requise par l'objet média. L'option "use list" étant choisi, l'objet média utilisera la valeur de la variable appelée dans le champ « use list ». Dans l'exemple ci-dessous, la valeur de la variable « $image » est utilisée en tant que chemin de dossier pour un dossier d'image. • Création d’une image cliquable L’image cliquable présente une image qui contient des zones cliquables créées par le constructeur. Pendant le temps d'exécution, le programme attendra jusqu'à ce que l'utilisateur réponde en cliquant sur une des zones. Par défaut, l’objet crée un port par zone, ainsi pour chaque zone créée dans l’image cliquable, l'objet crée un port. Le programme empruntera le port correspondant à la zone choisie. Voici les étapes à suivre pour créer une image cliquable: 1. Faire un click droit sur l’objet média et choisir « Present Media ». 2. Dans la partie “image map” choisir “Edit”, la fenêtre ci-dessous est affichée. Bruno CHAREYRE – Emmanuel ROUX Page 15 sur 17 Le logiciel CSLU Toolkit 3. Cliquez sur “Open” pour ouvrir une image au format GIF. 4. Sélectionnez un type de dessin de zone (main levée, forme carré, forme arrondie ou forme rectiligne). 5. Tracez une zone sur l’image chargée. 6. Faites un click droit sur la zone créée et sélectionnez « Properties », la fenêtre ci-dessous s’affichera. 7. Donnez un nom à la zone. 8. Dans le menu, cliquez sur « Options”: a. Par défaut, l’option "one port per region" est sélectionnée signifiant qu’il y aura un port par zone de click. b. Si vous sélectionnez «Single output port », l’objet média comportera un seul port et le nom de la zone cliquée sera stockée dans la variable « $target ». Ainsi, il suffit de mettre jute après l’objet média un objet conditionnel permettant de tester la valeur portée par « $target ». 9. Cliquez sur OK dans la fenêtre de propriété de la zone. 10. Cliquez sur OK dans la fenêtre d’édition de l’image cliquable. 11. Cliquez sur OK dans la fenêtre de l’objet média. Bruno CHAREYRE – Emmanuel ROUX Page 16 sur 17 Le logiciel CSLU Toolkit • Actions disponibles sur l’objet Properties... Ouvre la fenêtre de propriété de l’objet. Present Media Ouvre la fenêtre d’affichage du média. Remove Media Ouvre la fenêtre pour choisir les médias à masquer. Coupe l’objet. Cut Copie l’objet. Copy Efface l’objet. Delete Permet de renommer l’objet. Rename 3.10. L’objet Réponse Cet objet permet d’attendre un évènement généré par l’utilisateur : le clavier, la souris ou la voix. L’objet attend la réponse pour s’exécuter et assigne une ou plusieurs variables lors de la réponse par l’utilisateur lors de l’exécution. Voici les différents types de réponse possibles pour l’utilisateur : bouton, touche du clavier, voix et click de la souris. Bruno CHAREYRE – Emmanuel ROUX Page 17 sur 17