La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Laboratoire SAFARI , UQAM

Présentations similaires


Présentation au sujet: "Laboratoire SAFARI , UQAM"— Transcription de la présentation:

1 Laboratoire SAFARI , UQAM

2 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 In this presentation I will talk about (show) a domain independant model to validate a learner task in an intelligent tutoring system or in a learning system. The model is based on XML, an eXtensible Markup Language (XML) and on Document Type Definition (DTD).

3 Plan de la présentation
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 This is the outline of the presentation. We will start with an introduction showing the context of this work. In the next two sections I will show how a task can be defined. Then we will briefly see how the task is represented in XML. Then I will show the relation between document type definition (DTD) and the functions used to compose a task. In the next section, I will talk about the main topic of this work : the task evaluation process. This process will be presented in 5 steps. Laboratoire SAFARI , UQAM

4 Plan de la présentation
Plan de la présentation Exemple d’une application La composante apprentissage pour un système d’identification bactérienne Travaux futurs Finaly I will show an implementation of the model in a learning component for a bacterial identification system. I will conclude the presentation by presenting (mentioning) the future directions of this work. Laboratoire SAFARI , UQAM

5 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 ? In intelligent tutoring systems or in learning systems, we sometimes need to evaluate a task performed by a user. This situation occurs in example based learning where the learners have to make a simulation on an unreal system. A classic example is a learning system which teaches the learners how to use a software based on a graphical user interface (with windows). In this kind of situation, the system can first show the learner how to execute a task (using a learning resource like video or animation) and, in a second step, ask the user to perform the task using a fake interface. Now there are two main questions. First, how did we represent the task and second, how can we evaluate it. Laboratoire SAFARI , UQAM

6 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 Differents models have been proposed in ITS to respond to these questions. The first well known model is the “buggy model” which is based on a procedural network (Brown and Burton). An other model is used in different domains of computer science and is based on finite state machine or on augmented transition network. We proposed a new model based on XML and DTD. We will use XML here to represent a task and the DTD to validate it. Before presenting the model we need first to define a task. Laboratoire SAFARI , UQAM

7 Définition et structure d’une tâche
Définition et structure d’une tâche Conditions initiales . T1 Tâche atomique Sous tâche T2 A task essentialy decribes a problem to be solved. (or a task is a description of a problem to be solved) A task is composed of entries, the sequence of actions or subtasks and finaly by outputs. The substasks which composed the task can be atomic (action) or complex. We will use the term action when talking about atomic tasks. The entries of a task are the initial conditions of the problem and the outputs are the final conditions. In the two cases, the conditions can be simple values or objects. If the task consists of a manipulation of an entity, the initial conditions can be the state of the entity before the task execution and the final conditions can be the state after the task execution. In the example shown here, the task is composed by T1, T2, … Tn. We need to specify the structure of the task and in which sequence the substasks must be executed ? To descibe the structure of the task, we have defined a set of functions. Tn Conditions finales Laboratoire SAFARI , UQAM

8 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

9 Primitives de décomposition d’une tâche
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) The compose function defines subtasks for a given task. The sequence function defines the sequence in which subtaks must be executed. sequence([T2, T1,T3]) specifies that T2 must be executed first, then T1 and finally T3. The repetition function defines the number of times that the given task must be executed. Repetition(T2, 3) specifies that the task T2 must be executed 3 times. Laboratoire SAFARI , UQAM

