Generic Adaptation Languages Explicit Intelligence in Adaptive Hypermedia Generic Adaptation Languages Explicit Intelligence in Adaptive Hypermedia Dr.

Slides:



Advertisements
Similar presentations
Maurice Hendrix, A3H AH2008, 29/07/2008 A meta level for LAG Adaptation Language.
Advertisements

1212 Department of Computer Science Adaptive Hypermedia and The Semantic Web Socrates course UPB Romania Course 4 Dr. Alexandra Cristea
PROLEARN International Summer School 27May – 2June 2007 Authoring and Engineering Adaptive eLearning Systems Dr. Alexandra Cristea
Adaptive Hypermedia and The Semantic Web Dr. Alexandra Cristea
Maurice Hendrix, Alexandra Cristea* London Knowledge Lab 25/11/2008 *Based on work in collaboration with Paul De Bra,
Explicit Intelligence in Adaptive Hypermedia: Generic Adaptation Languages Alexandra Cristea.
LAG: Layers of Adaptive Granularity Dr. Alexandra Cristea
LAOS: Layered WWW AHS Authoring Model and their corresponding Algebraic Operators Alexandra I. Cristea USI intensive course Adaptive Systems April-May.
LAOS: Layered WWW AHS Authoring Model and their corresponding Algebraic Operators Dr. Alexandra Cristea
TU e technische universiteit eindhoven / department of mathematics and computer science 1 Empirical Evaluation of Learning Styles Adaptation Language Natalia.
TU/e technische universiteit eindhoven Hera: Development of Semantic Web Information Systems Geert-Jan Houben Peter Barna Flavius Frasincar Richard Vdovjak.
Adaptive Hypermedia Dr. Alexandra Cristea
/ faculty of mathematics and informatics TU/e eindhoven university of technology 1 Adaptive Authoring of Adaptive Educational Hypermedia Alexandra Cristea.
Towards Adaptive Web-Based Learning Systems Katerina Georgouli, MSc, PhD Associate Professor T.E.I. of Athens Dept. of Informatics Tempus.
/ Where innovation starts 1212 Technische Universiteit Eindhoven University of Technology 1 Incorporating Cognitive/Learning Styles in a General-Purpose.
Maurice Hendrix, IAS seminar, 30/06/2008 Concept Adaptation Model CAM.
TU/e technische universiteit eindhoven Hypermedia Presentation Adaptation on the Semantic Web Flavius Frasincar Geert-Jan Houben
Object-Oriented Analysis and Design
ADE The Adaptive Display Environment Thursday October 28 th, 2010 Joshua Scotton, Jonathan Foss, Alexandra Cristea.
/ faculty of mathematics and computer science TU/e eindhoven university of technology 1 MOT Adaptive Course Authoring: My Online Teacher Alexandra Cristea.
LAG: Layers of Adaptive Granularity Dr. Alexandra Cristea
/ department of mathematics and computer science TU/e eindhoven university of technology Education Track, ITCC’04, US April, Adaptive Course Creation.
Chapter 8 . Sequence Control
/dept. of mathematics and computer science TU/e eindhoven university of technology wwwis.win.tue.nl/~hera WWW2002May Specification Framework for.
Adaptive Hypermedia Dr. Alexandra Cristea
1212 Department of Computer Science Writing MOT, Reading AHA! - converting between an authoring and a delivery system for adaptive educational hypermedia.
© Copyright Eliyahu Brutman Programming Techniques Course.
– 4 th Workshop on Authoring of Adaptive and Adaptable Hypermedia, Dublin, 20 th of June, 2006 TU/e eindhoven university of technology Panel:
Adaptive Hypermedia: What is it and why are we doing it? Dr. Alexandra Cristea
/ department of mathematics and computer science TU/e eindhoven university of technology Departmental Seminar, Nottingham, UKMarch, Authoring of.
Authoring of Adaptive Hypermedia Dr. Alexandra Cristea
The Multi-model, Metadata-driven Approach to Content and Layout Adaptation Knowledge and Data Engineering Group (KDEG) Trinity College,
Unified Modeling Language
SCORM By: Akshay Kumar. SCORM 2 What we want? What is SCORM? What is SCORM? Connection with e-learning Connection with e-learning Application of XML Technology.
Object Oriented Software Development
Sage CRM Developers Course
Copyright ©: SAMSUNG & Samsung Hope for Youth. All rights reserved Tutorials Software: Building apps Suitable for: Advanced.
BPMN By Hosein Bitaraf Software Engineering. Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes.
Generic Adaptation Languages Explicit Intelligence in Adaptive Hypermedia Generic Adaptation Languages Explicit Intelligence in Adaptive Hypermedia Dr.
User Interface Elements of User Interface Group View.
ICALT’06: Workshop on Adaptive Learning – extending IMS LD for adaptive instruction, Kerkrade, 6 h of July, 2006 TU/e eindhoven university of technology.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Maurice Hendrix, IAS seminar, 19/05/2008 Graphical Authoring of Adaptive Hypermedia: CAM.
Adaptive Hypermedia Tutorial System Based on AHA Jing Zhai Dublin City University.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
1 5 Nov 2002 Risto Pohjonen, Juha-Pekka Tolvanen MetaCase Consulting AUTOMATED PRODUCTION OF FAMILY MEMBERS: LESSONS LEARNED.
1Mr.Mohammed Abu Roqyah. Database System Concepts and Architecture 2Mr.Mohammed Abu Roqyah.
LAG Alexandra I. Cristea UPB intensive course “Adaptive Hypermedia” January 2004.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
Design Reuse Earlier we have covered the re-usable Architectural Styles as design patterns for High-Level Design. At mid-level and low-level, design patterns.
ADE The Adaptive Display Environment Tuesday January 31 st 2012 Joshua Scotton, Jonathan Foss, Alexandra Cristea.
Chapter 7 Classes and Methods III: Static Methods and Variables Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition)
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
High Level Design Use Case Textual Analysis SE-2030 Dr. Mark L. Hornick 1.
ANDROID LAYOUTS AND WIDGETS. Slide 2 Introduction Parts of the Android screen Sizing widgets and fonts Layouts and their characteristics Buttons, checkboxes.
Algorithms and Flowcharts
Defects of UML Yang Yichuan. For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the.
CIS 234: Object-Oriented Programming with Java
Visual Basic.NET Windows Programming
Main issues: • What do we want to build • How do we write this down
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Unified Modeling Language
Computer Programming.
LAOS: Layered WWW AHS Authoring Model and their corresponding Algebraic Operators Alexandra I. Cristea UPB intensive course “Adaptive Hypermedia” January.
A meta level for LAG Adaptation Language re-use in education
LAOS: Layered WWW AHS Authoring Model and their corresponding Algebraic Operators Alexandra I. Cristea UNESCO workshop “Personalization in Education” Feb’04.
LAG Alexandra I. Cristea
Simple Sequencing Part 2
Web Programming and Design
Presentation transcript:

