1 / 81

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/. LAOS Model. Adaptation granularity. lowest level : direct adaptation techniques :

mimir
Download Presentation

Generic Adaptation Languages Explicit Intelligence in Adaptive Hypermedia

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. GenericAdaptation Languages Explicit Intelligence in Adaptive Hypermedia • Dr. Alexandra Cristea • a.i.cristea@warwick.ac.uk • http://www.dcs.warwick.ac.uk/~acristea/

  2. LAOSModel

  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 solutionReuse 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)

  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. Layout Adaptation • 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 = “<imgsrc=logo.jpg/>”

  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 Exampleinitialization(  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

  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.pdf • Semantics: • http://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ATTRIBUTEOPVALUE 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

More Related