2.2 User Modeling in UC, the UNIX Consultant

UC, the UNIX Consultant, is a natural language help system for the UNIX operating system environment. UC was developed at the University of California at Berkeley [Chi89]. "Users can ask UC how to do things in UNIX, get definitions of UNIX terminology, and get help debugging problems in using commands" [Chi89, p.74].

The user modeling component of UC has been named KNOME (KNOwledge Model of Expertise). The following example illustrates how KNOME can infer the user's level of expertise from a conversation with the user and how this knowledge then is used advantageously to assist the user (Fig. I.5).


Figure I.5 UC session with user1 (left) and user2 (right) (from [Chi89])

Obviously, user2 is a more experienced UNIX user than user1, because user2 knows about the inode concept. Therefore the answer to the first question is much shorter than for user1. Also question two, which is the same for both users, gets answered on a more technical level for user2.

To accomplish a task like the one outlined above, a user modeling system must first determine what the user knows, and then represent this information internally. To determine the knowledge level of the user, the system could quiz the user exhaustively. However, this process would be extremely time consuming. It would be much better if the system were able to predict the user's knowledge level based on the user's behavior while using the system, which is exactly what KNOME is trying to do. KNOME represents what UC believes users know about UNIX.

In KNOME users are grouped into four categories according to their level of expertise in using UNIX: novice, beginner, intermediate, and expert. These categories are called stereotypes. Individual users are represented as members of one of the stereotypes and inherit the generic properties of their stereotype. Specific information about one user can then override the generic information of the stereotype. To present the UNIX help information, KNOME categorizes all the commands, command-formats, terminology, and other relevant information into four stereotype categories simple, mundane, complex, and esoteric. Command stereotypes and user stereotypes are then matched using deduction tables (Fig. I.8).


Fig. I.6 Deduction table whether user knows some fact (from [Chi89])

Figure I.6 shows on example of a deduction table for facts that are (not) known to the user. Using rule-based reasoning KNOME does a likelihood rating of the user. When the likelihood rating of a stereotype reaches TRUE, it is selected as the user's category.

The reasoning in figure I.7 is not yet conclusive: the user is somewhat unlikely to be intermediate, and the system would now proceed to find out that the user is somewhat likely to be an expert.


Hi.
How can I help you?
# How can I find out the inode of a file?
KNOME: Asserting *USER* knows INODE1
KNOME: Since INODE1 is an INODE, asserting *USER* knows
INODE
KNOME: INODE has difficulty COMPLEX, so deducing:
KNOME: ruling out *USER* = NOVICE
KNOME: ruling out *USER* = BEGINNER
KNOME: *USER* is SOMEWHAT-UNLIKELY to be INTERMEDIATE
=> likelihood(*USER* = INTERMEDIATE) = SOMEWHAT-UNLIKELY
etc.
Figure I.7 Reasoning with intermediate user (from [Chi89, p. 96])

As has been shown so far, user modeling in KNOME is relatively simple (only 4 user categories or stereotypes), nevertheless it allows a huge improvement in adaptability to the needs of a user. But, as can also easily be seen in this example, it is a very labor-intensive and mostly manual process to adjust the knowledge base to the different user categories. This means, that user modeling can be done in expert and intelligent tutoring system environments, where it is tolerable that the knowledge base has to laboriously be hand-crafted. However, it will be very difficult to adapt similar user modeling procedures and techniques to information retrieval systems for very large heterogeneous data collections. Obviously, IR user models have to further be simplified, as will be discussed in the next two sections.