Generic Adaptation Languages Explicit Intelligence in Adaptive Hypermedia Generic Adaptation Languages Explicit Intelligence in Adaptive Hypermedia Dr. Alexandra Cristea

LAOS Model

Adaptation granularity lowest level: direct adaptation techniques: –adaptive navigation support & adaptive presentation (Brusilovsky 1996), implem.: AHA!; expressed in AHAM syntax –techniques usually based on threshold computations of variable- value pairs. medium level: goal / domain-oriented adaptation techniques: –based on a higher level language that embraces primitive low level adaptation techniques (wrapper) –new techniques: adaptation language (Calvi & Cristea 2002), high level: adaptation strategies – wrapping layers above – goal-oriented Adaptation Assembly language Adaptation Programming language Adaptation Function calls

How to create an adaptation language? Adaptation Language as an Intermediate Platform (between authoring environment and adaptation engine) An interface between the adaptation engineer and the authoring system

“Authoring problem” Defining: - content alternatives & multiple paths through the content - adaptation techniques - whole user-interaction mechanism design Alleviating “Authoring problem” Improving reuse capabilities: (reuse of previously created material & other components) - reuse of static & dynamic parts of the courseware The solution Reuse of dynamics: “Exchanging not only the ingredients, but the recipes as well” Adaptation languages: - LAG - LAG-XLS (read as “LAG-excels”)

