Adaptive Learning Environments Prof. dr. Paul De Bra Eindhoven University of Technology JESS Summer School 2009 Terchova, June 2, 2009 Slide 1 Topics • The need for adaptation – personalized: adaptable / adaptive • User Modeling • Adaptation – adaptive presentation – adaptive navigation • The GRAPPLE architecture • Authoring • Examples (if we have time) JESS Summer School 2009 Terchova, June 2, 2009 Slide 2 We live in a “one size fits all” world But we are not all the same size (physically or mentally) JESS Summer School 2009 Terchova, June 2, 2009 Slide 3 What’s the main difference between these pictures? JESS Summer School 2009 Terchova, June 2, 2009 Slide 4 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 JESS Summer School 2009 Terchova, June 2, 2009 Slide 5 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 JESS Summer School 2009 Terchova, June 2, 2009 Slide 6 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 JESS Summer School 2009 Terchova, June 2, 2009 Slide 7 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 JESS Summer School 2009 Terchova, June 2, 2009 Slide 8 User-Adaptive Systems JESS Summer School 2009 Terchova, June 2, 2009 Slide 9 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 JESS Summer School 2009 Terchova, June 2, 2009 Slide 10 Forward and Backward Reasoning • Two opposite approaches for adaptation: • forward reasoning: 1. 2. 3. 4. register events translated events to user model information store the user model information adaptation based directly on user model information • backward reasoning: 1. register events 2. store rules to deduce user model information from events 3. store rules to deduce adaptation from user model information 4. performing adaptation requires backward reasoning: decide which user model information is needed and then deduce which event information is needed for that. JESS Summer School 2009 Terchova, June 2, 2009 Slide 11 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. JESS Summer School 2009 Terchova, June 2, 2009 Slide 12 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 JESS Summer School 2009 Terchova, June 2, 2009 Slide 13 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 JESS Summer School 2009 Terchova, June 2, 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) JESS Summer School 2009 Terchova, June 2, 2009 Slide 15 The GRAPPLE Learner View Learner GRAPPLE User Model Framework Learner scenario LMS Shibboleth GRAPPLE Event Bus Reposito Repository ry Student Visualizations Device Adaptation GALE – adaptation engine GALE Repository JESS Summer School 2009 Terchova, June 2, 2009 Slide 16 The GRAPPLE Author View GRAPPLE Authoring tool (CAM, DM, CRT Author LMS DM Repository GRAPPLE User Model Framework CAM Repository GALE – compiler GALE Repository Content Repository JESS Summer School 2009 Content Repository Terchova, June 2, 2009 Slide 17 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 JESS Summer School 2009 Terchova, June 2, 2009 Slide 18 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. JESS Summer School 2009 Terchova, June 2, 2009 Slide 19 User Modeling JESS Summer School 2009 Terchova, June 2, 2009 Slide 20 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 measured per fragment • type of knowledge (declarative vs. procedural) • level of knowledge (compared to some “ideal”) – positive (overlay) or negative information (bug model) can be used JESS Summer School 2009 Terchova, June 2, 2009 Slide 21 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 JESS Summer School 2009 Terchova, June 2, 2009 Slide 22 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. JESS Summer School 2009 Terchova, June 2, 2009 Slide 23 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 JESS Summer School 2009 Terchova, June 2, 2009 Slide 24 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 than knowledge or interest • Determining the user's goal/task is much easier when adaptation is done within a workflow management system JESS Summer School 2009 Terchova, June 2, 2009 Slide 25 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 JESS Summer School 2009 Terchova, June 2, 2009 Slide 26 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) JESS Summer School 2009 Terchova, June 2, 2009 Slide 27 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 JESS Summer School 2009 Terchova, June 2, 2009 Slide 28 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 adaptation that makes sense JESS Summer School 2009 Terchova, June 2, 2009 Slide 29 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 – diagnostic direction: E K (knowledge leads to evidence) (evidence leads to knowledge) • independence of variables influences validity of the model JESS Summer School 2009 Terchova, June 2, 2009 Slide 30 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 JESS Summer School 2009 Terchova, June 2, 2009 Slide 31 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 JESS Summer School 2009 Terchova, June 2, 2009 Slide 32 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 JESS Summer School 2009 Terchova, June 2, 2009 Slide 33 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 JESS Summer School 2009 Terchova, June 2, 2009 Slide 34 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 JESS Summer School 2009 Terchova, June 2, 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) JESS Summer School 2009 Terchova, June 2, 2009 Slide 36 Grapple Statement Structure Main Part • • • • • Subject Predicate Object Level Origin • • • • • • • • 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) Meta Part Subproperty: User Property (specified in ontology) Value of the statement Qualification/level (if applicable) The statement in its original form (if applicable) JESS Summer School 2009 Terchova, June 2, 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 3234190; gc:user gc:predicate gc:object: } gc:statement-peter-2009-01-01http://www.peter.de/foaf.rdf#me; foaf:interest; http://en.wikipedia.org/wiki/Sweden; (Metadata omitted for simplicity) JESS Summer School 2009 Terchova, June 2, 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> JESS Summer School 2009 Terchova, June 2, 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#ObjectPrope rty"/> <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> JESS Summer School 2009 Terchova, June 2, 2009 Slide 40 Adaptation JESS Summer School 2009 Terchova, June 2, 2009 Slide 41 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 for orientation support JESS Summer School 2009 Terchova, June 2, 2009 Slide 42 Adaptive Content/Presentation JESS Summer School 2009 Terchova, June 2, 2009 Slide 43 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 JESS Summer School 2009 Terchova, June 2, 2009 Slide 44 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 deemphasized text that conditionally appears, or only appears after some event (like clicking on a tooltip icon) JESS Summer School 2009 Terchova, June 2, 2009 Slide 45 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. … JESS Summer School 2009 Terchova, June 2, 2009 Slide 46 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. JESS Summer School 2009 Terchova, June 2, 2009 Slide 47 Example with group adaptation: Intrigue (adaptive tourist guide) JESS Summer School 2009 Terchova, June 2, 2009 Slide 48 Stretchtext example: the Push system JESS Summer School 2009 Terchova, June 2, 2009 Slide 49 Scaling-based Adaptation JESS Summer School 2009 Terchova, June 2, 2009 Slide 50 Adaptive Navigation Support JESS Summer School 2009 Terchova, June 2, 2009 Slide 51 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” JESS Summer School 2009 Terchova, June 2, 2009 Slide 52 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 JESS Summer School 2009 Terchova, June 2, 2009 Slide 53 Adaptive Navigation Support (cont.) • Map adaptation – complete (site)maps are not feasible for a nontrivial 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 JESS Summer School 2009 Terchova, June 2, 2009 Slide 54 Example of Direct Guidance • Simple: suggest one best page to go to – Webwatcher: curious eyes – Sometimes a “next” button – Popular in ITS (sequencing) JESS Summer School 2009 Terchova, June 2, 2009 Slide 55 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 JESS Summer School 2009 Terchova, June 2, 2009 Slide 56 Example: Link Annotation in ELM-ART JESS Summer School 2009 Terchova, June 2, 2009 Slide 57 Example: link annotation in Interbook 4 3 2 √ 1 1. Concept role 2. Current concept state 3. Current section state 4. Linked sections state JESS Summer School 2009 Terchova, June 2, 2009 Slide 58 Example: Link Annotation in ISIS-Tutor JESS Summer School 2009 Terchova, June 2, 2009 Slide 59 Example: Link Annotation and Hiding in ISIS-Tutor JESS Summer School 2009 Terchova, June 2, 2009 Slide 60 Example: Link Generation in Alice JESS Summer School 2009 Terchova, June 2, 2009 Slide 61 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) JESS Summer School 2009 Terchova, June 2, 2009 Slide 62 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 JESS Summer School 2009 Terchova, June 2, 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). JESS Summer School 2009 Terchova, June 2, 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}&gt;0”> <gale:block>conditional text</gale:block></gale:if> JESS Summer School 2009 Terchova, June 2, 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} &gt; 50 (is the knowledge of the concept greater than 50) – gale.concept().getApplication() (gives the name of the course of the current concept) JESS Summer School 2009 Terchova, June 2, 2009 Slide 66 Milky Way • Example with an “interesting” domain model • Similar concepts can be presented in a similar way (hence templatedbased authoring) JESS Summer School 2009 Terchova, June 2, 2009 Slide 67 Example Pages • Page template shows: – – – – – title (Sun, Earth, Moon) reference to parent image (with caption) information paragraph list of children concepts JESS Summer School 2009 Terchova, June 2, 2009 Slide 68 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) JESS Summer School 2009 Terchova, June 2, 2009 Slide 69 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#downl oads) • 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 JESS Summer School 2009 Terchova, June 2, 2009 Slide 70