5.5 Traitement des réponses multiples
Dans certaines interactions plus complexes, le sujet doit fournir plusieurs
éléments de réponse: entrer plusieurs mots, cliquer dans
plusieurs zones, déplacer plusieurs objets. Dans le cas de
réponses 'texte', l'ensemble des éléments de
réponse peut être fourni en une fois par l'utilisateur. Pour les
autres type de réponse, l'interaction doit plusieurs actions (clicks ou
`drag & drop'). Dans ce cas, l'auteur doit prévoir un signal
explicite d'émission de réponse, par exemple un bouton 'OK',
'STOP' ou encore 'J'ai terminé'.
Nous distinguerons les situations où les réponses sont
analysées dès leur émission de celles où le
traitement est différé. Le traitement immédiat
consiste à traiter une réponse avant que la réponse
suivante ne soit introduite. Dans ce cas, les réponses ne peuvent
forcément être considérées qu'indépendamment
les unes des autres. C'est le cas dans l'interaction relative à
l'éclairage dans le programme DOMOS. Le sujet peut cliquer sur un
certain nombre de boutons qui déterminent (fictivement)
l'éclairage des diverses pièces. Chaque fois que l'utilisateur
sélectionne une pièce, la lampe correspondante est
immédiatement allumée ou éteinte. La structure de ce type
d'interaction est relativement simple puisque chaque réponse est
traitée individuellement. Le seul ajout par rapport à la
structure générale décrite dans la section 5.3 est
qu'après toute réponse, le sujet est invité à
fournir une nouvelle réponse (option 'try again'), sauf lorsqu'il
sélectionne le signal de fin de réponse (OK, stop,...).
En cas de traitement différé, les réponses fournies
par l'utilisateur sont mémorisées dans une ou plusieurs variables
ad hoc. En général, on prévoit dans ce cas deux modes de
sortie de l'interaction: une sortie avec traitement des réponses
fournies (en général, bouton 'OK') et une sortie sans traitement
des réponses fournies (en général, bouton
'cancel'). Le traitement différé permet de
considérer l'ensemble des réponses fournies comme les composantes
d'une seule réponse globale. Dans ce cas, l'analyse de réponse
est plus complexe car il convient parfois non seulement de considérer
les éléments de la réponse, mais également les
relations entre les éléments de réponse. Voici quelques
situations dans lesquelles une telle analyse se justifie:
- si le sujet sélectionne des options d'impression, il faut
vérifier si ces options sont compatibles;
- si le sujet introduit plusieurs données, il convient de
vérifier leur cohérence (par exemple, dans un formulaire, la date
de naissance est-elle compatible avec le numéro de pension)?;
- si le sujet assemble les composantes d'un dispositif technique, il
convient de vérifier la position relative des éléments
(les connexions);
- si le sujet doit répartir en deux ensembles cohérents un jeu
de quatre objets, il convient de vérifier si les objets placés
dans une même zone ont en commun des propriétés que ne
possèdent pas les objets de l'autre zone.
Dans les situations
didactiques, deux critères sont souvent utilisés dans l'analyse
de réponses complexes: 1) est-elle complète? et 2) contient-elle
des éléments incorrects? Authorware permet de définir
individuellement chaque réponse comme étant correcte, incorrecte
ou neutre. Pour chaque interaction, le système met à jour trois
variables dans lesquelles ces éléments sont comptabilisés:
- dans 'CorrectChoicesMatched' se trouve le nombre de réponses de
l'utilisateur qui ont été identifiées aux réponses
définies par l'auteur comme correctes;
- dans 'WrongChoicesMatched' se trouve le nombre de réponses de
l'utilisateur qui ont été identifiées aux réponses
définies par l'auteur comme incorrectes;
- la variable 'AllCorrectMatched' vaut True si toutes les réponses
définies comme correctes ont été fournies par
l'utilisateur.
Lorsque le sujet fournit le signal de fin de réponse
(OK, stop,...), il convient d'évaluer la valeur de ces variables (au
moyen de réponses de type 'condition'). En combinant les deux
dernières variables, il est possible de distinguer plusieurs classes de
réponses:
- réponses complètes (tous éléments
désirables: AllCorrectMatched = True) et correctes (aucun
élément indésirable: WrongChoicesMatched = 0);
- réponses complètes (tous éléments
désirables: AllCorrectMatched = True), mais incorrectes (présence
de certains éléments indésirables: WrongChoicesMatched
> 0);
- réponses incomplètes (absence de certains
éléments désirables: AllCorrectMatched = False), mais
correctes (aucun élément indésirable: WrongChoicesMatched
= 0);
- réponses incomplètes (absence de certains
éléments désirables: AllCorrectMatched = False) et
incorrectes (présence de certains éléments
indésirables: WrongChoicesMatched > 0);
Si l'auteur désire
identifier plus finement le nombre d'éléments corrects et
incorrects, par exemple pour discriminer le feed-back selon le nombre d'items
manquants, il utilisera les valeurs exactes des variables
'CorrectChoicesMatched' et 'WrongChoicesMatched'. La gestion offerte par
Authorware souffre cependant d'un inconvénient. Ces deux variables ne
sont pas remises à zéro en cours d'interaction. Dans le cas,
où le sujet fournit une réponse comprenant deux
éléments incorrects et qu'il lui est demandé de
recommencer, la variable WrongChoicesMatched conservera la valeur 2 même
s'il n'introduit pas de nouvel élément incorrect. L'auteur n'a
pas la possibilité de modifier la valeur des variables du
système. Deux solutions sont cependant possibles:
- comptabiliser les éléments incorrects dans une variable
créée par l'auteur, incrémentée à chaque
erreur et réinitialisée en cas de nouvel essai;
- stocker (après chaque essai) la valeur de 'WrongChoicesMatched'
dans une variable N; l'essai suivant, il suffit de vérifier si la
nouvelle valeur de 'WrongChoicesMatched' dépasse ou non sa valeur
précédente.
Cette approche s'applique également au
traitement des réponses texte. Cependant, vu que l'auteur peut
définir des patterns multiples, il existe une solution plus simple: la
réponse est complète et correcte si on y trouve par exemple le
pattern conjonctif "Genève Berne Zurich Lucerne", en s'assurant que
l'option 'ignore extra words' ne soit pas sélectionnée. Si
l'auteur désire que l'utilisateur puisse entrer d'autres mots non
significatifs (articles, préposition, ...), il devra alors
vérifier explicitement l'absence d'éléments incorrects,
par exemple au moyen du pattern disjonctif: "Paris | Strasbourg | Annecy". La
difficulté consiste à pouvoir anticiper les
éléments erronés de réponse que pourrait produire
un sujet moyen. Dans certains contextes, l'expérience permet d'anticiper
les erreurs les plus fréquentes de leurs élèves.
Toutefois, dans l'exemple ci-dessus, il n'est pas possible de dresser la liste
de toutes les villes du monde que le sujet ne peut inclure dans sa
réponse. En cas de doute, il est préférable de placer le
sujet dans une situation qui délimite les mauvaises réponses
possibles (par exemple, fournir une carte sur laquelle figure une dizaine de
villes). Dans ce cas, il est en fait plus facile de transformer la question en
question fermée, par exemple, en laissant le sujet cliquer directement
sur les villes choisies.