How to create an adaptation language? We need to find out which are the: –Elements of course dynamics For this, we need to analyse what happens in an adaptive course, and what is done dynamically:

Selection of Media Items Visual style Diagrams Illustrations Graphs Flowcharts Animations+ audio Verbal style More text Possibly audio

Providing navigation paths Sequential style Linear step-by-step learning process Global style Global overview first, then details

Presentation for Visual+Global Learner

Presentation for Verbal+Analytic Learner

Ordering information Active style Learn by doing things actively Reflective style Learn by looking at examples

Types of Adaptive Strategies Instructional strategies - selection of media items - ordering information / different navigation paths Instructional meta-strategies – monitoring e.g., preferences for : - certain types of information (e.g. text vs. image) - reading order (e.g. breadth-first vs. depth-first)

Classification of Actions in Adaptive Strategies (from N. Stash) Basic actions on itemsSelection Showing the content of an item Showing a link to an item Defaults Hierarchical actions on itemsActions on child items Actions on parent items Actions on groups of items (e.g. siblings) Ordering Performing “actions on items” on each group item Actions on the overall environment Changing the layout of the presentation

LAG LANGUAGE

What does the LAG adaptation language do? Turing-complete ? – no! Captures adaptation patterns, typical for AHS, for reuse We start with a set of desired adaptive behavior: –Inherited from direct adaptation techniques: If => Action –Conditions, Enough conditions –We add more, depending on adaptivity requirements

If, enough if UM.knowledge > 1 then ( PM.GM.Concepts.show = true ) for-each enough( GM.Concept.weight > 2 GM.Concept.label == interesting,1) (PM.GM.Concept.show = true)

Select selecting concept representation In MOT, given by attributes, so LAG has: –DM.Concept.attribute –GM.Concept –E.g., presentation only: PM.DM.Concept.attribute.show PM.GM.Concept.show PM.GM.Concepts.show

Sort Sequencing concept representation Content is sorted alphanumerically on the Concept’s “order” variable Order of the current concept: –PM.GM.Concept.order Defaults to Null

Show Content/Link Showing content of a concept –PM.DM.Concept.attribute.show –PM.GM.Concept.show Showing the concept in a specific area of the presentation: –PM.MENU.GM.Concept.show –PM.CONTENT.GM.Concept.show

Show Links Displaying a link to a concept No difference, only in the navigational areas can they be made available: –PM.TODO.GM.Concept.show Navigational areas are displayed by default. To switch them off we need: –PM.MENU = false

setDefault setting defaults FOR-EACH true ( PM.GM.Concept.show[label = ‘’] = true)

Hierarchical actions Hierarchy attributes: –Parent: the parent concept of a given concept: GM.Concept.parent –Child: the child concept of a given concept: GM.Concept.child GM.Concept.parent.child GM.Concept.group

updates updating the User Model Overlay variable: UM.GM.Concept.knowledge = 1 Free variable: UM.knowledge += 1

Actions on groups of items for-each GM.Concept.label == mylabel ( if GM.Concept.weight > 1 then ( PM.GM.Concept.show = false )) PM.GM.Concepts.show = true

Dealing with multiple labels Example of LIKE if (GM.Concept.label LIKE *text*) then ( PM.GM.Concept.show = false )

Concepts & their contents Stressing the overlay structure of user model on top of Conceptmaps (DM) –UM.DM.stereotype1 = beg or Lessons (GM): –UM.GM.stereotype1 = beg or as independent variables: –UM. stereotype1 = beg

