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