380 likes | 530 Views
Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent. Azly Nacro, Bernard Lefebvre Laboratoire SAFARI Université du Québec À Montréal octobre 2000. Plan de la présentation. Introduction Définition de tâches Primitives de décomposition d’une tâche
E N D
Utilisation de XML pour la Validation des Tâches dans un Système Tutoriel Intelligent Azly Nacro, Bernard Lefebvre Laboratoire SAFARI Université du Québec À Montréal octobre 2000
Plan de la présentation • Introduction • Définition de tâches • Primitives de décomposition d’une tâche • Représentation d’une tâche en XML • Correspondance entre DTD et primitives de description d’une tâche • Processus d’évaluation d’une tâche Laboratoire SAFARI , UQAM
Plan de la présentation • Exemple d’une application • La composante apprentissage pour un système d’identification bactérienne • Travaux futurs Laboratoire SAFARI , UQAM
Introduction • Le cas d’un système tuteur intelligent dédié à l’apprentissage d’une tâche • Apprentissage basé sur l’exemple • Évaluation basée sur la réalisation de la tâche • À l’aide d’un système informatique • À l’aide d’une simulation informatique • 2 aspects • Comment représenter une tâche ? • Comment l’évaluer ? Laboratoire SAFARI , UQAM
Introduction • Approches existantes pour la représentation et l’évaluation • La théorie des erreurs et les réseaux procéduraux • Les machines à états finis ou les réseaux de transitions augmentés • L’approche nouvelle basée sur XML et les DTD • XML pour la représentation de la réalisation d’une tâche • Le DTD pour son évaluation Laboratoire SAFARI , UQAM
Définition et structure d’une tâche Conditions initiales . . . . T1 Tâche atomique Sous tâche T2 Tn Conditions finales Laboratoire SAFARI , UQAM
Plan de la présentation • Introduction • Définition de tâches • Primitives de décomposition d’une tâche • Représentation d’une tâche en XML • Correspondance entre DTD et primitives de description d’une tâche • Processus d’évaluation d’une tâche Laboratoire SAFARI , UQAM
Primitives de décomposition d’une tâche • Elles sont analogues à celles que l’on a pour décrire les algorithmes • séquence(Liste de tâches) • Définit une séquence de tâches • séquence([T2,T1,T3]) • répétition(Tâche, N) • Indique qu’une tâche doit être exécutée N fois • répétition(T2, 3) Laboratoire SAFARI , UQAM
Primitives de décomposition d’une tâche • répétitionx(Tâche, N) • Indique qu’une tâche doit être exécutée au plus N fois • répétitionx(T2, 3) • parallèle(Liste de tâches) • Indique que les tâches de la liste peuvent être exécutées en parallèle • parallèle([T2,T1,T3]) • choix(Liste de tâches) • La tâche à entreprendre est à choisir dans la liste • choix([T1,T2,T3]) Laboratoire SAFARI , UQAM
Primitives de décomposition d’une tâche Primitives de décomposition d’une tâche • sousTâcheDe(Tâche 1, Tâche 2) • primitive de spécialisation. Elle indique que Tâche 1 est une sous tâche de Tâche 2 • compose(Tâche,[Tâche1,…,TâcheN]) • primitive de composition ou d’agrégation. Elle spécifie que Tâche est composée des sous-tâches Tâche1,…,TâcheN. • compose(T, [T1,T2,T3]) exprime que la tâche T est formée de la séquence des tâches T1, T2 et T3. Laboratoire SAFARI , UQAM
Plan de la présentation • Introduction • Définition de tâches • Primitives de décomposition d’une tâche • Représentation d’une tâche en XML • Correspondance entre DTD et primitives de description d’une tâche • Processus d’évaluation d’une tâche Laboratoire SAFARI , UQAM
Représentation des tâches en XML • XML (eXtensible Markup Language), format universel de représentation de documents structurés et de données sur le Web. • XML permet de décrire sous forme d’arbre des données structurées dans un fichier texte • XML ressemble à HTML mais n’est pas HTML • Un fichier XML est un texte qui n’est pas destiné à être lu • XML est associé à une famille de technologies (XML Schema · XML Query · XPath, XPointer, XML Base, XLink · DOM · RDF · CSS XSL · XHTML · MathML · SMIL · SVG · XML Signature) Laboratoire SAFARI , UQAM
Représentation des tâches en XML • La description de la réalisation d’une tâche peut être vue comme un arbre, comme un document XML • La racine est la tâche principale • Les nœuds internes sont les sous-tâches • Les feuilles sont les tâches atomiques ou actions Laboratoire SAFARI , UQAM
Représentation des tâches en XML <?xml version=“1.0”?> <enterData> T3 <enterTestResults> T6 <inputUsingBox>…</inputUsingBox> T10 <inputUsingPalette>…</inputUsingPalette> T11 <resultModification>…</resultModification> T12 </enterTestResults> <chooseOptions> T7 <selectStrainOrigin>... </selectStrainOrigin> T13 <selectStrainOrigin>... </selectStrainOrigin> T14 <chooseOptions> </enterData>
Le DTD d’une tâche <!ELEMENT enterData (enterTestsResults,chooseOptions)> <!ELEMENT enterTestsResults ((inputUsingBox|inputUsingPalette|resultModification)+)> <!ELEMENT chooseOptions (selectStrainOrigin,selectIdentificationSystem)> <!ELEMENT inputUsingBox EMPTY> <!ELEMENT inputUsingPalette EMPTY> <!ELEMENT resultModification EMPTY> <!ELEMENT selectIdentificationSystem EMPTY> <!ELEMENT selectStrainOrigin EMPTY> Laboratoire SAFARI , UQAM
Plan de la présentation • Introduction • Définition de tâches • Primitives de décomposition d’une tâche • Représentation d’une tâche en XML • Correspondance entre DTD et primitives de description d’une tâche • Processus d’évaluation d’une tâche Laboratoire SAFARI , UQAM
Correspondance entre DTD et primitives de description d’une tâche • séquence([T2,T1,T3]) • (T2,T1,T3) • répétition(T1, N) • (T1,…,T1) • répétitionx(T1, N) • (T1)+ ou (T1)? ou (T1)* • choix([T1,T2,T3]) • T1 | T2 | T3 • parallèle([T1,T2,T3]) • Non utilisé dans le cas d’un apprentissage individuel Laboratoire SAFARI , UQAM
Correspondance entre DTD et primitives de description d’une tâche • sousTâcheDe(Tâche 1, Tâche 2) • compose(Tâche, [Tâche1,…TâcheN]) • <!ELEMENT enterTestsResults • ((inputUsingBox|inputUsingPalette|resultModification)+)> • <!ELEMENT inputUsingBox EMPTY> • <!ELEMENT inputUsingPalette EMPTY> • <!ELEMENT resultModification EMPTY> Laboratoire SAFARI , UQAM
Plan de la présentation • Introduction • Définition de tâches • Primitives de décomposition d’une tâche • Représentation d’une tâche en XML • Correspondance entre DTD et primitives de description d’une tâche • Processus d’évaluation d’une tâche Laboratoire SAFARI , UQAM
Évaluation d’une tâcheÉtape 1: produire des fichiers XML • Acteur • Le superviseur • But • Produire un ensemble de fichier XML valides • Chaque fichier XML représente un scénario d’exécution valide de la tâche • Méthode • Le superviseur exécute la tâche de toutes les manières possibles • Chaque action du superviseur est capturée et codée dans un fichier sous forme d’une balise XML Laboratoire SAFARI , UQAM
Évaluation d’une tâcheÉtape 2: produire le DTD • Acteur • Générateur de DTD • Data Descriptor By Example (IBM) • Librairie Java • But • Produire un DTD à partir d’un ensemble de fichiers XML • Méthode • Créer un modèle objet de document (DOM) pour chaque fichier • Regrouper les nœuds éléments par type d’éléments • Créer un modèle de contenu pour chaque type par factorisation Laboratoire SAFARI , UQAM
Évaluation d’une tâcheÉtape 3: modifier le DTD • Acteur • Le superviseur • But • Modifier le DTD s’il est trop strict ou pas assez strict • Méthode • Éditer manuellement le DTD Laboratoire SAFARI , UQAM
Évaluation d’une tâcheÉtape 4: exécution de la tâche • Acteur • L’apprenant • But • Produire un fichier XML décrivant l’exécution de la tâche par l’apprenant • Méthode • L’apprenant exécute la tâche • Chacune de ses actions significatives est ajoutée dans le fichier sous la forme d’une balise XML Laboratoire SAFARI , UQAM
Évaluation d’une tâcheÉtape 5: validation de la tâche • Acteur • Un analyseur XML validant • But • Valider le fichier XML produit par les actions de l’apprenant au moyen du DTD obtenu à l’étape 3 • Méthode • Faire analyser les fichier XML par un analyseur XML validant • Interpréter les erreurs éventuelles produites par l’analyse validante Laboratoire SAFARI , UQAM
Plan de la présentation • Exemple d’une application • La composante apprentissage pour un système d’identification bactérienne • Travaux futurs Laboratoire SAFARI , UQAM
La composante apprentissage pour un système d’identification bactérienne Laboratoire SAFARI , UQAM
Saisie des actions class MyItemListener implements ItemListener{ public void itemStateChanged(ItemEvent e){ Object object = e.getSource(); if(object == responsesList){ // TEST_SELECTION : Modification dans la liste des résultats String ftm = responsesList.getSelectedItem(); int im = ftm.indexOf('='); props.put(ftm.substring(0,im),ftm.substring(im+1)); xmlgen.input("TEST_SELECTION", props); } if(object == kitList){ // KIT_SELECTION : Sélection d’un kit d’identification props.put("kit“, normalise(kitList.getSelectedItem())); xmlgen.input("KIT_SELECTION", props); } Laboratoire SAFARI , UQAM
Saisie des actions else if (object == originList){ // ORIGIN_SELECTION : Sélection de l’origine de la souche props.put("origin",normalise(originList.getSelectedItem())); xmlgen.input("ORIGIN_SELECTION", props); } } } // Créer un nouvel auditeur d’éléments MyItemListener itemLis_ = new MyItemListener(); // Associer l’auditeur aux composantes responsesList.addItemListener(itemLis_); kitList.addItemListener(itemLis_); originList.addItemListener(itemLis_); Laboratoire SAFARI , UQAM
Document XML représentant une exécution valide <?xml version='1.0'?> <!DOCTYPE TASK SYSTEM "taskdtd2.dtd"> <TASK> <DESC>Identification system task</DESC> <MODALITY_CLICK value= "0" /> <MODALITY_INPUT value= "0" /> <MODALITY_OK Erythriol= "0" /> <MODALITY_CLICK value= "2" /> <MODALITY_INPUT value= "2" /> <MODALITY_OK D_arabinose= "2" /> <MODALITY_CLICK value= "3" /> <MODALITY_INPUT value= "3" /> <MODALITY_OK L_arabinose= "3" /> <MODALITY_CLICK value= "1" /> <MODALITY_INPUT value= "1" /> <MODALITY_OK L_arabinose= "1" /> <TEST_SELECTION Erythriol= "2" /> <MODALITY_INPUT value= "2" /> <MODALITY_CLICK value= "0" /> <MODALITY_INPUT value= "0" /> <MODALITY_OK Erythriol= "0" /> <ORIGIN_SELECT origin= "Bronchus" /> <KIT_SELECTION kit= "Kit3" /> </TASK> Laboratoire SAFARI , UQAM
Exemple de DTD généré avec un degré maximum de factorisation <!ELEMENT DESC (#PCDATA)> <!ELEMENT MODALITY_CLICK EMPTY> <!ATTLIST MODALITY_CLICK value CDATA #IMPLIED> <!ELEMENT MODALITY_INPUT EMPTY> <!ATTLIST MODALITY_INPUT value CDATA #IMPLIED> <!ELEMENT MODALITY_OK EMPTY> <!ATTLIST MODALITY_OK Erythriol CDATA #IMPLIED D_arabinose CDATA #IMPLIED L_arabinose CDATA #IMPLIED> <!ELEMENT ORIGIN_SELECT EMPTY> <!ATTLIST ORIGIN_SELECT origin CDATA #IMPLIED> <!ELEMENT TASK (DESC,(MODALITY_INPUT|MODALITY_CLICK|MODALITY_OK|TEST_SELECTION)+)> <!ELEMENT TEST_SELECTION EMPTY> <!ATTLIST TEST_SELECTION Erythriol CDATA #IMPLIED> Laboratoire SAFARI , UQAM
Avantages et inconvénients de méthode • Facile à implanter • Suffisamment précise pour valider une tàche • Générique (Peut être utilisée our de multiple domaines) • Facile à utiliser dans le contexte du Web • Utilise des outils standards • Pas de contrôle dynamique de l’exécution de la tâche • Pas d’analyse du raisonnement de l’apprenant Laboratoire SAFARI , UQAM
Directions futures • Évaluer l’apporche dans le cas de tâches plus complexes • Faciliter la génération de DTD • Définir des outils permettant une meilleure spécification des tâches et un meilleur traitement des erreurs de l’apprenant Laboratoire SAFARI , UQAM