Download presentation
Presentation is loading. Please wait.
Published byNicole McWilliams Modified over 10 years ago
1
Explicit Intelligence in Adaptive Hypermedia: Generic Adaptation Languages Alexandra Cristea
2
LAOS Model
3
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
4
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
5
Contents Motivation –Authoring problem & solutions –Comparison of 2 adaptation languages, focus on learning styles (LS) Adaptation Language as an Intermediate Platform –Elements of course dynamics –Types of adaptive strategies –Classification of actions in adaptive strategies AHA! & LAG-XLS (XML LS adaptation language) LAOS & LAG (generic adaptation language) Authoring of learning styles in LAG and AHA! Conclusion
6
Contents Motivation –Authoring problem & solutions –Comparison of 2 adaptation languages, focus on learning styles (LS) Adaptation Language as an Intermediate Platform –Elements of course dynamics –Types of adaptive strategies –Classification of actions in adaptive strategies AHA! & LAG-XLS (XML LS adaptation language) LAOS & LAG (generic adaptation language) Authoring of learning styles in LAG and AHA! Conclusion
7
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)
8
LAG language Dr. Alexandra Cristea a.i.cristea@warwick.ac.uk http://www.dcs.warwick.ac.uk/~acristea/
9
LAG adaptation 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 –ConditionsEnough –Conditions, Enough conditions WhileForBreak GeneralizeSpecialize –We could add more: e.g., While, For + Break, Generalize, Specialize
10
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
11
Select selecting concept representation In MOT, given by attributes, so LAG has: –DM.Concept.attribute or –GM.Concept or GM.Concept.attribute –Or presentation only: –PM.DM.Concept.attribute.show –PM.GM.Concept.show
12
sort sequencing concept representation Order of the current concept: –GM.Concept.order
13
showContent showing content of a concept –PM.DM.Concept.attribute.show –PM.GM.Concept.show
14
showLink showing link to a concept No difference, only in the menu links can be made available: –PM.DM.Concept.attribute.show –PM.GM.Concept.show For having a menu, we need: –PM.menu = true
15
setDefault setting defaults WHILE GM.Concept.label == ( PM.GM.Concept.show = true)
16
actions updating the User Model Overlay variable: UM.GM.Concept.knowledge +=1 Free variable: UM.knowledge += 1
17
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
18
Concepts & their contents Stressing the overlay structure of presentation model on top of Conceptmaps (DM) –PM.DM.show = true or Lessons (GM): –PM.GM.show = true
19
Special attributes As few as possible! Event attributes: –Access: a concept has been seen by the user: UM.GM.Concept.access = true Hierarchy attributes: –Parent: the parent concept of a given concept: DM.Concept.parent –Child: the child concept of a given concept: GM.Concept.child
20
Presentation model versions the presentation model (e.g., reflected in the AHA! delivery engine) PM.GM.next = true // or PM.next // next button appears, showing the next most appropriate concept //according to the order in MOT and the showability PM.GM.ToDo = true // a list of items still to open appears, that are //showable and have not been visited yet; // their order reflects the order in MOT ; also PM.ToDo PM.GM.menu = true // table of contents that is already used in AHA, // should be also able to dissapear ; also PM.menu
21
Type & Order & Label of Attributes Type of Attributes (in Lessons) usage –GM.Concept.type = title –DM.Concept.attribute.type = title Order of Attributes (in Lessons) usage –GM.Concept.order Labels, weights of attributes (in Lessons) usage –GM.Concept.label = beg
22
Overall structure of the LAG adaptation strategy // Description // Variables initialization ( // what the user sees first ) implementation ( // how the user interacts with the system )
23
Example strategies http://prolearn.dcs.warwick.ac.uk/
24
Extended LAG: Adaptation strategy example // DESCRIPTION // 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) // VARS // UM.GM.Concept.beenthere, GM.Concept.label, GM.Concept.weight
25
Extended LAG: Adaptation strategy example initialization( while true ( UM.GM.Concept.beenthere = 0 PM.GM.Concept.show = true ) while GM.Concept.label == showafter ( if GM.Concept.weight > 1 then ( PM.GM.Concept.show = false ) else ( PM.GM.Concept.show = true )
26
Extended LAG: Adaptation strategy example implementation ( if UM.GM.Concept.access == true then ( UM.GM.Concept.beenthere += 1 ) if enough(UM.GM.Concept.beenthere >= GM.Concept.weight GM.Concept.label == showatmost,2) then ( PM.GM.Concept.show = false ) if enough(UM.GM.Concept.beenthere >= GM.Concept.weight GM.Concept.label == showafter,2) then ( PM.GM.Concept.show = true )
27
Extended LAG: Adaptation strategy example 2 // DESCRIPTION // strategy which 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 // Note: this is inspired from games, where the player can only look at the current level at the beginning, but when he manages to finish the level, he can access the next level, as well as all the levels below. // VARS // UM.GM.beginnerno, UM.GM.intermediateno, UM.GM.advancedno, GM.Concept.label, PM.GM.Concept.show, UM.GM.Concept.first, UM.GM.stereotype1
28
Extended LAG: Adaptation strategy example 2 initialization( // INITIALIZATION // initialize as beginner UM.GM.stereotype1 = beg // initialize sets of lesson concepts for stereotypes // AHA! 'personal' variable; name = 'GMname'+'stereotypename' UM.GM.beginnerno = 0 UM.GM.intermediateno = 0 UM.GM.advancedno = 0 // … )
29
Extended LAG: initialization (ex.2) // as long as still general concepts available, make those readable while GM.Concept.label == null ( PM.GM.Concept.show = true UM.GM.Concept.first = true ) // compute number beginner texts // as long as still beginner concepts available, make those readable while GM.Concept.label == beg ( UM.GM.beginnerno += 1 PM.GM.Concept.show = true UM.GM.Concept.first = true )
30
Extended LAG: initialization (ex.2) // compute number of intermediate texts while GM.Concept.label == int ( UM.GM.intermediateno += 1 UM.GM.Concept.first = true ) // compute number of advanced texts while GM.Concept.label == adv ( UM.GM.advancedno += 1 UM.GM.Concept.first = true )
31
Extended LAG: implementation (ex.2) implementation ( // IMPLEMENTATION // remove already access items if enough( UM.GM.Concept.access == true UM.GM.Concept.first == true GM.Concept.label == beg, 3 ) then ( UM.GM.beginnerno -= 1 UM.GM.Concept.first = false ) … )
32
Extended LAG: implementation (ex.2) // change from beginner to intermediate if it is appropriate if (UM.GM.beginnerno == 0) then UM.GM.stereotype1 = int // show to intermediate only what is relevant if enough( GM.Concept.label == int UM.GM.stereotype1 == int, 2 ) then ( PM.GM.Concept.show = true )
33
Extended LAG: implementation (ex.2) // remove already access items if enough( UM.GM.Concept.access == true GM.Concept.label == int UM.GM.Concept.first == true, 3 ) then ( UM.GM.intermediateno -= 1 UM.GM.Concept.first = false ) // change from intermediate to advanced if it is appropriate if (UM.GM.intermediateno == 0) then UM.GM.stereotype1 = adv
34
Extended LAG: implementation (ex.2) // show to advanced only what is relevant if enough( GM.Concept.label == adv UM.GM.stereotype1 == adv, 2 ) then ( PM.GM.Concept.show = true )
35
Another example (Ex.3) initialization ( while true ( PM.GM.Concept.show = false ) '\Neural Networks II\Neural Networks I\title'.show = true ) implementation ( // if you visited the parent you should be able to visit the child if UM.GM.Concept.parent.access then ( GM.Concept.show = true )
36
LAG Grammar & Semantics Grammar: –http://www.dcs.warwick.ac.uk/~acristea/M OT/help/LAGgrammar%5B2%5D.dochttp://www.dcs.warwick.ac.uk/~acristea/M OT/help/LAGgrammar%5B2%5D.doc Semantics: –http://www.dcs.warwick.ac.uk/~acristea/M OT/help/LAGgrammarSemantics.dochttp://www.dcs.warwick.ac.uk/~acristea/M OT/help/LAGgrammarSemantics.doc
37
LAG grammar PROG DESCRIPTION VARIABLES INITIALIZATION IMPLEMENTATION DESCRIPTION // text VARIABLES // text INITIALIZATION initialization ( STATEMENT ) IMPLEMENTATION implementation ( STATEMENT ) STATEMENT IFSTAT | WHILESTAT | FORSTAT | BREAKSTAT | GENSTAT | SPECSTAT | (STATEMENT)* STATEMENT |ACTION IFSTAT if CONDITION then (STATEMENT)+ | if CONDITION then (STATEMENT) + else (STATEMENT)+ WHILESTAT while CONDITION (STATEMENT)+ [TARGETLABEL] ACTION ATTRIBUTE OP VALUE CONDITION enough((CONDITION)+, VALUE) | PREREQ PREREQ ATTRIBUTE COMPARE VALUE ATTRIBUTE GENCONCEPTATTR | SPECCONCEPTATTR SPECCONCEPTATTR \SPECCONMAP\SPECCON\SPECATTR\ATTR.ATTRATTR LAOSCM, LAOSCONCEPTMAP DM | GM | UM | PM | CM ATTR Attribute | title | keywords | text | introduction | conclusion | exercise | child | parent | Relatedness | ATTR.ATTR | CONCEPT.ATTR |label | weight | text ATTRATTR type | order | next | ToDo | menu | show | access | visited | text
38
Grammar + Semantics PROG DESCRIPTION VARIABLES INITIALIZATION IMPLEMENTATION PROG: A LAG strategy or procedure, containing a set of instructions (programming constructs) defining the user and presentation adaptation in an adaptive hypermedia environment. DESCRIPTION: The description of PROG; contains a natural language description of the behavior of the adaptive strategy; it serves as the label (meta-description) for the whole strategy. It is important, as laic (non-programmer) authors should be able to extract from it the necessary elements to make a decision about using this adaptation or not. VARIABLES: The variables of PROG; contains the list of variables that are used in the adaptive strategy. This information can be used by a laic (non-programmer) author to decide what attributes of the GM (goal and constraints model) should be filled-in for this strategy. 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 doesnt 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).
39
Grammar + Semantics (cont) INITIALIZATION initialization ( STATEMENT ) IMPLEMENTATION implementation ( STATEMENT ) STATEMENT IFSTAT | WHILESTAT | (STATEMENT)*STATEMENT |ACTION STATEMENT: The LAG language is a simple language built of a number of programming constructs, or statements, as follows: –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.
40
Grammar + Semantics (cont) IFSTAT if CONDITION then (STATEMENT)+ | if CONDITION then (STATEMENT) + else (STATEMENT)+ WHILESTAT while CONDITION (STATEMENT)+ ACTION ATTRIBUTE OP VALUE OP = | += | -= |.= VALUE true | false | text
41
Grammar + Semantics (cont) CONDITION enough((CONDITION)+, VALUE) | PREREQ PREREQ ATTRIBUTE COMPARE VALUE ATTRIBUTE GENCONCEPTATTR | SPECCONCEPTATTR COMPARE == | VALUE number CONDITION: for CA or ECA rules, specified by 1-enough prerequisites –enough: number VALUE of conditions should be fulfilled. ATTRIBUTE: appears in conditions or actions; can be a generic attribute of DM, GM, UM or PM (e.g., UM.DM.Concept.knowledge); or can be specific (e.g., \Neural Networks Map\Learning\Introduction\Weight.show). For reusability use generic!
42
Grammar + Semantics (cont) GENCONCEPT ATTR LAOS.CONCEPT.ATTR | LAOS.CONCEPT.ATTR.ATTRATTR | LAOS.ATTR | LAOS.LAOS.ATTRATTR | LAOS.LAOS.CONCEPT.ATTR.ATTRATTR SPECCONCEPTATTR \SPECCONMAP\SPECCON\SPECATTR\ATTR.ATTRATTR LAOS DM | GM | UM | PM CONCEPT Concept | text ATTR Attribute | title | keywords | text | introduction | conclusion | exercise | child | parent | Relatedness | ATTR.ATTR | CONCEPT.ATTR | label | weight | text ATTRATTR type | order | next | ToDo | menu | show | access | visited | text SPECCONMAP text SPECCON text SPECATTR text
43
Contents Motivation –Authoring problem & solutions –Comparison of 2 adaptation languages, focus on learning styles (LS) Adaptation Language as an Intermediate Platform –Elements of course dynamics –Types of adaptive strategies –Classification of actions in adaptive strategies AHA! & LAG-XLS (XML LS adaptation language) LAOS & LAG (generic adaptation language) Authoring of learning styles in LAG and AHA! Conclusion
44
How to create an adaptation language? Adaptation Language as an Intermediate Platform (between authoring environment and adaptation engine) 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:
45
Selection of Media Items Visual style Diagrams Illustrations Graphs Flowcharts Animations+ audio Verbal style More text Possibly audio
46
Providing navigation paths Sequential style Linear step-by-step learning process Global style Global overview first, then details
47
Presentation for Visual+Global Learner
48
Presentation for Verbal+Analytic Learner
49
Ordering information Active style Learn by doing things actively Reflective style Learn by looking at examples
50
Contents Motivation –Authoring problem & solutions –Comparison of 2 adaptation languages, focus on learning styles (LS) Adaptation Language as an Intermediate Platform –Elements of course dynamics –Types of adaptive strategies –Classification of actions in adaptive strategies AHA! & LAG-XLS (XML LS adaptation language) LAOS & LAG (generic adaptation language) Authoring of learning styles in LAG and AHA! Conclusion
51
Adaptation Language as an Intermediate Platform Having found the elements of course dynamics, we need to find out what variation we have in terms of: –Types of adaptive strategies
52
Types of Adaptive Strategies Instructional strategies - selection of media items - ordering information or providing different navigation paths Instructional meta-strategies – inference or monitoring strategies. Preferences for: - certain types of information (e.g. text vs. image) - reading order (e.g. breadth-first vs. depth-first)
53
Contents Motivation –Authoring problem & solutions –Comparison of 2 adaptation languages, focus on learning styles (LS) Adaptation Language as an Intermediate Platform –Elements of course dynamics –Types of adaptive strategies –Classification of actions in adaptive strategies AHA! & LAG-XLS (XML LS adaptation language) LAOS & LAG (generic adaptation language) Authoring of learning styles in LAG and AHA! Conclusion
54
Adaptation Language as an Intermediate Platform Having found the elements of course dynamics, and the types of adaptation strategies, we need to find out the: –Classification of actions in adaptive strategies
55
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
56
Contents Motivation –Authoring problem & solutions –Comparison of 2 adaptation languages, focus on learning styles (LS) Adaptation Language as an Intermediate Platform –Elements of course dynamics –Types of adaptive strategies –Classification of actions in adaptive strategies LAG-XLS (XML LS adaptation language) (& AHA!) LAOS & LAG (generic adaptation language) Authoring of learning styles in LAG and AHA! Conclusion
57
AHA! Adaptive Hypermedia Architecture
58
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
59
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
60
Select selecting concept representation
61
sort sequencing concept representation
62
showContent showing content of a concept image
63
showLink showing link to a concept text See textual information
64
setDefault setting defaults default
65
actions updating the User Model personal.VERBvsIM personal.VERBvsIM-5
66
Examples LAG-XLS
67
Verbalizer versus Imager personal.VERBvsIM < 30 image default text Textual information personal.VERBvsIM > 70 text default image Pictorial information
68
Monitoring Strategy: Image versus Text Preference personal.initial.VERBvsIM > 29 & personal.initial.VERBvsIM personal.VERBvsIM personal.VERBvsIM-5 personal.initial.VERBvsIM > 29 & personal.initial.VERBvsIM personal.VERBvsIM personal.VERBvsIM+5
69
Inferring preferences: text vs. image UM: personal.VERBvsIM-5 UM: personal.VERBvsIM+5 Presentation for Verbalizer Presentation for Imager
71
Contents Motivation –Authoring problem & solutions –Comparison of 2 adaptation languages, focus on learning styles (LS) Adaptation Language as an Intermediate Platform –Elements of course dynamics –Types of adaptive strategies –Classification of actions in adaptive strategies AHA! & LAG-XLS (XML LS adaptation language) LAOS & LAG (generic adaptation language) Authoring of learning styles in LAG and LAG-XLS Conclusion
72
Strategy for "Verbal" versus "Visual style personal.VERBvsIM < 30 image default text See textual information … Imager (Visualizer) strategy LAG (old)LAG-XLS
73
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
74
Contents Motivation –Authoring problem & solutions –Comparison of 2 adaptation languages, focus on learning styles (LS) Adaptation Language as an Intermediate Platform –Elements of course dynamics –Types of adaptive strategies –Classification of actions in adaptive strategies AHA! & LAG-XLS (XML LS adaptation language) LAOS & LAG (generic adaptation language) Authoring of learning styles in LAG and AHA! Conclusion
75
Extracted intelligence Presented 2 adaptation languages: - LAG - LAG-XLS
76
Contents Motivation –Authoring problem & solutions –Comparison of 2 adaptation languages, focus on learning styles (LS) Adaptation Language as an Intermediate Platform –Elements of course dynamics –Types of adaptive strategies –Classification of actions in adaptive strategies AHA! & LAG-XLS (XML LS adaptation language) LAOS & LAG (generic adaptation language) Authoring of learning styles in LAG and AHA! Conclusion
77
Questions?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.