10 Primitives de décomposition d’une tâche
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]) The parallel function specifies that substasks can be executed in parallel. In parallel([T2,T1,T3), the tasks T2, T1 and T3 can be executed in parallel. The choice function specifies that a subtask to be executed can be chosen in a set of subtasks. Laboratoire SAFARI , UQAM

11 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

12 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

13 Représentation des tâches en XML
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) XML is a markup language designed for creating documents. XML allows us to decribe the structure and the content of the document. In XML the document is structured as a tree of elements that compose the document. For more information on XML the best reference is w3c. A task can also be viewed as a tree where the root is the main task, the internal nodes are subtasks and the tree leaves represent atomic tasks (actions). XML Schemas express shared vocabularies and allow machines to carry out rules made by people. They provide a means for defining the structure, content and semantics of XML documents. The XML Activity Statement explains the W3C's work on this topic in more detail. The mission of the XML Query working group is to provide flexible query facilities to extract data from real and virtual documents on the Web, therefore finally providing the needed interaction between the web world and the database world. Ultimately, collections of XML files will be accessed like databases. XML Linking Language (XLink) Description This specification defines the XML Linking Language (XLink), which allows elements to be inserted into XML documents in order to create and describe links between resources. It uses XML syntax to create structures that can describe the simple unidirectional hyperlinks of today's HTML, as well as more sophisticated links. XML Pointer Language (XPointer) This specification defines the XML Pointer Language (XPointer), the language to be used as a fragment identifier for any URI-reference that locates a resource of Internet media type text/xml or application/xml. XPointer, which is based on the XML Path Language (XPath), supports addressing into the internal structures of XML documents. It allows for traversals of a document tree and choice of its internal parts based on various properties, such as element types, attribute values, character content, and relative position. The Document Object Model is a platform- and language-neutral interface that will allow programs and scripts to dynamically access and update the content, structure and style of documents. The document can be further processed and the results of that processing can be incorporated back into the presented page. This is an overview of DOM-related materials here at W3C and around the web. The Resource Description Framework (RDF) integrates a variety of web-based metadata activities including sitemaps, content ratings, stream channel definitions, search engine data collection (web crawling), digital library collections, and distributed authoring, using XML as an interchange syntax. Cascading Style Sheets (CSS) is a simple mechanism for adding style (e.g. fonts, colors, spacing) to Web documents. For background information on style sheets, see the Web style sheets resource page. Discussions about CSS are carried out on the mailing list and on comp.infosystems. The second draft for the XHTML Events is now available. This specification defines the XHTML Event Module, a module that provides XHTML host languages with the ability to uniformly integrate behaviors with Document Object Model (DOM) Level 2 event interfaces. This specification also defines the XHTML Basic Event Module, a module which subsets the XHTML Event Module for simpler applications and simpler client devices, and the XHTML Event Types Module, a module defining XHTML language event types. MathML is intended to facilitate the use and re-use of mathematical and scientific content on the Web, and for other applications such as computer algebra systems, print typesetting, and voice synthesis. MathML can be used to encode both the presentation of mathematical notation for high-quality visual display, and mathematical content, for applications where the semantics plays more of a key role such as scientific software or voice synthesis. To enable simple authoring of TV-like multimedia presentations such as training courses on the Web, W3C has designed the Synchronized Multimedia Integration Language (SMIL, pronounced "smile"). The SMIL language is an easy-to-learn HTML-like language. Thus, SMIL presentations can be written using a simple text-editor. A SMIL presentation can be composed of streaming audio, streaming video, images, text or any other media type. SVG is a language for describing two-dimensional graphics in XML. SVG allows for three types of graphic objects: vector graphic shapes (e.g., paths consisting of straight lines and curves), images and text. Graphical objects can be grouped, styled, transformed and composited into previously rendered objects. Text can be in any XML namespace suitable to the appplication, which enhances searc£ability and accessibility of the SVG graphics. The feature set includes nested transformations, clipping paths, alpha masks, filter effects, template objects and extensibility. The mission of this working group is to develop an XML compliant syntax used for representing the signature of Web resources and portions of protocol messages (anything referencable by a URI) and procedures for computing and verifying such signatures. This is a joint Working Group of the IETF and W3C. W3C is hosting the list and WG site publicly in accordance with IETF procedure. Please see the Charter for further information on the constitution of this WG. Laboratoire SAFARI , UQAM

14 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

15 Représentation des tâches en XML
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> This example shows a task structure on the left and the corresponding XML representation on the right. Each task is associated to a tag in the XML document. Each element of the document must have a start tag and an end tag. In this case the document is well-formed. The tags can also have some attributes. The task structure can be defined in a document type definition (DTD). T7 <chooseOptions> <selectStrainOrigin>... </selectStrainOrigin> T13 <selectStrainOrigin>... </selectStrainOrigin> T14 <chooseOptions> </enterData>

16 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> The DTD determines the elements allowed in the XML document, the order or sequence of these elements, wether the element is optional or mandatory and the multiplicity of each element. In the example we can see that the enterData element is composed by the elements enterTestsResults and chooseOptions. The enterTestsResults element task can contain inputUsingBox or inputUsingPalette or resultModification elements. It also shows that these elements must be repeated 1 or n times. This structure can be used to validate any XML document representing a task. This validation is done by using a validating parser. Laboratoire SAFARI , UQAM

