Using Adaptive Hypermedia for Web-based Education
-
Upload
wang-maxwell -
Category
Documents
-
view
32 -
download
1
description
Transcript of Using Adaptive Hypermedia for Web-based Education
Using Adaptive Hypermedia for Web-based Education
Paul De Bra
Eindhoven Univ. of Technology
Peter Brusilovsky
Carnegie Mellon University
Topics
• Why adaptive hypermedia systems (AHS)?
• Adaptive hypermedia design
• Implementation issues for AH on the Web
• The AHA system
• Authoring for AHA
• AHA demo
• Authoring for Interbook
• Interbook demo
Why Adaptive Hypermedia?
• Adaptive hypermedia has two purposes:– prevent users from getting lost by means of
individualized navigation and orientation support.– adapt the information on the pages to each user,
depending on the order in which pages are read.
• Adaptive hypermedia systems therefore offer:– adaptive maps (fish-eye views) of the overall link
structure (and indication where the user is).– manipulation of the links (annotation, hiding, ...)– conditional inclusion (or emphasis or modification)
of parts of a page’s contents.
Adaptive hypermedia design
We follow the AHAM reference model:
• domain model: describes the subject domain at the conceptual level.
• user model: describes the user’s knowledge, preferences, background, experience, etc.
• teaching model: describes how adaptation should be done, depending on the domain model and the user model.
Domain model
• It describes the subject domain in terms of concepts.– atomic concept: fragment of information, that
cannot be changed by the AHS.– page (concept): a collection of atomic concepts
(or fragments), structured in some way (e.g. a sequence); fragments are conditionally included in a presentation.
– composite concept: a collection of other composite concepts and/or pages, structured in some way.
Structure of a composite concept
WWW
HTML HTTP
what tags specials
(sequence of fragments)
request response
(sequence of fragments)
(set of pages)
Constraints for concepts
• A concept may not contain itself (directly or indirectly).
• A composite concept may only contain other composite concepts or pages, not atomic concepts.
• A page may contain only fragments.
• A concept may occur in different composites.
• A fragment (atomic concept) may appear on different pages.
Concept relationships
Concepts relate to each other in different ways:
• link relationship: there may be a hypertext link from a concept to another concept.
• prerequisite relationship: the user should read (or learn about) some concept(s) before starting on some other concept(s).
• inhibitor relationship: once a user has read (or learnt about) some concept(s) some other concept(s) become irrelevant.
• there may be many more relationship types...
Constraints for concept relationships
For each type of concept relationship there aredifferent constraints:• A link must have at least one source and
one destination.
• A concept must never be a prerequisite for itself, either directly or indirectly.
• A concept must never inhibit itself, either directly or indirectly.
• There may be many more constraints for these or other relationship types.
Notes about domain model
• Composite concepts must have a structure: when the concept is the destination of a link the structure is used to determine a sub-concept as the actual destination.
• Pages must also have a structure: when presenting a page the structure determines in which order to present the fragments.
• Concept relationships do not indicate how they influence the adaptation; the teaching model expresses the adaptation.
User Modeling
• An adaptive hypermedia system is usually also adaptable: some aspects of the user model can be explicitly set by the user (through a form or questionnaire).
• The adaptive features normally concentrate on the knowledge about concepts. An AHS monitors the user’s actions:– requests for pages– reading time per page– results for (multiple-choice) tests
User Modeling (cont.)
A user model is more or less a table:for each user and each concept a number ofattribute values are stored. Example:
name knowledge read ready-to-read
WWW learned
HTML well-learned
HTTP not-known
... ...
false
true
false
false
true
true
...
User modeling (cont.)
• There are three common ways to represent the user’s knowledge about a concept:– Boolean model: a concept is known or not-
known.– Discrete model: there are a few values, e.g.
well-known, well-learned, learned, not-known.– Continuous model: there is a range of values,
e.g. the interval [0..1], or a percentage (values between 0 and 100) as an approximation.
• Beware of too much detail: the source of user-model information is not reliable.
User modeling (cont.)
• The representation of knowledge influences the granularity of the domain model:– With the Boolean model every page is
associated with a domain model concept; there is little use for composite concepts.
– With the discrete model there is limited use for composite concepts.
– With the continuous model pages may contribute a different amount of knowledge to a composite concept. The reading time (per page) may be taken into account as well.
User modeling (cont.)
• other attributes in a user model:– read: this stores information about what was
read by the user. For a composite concept nothing is read. For a page read may be• Boolean: read or not read.• access times: as in a log file.• reading time: actually “display” time.
– ready-to-read: stores information about whether the user is “ready” to learn about this concept. May be Boolean, discrete or continuous ([0..1]).
The teaching model
• an AHS performs adaptation based on the domain model and the user model. It follows certain rules, e.g.:– When there is a link from C1 to C2 then there
must be a link anchor in C1 for a link to C2.– When C1 is a prerequisite for C2 then links to
C2 are not desirable until enough knowledge about C1 is acquired.
– When a page is read that is desirable more knowledge is acquired than when reading an undesirable page.
The teaching model (cont.)
• there are two kinds of rules:– Some rules are executed before the presentation
of the next page. They can be used for:• determining which page to display.• selecting and ordering fragments to display.• selecting how to present anchors to which
concepts.– Some rules are executed after the presentation
of the next page. They are used for:• updating the user model.
The teaching model (cont.)
• Selecting a link destination involves:– When the destination is a composite concept
one or more sub-concepts must be chosen to be the “actual destination” to presented.
– This process is repeated until the actual destination is a page.
– When the (actual) destination is a page the content of the page is constructed by selecting fragments and possibly sorting them (if the page structure is not already a sequence).
The teaching model (cont.)
• Constructing a page is done by:– For each fragment it is decided whether or not
it is desirable. This is done by checking prerequisite, inhibitor and possibly other requirements.
– The selected fragments are sorted. If the page has a sequence structure then the order of the fragments is fixed. But other structures are possible which require the order of fragments to be computed in some way.
The teaching model (cont.)
• Whether or not a concept is desirable is determined by rules like:– if C1.knowledge < 0.8 and C1 is prerequisite
for C2 then C2 is not desirable.– if C1.knowledge > 0.8 and C1 is inhibitor for
C2 then C2 is not desirable.
• There are propagating (transitive) effects:– if C1 is prerequisite for C2 and C2 is
prerequisite for C3 then C1 is prerequisite for C3. So when C1 is not known then C3 is not desirable.
The teaching model (cont.)
• There are four ways to deal with anchors for links leading to undesirable concepts: – hiding: the anchor is hidden by making it
indistinguishable from normal content (text).– annotation: the anchor is presented differently
from anchors of links to desirable concepts. (The color may be different for instance.)
– removal: the anchor is removed from the content of the page. (May disrupt the content.)
– disabling: the anchor does not activate a link, but it may still look like a link anchor.
The teaching model (cont.)
• Link manipulation (annotation) can be expressed by rules, e.g.: if A1 is anchor of link from C1 to C2
and C2 is desirable then if C2 was not read then A1.color := green
else A1.color := yellow
else A1.color := red
• Link hiding is like link annotation, but the “undesired” color is black (or whatever the color of normal text is).
The teaching model (cont.)
• The rules for updating the user model are executed after generating a page. Example (for concept C of page P): if P is just read
then if C is desirable then
C.knowledge := 0.8
else C.knowledge := 0.5
else C.knowledge remains unchanged
• There may be other rules for changing / storing “read”, “desirable” and other values.
The teaching model (cont.)
• Rules may be built into the AHS or written by the author.
• Rules may be generic for all relationships of a certain type, or specific for some specific concepts. Specific rules may be intended to create exceptions to generic rules.
Implementing AH on WWW
• There are three well-known and general server-side technologies:– CGI-scripts: a process is executed for each
HTTP-request; it generates one HTML page. There is process and communication overhead.
– Fast-CGI: a “script-server” process handles each HTTP-request; it generates the HTML pages. There is only communication overhead.
– Servlets: some Java code is added to the Web-server; it generates the HTML pages.
Programming for these technologies is similar.
Implementing AH on WWW (cont.)
• An adaptive engine works as follows:1. First the stored user model is retrieved from
disk (from a file or database).2. Other “attributes” used in rules are initialized.3. The requested concept is “resolved” to a page.4. Rules are executed to select the fragments to be
presented (and possibly to sort them).5. Rules are executed to “manipulate” the link
anchors (like annotate or hide them).6. Rules are executed to update the user model.7. The user model is saved (in file or database).
Dealing with adaptive content
• A generated HTML page (containing the information and the links) may be different each time it is requested.– The browser must request the page (from the
server) each time the user requests it.– Intermediate proxies must not cache the page.– One solution is to use a different URL each
time the page is requested. This makes it impossible to bookmark a page.
– A better solution is to “force” browser and proxies to not do caching.
Link manipulation in HTML
• Different links on the same page need to be displayed in a different way (to indicate whether the destination is desirable.– Interbook annotates anchors with colored dots
and arrows .– AHA uses colored link anchors. It uses
cascading style sheets (CSS) to color links depending on a link class.
• Links can be hidden by removing the anchor tag <A...>.
Working with Frames: Interbook
table of content
infor-mation page
naviga-tion help
pre-requisite concepts
generated concepts
Working with Frames: Interbook
• Interbook uses a fixed layout with five frames; four are generated by Interbook and one is (mostly) written by the author. The automatic generation of auxiliary frames makes authoring easy.
• Each time a request is made from one frame four frames must be updated, through four HTTP (almost simultaneous) requests to the server. This puts a heavy load on the server.
Working with Frames: AHA
• AHA does not enforce any frames structure.
• AHA does not offer automatic generation of frames (structure or content).
• In each frame one can display a generated header and footer, or omit them.
• JavaScript (or VBscript) code is used to synchronize updates to frames. Updating different frames puts a heavy load on the server.
The AHA system
• Each concept corresponds to a page.• For each page there is a precondition which
is expressed in terms of concepts.• Each page generates knowledge about one
or more concepts.• Fragments of content (text) are included
based upon preconditions per fragment.• Conditional links are hidden when the
precondition for their destination is not fulfilled. This can be changed to annotation.
The AHA system (cont.)
• Content is authored as HTML files with “special” comments:<!-- requires readme and intro but not www -->
<!-- generates html -->
<!-- header -->
This page becomes desirable when the readme
and intro have been read and www has not.
The page generates knowledge about html.
The text appears between a header and a footer.
<!-- footer -->
The AHA system (cont.)
• Text fragments are conditionally included:<!-- if www and not (html or http) -->
This text sometimes appears
<!-- elseif www and not (html and http) -->
and sometimes this
<!-- else -->
and otherwise this
<!-- endif -->
• These “if statements” can be nested.
The AHA system (cont.)
• AHA generates a CSS style sheet for links:<style type=“text/css”>
A.good { color : 0000ff }
A.bad { color: 202020 }
A.neutral { color: 7c007c }
</style>
• The HTML contains conditional links:<a class=“conditional” href=“...”>anchor text</a>
• This is turned into (in case of a desired link):<a class=“good” href=“...”>anchor text</a>
AHA components
• The AHA system + document consists of:– a Makefile to generate concept and dependency
lists.– a “welcome file” with registration form.– a header file with references to progress report
and adaptable features.– a footer file with reference to the “Stop applet”.– a html directory containing the pages.– an icons directory containing standard images.– an images directory containing other images.– an applets directory containing the “Stop applet”.– a reference to the servlet doing the adaptation.
AHA components (cont.)
• The welcome file must contain (something like):Welcome to this AHA document.<br>
<form method=post action=“servlet-name”>
name <input type=“text” name=“name” size=40><br>
email <input type=“text” name=“email” size=40><br>
id <input type=“text” name=“id” size=10><br>
password <input type=“password” name=“passwd” size=10><br>
<input type=“submit” value=“go!”>
</form>
AHA components (cont.)
• The header file looks like:<a href=“...”><img src=“/.../icons/smalltue.gif”></a>
<a href=“/.../cgi/get/ID/config/generate”>
<img src=“/2M350/icons/config.gif”></a><br>
• AHA adds references to a progress report:<b>John Doe has read 47/159 pages.</b>
(<a href=“__done__”> these read</a>,
<a href=“__todo__”>these still to do</a>.)
AHA components (cont.)
• The footer file can contain anything.• AHA adds a “Stop applet”:
<applet code=“Stop.class” codebase=“/.../applets” width=2 height=2>
<param name=stopurl value=“/.../stop/pagename”>
<param name=host value=“127.0.0.1”>
<param name=port value=“8001”>
</applet>
• The Stop applet sends a request to the server when the user leaves the page.
AHA components (cont.)
Example of what a header may look like:
Example of what a footer may look like:
Note that the Stop applet does not show.
AHA components (cont.)
• How the Stop applet works:– A Java applet is initialized when its page is
loaded. This is done through the init method.– The applet is started each time its page is
displayed. This is done through the start method.– The applet is stopped each time its page is
replaced by another one. The applet can still do something before really stopping: the stop method is called.
– In the AHA Stop applet the stop method sends a request to the server, with the name of the page the user has stopped reading.
AHA components (cont.)
• The AHA servlet uses the following files to generate file “x.html” for user “doe”:– The set of existing concepts is read from a file
“knowlist”.– The set of concept relationships (dependencies)
is read from a file “doclist”.– The user’s knowledge is read from “doe_model”.– The user’s logfile (with all access and stop times)
is read from “doe_log”.– The html file “x.html”, icons, images, etc. are
read and turned into an html file for presentation.
Authoring for AHA
• Authoring requires the following steps:– Creating (copying and modifying) a welcome
page, header, footer, and possibly an index page with the frameset.
– Writing the content, using any html editor or generator. The editor must support html comments and link classes.
– Removing possible html headers, and adding the <!-- requires --> <!-- generates -->, <!-- header --> and <!-- footer --> tags where appropriate.
Configuring the Servlet
• The servlet needs six parameters:– HTDOCS: path of the documentroot of the
Web-server.– LOGS: path of the log directory of the
Web-server.– TITLE: the title for the whole adaptive
hyperdocument. It is added to every page.– COURSE: the name of the directory (relative to
documentroot) which holds the adaptive document.– BACKGROUND: the name of a background image.– LANGUAGE: for progress report (default English).
Setting up the browser
• In order to use AHA the browser must be configured as follows:– The browser must accept text colors and link
colors specified in the html pages. (Some browsers let you disable this.)
– The browser must not underline links. (AHA hides links by making the text almost black, but underlining links would make them visible.)
– You must ensure that the browser requests a page each time it is needed. (AHA generates “expired” pages, but a browser may sometimes ignore this.)
Example page from course 2L690
Example page from course 2M350