User Modeling human-computer interaction
User Modeling human-computer interaction User Modeling human-computer interaction
University of Paderborn AG Computergrafik, Visualisierung & Bildverarbeitung Prof. Dr. Gitta Domik User Modeling in human-computer interaction Seminar Personalization Markus Pauer pauer@upb.de March 10, 2004
- Page 2 and 3: Contents 1 Introduction 3 2 Basics
- Page 4 and 5: 2.2 The human factor In the interac
- Page 6 and 7: Figure 1: internal view of the BGP-
- Page 8 and 9: When it is useful to build an adapt
University of Paderborn<br />
AG Computergrafik, Visualisierung & Bildverarbeitung<br />
Prof. Dr. Gitta Domik<br />
<strong>User</strong> <strong>Modeling</strong><br />
in<br />
<strong>human</strong>-<strong>computer</strong> <strong>interaction</strong><br />
Seminar<br />
Personalization<br />
Markus Pauer<br />
pauer@upb.de<br />
March 10, 2004
Contents<br />
1 Introduction 3<br />
2 Basics 3<br />
2.1 Human-<strong>computer</strong> <strong>interaction</strong> (HCI) . . . . . . . . . . . . . . . . . . . . . 3<br />
2.2 The <strong>human</strong> factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4<br />
2.3 Information about a user . . . . . . . . . . . . . . . . . . . . . . . . . . . 4<br />
3 UM-Shellsystems 5<br />
3.1 Overview of UM-Shellsystems . . . . . . . . . . . . . . . . . . . . . . . . 5<br />
3.2 The UM-Shell BGP-MS . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />
4 Personalized <strong>computer</strong> systems 7<br />
4.1 The adaptive approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7<br />
4.2 Adaptive <strong>computer</strong> systems . . . . . . . . . . . . . . . . . . . . . . . . . 8<br />
4.3 A look in the future . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8<br />
5 Summary 8<br />
References 8<br />
2
1 Introduction<br />
Novels are the best source for new concepts in <strong>computer</strong> science, because they show us<br />
visions for the evolution of new ways in using <strong>computer</strong> systems. A good example of<br />
such a novel is from Arthur C. Clarke: 2001 - A space odyssey which was filmed in a<br />
movie by Stanley Kubrick in 1968. In this movie we can see the board <strong>computer</strong> from<br />
the spaceship ”Discovery” called HAL9000. Some of his features are the recognition of<br />
different users and the adaption of his user interface to each individual user. I think<br />
this shows us the potentiality in the research of the <strong>interaction</strong> of <strong>human</strong>s and <strong>computer</strong><br />
systems.<br />
So what we are looking for in this paper is a way to personalize <strong>computer</strong> systems.<br />
That means the <strong>computer</strong> system can be adapted or adapt automaticly to the needs of<br />
each individual user. To facilitate this, we have to collect some information about the<br />
users and develop a user model with this informations.<br />
Before we can think about a way to personalize a <strong>computer</strong> system, we have to talk<br />
about some basics in <strong>human</strong>-<strong>computer</strong> <strong>interaction</strong> (HCI) and user modeling (UM). In<br />
the next section we take a look at the tools to build a model of a user with the UM-<br />
Shellsystems. The last section is about the difficulties in the design of personalized<br />
<strong>computer</strong> systems and the difference between adaptive and adaptable systems. At the<br />
end there will be a short summary of what we have found out in this paper.<br />
2 Basics<br />
First we must talk about some basics about <strong>human</strong>-<strong>computer</strong> <strong>interaction</strong> and user modeling.<br />
2.1 Human-<strong>computer</strong> <strong>interaction</strong> (HCI)<br />
Let us begin with a definition of <strong>human</strong>-<strong>computer</strong> <strong>interaction</strong>:<br />
”Human-<strong>computer</strong> <strong>interaction</strong> is a discipline concerned with the design, evaluation<br />
and implementation of interactive computing systems for <strong>human</strong> use<br />
and with the study of major phenomena surrounding them.” ([Per96])<br />
As we will see the study of phenomena around the use of interactive <strong>computer</strong> systems<br />
gets more and more important in the last few years. When we take a look at the research<br />
in HCI we can see that there where 3 main stages in the history of research.<br />
3 stages in HCI research In the first stage the primary intention was the design<br />
of graphical user interfaces (GUIs) using windows, icons etc. to create more usable<br />
systems. The next step in the research of HCI was the question, how the people use<br />
the interfaces and components of a <strong>computer</strong> system. So that the actions not just the<br />
interfaces were focused in this stage of research. Today we want to improve the way<br />
people use <strong>computer</strong>s to work and communicate with.<br />
3
2.2 The <strong>human</strong> factor<br />
In the <strong>interaction</strong> of <strong>human</strong>s and <strong>computer</strong>s we normally have two different views. On<br />
the one hand we have the user with his so called ”mental model” of the <strong>computer</strong> system.<br />
On the other hand we have the <strong>computer</strong> system with the ”user model” and its view of<br />
the user.<br />
Mental Model The so called ”mental model” of a user is the knowledge about the<br />
components of a system and the experience of how to use the <strong>computer</strong> system properly<br />
(see [CO88]).<br />
<strong>User</strong> Model If we want an personalized <strong>computer</strong> system we need to build a ”user<br />
model” so that the system knows the preferences, capabilities and skills of the user.<br />
If we put this two views together, we get a system that reacts in two different ways.<br />
The user can interact with the system and use it to perform his tasks, because of his<br />
knowledge about the <strong>computer</strong> system. The system ”knows” the intention and goals<br />
of the user and can adapt to the needs of him, because of the information in the user<br />
model.<br />
2.3 Information about a user<br />
As we have seen, if we want a personalized <strong>computer</strong> system that adapt to the needs of a<br />
user, we must collect some information about the user. We can divide these information<br />
into three types (see [Kob04] and [Fis01]).<br />
user data First we have the user data which is the information about the user himself,<br />
e.g. his knowledge, skills and capabilities. The interesting thing with this type of<br />
information is the intention and goal of the user when he uses a <strong>computer</strong> system.<br />
I would like to show the importance of this information by an example. If a user selects a<br />
new document in a word processor from a template to gererate a new letter, the system<br />
should infer the intention and possible goals (in this case the tasks a user wants to<br />
perform). Because normally the generation of a letter includes the lookup of an address<br />
in a personal addressbook or a public one to fill in the destination information. Another<br />
task is to print out the finished letter to put it in a cover and send it to its destination.<br />
usage data The example leads us to the second type of information that must be<br />
collected from a user – the usage data. In the example we observe the user and recognizes<br />
that he wants to write a letter. Now we can look up his usage regularities to infer that<br />
after he has looked up the destination address he wants to print out the document.<br />
environment data The last type of information that can be captured is what kind of<br />
software the user normally use, and what type of hardware is available for a user.<br />
4
3 UM-Shellsystems<br />
”A UM-Shell is a generic domain independent system whose purpose is to<br />
allow the development of user modeling systems.” (p. 24 in [Bla96])<br />
3.1 Overview of UM-Shellsystems<br />
To introduce UM-Shellsystems here is a short overview of some shell systems.<br />
• <strong>User</strong> modeling toolkit (UMT) – Brajnik 1992<br />
The UMT is a highly flexible and generic system to provide the development of<br />
user models.<br />
• General user modeling shell (GUMS) – Finin 1989<br />
Is based on a platform-independent architecture to develop individual, long-term<br />
user models.<br />
• Belief, Goal, Plan Management System (BGP-MS) – Kobsa 1993<br />
(see subsection 3.2).<br />
• PROlog based tool for user modeling (PROTUM) – Eydner 1992<br />
PROTUM is based on the GUMS from Finin and the BGP-MS from Kobsa.<br />
• General user model akquisition component (GUMAC) – Kass 1988<br />
The focus of this shell system is the akquisition of the information about a user.<br />
• Doppelgänger – Orwant 1995<br />
The Doppelgänger shell system was primarly build to provide a personal newspaper<br />
to each individual user. It is a server based system, so that it stores the user model<br />
in a distributed way.<br />
3.2 The UM-Shell BGP-MS<br />
The believe, goal, plan - management system (BGP-MS) is an integrated toolkit for<br />
user modeling. It builds up a schematic user model with stereotypes and stores it in a<br />
hierarchical partition system.<br />
system overview As we can see in figure 1 there are four main components in the shell<br />
system which communicate over the functional interface. The individual user model and<br />
the stereotypes are build upon the representation system which is based on the SB-ONE<br />
knowledge-representation tool. The user model developer can manipulate the knowledge<br />
of the representation system with a graphical interface.<br />
5
Figure 1: internal view of the BGP-MS shell-system (from [Bla96])<br />
KN-IPCMS The KoNstanz Inter-Process Communication Management System (KN-<br />
IPCMS) is a platform-independent, message-oriented communication protocol which is<br />
used to communicate between an application and the BGP-MS shell system. In figure<br />
2 we have three types of communication.<br />
1. If the application wants to tell the shell system about an observed believe or goal<br />
of a user, it can send an bgp-ms-tell message to the shell.<br />
2. The message type d-act is used to tell the shell system about an action that a<br />
user has performed in the application.<br />
3. Assumptions about a user are an important information for an application, so the<br />
application can request such an assumption with a bgp-ms-ask message send to<br />
the shell system, and the BGP-MS can send the answer in an bgp-ms-answer<br />
message to the application.<br />
Below the arrows we can see the messages which are described in the belief, goal, plan<br />
language (BGPL). As we take a look at the d-act message, we can interprete it, that the<br />
print command is executed on the user documentation. If you want more information<br />
about other types of messages you will find it in [KP95].<br />
6
Figure 2: communication with the application<br />
4 Personalized <strong>computer</strong> systems<br />
In the previous section we have seen, that we can use UM-Shellsystems to develop a<br />
user model. So the next step is to think about a way to adapt <strong>computer</strong> systems to the<br />
needs of the users.<br />
4.1 The adaptive approach<br />
Because <strong>computer</strong> systems are getting more and more complex and the developer must<br />
decide how he design the interfaces for the user at development time. He has to ... what<br />
skills and capabilities the user have. The adaptive approach is that the system adapt to<br />
this skills at use-time. Let us take a look at some types of adaptive <strong>computer</strong> systems.<br />
Types of adaptive systems<br />
• help systems<br />
• tutorial systems<br />
• intelligent DB-connectivity<br />
• expert systems<br />
• text generation<br />
• dialog modeling<br />
• <strong>computer</strong> games<br />
7
When it is useful to build an adaptive <strong>computer</strong> system? I think a good example is<br />
a tutorial system that adapt to the skills of the user. It stores not only the progress of<br />
the learning process of a participant, it recognizes the infirmities and can provide him<br />
to handle the next chapter better than the previous ones.<br />
4.2 Adaptive <strong>computer</strong> systems<br />
Today we have many adaptable systems, but less adaptive systems, why? Let me list<br />
some very relevant reasons for this.<br />
• it is very difficult to use the knowledge about a user in an adaptive <strong>computer</strong><br />
system<br />
• in an adaptable system the user decides whether or not he want to adapt something<br />
• in an adaptive system the <strong>computer</strong> system must decide what part of the system<br />
must be adapted to support the user<br />
The conclusion must be that personalized <strong>computer</strong> systems should be a mixture of<br />
adaptable and adaptive systems.<br />
4.3 A look in the future<br />
The demand in the research of HCI is that not the user must adapt to the <strong>computer</strong><br />
system that he want to use, the system adapts to the preferences and capabilities of the<br />
user and infers the intention and goals of him. Another directive is that: ”Wherever you<br />
are you take your preferred settings and programs with you and the <strong>computer</strong> knows<br />
you.”. If we want a distributed, personalized <strong>computer</strong> system we need a distributed<br />
user model which we can access over a network.<br />
5 Summary<br />
We have seen that we need to collect information about a user in a user model.<br />
• information about the user in a platform-independent user model<br />
• a distributed UM-Shellsystem<br />
• a communication-system between the UM-Shell and the application<br />
In the personalization of <strong>computer</strong> systems we have two main problems:<br />
• in an adaptable <strong>computer</strong> system the user decides about the adaption<br />
• adaptive systems must predict the intention of the user<br />
In the future we want personalized <strong>computer</strong> systems that gently adapt to the skills and<br />
preferences of the user and if the user want, he can adjust the system in any kind.<br />
8
References<br />
[Bla96] Karlheinz Blank. Benutzermodellierung für adaptive interaktive Systeme: Architektur,<br />
Methoden, Werkzeuge und Anwendungen. PhD thesis, Universität<br />
Stuttgart, 1996.<br />
[CO88] John M. Carrol and Judith Reitman Olson. Handbook of <strong>human</strong>-<strong>computer</strong><br />
<strong>interaction</strong>, chapter Mental Models in Human-Computer Interaction, pages p.<br />
45–66. Elsevier Science Publishers, Amsterdam (Netherlands), 1988.<br />
[Fis01] Gerhard Fischer. <strong>User</strong> modeling in <strong>human</strong>-<strong>computer</strong> <strong>interaction</strong>. <strong>User</strong> <strong>Modeling</strong><br />
and <strong>User</strong>-Adapted Interaction (UMUAI), Volume 11(No. 1/2):p. 65–86, 2001.<br />
Contribution to the 10th Anniversary Issue of the Journal UMUAI.<br />
[Kob04] Alfred Kobsa. Grundlagen der Information und Dokumentation, chapter Adaptive<br />
Methoden - Benutzermodellierung. K. G. Saur (München), 2004.<br />
[KP95] A. Kobsa and W. Pohl. The user modeling shell system bgp-ms. <strong>User</strong> <strong>Modeling</strong><br />
and <strong>User</strong>-Adapted Interaction, 4(2):p. 59–106, 1995.<br />
[Per96] Gary Perlman, editor. Curricula for Human-Computer Interaction. 1996.<br />
9