The goal of this paper is to provide a brief overview of recent works on the development of adaptive hypermedia systems. I start the review with answering three most important questions: why do we need adaptive hypermedia, where it can be useful, and what can be adapted in AHS. Analysing existing systems, I give several answers to each of these questions. Existinig systems are oriented for different applications and use different adptation techniques. What a more detailed analisys shows is that internal features of these systems are more simplar then external. Due to similar general goal, all these systems appear to use quite similar structure of subject knowledge representation and user model. The final section is an attempt to synthesize a generalised view on internal knowledge structure of adaprive hypermedia systems.
Hypermedia systems become increasingly popular for the last five years as a tool for user-driven access to information. Browsing along the hyperlinks, users can explore the hyperspace of information and find pieces of information which they actually need but never can request by a formal query. Unlike other kinds of application systems, any hypermedia system is adaptive in some sense: using free browsing different users can adapt the system to their information needs. Many researchers hold that it is the user who should bring the adaptivity to the man-machine hypermedia system. Why do we need any other kind of adaptation? Why do we need that the hypermedia system adapts itself to the particular user? People working on adaptive hypermedia gives two main arguments for that.
At first, adaptation can solve the problem of hypermedia systems which are used by different classes of users. Users can seriously differ in their goals, background, and knowledge on the subject covered by the hypermedia system. Regular hypermedia system provides the same hypermedia pages and the same set of links to all users, while different users really need different information. Users with different goals and knowledge may be interested in different pieces of information presented on a regular page and may use different links for navigation. Information and links which are unrelevant to these users just overload their working memories and screen. A way to overcome this problem is to use the information about a particular user, represented in the user model, to adapt the information and links being presented to the given user. I call it adaptive presentation. Adaptive presentation can also solve the problem of educational hypermedia systems, where the same user can have different knowledge on the same topic (and thus need different information on this topic) on different stages of learning.
Second, adaptation can protect the user from being lost in hyperspace, what is a problem for any big hypermedia system. Knowing user goals and knowledge, an adaptive hypermedia system can support users in their navigation by limiting browsing space, providing adaptive comments to visible links or just suggesting most relevant links to follow. I call it adaptive navigation.
According to the above considerations adaptive hypermedia can be useful in any situation where the hyperspace is reasonably big or/and when the system is expected to be used by people with different goals and knowledge. Potentially it gives us a variety of application areas. Analysis of existing systems gives us only three areas which are used at present in most of research projects on adaptive hypermedia.
First application area is online documentation systems. Adaptive hypermedia technologies are used here for both the above reasons: to provide different information for different users [2, 3] and to provide individualized navigation support in a big space of information [2, 10].
Second area is application systems with advanced help and explanation facilities. Examples of such application systems are a statistical package , a design critic , a CAD system , or a decision support system . The role of hypermedia here is to provide explanation of application-specific and system-specific details and concepts. The reason to use hypermedia (and adapive hypermedia in particular) for explanation is the need to adapt explanations to different classes of users. Navigation support doesn't play significant role here, because the hyperspace is usually compact enough.
Third application area is educational systems. Hypermedia components are used in educational systems to provide student-driven exploration of educational material. Adaptive hypermedia is required here for both the above reasons: to adapt the presented information to the current knowledge level of the student [5,1], and to provide navigation support on various levels from commenting existing links [7,4,6] to suggesting the best link to follow [5,13].
Very few of existing adaptive hypermedia systems are applied in the areas different from the above three. Progress in this direction is probably related with application-independent adaptive hypermedia shells , which can be used in a number of different application areas.
On some level of generalization hypermedia consists of a set of "pages" connected by links. Each page contains some local information and a number of links to related pages. These links can appear within the content of a page, in a separate (sometimes pop-up) menu, on a separate local map, etc. What can be adapted here are the content of a hypermedia page and the links to related pages. Adaptation of the page content is the main example of adaptive presentation. It is also the most popular way of hypermedia adaptation [2,5,9,8,1,3,11]. Adaptation of links can be used for both adaptive presentation (changing the set of visible links)  and adaptive navigation (changing the layout of links to provide guidance). I distinguish two essentially different ways for supporting adaptive navigation: re-ordering the list of links (the more close to the top, the more relevant the link is) [2,10,14] and augmenting links with personal dynamic comments in any form [7, 4,6]. Both ways can be combined with adaptive hidding of some links. It gives us three main directions of adaptation: adapting the content, re-ordering the links and augmenting the links.
Interesting, but internal structures of different adaptive hypermedia systems are quite similar, though the adaptation techniques can differ significantly. The heart of an adaptive hypermedia system is a set of topics or concepts. Topics represent elementary pieces of knowledge for the given domain and the size of a topic depends from the domain. Topics are usually linked to each other thus forming a kind of semantic network. This network is actually the structure model of the domain covered by the hypermedia. Most of existing adaptive hypermedia systems are based on such domain models, more or less complex. Simplest models, I call it level one models, do not provide typization of topics and links [10,4]. More advanced systems distinguish several kinds of topics and several kinds of links in the domain model [5,6,8,2,11,12,9,1]. Here the domain model is real semantic network, I call it level two model. Finally, some systems use frames to represent internal structure of topics by a set of attributes (different kind of topics can have different sets of attributes) [5,6,8,2,9,15]. I call such network of frames as level three model. The more advanced is the underlying model, the more advanced techniques of adaptation can be used in the system.
The relations between domain model topics and hypermedia pages can be more or less complex. Allmost all existing systems use the rule "each topic has a page as external representation (or several pages if the amount of information about topic is big)". However the inverted relation is not allways true. In many systems each hypermedia page really corresponds to exactly one topic. Advanced systems often have multi-topic pages, like "example" pages [5,8] where each example can correspond to several topics. To provide internal structure for multi-topic pages, different parts of such pages can be related to different topics [11,3] or sets of topics .
User models in adaptive hypermedia systems are usually based on its domain models. The kind of user model most often used in existing system to model user knowledge is the overlay model [5,6,4,8,9,2,11]. For each domain model topic the overlay model keeps some estimation of how well the user is familiar with this topic. This estimation can have discrete [5,2] or probablilistic [8,11] values. The model of user knowledge thus can be represented as a set of pairs "topic - value". Similar representation can be used to model user's goals, traits, background and other personal details. Overlay model is powerful and flexible, it can measure independently user knowledge on different topics.
Sometimes more simple stereotype user model is used [3, 10]. Here the model of user knowledge is also represented as a set of pairs "topic - value", but the values are not completely independent. In a stereotype model the user can be assigned to one or more stereotypes (for example, novice - intermediate - expert). Each stereotype is characterized by a fixed set of pairs "topic-value", and the user assigned to a strereotype inherits all these properties. Stereotype modeling is reliable enough and works nice for the systems which need to adapt to different classes of users (as on-line documentation systems). It is more simple then overlay modeling, but less flexible and powerful. In particular, stereotype models are too week for educational systems.
Good results can be achieved by combining stereotype and overlay modeling [2, 8,1,11]. One possible way to combine it : stereotype modeling is used to determine the class of the user and to assign initial values for overlay model. Then overlay modeling is used to keep the model updated.
An analisys of existing AHS shows that different techniques of adaptation do not contradict each other. Moreower, they are complimentary and based on the similar domain model and user model. Interesting direction of research is integration of several different adaptation techniques in one system on the base of the same domain and user models. At present I know only one system - Hypadapter  which use two different ways of adaptation, namely adaptive navigation support and adaptive presentation.
Another direction of research which stems from the above analisys is designing a general architecture for AHS, which should be supported by some instrument tools, a kind of a shell. Such instrumental tools will simplify creating adaptive hypermedia systems for different applications. The works of Juduth Kay, Alfred Kobsa and Peter Brusilovsky (see papers in UM'94 proceedings) give some ideas about how such shell can be constructed.