Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Generic Adaptation Languages Explicit Intelligence in Adaptive Hypermedia Generic Adaptation Languages Explicit Intelligence in Adaptive Hypermedia Dr."— Presentation transcript:

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

75

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


Download ppt "Generic Adaptation Languages Explicit Intelligence in Adaptive Hypermedia Generic Adaptation Languages Explicit Intelligence in Adaptive Hypermedia Dr."

Similar presentations


Ads by Google