Concepts & their contents Stressing the overlay structure of presentation model on top of Lessons (GM): –PM.GM.Concepts.show = true –UM.GM.knowledge

Type & Order & Label of Attributes Type of Attributes (in Lessons) usage –GM.Concept.type == title –DM.Concept..type == title Order of Attributes (in Lessons) usage –PM.GM.Concept.order = 3 Labels, weights of attributes (in Lessons) usage –GM.Concept.label == beg –GM.Concept.label LIKE *beg*

Special attributes Event attributes: –Access: a concept is currently been accessed: UM.GM.Concept.access = true –Accessed: display count for a GM concept UM.GM.Concept.accessed > 1

Multiple Selection & Actions Show all concepts that have not been accessed by the user –PM.GM.Concepts[UM.accessed<1].show = true That shows all concepts in the GM where UM.GM.Concept.accessed < 1

Layout Adaptation

Menu Progress Bars List Text

Default Layout Menu Progress Bars List Text

Layout Adaptation Set the layout for an area –Layout[E].type = todo –Layout[E].title = “Todo List” Set a HTML/Text Layout –Layout[S].type = text –Layout[S].content = “ ”

Dimming Example of Dimming content if (GM.Concept.label == “dimthis”) then ( PM.GM.Concept.dim = true )

Overall structure of a LAG adaptation strategy // Description // Variables initialization ( // what the user sees first ) implementation ( // how the user interacts with the system )

Meta-strategies strategy “[Stored Strategy Name]” “[Code to Execute]” Meta-Strategy Example initialization( strategy "qoeSetup" "initialization" ) implementation( strategy "qoeSetup" "implementation" strategy "qoeQOS" "implementation" strategy "qoeMM" "implementation" )

LAG resources LAG Example Strategies: LAG Guide including Semantics and examples: LAG Grammar: –

LAG Example: Rollout This strategy slowly rolls out (and hides) the attributes of concepts based on how often a concept has been accessed. Concepts are monitored through the title attribute. Concept.beenthere keeps track of visits; Concepts have the label "showatmost" if they should disappear after a while (with weight indicating the number of visits required) and the label "showafter" if they should show up after a while (again, weight indicates the number of visits)

Rollout Visual Example

LAG Example: Rollout Code 1/2 Initialization ( UM.GM.Concepts.beenthere = 0 PM.GM.Concepts.show = true for-each GM.Concept.label == showafter ( if GM.Concept.weight > 1 then ( PM.GM.Concept.show = false ) ) )

LAG Example: Rollout Code 2/2 implementation ( for-each UM.GM.Concept.access == true ( UM.GM.Concept.beenthere += 1 ) for-each enough(UM.GM.Concept.beenthere >= GM.Concept.weight GM.Concept.label == showatmost,2) ( PM.GM.Concept.show = false ) for-each enough(UM.GM.Concept.beenthere >= GM.Concept.weight GM.Concept.label == showafter,2) ( PM.GM.Concept.show = true ) )

LAG Example: BegIntAdv This strategy shows the beginner concepts first (together with the concepts for all learners). After all beginner concepts are read, the intermediate concepts are shown as well; Finally, after all the intermediate concepts are read, the advanced concepts are shown and the course can be viewed completely

LAG Example: BegIntAdv 1/4 initialization( PM.next = true PM.ToDo = true PM.menu = true UM.GM.knowlvl = beg...

LAG Example: BegIntAdv 2/4 for-each (true) ( if ( GM.Concept.label == "beg") then ( PM.GM.Concept.show = true UM.GM.begnum += 1 ) elseif (GM.Concept.label == "int") then ( PM.GM.Concept.show = false UM.GM.intnum += 1 ) elseif (GM.Concept.label == "adv") then ( PM.GM.Concept.show = false ) else ( PM.GM.Concept.show = true ) ) )

