7. Empirical Results

8. Related Work

Self-customizing software agents have several subjective dimensions on which they can be evaluated and compared:

Here we describe related systems that exhibit properties in each of these agent dimensions.

Our note taking software utilizes the anticipation user interface technique pioneered by Eager (Cypher, 1991). Eager is a non-intrusive system that learns to perform iterative procedures by watching the user. As such, it is a learning apprentice, a software agent, and an example of programming by example or demonstration. Situated within the HyperCard environment, it continuously watches a user's actions. When it detects the second cycle of an iteration, it presents an execute icon for the user's notice. It also visually indicates the anticipated next action by highlighting the appropriate button, menu item, or text selection in green. As the user performs their task, they can verify that Eager has learned the correct procedure by comparing its anticipations to their actions. When the user is confident enough, they can click on the execution icon, and Eager will run the iterative procedure to completion. Eager is highly anticipatory, uses a graphical interface, is non-obtrusive, non-modal, and learns in real-time, but is not user adjustable.

CAP is an apprenticeship system that learns to predict default values (Dent, et al., 1992). Its domain of operation is calendar management, and it learns preferences as a knowledgable secretary might. For example, a professor may prefer to hold a regular group meeting in a particular room at a particular time of day for a particular durationÑinformation that a secretary would know from experience. CAP collects information as the user manages their calendar, learns from previous meetings, and uses the regularities it learns to offer default values for meeting location, time, and duration. The learning system is re-run each night on the most recent meeting data, and the learned rules are applied for prediction the following day. CAP is also designed to utilize an extensible knowledge base that contains calendar information and a database of personnel information. The system continues to be used to manage individual faculty calendars. Though offering some intelligence, CAP's user interface is line-oriented and is based on the Emacs editor. Questions asked of the user about meetings are presented using a command-line dialog, and the default predictions are displayed one-at-a-time. CAP can be characterized as anticipatory, command-line oriented and modal with user control (but not user adjustable), where learning is done in batch.

Another related system addresses the task of learning to fill out a form (Hermens & Schlimmer, 1993). The system recreates a paper form as an on-screen facsimile, allowing the user to view all of the pertinent information at a glance. Input typed by the user into the electronic form is processed by a central form-filling module. When the user completes a form copy, it is printed, and each field value on the form is forwarded to a learning module (a decision tree learning method). The learned representations predict default values for each field on the form by referring to values observed on other fields and on the previous form copy. From the user's point of view, it is as if spreadsheet functions have been learned for each field of the form. Empirical studies indicate that this system reduced the number of keystrokes required of the user by 87% on 269 forms processed over the 8 month period in which it was actually used by office personnel. This system is unobtrusive, non-modal and anticipatory, uses a graphical interface, and updates learning in real-time.

Maes and Kozierok (1993) are addressing the problem of self-customizing software at a much more task-independent level. They identify three learning opportunities for a software agent: observing the user's actions and imitating them, receiving user feedback upon error, and incorporating explicit training by the user. To illustrate the generality of their framework, they demonstrate simple learning apprentices that help sort the user's electronic mail and schedule meetings. Their initial systems use an instance-based (case- or memory-based) approach primarily because it allows efficient update and because it naturally generates a confidence in each of its predictions. User's may set thresholds on these predictions, corresponding to a minimum confidence for when the agent should prompt the user (a "tell-me" threshold) and a higher minimum confidence for the agent to act immediately on behalf of the user (a "do-it" threshold). The framework for learning in this case is anticipatory, utilizes a graphical user interface, is devoted to user control, is non-modal, learns in real-time, and is user adjustable.

A system developed for Macintosh Common Lisp (MCL) provides a word-completion mechanism for word prefixes typed by the user in any window. J. Salem and A. Ruttenberg (unpublished) have devised MCL methods to display a word completion in the status bar of the each window. If the user desires to add the completion to the window, they simply press the CLEAR key. This word completion mechanism is similar to file-name completion in EMACS and the C-shell in UNIX systems, except that the word is displayed for the user before it is added. This system is anticipatory (unlike the UNIX file completion), is command line oriented (but displays the default completion in a graphical window), can be fully controlled by the user, is non-modal, learns in real time, is not intended to be user adjustable (though knowledgeable MCL programmers could easily make changes to the code).

The interactive note taking software we have devised does not require any user programming. It only receives implicit user feedback when the user chooses to complete a note in a different way than prompted. It does not have any mechanisms for direct user instruction or threshold tuning. In a system designed to be as easy to use as paper, such explicit adjustment may be inappropriate. We characterize our system as anticipatory, graphically-oriented, and modal (due to the switching that takes place when a user wishes to display the button-box interface). It allows the user to override default prompts and predictions, and it learns in real-time. We have not included features that allow the user to configure the performance of the agent.

9. Observations/Limitations