generic adaptation languages explicit intelligence in adaptive hypermedia
Post on 24-Feb-2016
38 Views
Preview:
DESCRIPTION
TRANSCRIPT
GenericAdaptation Languages Explicit Intelligence in Adaptive Hypermedia
Dr. Alexandra Cristeaa.i.cristea@warwick.ac.ukhttp://www.dcs.warwick.ac.uk/~acristea/
LAOSModel
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
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
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
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
“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”)
LAG 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
– Conditions, Enough conditions– We could add more: e.g., While, For + Break
Classification of Actions in Adaptive Strategies (from N. Stash)
Basic actions on items Selection Showing the content of an itemShowing a link to an itemDefaults
Hierarchical actions on items Actions on child itemsActions 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
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
sort• sequencing concept representation• Order of the current concept:
– GM.Concept.order
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
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
setDefault • setting defaults
FOR-EACH true( PM.GM.Concept.show[label = ‘’] = true)
actions • updating the User Model
Overlay variable:UM.GM.Concept.knowledge = 1
Free variable:UM.knowledge += 1
LIKE• Example of LIKE if (GM.Concept.label LIKE *text*) then (
PM.GM.Concept.show = False)
Concepts & their contentsStressing 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
Concepts & their contentsStressing the overlay structure of
presentation model on top of • Conceptmaps (DM)
– PM.DM.show = true• or Lessons (GM):
– PM.GM.show = true
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
Special attributes• Event attributes:
– Access: a concept is currently been accessed:UM.GM.Concept.access = true– Accessed: display count for a GM conceptUM.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
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
Layout Adaptation
Layout Adaptation• Menu• Progress Bars• List• Text
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 = “<img src=logo.jpg/>”
Overall structure of the LAG adaptation strategy
// Description// Variablesinitialization (// what the user sees first)implementation (// how the user interacts with the system)
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")
Example strategies
• LAG: http://ade.dcs.warwick.ac.uk/demos.html
LAG Example: RolloutThis 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)
Rollout Visual Example
LAG Example: Rollout Code 1/2initialization(
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 ) ))
LAG Example: Rollout Code 2/2implementation ( 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 ))
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
LAG Example: BegIntAdv 1/4initialization( 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 ) ...
LAG Example: BegIntAdv 2/4 if (GM.Concept.label == "adv") then ( PM.GM.Concept.show = false )
UM.GM.knowlvl = beg)
LAG Example: BegIntAdv 3/4implementation ( // 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 ) ) ) ...
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 ))
LAG Example: Parent/Childinitialization ( 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
))
LAG Example: Positioning 1/2initialization (
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 ))
LAG Example: Positioning 2/2implementation ( if (UM.GM.Concept.accessed > 0) then ( PM.MENU.GM.Concept.show = true ))
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
LAG grammarPROG DESCRIPTION VARIABLES INITIALIZATION IMPLEMENTATIONDESCRIPTION // “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 VALUECONDITION enough((CONDITION)+, VALUE) | PREREQPREREQ ATTRIBUTE COMPARE VALUEATTRIBUTE GENCONCEPTATTR | SPECCONCEPTATTRSPECCONCEPTATTR ‘\SPECCONMAP\SPECCON\SPECATTR\
ATTR’.ATTRATTRLAOSCM, LAOSCONCEPTMAP DM | GM | UM | PM | CMATTR 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”
Grammar + SemanticsPROG 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).
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.
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”
Grammar + Semantics (cont)CONDITION enough((CONDITION)+, VALUE) | PREREQPREREQ 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!
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 | PMCONCEPT 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”
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
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:
Selection of Media Items
Visual style• Diagrams• Illustrations• Graphs• Flowcharts• Animations+ audio
Verbal style• More text• Possibly audio
Providing navigation paths
Sequential style
Linear step-by-step learning process
Global styleGlobal overview first, then
details
Presentation for Visual+Global Learner
Presentation for Verbal+Analytic Learner
Ordering information
Active styleLearn by doing things actively
Reflective style
Learn by looking at examples
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
• 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
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)
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
• 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
Classification of Actions in Adaptive Strategies (from N. Stash)
Basic actions on items Selection Showing the content of an itemShowing a link to an item
Hierarchical actions on items Actions on child itemsActions 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
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
AHA! Adaptive Hypermedia Architecture
WWW server
User(student)
Author
DM/AMlocal
pages
Manager
Authoring tools
ConceptEditorGraph Author
Java Applets
AHA! engine
Java servlets
DM - Domain ModelAM - Adaptation ModelUM - User Model
Pages from externalWWW servers
UM
Classification of Actions in Adaptive Strategies (from N. Stash)
Basic actions on items Selection Showing the content of an itemShowing a link to an item
Hierarchical actions on items Actions on child itemsActions 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
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
Select• selecting concept representation• <select attributeName="media">
sort• sequencing concept representation
showContent• showing content of a concept<showContent>image</showContent>
showLink • showing link to a concept
<showLink> <linkTo>text</linkTo> <comment>See textual information</comment> </showLink>
setDefault • setting defaults
<showContentDefault>default</showContentDefault>
actions • updating the User Model
<action attributeName="media"> <UMvariable>personal.VERBvsIM</UMvariable>
<expression>personal.VERBvsIM-5</expression></action>
Examples LAG-XLS
Verbalizer versus Imager
<if><condition>personal.VERBvsIM < 30</condition> <then> <select attributeName="media"> <showContent>image</showContent> <showContentDefault>default</showContentDefault> <showLink> <linkTo>text</linkTo> <comment>Textual information</comment> </showLink> </select> </then> </if>
<if><condition>personal.VERBvsIM > 70</condition> <then> <select attributeName="media"> <showContent>text</showContent> <showContentDefault>default</showContentDefault> <showLink> <linkTo>image</linkTo> <comment>Pictorial information</comment> </showLink> </select> </then> </if>
Monitoring Strategy:Image versus Text Preference
<if><condition>personal.initial.VERBvsIM > 29 & personal.initial.VERBvsIM < 71 & personal.traceTextvsImage & concept.media==“image” & concept.visited==0 & !parent.text</condition><then> <action attributeName="media"> <UMvariable>personal.VERBvsIM</UMvariable><expression>personal.VERBvsIM-5</expression></action></then></if>
<if><condition>personal.initial.VERBvsIM > 29 & personal.initial.VERBvsIM < 71 & personal.traceTextvsImage & concept.media==“text” & concept.visited==0 & !parent.image </condition><then> <action attributeName="media"> <UMvariable>personal.VERBvsIM</UMvariable><expression>personal.VERBvsIM+5</expression></action></then></if>
Inferring preferences: text vs. image
UM: personal.VERBvsIM-5
UM: personal.VERBvsIM+5
Presentation for Verbalizer
Presentation for Imager
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
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE strategy SYSTEM "../strategy.dtd"> <strategy name="VerbalizerVersusImager"> <description>Strategy for "Verbal" versus "Visual“
style</description> <if> <condition>personal.VERBvsIM < 30</condition> <then> <select attributeName="media"> <showContent>image</showContent>
<showContentDefault>default</showContentDefault>
<showLink> <linkTo>text</linkTo> <comment>See textual information</comment> </showLink> </select> </then> </if> …</strategy>
Imager (Visualizer) strategyLAG (old) LAG-XLS
<if><condition>personal.initial.VERBvsIM < 29 & personal.initial.VERBvsIM > 71 & personal.traceTextvsImage & concept.media==“image” & concept.visited==0 & !parent.text</condition><then> <action attributeName="media"> <UMvariable>personal.VERBvsIM</UMvariable><expression>personal.VERBvsIM-5</expression></action></then></if>
Monitoring Strategy: Preference for Image
LAG LAG-XLS
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
Conclusion
• Extracted intelligence• Presented 2 adaptation languages:
- LAG- LAG-XLS
Questions
top related