Adaptive Hypermedia. Hypermedia “Static” hypermedia Same page content Same links For all users.

Post on 26-Dec-2015

246 views 0 download

Tags:

Transcript of Adaptive Hypermedia. Hypermedia “Static” hypermedia Same page content Same links For all users.

Adaptive Hypermedia

Hypermedia

“Static” hypermedia

• Same page content

• Same links

For all users

Problems of hypermedia

• Users are overwhelmed, too much choice

• Users get lost

“How did I get here”

“Where did I find this last time?”

• Difficult to maintain narrative flow

Visualisation

• Part of the problem is visualisation– Where am I in the graph?– What do I click on to find my information?

Graph Navigation

• http://www.abdn.ac.uk/

• Hypergraphs

Adaptive hypermedia

• Works on assumption that not all pages are as relevant for each user at a certain moment in time

• Tries to adapt the hyperspace to the user

• Closely related to Personalisation and Recommender Systems (future lectures)

– Amazon, etc.

Where is it used? (1)

• Education

• On-line information– Electronic encyclopedias– Information kiosks– Virtual museums– E-commerce– Performance support

Typical Situation

• Museum Tour Guide

– Poorly Defined Initial Interests of the visitor

– Museum contents not known to the visitor

• Possible adaptation

– Visitor describes initial interests to the guide

– Guide points out items of interest that refine the interests of the visitor

– Guide in turn refines its guidance through every such experience

Where is it used? (2)

• Information retrieval– Search-oriented– Browsing-oriented– WebWatcher (CMU)

• Compares hyperlinks on a page with user model to make recommendations.

• On-line help/information

Lot happening, dedicated conferences

Adapting to what?

User

• Goals / tasks

• Knowledge; Experience in that hyperspace

• Background

• Preferences; Interests

=> Topic of next week’s lecture on User modeling

Environment

What can be adapted?

• Content = Adaptive presentation

• Links = Adaptive navigation support

Adaptive Presentation

• Canned text adaptation– inserting/removing fragments– stretch text– altering fragments– sorting fragments– dimming fragments

• Natural language generation

• Modality adaptation

Example of natural language generation

Example application

• Arts tour

Painting

Introduction

Links to other

art demo

Adaptive Navigation Support

Link

• Hiding: disabling, hiding, removal

• Sorting

• Annotation

• Direct guidance

• Creating new links => Recommender systems lectures

Link Hiding (Example)

Introduction to PHP

Putting a database on the web

Why adaptivity is important

Social filtering

Content-based filtering

Link Sorting (Example)

Why adaptivity is important

Content-based filtering

Social filtering

Introduction to PHP

Putting a database on the web

Link Annotation

• Textual annotation

• Graphical annotation

• Font color, type

• Font size

Ready to be learned, Known, Not ready to be learned

Link Annotation (Example)

Introduction to PHP

Putting a database on the web

Why adaptivity is important

Social filtering

Content-based filtering

Direct guidance (Example)

Introduction to PHP

Putting a database on the web

Why adaptivity is important

Social filtering

Content-based filtering

NEXT

Implementation

• You need to be change web pages at runtime

• Depending on what you have figured out about the user (so, need to remember data from one page to the next)

Implementation: General

For the ArtTour example

• I have used PHP

• PHP = HTML + scripting

There are many other ways, servelets, perl, etc

But that is not the focus of this course

Implementation: How to do it

• Take an ordinary HTML file

• Change its extension to .php

• Note: for php code to work, it has to be viewed via a web server!

• Type script code between <?php ?>

Prevent caching

• Put at start of file

<?php

// Prevent caching

header("Pragma: no-cache");

?>

If statements

if ( ) {

}

Session variables

• Session variables allow the system to remember values from one page to the next

• Connect to existing session or starts one:session_start(); (put before <HTML>)

• Add new session variables:session_register("SomeName");

• Give a session variable a value: $HTTP_SESSION_VARS ["SomeName"] = 0;

Useful use of If statement:

<?php

if ($HTTP_SESSION_VARS ["BeenHere"]==1) {

?>

Welcome back.

<?php

}

?>

<?php

$HTTP_SESSION_VARS ["BeenHere"] =1;

?>

How do we adapt? (How?)Adaptive hypermedia - content and navigation

What can we adapt to? (To What?)User model

29

Wait, how does this stuff fit together?!

Adaptive hypermedia has grown a lot in the last years...

30