LAG Example: BegIntAdv 3/4 implementation ( for-each ( UM.GM.Concept.access == true ) ( if (UM.GM.Concept.accessed == 1) then ( if (GM.Concept.label == beg) then ( UM.GM.begnum -= 1 ) elseif (GM.Concept.label == int) then ( UM.GM.intnum -= 1 ) ) )...

LAG Example: BegIntAdv 4/4 if (UM.GM.begnum < 1 and UM.GM.knowlvl == beg) then ( UM.GM.knowlvl = int PM.GM.Concepts[GM.label == UM.GM.knowlvl].show = true ) elseif (UM.GM.intnum < 1 and UM.GM.knowlvl == int) then ( UM.GM.knowlvl = adv PM.GM.Concepts[GM.label == UM.GM.knowlvl].show = true ) )

LAG Example: instance usage initialization ( PM.GM.Concepts.show = false '\Neural Networks II\Neural Networks I\title'.show = true )

LAG Example: Parent/Child implementation ( // if you visited the parent you should be able to visit the child for-each (UM.GM.Concept.parent.access == true) then ( GM.Concept.show = true )

LAG Example: Positioning 1/2 initialization ( PM.CONTENT.GM.Concepts.show = true for-each (GM.Concept.label == menu) then ( PM.MENU.GM.Concept.show = true ) for-each (GM.Concept.label == todo) then ( PM.TODO.GM.Concept.show = true ) for-each (GM.Concept.label == next) then ( PM.NEXT.GM.Concept.show = true )

LAG Example: Positioning 2/2 implementation ( for-each (UM.GM.Concept.accessed > 0) then ( PM.MENU.GM.Concept.show = true )

LAG grammar LAG: initialization implementation initialization:"initialization" LEFT_PAREN command_block? RIGHT_PAREN implementation :"implementation" LEFT_PAREN command_block? RIGHT_PAREN command_block:statement (NEWLINE statement)* statement :ifstat | whilestat | action | stratstat | foreachstat stratstat :"strategy" NAME NAME whilestat:"while" condition LEFT_PAREN command_block RIGHT_PAREN ifstat :"if" condition "then" LEFT_PAREN command_block RIGHT_PAREN elseif* elseblock? elseblock:"else" LEFT_PAREN command_block RIGHT_PAREN; elseif :"elseif" condition "then“ LEFT_PAREN command_block RIGHT_PAREN foreachstat :foreach condition LEFT_PAREN command_block RIGHT_PAREN condition_block:condition (NEWLINE condition)* enough :"enough" LEFT_PAREN condition_block "," NUMBER RIGHT_PAREN action:variable OP atom value:TRUE | FALSE | NUMBER | NAME object:variable | value

LAG grammar variable :GENCONCEPTATTR -> ^(VAR GENCONCEPTATTR) condition:conditionCOMP ((AND|OR) conditionCOMP)* conditionCOMP:calculation (COMPARE calculation)* | enough calculation:atom (SIGN atom)* atom :object | condition LAOSCM :'DM' | 'GM' | 'UM' | 'PM' | 'CM' | 'dm' | 'gm' | 'um' | 'pm' | 'cm' SIGN : '+' | '-' | '*' | '/'; OP:'=' | '+=' | '-=' | '.='; COMPARE : '==' | '!=' | (' ')('='|)| ('I'|'i') ('N'|'n')| ('L'|'l') ('I'|'i') ('K'|'k') ('E'|'e'); GENCONCEPTATTR :LAOSCM (DOT LAOSCM)? (DOT (GROUP|CONCEPTS|RELATIONS|LABELS|CHILDREN|CONCEPT|SOCKET|PARENT) ('[' NONCONTROL_CHAR+ ']')? )* (DOT NAME)?;

Grammar + Semantics LAG: initialization implementation LAG: A LAG strategy or procedure, containing a set of instructions (programming constructs) defining the user and presentation adaptation in an adaptive hypermedia environment. INITIALIZATION: The static initialization part of PROG; in this part, the initial experience of the user, when entering the adaptive environment, is described. This is useful so that a user doesn’t enter a void environment. Here, all the default decisions are set. Adaptive environments which are adaptable but not adaptive can only render this part. IMPLEMENTATION: The dynamic implementation part of PROG; in this part, the interactivity between the adaptive environment and the user is described (for instance, the effect of user clicks).

Grammar + Semantics (cont) statement :ifstat | whilestat | action | stratstat | foreachstat STATEMENT: The LAG language is a simple language built of a number of programming constructs, or statements, as follows: –FOREACHSTAT: This loop statement conditionally selects Concepts that can then be referenced by the [UM/PM].[GM/DM].Concept statements. –IFSTAT: condition-action rules: the basic building block of the adaptation language. –WHILESTAT: loops –ACTION: This is part of the basic building block of condition-actions. It can be used by itself, as if the condition attached to it would be set to TRUE. This statement is the only one that allows specification of updates and changes of visible (such as the current screen) or invisible (such as the user knowledge) variables. –STRATSTAT: This statement executes initialization or implementation blocks from other external strategies.

Classification of Actions in Adaptive Strategies (from N. Stash) Basic actions on itemsSelection Showing the content of an item Showing a link to an item Hierarchical actions on itemsActions on child items Actions on parent items Actions on groups of items (e.g. siblings) Ordering Performing “actions on items” on each group item Actions on the overall environment Changing the layout of the presentation

LAG-XLS: an XML Learning Style Adaptation Language Elements of the language: select – selecting concept representation sort – sequencing concept representation showContent – showing content of a concept showLink – showing link to a concept setDefault – setting defaults actions – updating the User Model

Select selecting concept representation

sort sequencing concept representation

showContent showing content of a concept image

showLink showing link to a concept text See textual information

setDefault setting defaults default

actions updating the User Model personal.VERBvsIM personal.VERBvsIM-5

Examples LAG-XLS

Verbalizer versus Imager personal.VERBvsIM < 30 image default text Textual information personal.VERBvsIM > 70 text default image Pictorial information

Monitoring Strategy: Image versus Text Preference personal.initial.VERBvsI M > 29 & personal.initial.VERBvsIM personal.VERBvsIM personal.VERBvsIM-5 personal.initial.VERBvsI M > 29 & personal.initial.VERBvsIM personal.VERBvsIM personal.VERBvsIM+5

Inferring preferences: text vs. image UM: personal.VERBvsIM- 5 UM: personal.VERBvsIM+5 Presentation for Verbalizer Presentation for Imager

Contents Motivation Adaptation Language as an Intermediate Platform AHA! & LAG-XLS (XML LS adaptation language) LAOS & LAG (generic adaptation language) Authoring of learning styles in LAG and LAG-XLS Conclusion

Strategy for "Verbal" versus "Visual“ style personal.VERBvsIM < 30 image default text See textual information … Imager (Visualizer) strategy LAG LAG-XLS if UM.GM.VERBvsIM < 30 && GM.Concept.type == image then PM.GM.Concept.show

personal.initial.VERBvsIM 71 & personal.traceTextvsImage & concept.media==“image” & concept.visited==0 & !parent.text personal.VERBvsIM personal.VERBvsIM- 5 Monitoring Strategy: Preference for Image LAGLAG-XLS if UM.GM.VERBvsIM 71 && UM.GM.traceTextvsImage == true && GM.Concept. type == image && DM.GM.Concept.access == true && ?? then UM.VERBvsIM -= 5

Contents Motivation Adaptation Language as an Intermediate Platform AHA! & LAG-XLS (XML LS adaptation language) LAOS & LAG (generic adaptation language) Authoring of learning styles in LAG and AHA! Conclusion

Conclusion Extracted intelligence Presented 2 adaptation languages: - LAG - LAG-XLS

Questions