Corey's home | Corey's research | Corey's Adaptive Web Site research

Adaptive Web Site research

What is an adaptive web site?

An adaptive web site observes the visitor access patterns of its pages, and automatically improves its structure and presentation. For example, suppose you visit the same web site day after day after day (I, myself, like reading the Seattle Times and San Jose Mercury News each morning). You probably have the same browsing habits each day -- follow some links, ignore others. A non-adaptive web site will present the same web pages to you each day -- even if you've never shown any interest in some links, or always favor other pages. An adaptive web site, on the other hand, will learn from your past behavior and present you a customized page that reflects your observed interests. For me, that means the links to the Obits and Lifestyles are deleted, but the pages on local news and science and technology are highlighted.

Big deal -- I can do than on MyYahoo!

Perhaps, but only to a limited degree. "Personalized portal" sites such as MyYahoo!, MyExcite, MyCNN, and such all fall short of the adaptive web site vision for a number of reasons. First, the customization burden is on the visitor, to explicitly itemize his or her interests. Do I want to see local news? Local sports? For a large portal such as Yahoo, there can be hundreds of options -- a daunting pile to sort through for any user. Compounded by this problem, the second problem with personalized portals is that the user must have some understanding of the site before he or she can customize it. But, that's the paradox -- how can a visitor know what's at a site to customize before the visitor has browsed the site extensively? Adaptive web sites solve both of these problems by learning the implicit goals of the user through his or her observed page accesses.

Another aspect of adaptive web sites that personalized portals fail to acheive is the collaborative filtering capability. If I customize a personalized portal, there's no way that I can share my customizations with another user. An adaptive web site groups together visitors with similar interests and goals, and uses the customizations from all members of a group to influence the changes made to pages viewed by the other members. In this way, visitors who frequent one part of a site (say, the local sports scene of a newspaper) can have high-quality customizations at other parts of a site (the classifieds, or Health and Living), even if they have never visited those other parts before -- because other people with similar (sports) interests have done so in the past.

Okay, I understand now -- all you're doing is collaborative filtering

Well, no, it's more than just collaborative filtering. The problem that collaborative filtering solves is: given a bunch of things, some of which each person has rated, produce a rating on the other things for which each person hasn't yet rated. The goal is to recommend some set of not-yet-seen things to the user. In an adaptive web site, however, the goal is different. The goal is not to recommend which as-yet-unseen page to view next, but to recommend a transformation to the page being view (or the site as a whole) to better suit the needs of the user. There are close ties between collaborative filtering and adaptive web sites -- specifically, the methods used to group users together. But, the performance task of adaptive web sites is more complex than a simple recommendation.

So, tell me: how does it all work?

I've been waiting for you to ask. 8) The high-level adaptive web site architecture is shown below.

[Adaptive web site
architecture]

The first step in making an adaptive web site run is to cluster the visitors to the web site. As users browse the site, they leave a trail of their visit in the web server logs. The adaptive web site mines these logs to produce a clustering of the web visitors. The easiest kind of clusters to find are "flat" clusters -- a rough partition of the space of visitors into separate categories. More interesting, though, is a hierarchical clustering, in which users are group first into very approximate categories, and then into finer and finer sets. Examples of these two approaches is shown below.

[Clusterings]

Once a clustering is built, the next step is to select transformations to the site for each user/cluster. Finding the transformations is a search process, where the state is the web site, the search operators are the transformations (we're looking for a set of transformations that map from the initial state into a goal state), and the goal states are defined implicitly by a scoring function. (This process is very similar to planning, in which the initial state and goal state are reasonably well defined, and finding the path from one to the other is the goal of the search process.)

The transformations selected for each user or cluster are stored on the web server for use at click-time. When a user visits the site in the future, the server finds to which cluster theh user belongs, and thus the corresponding transformation. The requested web page is brought in from disk, transformed, and then sent on to the visitor. The visit is recorded in the web server log, and the whole process proceeds continuously.

Tell me more!

If you would like to learn more about adaptive web sites, there are a number of resources to turn to. First, if you have specific questions or comments about the research, please don't hesitate to send me email: corin@cs.washington.edu. Second, if you'd just like to see more web pages about adaptive web sites, any of the following links will be of interest:


Corin Anderson | corin@cs.washington.edu
Last modified: Tue Feb 4 01:29:55 PST 2003