User Models in Search and Navigation Systems on the Internet

Per Christiansson (1), Robert Lagerstedt (2), Uno Engborg(3)

  1. Assoc. Prof. Manager, KBS-Media Lab, Lund University,
    Box 118, 221 00 Lund, Sweden.
  2. Researcher, KBS-Media Lab, Lund University
  3. Researcher, KBS-Media Lab, Lund University
Presented at AEC Systems'96 , Anaheim, USA, June 1996




Computers have made it possible to save and analyze tremendous amount of data and it is hard for users to find and use the relevant parts of these data. One example is all the information in the World-Wide-Web on the Internet.
To help the users in their task of achieving relevant information, we must construct a user model artifact that do most of the time consuming work, in the same way that the user would do it, and then present the answers to him/her.
A search system is used to construct and evaluate theories of the user model, and is implemented in the World-Wide-Web. The implementation consists of an intelligent program, an agent, that has knowledge of a user meta model and the large knowledge network.



The agent example in the paper is based on a work made in spring 1995 at the KBS-Media Lab, (Lagerstedt, 1995). A personal agent was implemented and tested on a World Wide Web, WWW, server. The work forms a platform for further investigations on how to integrate personal agents with learning capacities in a networked environment. The conceptual underlying models are to a great extent based on (Christiansson, 1995a). Uno Engborg is implementing many of our ideas in net based knowledge nodes. These are designed to enhance knowledge communication between people and people and to handle knowledge in the global network, which we prefer to call a Dynamic Knowledge Net (Christiansson, 1992).

The Paradigm shift


We are in a fundamental paradigm shift. Following the periods of the art of writing (2500 b.c.), the art of printing (1400) and now the art of communication (2000). Our view on how knowledge is used and created will dramatically change. Constraints produced by physical information containers and access time will diminish. Instead new interesting questions will arise

There is since decades an increasing interprets in questions concerning artifact design and behavior. The agent metaphor is convenient to use especially as it can inhabit the complex global network. The network gets more and more object oriented properties but we can already now climb up one step on the abstraction ladder and start defining virtual artifacts with personalities composed by groups of specialized agents. We have the freedom to design the agents picking ideas from many disciplines including cognitive psychology. For further reading see (Maes, 1995), Minsky, 1986), (Ford 1995), and (Indermaur, 1995).

Underlying models


It is important that we express are thoughts in the form of conceptual models as we design future global complex information technology, IT, systems. The IT implementations in the form of agents and other tools, knowledge bases, and user interfaces must be efficient, improvable, and possible to integrate in a global context across knowledge domains.

Figure 1. The relation between internalized and externalized knowledge for the personal, project, and global levels. from (Christiansson, 1995).

According to figure 1 we can distinguish four main knowledge domains with respect to ownership. We can use this structure and further develop it by including one more actor, namely the agent, i.e. to a three-dimensional schema used to map possible communication lines.

It is also fruitful to distinguish between different modelling domains. Models can also be classified as being more or less describing a product or process. Where a process view introduces time dependent properties. (Christiansson, 1995)

What is an agent?


An agent is a program that does independent work, changes its own knowledge and communicate with surrounding programs. An agent has mental states, knowledge, skills, and missions.

The Autonomy Agents perform duties for its user without special interaction with him/her. They work without being tired and without the presence of the user. The indexing agents in the World Wide Web are such artifacts.

The Symbiotic Agent acts together with the user. The agents give support by showing alternative or relevant information. These agents may be used in context sensitive help systems where the user intentions are interpreted by the agent.

The Antropomorph Agent imitates human actions and execute limited tasks as the user would have done. Such an agent can for example do tasks and track the response from an external system to prepare the user better when it is used the next time.

User interface with a dialogue agent


The interface between a user and an agent is the first contact between the two. This part may be a program that understands regular expressions of search parameters, but can also be a parser or primitive natural language translator. The I3R-system (Croft, Thompson, 1987) describes a natural language interface where the search system concur the search world with the words contained in the knowledge base documents.

It is also important to map the relations between different application knowledge domains as agents will be knowledgeable in different domains. The relation between these different domains so called cross disciplines can be described as, from (Dahlberg, 1994), interdisciplinary, transdisciplinary, multidisciplinary, pluridisciplinary, and syndisciplinary. The different cross disciplines are described in figures 2-6.

Figure 2. Inter discipline relations generated under influence from the aspect from many domains.

Figure 3. Trans discipline relations exists when a domain is utilized in many other domains.

Figure 4 Trans discipline relations exists when a domain is utilized in many other domains.

Figure 5 Pluridiscipline relations exists when you investigate an attribute in many knowledge domains.

Figure 6 Syndiscipline: Cooperation between knowledge domains to create something complex.

The user model


In the described personal agent structure the user describes himself in a context form presented to him as a html page, se figure 7.

The actual search is triggered from a Search www-page. For the time being three levels of deepness on search is specified - (1) I want to have an overview, (2) I want to know more about, and (3) I want to know what are connected to. Special deepness parameters are set which are used by the filter agent. A Boolean AND search is performed and the search result further filtered by the filter agent before the answer is presented to the user.

Figure 7. The user describes himself on a Context page in the WWW environment. This page is generated by the MakeContext program with input specification from a generic file ContextRules.Config.

The feedback generator handles the user response on a search, see figure 8. A virtual document with for this search ideal parameter values is created and is weighted fed to the FeedbackWeight.Config file. This file is used to train the neural net. One thought is to insert one more agent which automatically scans the users lists of good documents as the WWW hotlists, email sort lists etc. and thus release the user from manually giving search feedback.

The Classification Agent is not a real agent in this demonstration system, demonstrator, but a manually classified document attribute database. The Filter Agent is the main part of the demonstrator.

Agents containing user models


User model stereotypes were defined but only used to quickly train the agent in certain directions. The long term memory is a database which describes the user according to figure 7, for example p_m no (project manager no), c_e yes (civil engineering yes), i_wb m (www browser interest medium) etc.

The short term memory functions like a controlled shift register containing document attributes. Depending on user response on search, see figure 8, a feedback forget factor is changed. In this way a user may change context and let the agent adapt between searches.

Figure 8. The search results are presented in chunks of five. The user gives feedback on how well the results fits his expectations. The user model is then updated in the long term and short term memories.

The neural network in the filter agent was not fully tested in the WWW-environment but confirmed in off-line tests. Instead the user stereotypes contained in the file RuleRules.Config was used. This stereotypes are only aimed at giving the neural net a good platform to start training from.

The Filter Agent uses the user model models long term memory and feed that to the neural net to create a virtual document which seems to be the best for the actual search. This document is weighted and added to the virtual document in the short term memory. The end product is the best document estimation for the search. Each index word get a strength and deep based on the users interest and experiences. The index search is then performed on the index.Database file of the Dynamic Knowledge Net, DKN. The index is created by a MakeIndex program. See also figure 9.

Figure 9. The content and structure for the personal agent demonstration system. Oval unites are active and rectangular passive. (4000 lines of C++ code) (Lagerstedt, 1995).



The demonstrator has confirmed that the approach is valid. The kind of agents developed can be used to lead the user in a prosperous search directions. One possible improvement is to give the agent its own memory to develop own skills within areas that are of interest to the user. I this case the user could interact directly with the agent to see what interesting information it has found during its continuos search on the DKN. It is also probable that we will be able to consult or borrow user models that are trained to represent different user stereotypes. It though remains to see where these agent hotels will be situated.