Terchova, June 2, 2009JESS Summer School 2009
Slide 1
Adaptive Learning Environments
Prof. dr. Paul De BraEindhoven University of
Technology
Terchova, June 2, 2009JESS Summer School 2009
Slide 2
Topics
• The need for adaptation– personalized: adaptable / adaptive
• User Modeling• Adaptation
– adaptive presentation– adaptive navigation
• The GRAPPLE architecture• Authoring• Examples (if we have time)
Terchova, June 2, 2009JESS Summer School 2009
Slide 3
We live in a “one size fits all” world
But we are not all the same size(physically or mentally)
Terchova, June 2, 2009JESS Summer School 2009
Slide 4
What’s the main difference between these pictures?
Terchova, June 2, 2009JESS Summer School 2009
Slide 5
Automatic Adaptive
• Automatic systems = automatic fixed behavior (according to fixed rules)
• Adaptive systems = automatic behavior that depends on environmental factors– first-order adaptation: the change in the
automatic behavior follows fixed rules– second-order adaptation: the change in the
automatic behavior is itself also adaptive– etc.: there is no limit to how adaptive systems
can be• In this lecture we deal with user-adaptive systems:
they adapt to users and the users’ environment
Terchova, June 2, 2009JESS Summer School 2009
Slide 6
Adaptation in any type of Information System
• Adaptation of the Information– information adapted to who/where/when you
are– information adapted to what you are doing and
what you have done before (e.g. learning)– presentation adapted to circumstances (e.g.
the device you use, the network, etc.)• Adaptation of the Process
– adaptation of interaction and/or dialog– adaptation of navigation structures– adaptation of the order of tasks and steps
Terchova, June 2, 2009JESS Summer School 2009
Slide 7
Advantages of Adaptive Systems
• Increased efficiency:– optimal process (of navigation, dialog, study order, etc.)– minimum number of steps– maximum benefit (of relevant information)
• Increased satisfaction:– system gives good advice and relevant information– interactive applications do not make stupid moves
• Return on investment:– recommending products the user needs is a form of
advertising that really works– adaptive (non-IS) systems have better technical
performance
Terchova, June 2, 2009JESS Summer School 2009
Slide 8
Disadvantages of Adaptive Systems
• Adaptive Systems may learn the wrong behavior– adaptive games learn badly from bad players– generally: adaptation good for one user may be bad for
another user; it is personal after all• Adaptive Systems may outsmart the users
– all doomsday movies in which machines take over the world blame second order adaptive systems
– a game that learns how always to win is no fun– an adaptive information system may effectively perform
censorship– it may be hard to tell an adaptive system that it is wrong
Terchova, June 2, 2009JESS Summer School 2009
Slide 9
User-Adaptive Systems
Terchova, June 2, 2009JESS Summer School 2009
Slide 10
Main issues in Adaptive Systems
• Questions to ask when designing an adaptive application:– Why do we want adaptation?– What can be adapted?– What can we adapt to?– How can we collect the right information?– How can we process/use that information
• Exercise: answer these questions for:– a presentation (lectures, talks at conferences)– an on-line textbook– a newspaper site or an on-line TV-guide– a (book, cd, computer, etc.) store– a (computer) help system
Terchova, June 2, 2009JESS Summer School 2009
Slide 11
Forward and Backward Reasoning• Two opposite approaches for adaptation:• forward reasoning:
1. register events2. translated events to user model information3. store the user model information4. adaptation based directly on user model information
• backward reasoning:1. register events2. store rules to deduce user model information from
events3. store rules to deduce adaptation from user model
information4. performing adaptation requires backward reasoning:
decide which user model information is needed and then deduce which event information is needed for that.
Terchova, June 2, 2009JESS Summer School 2009
Slide 12
Application Areas of AS• Educational hypermedia systems
– on-line course text, with on-line multiple-choice or other machine-interpretable tests
– we use AEH, AES and ALE as near-synonyms• On-line information systems
– information “kiosk”, documentation systems, encyclopedias, etc.
• On-line help systems– context-sensitive help, (think of “Clippy”)
• Information retrieval and filtering– adaptive recommender systems
• etc.
Terchova, June 2, 2009JESS Summer School 2009
Slide 13
Adaptive Educational Hypermedia
• Origin: Intelligent Tutoring Systems– combination of reading material and tests– adaptive course sequencing, depending on test
results• In Adaptive Educational Hypermedia:
– more freedom for the learner: guidance instead of enforced sequence
– adaptive content of the course material to solve comprehension problems when pages or chapters are read out of sequence
– adaptation based on reading as well as tests
Learning Management Systems
• LMSs offer a “personal” learning environment:– registration for courses– personalization of the “workspace”– access to course material– assignments, tests, group work– communication tools: messages, discussion
forums, chat– no built-in adaptive learning functionality
Terchova, June 2, 2009JESS Summer School 2009
Slide 14
The GRAPPLE Project
• Glues an ALE and LMS together, offering an adaptive within the LMS
• LMS and ALE talk with each other through a shared event bus
• User Model data can be exchanged through the Grapple User Model Framework (GUMF)
• Authoring is done mostly through graphical interfaces to create a domain model (DM) and a conceptual adaptation model (CAM)
Terchova, June 2, 2009JESS Summer School 2009
Slide 15
Learner scenario
Terchova, June 2, 2009JESS Summer School 2009
Slide 16
Learner LMS
GALE – adaptati
on engine
GRAPPLE User
Model Framewor
k
Repository
Repository
GALEReposito
ry
Shibboleth GRAPPLE Event Bus
StudentVisualizatio
ns
Device Adaptation
The GRAPPLE Learner View
The GRAPPLE Author View
Terchova, June 2, 2009JESS Summer School 2009
Slide 17
Author
GALE – compile
r
GRAPPLE Authoring tool (CAM, DM, CRT
DM Reposito
ry
LMS
GALERepositor
y
Content Repositor
y
CAM Reposito
ry
GRAPPLE User
Model Framewor
k
Content Repositor
y
Terchova, June 2, 2009JESS Summer School 2009
Slide 18
What can we Adapt to?• Knowledge of the user
– initialization using stereotypes (beginner, intermediate, expert)
– represented in an overlay model of the concept structure of the application
– fine grained or coarse grained– based on browsing and on tests
• Goals, tasks or interest– mapped onto the applications concept structure– difficult to determine unless it is preset by the user or a
workflow system– goals may change often and more radically than
knowledge
Terchova, June 2, 2009JESS Summer School 2009
Slide 19
What can we Adapt to? (cont.)
• Background and experience– background = user’s experience outside the application– experience = user’s experience with the application’s
hyperspace
• Preferences– any explicitly entered aspect of the user that can be
used for adaptation– examples: media preferences, cognitive style, etc.
• Context / environment– aspects of the user’s environment, like browsing device,
window size, network bandwidth, processing power, etc.
Terchova, June 2, 2009JESS Summer School 2009
Slide 20
User Modeling
Terchova, June 2, 2009JESS Summer School 2009
Slide 21
Modeling “Knowledge” in AES
• Moving target: knowledge changes while using the application– scalar model: knowledge of whole course
measured on one scale (used e.g. in MetaDoc)– structural model: domain knowledge divided
into independent fragments; knowledge measuredper fragment
• type of knowledge (declarative vs. procedural)• level of knowledge (compared to some “ideal”)
– positive (overlay) or negative information(bug model) can be used
Terchova, June 2, 2009JESS Summer School 2009
Slide 22
Overlay Modeling of User Knowledge
• Domain of an application modeled through a structure (set, hierarchy, network) of concepts.– concepts can be large chunks (like book
chapters)– concepts can be tiny (like paragraphs or
fragments of text, rules or constraints)– relationships between concepts may include:
• part-of: defines a hierarchy from large learning objectives down to small (atomic) items to be learned
• is-a: semantic relationship between concepts• prerequisite: study this before that• some systems (e.g. AHA!) allow the definition of
arbitrary relationships
Terchova, June 2, 2009JESS Summer School 2009
Slide 23
Which types of knowledge values?• Early systems: Boolean value (known/not known)
– works for sets of concepts, but not for hierarchies (not possible to propagate knowledge up the hierarchy)
• Numeric value (e.g. percentage)– how much you know about a concept– what is the probability that you know the
concept• Several values per concept
– e.g. to distinguish sources of the information– knowledge from reading is different from
knowledge from test, activities, etc.
Terchova, June 2, 2009JESS Summer School 2009
Slide 24
Modeling Users’ Interest
• Initially: weighed vector of keywords– this mimics how early IR systems worked
• More recently: weighed overlay of domain model– more accurate representation of interest– able to deal with synonyms (since terms are
matched to concepts)– semantic links (as used in ontologies) allow to
compensate for sparsity– move from manual classification of documents
to automatic matching between documents and an ontology
Terchova, June 2, 2009JESS Summer School 2009
Slide 25
Modeling Goals and Tasks• Representation of the user's purpose
– goal typically represented using a goal catalog(in fact an overlay model)
– systems typically assume the user has one goal– automatic determination of the goal is difficult;
glass box approach: show goal, let user change it
– the goal can change much more rapidly thanknowledge or interest
• Determining the user's goal/task is much easierwhen adaptation is done within a workflowmanagement system
Terchova, June 2, 2009JESS Summer School 2009
Slide 26
Modeling Users’ Background
• User's previous experience outside the core domain of the application– e.g. (prior) education, profession, job
responsibilities, experience in related areas, ...– system can typically deal with only a few
possibilities, leading to a stereotype model– background is typically very stable– background is hard to determine automatically
Terchova, June 2, 2009JESS Summer School 2009
Slide 27
Modeling Individual Traits
• Features that together define the user as an individual:– personality traits (e.g.
introvert/extrovert)– cognitive styles (e.g. holist/serialist)– cognitive factors (e.g. working memory
capacity)– learning styles (like cognitive styles but
specific to how the user likes to learn)
Terchova, June 2, 2009JESS Summer School 2009
Slide 28
Modeling Users’ Context of Work
• User model contain context features although these are not really all “user” features.– platform: screen dimensions, browser software
and network bandwidth may vary a lot– location: important for mobile applications– affective state: motivation, frustration,
engagement
Terchova, June 2, 2009JESS Summer School 2009
Slide 29
Feature-Based vs. Stereotype Modeling
• Stereotypes: simple, can be designed carefully, very useful for bootstrapping adaptive applications
• Feature-Based: allows for many more variations– each feature considered can be used to adapt
something– detailed features leading to micro-adaptation
do not necessary leading to overall adaptationthat makes sense
Terchova, June 2, 2009JESS Summer School 2009
Slide 30
Uncertainty-Based User Modeling• Most used techniques: Bayesian Networks and Fuzzy
Logic– user actions provide “evidence” that the user has
(or does not have) knowledge of a concept– an expert needs to develop a qualitative model:
• each concept becomes a “random variable” (node in BN)• source of evidence: reading time, answers to tests, etc.• consider direction between evidential nodes E and
knowledge nodes K– causal direction: K E (knowledge leads to evidence)– diagnostic direction: E K (evidence leads to knowledge)
• independence of variables influences validityof the model
Terchova, June 2, 2009JESS Summer School 2009
Slide 31
Generic User Modeling Systems
• Adaptive Systems with built-in UM:– close match between UM structure and AS
needs– high performance possible (no communication
overhead)– UM not easily exchangeable with other AS
• AS using a generic User Modeling System– cuts down on AS development cost– communication overhead– unneeded features may involve performance
penalty– UM can be shared between AS
Terchova, June 2, 2009JESS Summer School 2009
Slide 32
Requirements for Generic UM Systems
• Generality, including domain independence• Expressiveness and strong inferential capabilities• Support for quick adaptation• Extensibility• Import of External User-Related Information• Management of Distributed Information• Support for Open Standards• Load Balancing• Failover Strategies• Transactional Consistency• Privacy Support
Terchova, June 2, 2009JESS Summer School 2009
Slide 33
Requirements for Sharing UM Data
• Sharing a technical API is not enough:– the AS must translate its internal user identities
to the UM's user identities (and vice versa)– data about users need to be standardized– shared ontologies are needed for different AS
dealing with the same domain (ontology alignment)
– agreement on who can update what– agreement on meaning of “values” in the UM
• “Scrutability” of UM:– UM data must be understandable for the user– users must have control over their
UM data
Terchova, June 2, 2009JESS Summer School 2009
Slide 34
User Modeling in GRAPPLE• User model is inherently distributed:
– The LMS contains fairly stable information about the user (and also some assessment results)
– The ALE contains mainly dynamically changing information about the user
– There may be several components of each type• Different UM services may contradict each other
– conflict resolution needed• Not every application is allowed to access/update
UM data on every server– elaborate security/privacy settings needed
Adding UM data to GUMF
• GRAPPLE applications use GRAPPLE statements to communicate UM data
• Registered clients have their own dataspace: subset of ‘own’ statements, derivation rules and schema extensions
• Derivation rules generate new Grapple statements
• Data can be declared public or private
Terchova, June 2, 2009JESS Summer School 2009
Slide 35
Retrieving GRAPPLE Statements
Three ways to retrieve statements(plus combinations):
Pull: Simple query interface to retrieve statements that match a certain pattern
Push: Subscribing to a stream of statements; activated upon an event
Manual: Browsing interface (for admin usage or scrutability)
Terchova, June 2, 2009JESS Summer School 2009
Slide 36
Grapple Statement Structure
Main Part• Subject Subproperty: User• Predicate Property (specified in ontology)• Object Value of the statement• Level Qualification/level (if applicable)• Origin The statement in its original form (if applicable)
Meta Part• ID Globally unique• Creator Entity that created the statement• Created Time of creation/submission of statement• Access Data for any kind of access control mechanism• Temporal Constraints on validity of statement• Spatial In which contexts is statement valid• Evidence Refers to or embodies formal evidence• Rating Level of trust (to be developed)
Terchova, June 2, 2009JESS Summer School 2009
Slide 37
Example GRAPPLE Statement
“Peter is interested in Sweden”
gc = http://www.grapple-project.org/grapple-core/foaf = http://xmlns.com/foaf/0.1/
gc.Statement {gc:id gc:statement-peter-2009-01-01-3234190;gc:user http://www.peter.de/foaf.rdf#me;gc:predicate foaf:interest;gc:object: http://en.wikipedia.org/wiki/Sweden;
}
(Metadata omitted for simplicity)
Terchova, June 2, 2009JESS Summer School 2009
Slide 38
RDF/XML Serialization“Peter is interested in Sweden”<rdf:RDF xmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax#“ xml:base=“http://www.grapple-project.org/statements/“
gc = “http://www.grapple-project.org/grapple-core/”foaf = http://xmlns.com/foaf/0.1/>
<rdf:Description rdf:ID=“gc:statement-peter-2009-01-01-3234190“> <user> http://www.peter.de/foaf.rdf#me </user> <predicate> foaf:interest </predicate> <object> http://en.wikipedia.org/wiki/Sweden object> <creator> www.l3s.de/~herder/foaf.rdf#me</creator> <created> 2009.01.01 </created>
… </rdf:Description></rdf>
Terchova, June 2, 2009JESS Summer School 2009
Slide 39
What does ‘interest’ mean?This is defined in the FOAF ontology (any kind of
ontology can be used)<rdf:Property rdf:about="http://xmlns.com/foaf/0.1/interest" vs:term_status="testing" rdfs:label="interest" rdfs:comment="A page about a topic of interest to this
person."> <rdf:type
rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty"/>
<rdfs:domain rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
<rdfs:range rdf:resource="http://xmlns.com/foaf/0.1/Document"/>
<rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/></rdf:Property>
Terchova, June 2, 2009JESS Summer School 2009
Slide 40
Terchova, June 2, 2009JESS Summer School 2009
Slide 41
Adaptation
Terchova, June 2, 2009JESS Summer School 2009
Slide 42
What Do We Adapt in AEH?
• Adaptive presentation:– adapting the information– adapting the presentation of that information– selecting the media and media-related factors
such as image or video quality and size• Adaptive navigation:
– adapting the link anchors that are shown– adapting the link destinations– giving “overviews” for navigation support and
fororientation support
Terchova, June 2, 2009JESS Summer School 2009
Slide 43
Adaptive Content/Presentation
Terchova, June 2, 2009JESS Summer School 2009
Slide 44
Canned Text Adaptation• Inserting/removing fragments
– prerequisite explanations: inserted when the user appears to need them
– additional explanations: additional details or examples for some users
– comparative explanations: only shown to users who can make the comparison
• Altering fragments– Most useful for selecting among a number of
alternatives– Can be done to choose explanations or examples, but
also to choose a single term• Sorting fragments
– Can be done to perform relevance ranking for instance
Terchova, June 2, 2009JESS Summer School 2009
Slide 45
Canned Text Adaptation (cont.)
• Stretchtext– Similar to replacement links in the Guide hypertext
system– Items can be open or closed; system decides adaptively
which items to open when a page is accessed
• Dimming fragments– Text not intended for this user is de-emphasized
(greyed out, smaller font, etc.)– Can be combined with stretchtext to create de-
emphasized text that conditionally appears, or only appears after some event (like clicking on a tooltip icon)
Terchova, June 2, 2009JESS Summer School 2009
Slide 46
Example of inserting/removing fragments, course “2L690”
• Before reading about Xanadu the URL page shows:– …
In Xanadu (a fully distributed hypertext system, developed by Ted Nelson at Brown University, from 1965 on) there was only one protocol, so that part could be missing.
…• After reading about Xanadu this becomes:
– …In Xanadu there was only one protocol, so that part could be missing.
…
Terchova, June 2, 2009JESS Summer School 2009
Slide 47
Example of inserting/removing fragments: the GEA system.
• selects objects based on matching attributes (arguments) to user preferences
• presents arguments with relevance greater than a (customizable) threshold.
Terchova, June 2, 2009JESS Summer School 2009
Slide 48
Example with group adaptation: Intrigue (adaptive tourist guide)
Terchova, June 2, 2009JESS Summer School 2009
Slide 49
Stretchtext example:the Push system
Terchova, June 2, 2009JESS Summer School 2009
Slide 50
Scaling-based Adaptation
Terchova, June 2, 2009JESS Summer School 2009
Slide 51
Adaptive Navigation Support
Terchova, June 2, 2009JESS Summer School 2009
Slide 52
Adaptive Navigation Support
• Direct guidance– like an adaptive guided tour– “next” button with adaptively determined link destination
• Adaptive link generation– the system may discover new useful links between pages
and add them– the system may use previous navigation or page similarity
to add links– generating a list of links is typical in information retrieval
and filtering systems
• Variant: Adaptive link destinations– link anchor is fixed (or at least always present) but the
system decides on the link destination “on the fly”
Terchova, June 2, 2009JESS Summer School 2009
Slide 53
Adaptive Navigation Support (cont.)
• Adaptive link annotation– all links are visible, but an “annotation” indicates relevance– the link anchor may be changed (e.g. in color) or additional
annotation symbols can be used
• Adaptive link hiding– pure hiding means the link anchor is shown as normal text (the
user cannot see there is a link)– link disabling means the link does not work; it may or may not
still be shown as if it were a link– link removal means the link anchor is removed (and as a
consequence the link cannot be used)– a combination is possible: hiding+disabling means the link
anchor text is just plain text
Terchova, June 2, 2009JESS Summer School 2009
Slide 54
Adaptive Navigation Support (cont.)
• Map adaptation– complete (site)maps are not feasible for a
non-trivial hyperspace– a “local” or “global” map can be adapted by
annotating or removing nodes or larger parts– a map can also be adapted by moving nodes
around– maps can be graphical or textual– adaptation can be based on relevance, but also
on group presence
Terchova, June 2, 2009JESS Summer School 2009
Slide 55
Example of Direct Guidance
• Simple: suggest one best page to go to– Webwatcher:
curious eyes– Sometimes a
“next” button– Popular in ITS
(sequencing)
Terchova, June 2, 2009JESS Summer School 2009
Slide 56
Example: Link Ordering/Sorting
• Sorting links from most to least relevant.– first introduced in Hypadapter (Lisp tutor)– manual reordering by the user (if supported)
can be used as feedback to update the user model
Terchova, June 2, 2009JESS Summer School 2009
Slide 57
Example:Link Annotation in ELM-ART
Terchova, June 2, 2009JESS Summer School 2009
Slide 58
Example:link annotation in Interbook
1. Concept role2. Current concept state
3. Current section state
4. Linked sections state
4
3
2
1
√
Terchova, June 2, 2009JESS Summer School 2009
Slide 59
Example:Link Annotation in ISIS-Tutor
Terchova, June 2, 2009JESS Summer School 2009
Slide 60
Example: Link Annotation and Hiding in ISIS-Tutor
Terchova, June 2, 2009JESS Summer School 2009
Slide 61
Example:Link Generation in Alice
Terchova, June 2, 2009JESS Summer School 2009
Slide 62
Adaptation in GRAPPLE: GALE• The GRAPPLE Adaptive Learning Environment has
the following main properties:– three separate components: UM server, DM/AM
server, adaptation engine (AE)– linked through an internal event bus– separation between concepts and content– adaptation rules can call arbitrary (Java) code– supports forward and backward reasoning– adaptation to arbitrary XML formats (not just
HTML)– works stand-alone or within the GRAPPLE
infrastructure (with LMSs and GUMF)
Creating GALE Applications
• Creating a conceptual structure:– domain model (concepts, conceptual
relationships like “is-a”, “part-of”, etc.)– conceptual adaptation model (pedagogical
relationships like “prerequisite”)• Creating content as a “website”:
– any XML format is supported– use “gale” name space for adaptive
elements
Terchova, June 2, 2009JESS Summer School 2009
Slide 63
Three Types of Authoring• A concept can be associated with one
resource (page); each page is authored separately.
• A concept can be associated with a template resource (shared between many concepts); the template “includes” content fragments (with URLs from the concept’s attributes).
• A concept may rely on a presentation engine to generate a layout and “include” content fragments (from the concept’s attributes).
Terchova, June 2, 2009JESS Summer School 2009
Slide 64
Creating a GALE Page• It’s “mostly” like XHTML but needs name spaces:
<html xmlns=http://www.w3.org/1999/xhtml xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xmlns:gale=http://gale.tue.nl/adaptation xsi:schemaLocation="http://www.w3.org/1999/xhtml
http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd”
• HTML tags are used without name space, GALE tags with name space:– adaptive link anchor:
<gale:a href=“newconcept”>anchor text</gale:a>– conditionally included object:
<gale:object name=“conceptname” />– conditionally included in-line fragment:
<gale:if expr=“${someconcept#someattribute}>0”> <gale:block>conditional text</gale:block></gale:if>
Terchova, June 2, 2009JESS Summer School 2009
Slide 65
GALE Expressions
• References to concepts/attributes using URIs:– ${#attribute} refers to an attribute of the current concept– ${concept#attribute} refers to an attribute of the named
concept of the current course– ${gale://server.where:port/gale/course/concept#attribute}
refers to an attribute of a concept of some course somewhere on another server.
• Java expressions, escaping reserved characters (<>)– ${concept#knowledge} > 50
(is the knowledge of the concept greater than 50)– gale.concept().getApplication()
(gives the name of the course of the current concept)
Terchova, June 2, 2009JESS Summer School 2009
Slide 66
Milky Way
• Example with an “interesting” domain model
• Similar concepts can be presented in a similar way (hence templated-based authoring)
Terchova, June 2, 2009JESS Summer School 2009
Slide 67
Example Pages
• Page template shows:– title (Sun, Earth, Moon)– reference to parent– image (with caption)– information paragraph– list of children concepts
Terchova, June 2, 2009JESS Summer School 2009
Slide 68
Terchova, June 2, 2009JESS Summer School 2009
Slide 69
Acknowledgements
• GALE is based on earlier work on AHA! that was partly developed with a grant from the NLnet Foundation
• Part of this work was performed as part of the EU FP7 STREP project GRAPPLE (215434)
Prerequisites for Workshop• In order to do a hands-on workshop we need:
– JDK 1.5 or 1.6 (http:/java.sun.com/javase/downlaods/index.jsp)
– Maven 2 (http://maven.apache.org/download.html)– Tomcat 6 (http://tomcat.apache.org/downlaod-60.cgi)– MySQL 5.1
(http://dev.mysql.com/downloads/mysql/5.1.html#downloads)
• You also need:– the permission to run services, and to create tables in MySQL– a working network connection at least during setup– GALE, which you will get on a USB stick
Terchova, June 2, 2009JESS Summer School 2009
Slide 70
Top Related