1 / 21

tutor_message_v4.dtd

tutor_message_v4.dtd. Standardized Format for Data Shop Logging Version 4 DTD (Document Type Definition). This version works with DataShop v2.2 Februrary 2007 CTAT v2.2 June 2007. Goals of this DTD. Log every student and tutor action Playback in CTAT Human readable. Notes.

regina
Download Presentation

tutor_message_v4.dtd

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. tutor_message_v4.dtd Standardized Format for Data Shop Logging Version 4 DTD (Document Type Definition) This version works with DataShop v2.2 Februrary 2007 CTAT v2.2 June 2007

  2. Goals of this DTD • Log every student and tutor action • Playback in CTAT • Human readable Notes • If not logging to the OLI log service, the meta data element must be filled in. • Raw logs in previous version of DTD will remain the same, the DataShop will “convert” data. • The DataShop will continue to accept logs in v2 as well as v4. • Required elements should not be left blank/empty.

  3. Release Notes(changes since v2 of the DTD) • attempt_id renamed to context_message_id • New message type: context_message • Replaces curriculum_message • Flexible dataset hierarchy • Condition Element • Provides information on a study condition • Sub-element of problem only • tutor_message • Interpretation element added to handle the “cognitive tutor’s idea” of what the student was doing • Custom Field element added to store variables that are specific to the tutor application. • skill has new sub-elements and one new attribute • buggy (attribute, true or false, default false) • name • category • model_name • semantic_event changes: • Removed id and semantic_event_id • Replaced with transaction_id • new attribute “subtype” for when additional classification of a semantic event is required. • The Andes usage example is to have a semantic_event with the name “HINT_MSG” and a subtype of “DIALOG”. • action_evaluation has two new attributes: • “hint_id” to identify hints that cannot be identified by their text. • “classification” for classifying errors or hints. • For example, hint of type “BOTTOM_OUT”. • user_id element has a new attribute: • anonFlag which can be true or false, the default is false • Indicates whether the user id needs to be anonymized by the DataShop

  4. XML within XML To explain how the tutor_message.dtd fits into the big picture, its first important to get an introduction to the OLI log DTD. To log student actions to OLI, the data must be in this oli_log_1.1.dtd xml format. See http://oli.web.cmu.edu. The info field of each action, when coming from a tutor, should be filled in with XML in the format of the tutor_message.dtd. Its XML within XML. Here’s part of the oli_log_1.1.dtd with just the log_action element: <!-- auth_token: provided by JCourse, used to authenticate a session session_id: optionally provided by JCourse, used to group actions within a session user_guid: optionally provided by Jcourse, used to identify the user date_time: timestamp for action timezone: timezone of the timestamp action_id: identifes the type of action (e.g. START_ATTEMPT) source_id: source of the action, the application creating the log entry (e.g. WORKBOOK_ACTIVITY, PACT_CTAT, ANDES, etc.) external_object_id: id of the object effected by the action within the application (e.g. window1/frame1/textbox1) NOTE: external_object_id does not neccessarily correspond to a content file identifier, it is more like a 'container' in Ken's usage of the term info_type: type of data stored in the info field (e.g. xml) info: all relevant data associated with the action (most likely in XML format) --> <!ATTLIST LOG_ACTION auth_token CDATA #IMPLIED session_id CDATA #REQUIRED user_guid CDATA #REQUIRED date_time CDATA #IMPLIED timezone CDATA #IMPLIED action CDATA #REQUIRED source_id #REQUIRED external_object_id CDATA #IMPLIED info_type CDATA #IMPLIED>

  5. log_action auth_token session_id user_guid date_time timezone action_id source_id external_obj_id info_type = “tutor_message.dtd” tutor_related_message_sequence Note: The info_type field must be set to “tutor_message.dtd” so that the Data Shop log conversion utilities can find the actions which are of this format.

  6. tutor_related_message_sequence version_number=“4” tool_message tutor_message message context_message Though many different types of actions can be logged into the OLI logging database, following the OLI DTD, Tutor Actions need to follow the Tutor Message DTD for the content of a log_action element. There are 4 types of messages, as seen below. Formerly curriculum_message

  7. tool_message context_message_id meta (0 or 1) event_descriptor (0+) event_id user_id anonFlag (true|false) session_id selection (0+) id type time time_zone action (0+) id type input (0+) id type New Attribute Renamed Attribute (1+) custom_field (0+) name (1) value (1) problem_name (0 or 1) semantic_event transaction_id name trigger subtype ui_event id name The ‘context_message_id’ attribute needs to match the id of an actual context_message so that the scope/context of this problem (where it falls within the curriculum/dataset) can be determined. The semantic event’s transaction id in this message should match the ‘semantic_event’s transaction_id of a tutor message if the two messages go together. The semantic_event’s name can be anything, but useful & expected pairs are: ATTEMPT/RESULT or HINT_REQUEST/HING_MSG The meta element is only used when messages are outside of an OLI logging database. The anonFlag attribute on the user_id element is optional and the default is ‘false’. Set to true when the user_id is already anonymized so that the DataShop doesn’t anonymize it again.

  8. meta (0 or 1) event_descriptor (0+) event_id user_id anonFlag (true|false) session_id selection (0+) id type time time_zone action (0+) id type New Attribute input (0+) id type New Attribute Renamed Attribute step (1+) (1+) step_info (1) rule (0+) New Attributes incorrect_step_sequence (0 or 1) ordered (true|false) step (1+) step_info (1) rule (0+) New Attribute skill (0+) probability buggy custom_field (0+) New Elements New Elements name (1) category (0 or 1) name (1) model_name (0+) value (1) tutor_message context_message_id problem_name (0 or 1) semantic_event transaction_id name trigger subtype interpretation (0+) chosen (true|false) ui_event id name correct_step_sequence (0 or 1) ordered (true|false) action_evaluation (0+) current_hint_number total_hints_available hint_id classification tutor_advice (0+) Custom fields and interpretations will be associated with transactions in the analysis database. Skill goes with “chosen interpretation”. Only incorrect interpretations will have BOTH a correct and incorrect step sequence.

  9. meta (0 or 1) user_id anonFlag (true|false) session_id time time_zone class (0 or 1) name (0 or 1) school (0 or 1) period (0 or 1) condition (0+) description (0 or 1) name (1) instructor (0+) type (0 or 1) desc (0 or1) custom_field (0+) skill (0+) probability New Elements name (1) name (1) model_name (0+) value (1) category (1) Formerly curriculum_message context_message context_message_id name dataset (0 or 1) conversion_date (0 or 1) converter_info (0 or 1) name (1) level (1) type name (1) New Elements level (0 or 1) problem (0 or 1) tutorFlag other name (1) context (0 or 1) dfa (0+) • Problem’s tutorFlag attribute can be ‘tutor’, ‘test’, ‘pre-test’, ‘post-test’ or ‘other’. If other, then the other attribute can/should be filled in with application specific data indicating where it falls in the spectrum between tutor and test. (Other attribute is ignored unless tutorFlag is set to other.) • If class name is not filled in, but period is, then period will be used as the class name. If class name and period name is not filled in, but description is, then the description will be used as the classname. • Every problem must be placed within at least one level. Only one problem element is expected within the entire dataset element, and it is expected at the bottom-most level.

  10. property (0+) name message context_message_id entry (0 or 1) Used by CTAT for extra information that is used primarily for playback.

  11. tutor_message_v4.xml Sample XML File with data from CTAT Example Tracing Tutor

  12. log_action auth_token session_id user_guid=“student1” date_time=“2005/02/22 06:43:47.00284” timezone=“US/Eastern” action_id=“START_TUTOR” source_id=“PACT_CTAT” external_obj_id info_type=“tutor_message.dtd” tutor_related_message_sequence

  13. tool_message context_message_id=“0CEF2E07” problem_name ChemPT1 event_descriptor selection ../../../../webcontent/flash/ChemPT1.brd semantic_event transaction_id =“5B86A043“ name =“START_TUTOR” action START_TUTOR

  14. condition condition name Worked name Personal type experimental type experimental context_message context_message_id =“0CEF2E07” name=“START_PROBLEM” class dataset name Chemistry school CMU level type=“Module” period 5th name Stoichiometry Instructor Joe Jones level type = “Section” name Unit Conversion problem name ChemPT1 context How many moles?

  15. tool_message context_message_id=“0CEF2E07” problem_name ChemPT1 event_descriptor event_descriptor semantic_event transaction_id =“0FB7AE5D” name=“ATTEMPT” selection Numerator1Value action UpdateTextField input 1000

  16. problem_name ChemPT1 event_descriptor semantic_event transaction_id =“0FB7AE5D” name=“RESULT” selection Numerator1Value action (0+) UpdateTextField input (0+) 1 skill name Set-Numerator-Unit-of-Unit-Conversion category Chemistry Skills tutor_message context_message_id=“0CEF2E07” action_evaluation INCORRECT tutor_advice “1000” should be in this term's ratio, but look at the units you need to cancel in the first term. Will placing 1000 mg in the numerator cancel in the first term?

  17. tool_message context_message_id=“0CEF2E07” problem_name ChemPT1 event_descriptor event_descriptor selection hint_button semantic_event transaction_id =“7BF61B95” name=“HINT” action ButtonPressed

  18. problem_name ChemPT1 event_descriptor semantic_event transaction_id =“7BF61B95” name=“HINT_MSG” selection Numerator1Value action UpdateTextField input 1 skill name Set-Numerator-Unit-of-Unit-Conversion category Chemistry Skills tutor_message context_message_id=“0CEF2E07” action_evaluation current_hint_number=“1” total_hints_available=“3” HINT tutor_advice Your goal here is to convert the units of the first term.

  19. <?xml version="1.0" encoding="UTF-8"?> <tutor_related_message_sequence version_number=“4"> <context_message context_message_id="0CEF2E07-24DE-BFDA-9BAB-957C3AE236CE" name="START_PROBLEM"> <class> <school>CMU</school> </class> <dataset> <name>Chemistry</name> <level type=“Module”> <name>Stoichiometry</name> <level type=“Section”> <name>Unit Conversion</name> <problem> <name>ChemPT1</name> <context>How many moles?</context> </problem> </level> </level> </dataset> <condition> <name>Personal</name> <type>Experimental</type> </condition> <condition> <name>Worked</name> <type>Experimental</type> </condition> </context_message>

  20. <tool_message context_message_id="0CEF2E07-24DE-BFDA-9BAB-957C3AE236CE"> <problem_name>ChemPT1</problem_name> <semantic_event transaction_id="0FB7AE5D-B8B9-3AAA-0B01-26CAA3302205“ name="ATTEMPT" /> <event_descriptor> <selection>Numerator1Value</selection> <action>UpdateTextField</action> <input>1000</input> </event_descriptor> </tool_message> <tutor_message context_message_id="0CEF2E07-24DE-BFDA-9BAB-957C3AE236CE"> <problem_name>ChemPT1</problem_name> <semantic_event transaction_id="0FB7AE5D-B8B9-3AAA-0B01-26CAA3302205" name="RESULT" /> <event_descriptor> <selection>Numerator1Value</selection> <action>UpdateTextField</action> <input>1000</input> </event_descriptor> <action_evaluation>INCORRECT</action_evaluation> <tutor_advice>"1000" should be in this term's ratio, but look at the units you need to cancel in the first term. Will placing 1000 mg in the numerator cancel in the first term?</tutor_advice> <skill> <name>Set-Numerator-Unit-of-Unit-Conversion</name> <category>Chemistry Skills</category> </skill> </tutor_message>

  21. <tool_message context_message_id="0CEF2E07-24DE-BFDA-9BAB-957C3AE236CE"> <problem_name>ChemPT1</problem_name> <semantic_event transaction_id ="7BF61B95-3477-0D20-1E8B-2F4A2FAC5FE0“ name="HINT_REQUEST" /> <event_descriptor> <selection>hint_button</selection> <action>ButtonPressed</action> </event_descriptor> </tool_message> <tutor_message context_message_id ="0CEF2E07-24DE-BFDA-9BAB-957C3AE236CE"> <problem_name>ChemPT1</problem_name> <semantic_event transaction_id="7BF61B95-3477-0D20-1E8B-2F4A2FAC5FE0" name="HINT_MSG" /> <event_descriptor> <selection>Numerator1Value</selection> <action>UpdateTextField</action> <input>1</input> </event_descriptor> <action_evaluation current_hint_number="1“ total_hints_available="3">HINT</action_evaluation> <tutor_advice>Your goal here is to convert the units of the first term.</tutor_advice> <skill> <name>Set-Numerator-Unit-of-Unit-Conversion</name> <category>Chemistry Skills</category> </skill> </tutor_message> </tutor_related_message_sequence>

More Related