Download presentation
Presentation is loading. Please wait.
Published byEthel Greer Modified over 9 years ago
1
Generic Adaptation Languages Explicit Intelligence in Adaptive Hypermedia Generic Adaptation Languages Explicit Intelligence in Adaptive Hypermedia Dr. Alexandra Cristea a.i.cristea@warwick.ac.uk http://www.dcs.warwick.ac.uk/~acristea/
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 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
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
9
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 could add more: e.g., While, For + Break
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 –GM.Concept –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 In a specific area of the presentation: –PM.MENU.GM.Concept.show –PM.CONTENT.GM.Concept.show
14
showLink Displaying a 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 FOR-EACH true ( PM.GM.Concept.show[label = ‘’] = true)
16
actions updating the User Model Overlay variable: UM.GM.Concept.knowledge = 1 Free variable: UM.knowledge += 1
17
LIKE Example of LIKE if (GM.Concept.label LIKE *text*) then ( PM.GM.Concept.show = False )
18
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
19
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
20
Type & Order & Label of Attributes Type of Attributes (in Lessons) usage –DM.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
21
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 Hierarchy attributes: –Parent: the parent concept of a given concept: DM.Concept.parent –Child: the child concept of a given concept: GM.Concept.child
22
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
23
Layout Adaptation
24
Menu Progress Bars List Text
25
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 = “ ”
26
Overall structure of the LAG adaptation strategy // Description // Variables initialization ( // what the user sees first ) implementation ( // how the user interacts with the system )
27
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" )
28
Example strategies LAG: http://ade.dcs.warwick.ac.uk/demos.html http://ade.dcs.warwick.ac.uk/demos.html
29
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)
30
Rollout Visual Example
31
LAG Example: Rollout Code 1/2 initialization( UM.GM.Concept.beenthere = 0 PM.GM.Concept.show = true if GM.Concept.label == showafter ( if GM.Concept.weight > 1 then ( PM.GM.Concept.show = false )
32
LAG Example: Rollout Code 2/2 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 )
33
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
34
LAG Example: BegIntAdv 1/4 initialization( PM.next = true PM.ToDo = true PM.menu = true PM.GM.Concept.show = true if (GM.Concept.label == "beg") then ( UM.GM.begnum += 1 ) if (GM.Concept.label == "int") then ( PM.GM.Concept.show = false UM.GM.intnum += 1 )...
35
LAG Example: BegIntAdv 2/4 if (GM.Concept.label == "adv") then ( PM.GM.Concept.show = false ) UM.GM.knowlvl = beg )
36
LAG Example: BegIntAdv 3/4 implementation ( // Keep track of how many beg, int and adv concepts still need to be visited if UM.GM.Concept.access == true then ( if (UM.GM.Concept.accessed == 1) then ( if (GM.Concept.label == beg) then ( UM.GM.begnum -= 1 ) if (GM.Concept.label == int) then ( UM.GM.intnum -= 1 ) if (GM.Concept.label == adv) then ( UM.GM.advnum -= 1 ) )...
37
LAG Example: BegIntAdv 4/4 // Change stereotype beg -> int -> adv when appropriate // Make relevant concepts visible 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 ) if (UM.GM.intnum < 1 and UM.GM.knowlvl == int) then ( UM.GM.knowlvl = adv PM.GM.Concepts[GM.label == UM.GM.knowlvl].show = true )
38
LAG Example: Parent/Child initialization ( 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 )
39
LAG Example: Positioning 1/2 initialization ( PM.CONTENT.GM.Concept.show = true if (GM.Concept.label == menu) then ( PM.MENU.GM.Concept.show = true ) if (GM.Concept.label == todo) then ( PM.TODO.GM.Concept.show = true ) if (GM.Concept.label == next) then ( PM.NEXT.GM.Concept.show = true )
40
LAG Example: Positioning 2/2 implementation ( if (UM.GM.Concept.accessed > 0) then ( PM.MENU.GM.Concept.show = true )
41
LAG Grammar & Semantics Grammar: –http://www.dcs.warwick.ac.uk/~acristea/MOT/ help/LAGgrammar%5B2%5D.pdfhttp://www.dcs.warwick.ac.uk/~acristea/MOT/ help/LAGgrammar%5B2%5D.pdf – Semantics: –http://www.dcs.warwick.ac.uk/~acristea/MOT/ help/LAGgrammarSemantics.pdfhttp://www.dcs.warwick.ac.uk/~acristea/MOT/ help/LAGgrammarSemantics.pdf
42
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”
43
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 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).
44
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.
45
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”
46
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!
47
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”
48
Contents Motivation 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
49
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:
50
Selection of Media Items Visual style Diagrams Illustrations Graphs Flowcharts Animations+ audio Verbal style More text Possibly audio
51
Providing navigation paths Sequential style Linear step-by-step learning process Global style Global overview first, then details
52
Presentation for Visual+Global Learner
53
Presentation for Verbal+Analytic Learner
54
Ordering information Active style Learn by doing things actively Reflective style Learn by looking at examples
55
Contents Motivation 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
56
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
57
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)
58
Contents Motivation 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
59
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
60
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
61
Contents Motivation Adaptation Language as an Intermediate Platform LAG-XLS (XML LS adaptation language) (& AHA!) LAOS & LAG (generic adaptation language) Authoring of learning styles in LAG and AHA! Conclusion
62
AHA! Adaptive Hypermedia Architecture
63
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
64
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
65
Select selecting concept representation
66
sort sequencing concept representation
67
showContent showing content of a concept image
68
showLink showing link to a concept text See textual information
69
setDefault setting defaults default
70
actions updating the User Model personal.VERBvsIM personal.VERBvsIM-5
71
Examples LAG-XLS
72
Verbalizer versus Imager personal.VERBvsIM < 30 image default text Textual information personal.VERBvsIM > 70 text default image Pictorial information
73
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
74
Inferring preferences: text vs. image UM: personal.VERBvsIM- 5 UM: personal.VERBvsIM+5 Presentation for Verbalizer Presentation for Imager
76
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
77
Strategy for "Verbal" versus "Visual“ style personal.VERBvsIM < 30 image default text See textual information … Imager (Visualizer) strategy LAG (old)LAG-XLS
78
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
79
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
80
Conclusion Extracted intelligence Presented 2 adaptation languages: - LAG - LAG-XLS
81
Questions
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.