Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

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

70

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?


Download ppt "Explicit Intelligence in Adaptive Hypermedia: Generic Adaptation Languages Alexandra Cristea."

Similar presentations


Ads by Google