17 Plan de la présentation
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 Now what is the relationship between document type definition (DTD) and the functions used to compose a task. Laboratoire SAFARI , UQAM

18 Correspondance entre DTD et primitives de description d’une tâche
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 The compose function (which defines subtasks for a given task) is mapped to an element definition in the DTD. The element is the correspondig task and the sequence is composed by the subtasks. The function sequence is mapped to a sequence in XML The function repetition is mapped to an element with multiplicity. T1 : element occurs only one time T1+ : element must be repeated T1?(questionmark) : element occurs 1 or n times T1* : element occurs 0 or n times The function choice is mapped to an OR sequence The parallel has no equivalent in XML but it is not important in individual learning. Laboratoire SAFARI , UQAM

19 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

20 Plan de la présentation
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 Now that we know how to define and represent the task in XML, how can we evaluate the validity of the task in a learning context. Laboratoire SAFARI , UQAM

21 Processus pour l’évaluation d’une tâche
Processus pour l’évaluation d’une tâche

22 Évaluation d’une tâche Étape 1: produire des fichiers XML
É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 The goal of this first step, is to produce a set of valid XML document each representing a valid execution of the task. The actor here is the supervisor. He executes the tasks in differents ways and each interesting action is added to a file as a XML tag. The method used to get the interesting actions depends on the application. For example if the task is executed in a graphical user interface, we can get those actions when the user clicks on a button or when he selects a menu item. Whichever method used here, the goal is to produce valid XML files Laboratoire SAFARI , UQAM

23 Processus pour l’évaluation d’une tâche

24 Évaluation d’une tâche Étape 2: produire le DTD
É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 The goal of this step is to procduce a DTD corresponding to the XML documents produced in step 1. The actor here is the DTD generator which is a java library that allows the generation of a DTD from a set of XML files. We use DDbE from IBM. We have tried other DTD generators but most of them only allow one XML file as input. The DTD generator first creates a DOM for each XML file. The DOM is a tree structure that represents the XML document. Then the elements are grouped by element type. Finally a content model is created for each type by factorizing the elements values. Each value comes from a different XML file. The DTD generator uses some rules to do the factorization. For example, can a sequence of the same values be replaced by a list. a,a,a => a+ or a? or a* Laboratoire SAFARI , UQAM

25 Processus pour l’évaluation d’une tâche
Processus pour l’évaluation d’une tâche

26 Évaluation d’une tâche Étape 3: modifier le DTD
É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 The generated DTD can be too or not strict enough. In this third step the supervisor can manually modify the DTD to adjust it to the situation. Laboratoire SAFARI , UQAM

27 Processus pour l’évaluation d’une tâche
Processus pour l’évaluation d’une tâche

28 Évaluation d’une tâche Étape 4: exécution de la tâche
É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 In this step, it’s the learner’s turn to execute the task. As in the first step, each action is added to an XML file. Laboratoire SAFARI , UQAM

29 Processus pour l’évaluation d’une tâche
Processus pour l’évaluation d’une tâche

30 Évaluation d’une tâche Étape 5: validation de la tâche
É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 In this last step the learner’s task is linked to the DTD generated in step 3. Then the XML document representing the task is evaluated by using a validating parser. If the task is not valid, then the parser will return an error. This error can be used to advise the learner. Il the task is valid, the learner can be congratulated. Laboratoire SAFARI , UQAM

31 Plan de la présentation
Plan de la présentation Exemple d’une application La composante apprentissage pour un système d’identification bactérienne Travaux futurs Now, I will show you an implementation of the model : a learning component for a bacterial identification system. Laboratoire SAFARI , UQAM

32 La composante apprentissage pour un système d’identification bactérienne Laboratoire SAFARI , UQAM

33 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

34 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

35 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

36 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

37 Avantages et inconvénients de méthode
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

38 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 As future steps of this research we will evaluate the approach with more complex tasks and also facilitate the generation of the DTD Laboratoire SAFARI , UQAM


Télécharger ppt "Laboratoire SAFARI , UQAM"

Présentations similaires


Annonces Google