Intelligent User Interfaces Frank Shipman Department of Computer Science Texas A&M University E-mail: firstname.lastname@example.org What this is about Designing, building, and evaluating intelligent user interfaces Particular technologies used to create intelligent user interfaces Issues concerning applicability of intelligent user interfaces Intelligent user interfaces (IUI)? Systems that provide interactive support based on embedded AI mechanisms Interfaces to AI functionality and knowledge representations Adaptive systems Cooperative problem-solving systems Technologies I User models, Situation models, and Programming by Demonstration Adaptive Interfaces Requirements: – interface that can be adapted – user or situation model – adaptation strategy Frequently used for providing assistance or training to user User Model “any information which a program has which is specific to a particular user. The information itself could range from a simple count of errors, to some complicated data structure which purports to represent relevant parts of the user’s knowledge of the problem domain.” Stereotyping vs. Individual Stereotyping (canonical user modeling) – provide interfaces for classes of users – classes might be based on skill (novices, midrange users, experts) or role Individual approach – dynamically adapt to suit each user – can be based on observed use of system or self assessment Representations for User Models Descriptive method – modeling the user’s observed behavior – describes what system has seen user do Skill-based or cognitive method – attempt to model the internal cognitive models and processes of the user – represents background knowledge, goals, plans, preferences, misconceptions Acquisition of User Model Model based on a combination of: – Observations of system use • statistical history • chronological history – Self-assessment – Testing How can model evolve over time? – Any of the above Berkeley UNIX Consultant Goal: Provide help to new UNIX users Generates user model based on “successful” use of UNIX commands – Explanations of difficult commands can make use of student’s knowledge. Intelligent Tutoring Systems Task is generally well-known – assignments given to student by system – systems track partial completion Systems keep record of student’s success and failure. – used to determine future assignments – used to determine how to help when student has difficulties Situation Models Components of situation: users, system, environment Users – multiple user models System – hardware constraints and load – device / resource availability Representing the Environment Identifying environmental influences – anticipating use situations – classes of use vs. detailed model of environment Monitoring environment – direct input devices – user description Mars Medical Assistant Goal: Provide medical support for astronauts on three year trip to Mars Consider educational, consultation, and emergency situations Models of user and patient – limited highly-trained user community – no new users joining during mission Other Adaptive Systems Typing completion – suggests completions for partial terms based on prior use Emacs suggestions – notifies user when more efficient method available to complete task Computer Chess Game – determines quality of own play based on perceived level of opponent Programming by Demonstration Generalizing from demonstrated action and situation sequences to programs Difficulties: – knowing what must stay the same – knowing what are variables and their types – connecting to programmed application code Programming by Demonstration Systems Peridot -- demonstration of simple interface Marquise -- demonstration of graphical editors including palettes and modes DEMO -- demonstrating dynamically created objects DEMO2 -- refinement by system based on multiple demonstrations Pavlov Focus on programming animation Includes: – graphical objects – models of motion and time Stimulus-response demonstration – modes for creating objects and behaviors – mode for demonstrating interaction Technologies II Presentation generation, Design Environments, and Interface agents Presentation Generation Generating dynamic links to information – enabling user-controlled flow Generating presentations based on current situation and/or user – Use of user or situation model Generating rhetorical structure/transition – Scripting events – Media-based decisions Presentations and Explanations Examples: – Explainer (Redmiles) – Explainable Expert System (Moore) – Story Presentation System (Sgouros, …) Explainer Domain: Graphical program explanation for software reuse Creates links between perspectives on software including source code, documentation, execution information, application domain view Provides user multiple points of access to better inform about software Explainable Expert System (EES) Explains different outcomes in an expert system / planner Generates natural language to answer user’s questions Keeps dialog history to provide differential descriptions EES Architecture for Explanation User Question Knowledge Base Query analyzer User goals Plan Operators Text planner Dialog history Response Sentence generator Focus Information EES Example User: “Describe Inderal” System: “Inderal a drug that …” User: “Describe Elavil” System: “Like Inderal, Elavil is used …” User: “Describe Cafergot” System: “Cafergot is very different from the drugs we have been talking about. …” Story Presentation System A dynamic dramatization method for narrative presentations Architecture: Symbolic Plot Description Plot Analysis Dramatic Effects Library Dramatization Original Story Material Presentation Manager Story Presentation Story Presentation Analysis Plot analysis models: – physical and emotional state changes – positive and negative interference among characters Dramatization uses plot analysis to determine dramatic events in story – Lifeline, Rising complication, Reversal of fortune, Dramatic irony, Happy end Story Presentation Results Presentation manager adds dramatic effects to original story material to emphasize dramatic events in story Effects include – audio: selection of noises or music – images and video: flashbacks, flashforwards, images of other characters Design Environments Provide a software environment supporting the activities part of design. – specification, construction – argumentation, documentation, communication Examples: – Framer (Lemke, Fischer) – JANUS (Morch, McCall, Fischer , ...) Framer Knowledge-based support for interface design Approach: direct manipulation interface builder Framer 1 -- construction kit approach Framer 2 -- design environment Design Environment Components (1) Checklist – system provides decomposition of task, – user identifies current focus Palette & Workspace – system provides primitive components – user identifies components used and organization of components in design Design Environment Components (2) Specification sheets – system brings design issues to user’s attention, presents potential answers, and explains significance and consequences of design choices – user symbolically specifies answers to design issues Design Environment Components (3) Critics – system points out sub-optimal design decisions, explains why this is believed, and provides heuristics for making decisions – users may accept or reject the system’s critique Design Environment Components (4) Catalog – system provides examples – user selects designs to reuse and modify Code generator – system generates an executable representation of designed interface Other Design Environments JANUS -- kitchen design – designed for non-technical users XNetwork -- computer network design – identified need for simulation component VDDE -- voice dialog design – another type of interface design with interesting constraints Software Agents One view: Software processes that have non-trivial tasks delegated to them which require independent action and a report on the results. Issues for Software Agents (1) Personification – Should agents be represented as a living or animated character? – Does it improve adoption of software? – Does it create inflated expectations? – Is it just too annoying? Issues for Software Agents (2) Trust and Competence – How does user develop an informed level of trust? – Can agent give self-assessment on likely outcome of task? Delegation – How can user delegate tasks? – How can user check on status of delegated tasks? Issues for Software Agents (3) Control – How does user set limits on the agent’s activity? – When does the agent get to interrupt the user (mixed-initiative dialog)? Dealing with multiple agents – How can the user manage many agents? – How can interactions between agents be predicted? Information Retrieval Agents Watch user patterns to infer interests or goals which are used to classify, rank, or suggest new information Examples: – INFOSCOPE: patterns in Netnews use – BASAR: patterns in Web access Issue: the “cold start” problem – must watch a while before suggesting Social Filtering Finding elements liked by others (with similar preferences) – requires some notion of preferences – improves with more users Examples – Tapestry -- rating of documents – GroupLens -- collaboration & user profiles – Amazon.com and CD-NOW Technologies III Knowledge manipulation and Using recognized structure Interacting with Knowledge User tasks – Adding knowledge – Editing rule bases and object hierarchies Examples – HITS Knowledge Editor (Terveen) – Modifier (Girgensohn) – Hyper-Object Substrate (Shipman) Knowledge Representations Informal – text, graphics, audio, video Semi-formal – hypertext, argumentation Formal – frames, semantic nets, scripts, rules, inheritance hierarchies, HITS Knowledge Editor Knowledge editor for CYC project Difficulties of knowledge representation formalization - articulation in precise detail comprehension - complex vocabulary, size modification - location and consistency Terveen’s Design Principle #1 Provide a workspace in which users and systems can jointly construct and manipulate a context for problem-solving, and in which the state of the problem-solving is represented visibly. Terveen’s Design Principle #2 Deliver intelligent assistance through critics. Terveen’s Design Principle #3 Exploit the interactive potential of computational media to manage the user-system interaction according to conventions that are appropriate to the role of each party in the interaction. Support Provided by HKE Inferences -- information inferred from workspace and existing KB Troubles -- inconsistencies between workspace and KB Suggestions -- relevant representational issues for users to consider Modifier Support for End-User Modifiability – Users are not knowledge engineers Example: – Adding new object class to existing system Support: suggestions based on similarity of features and efficiency of representation Hyper-Object Substrate Formalization as difficulty – cognitive load – tacit knowledge – premature structure Supporting incremental formalization – Flexible knowledge representation – Suggestions based on informal content – Automating knowledge acquisition? Using Recognized Structure When can it be used without user acknowledging correctness? Examples: TileBars (Hearst) • graphically presents results of text analysis inferring topic changes within text corpus Data Mining • search for patterns within database Non-Verbal Representations Non-verbal communication allows expression of emergent thoughts Systems need to recognize implicit structure Examples: – VIKI (Marshall, Shipman, …) – PerSketch (Saund, Moran) – Tivoli (Moran, van Melle, Chui, …) VIKI: An Analyst’s Workspace Task: collect, organize, and interpret information Characteristics: – evolving understanding – ephemeral structures – emerging visual languages Goal: Recognize visual structures and languages PerSketch: Adaptive Drawing Tool Recognize multiple potential connections between strokes in drawing Enables cleaning up drawings, editing drawn objects Example: TIVOLI: Meeting Room Support Manipulating structures on an electronic whiteboard Recognize gestures, characters, etc. Recognize lists, groupings Map changes in visual structure to underlying database Design Considerations Issues of applicability, Evaluating interfaces, and Discussion IUI: Appearing Too Smart? A central danger of creating IUI is, like ELIZA, appearing too smart – Creating unrealistic expectations – Communication difficulties • false alarm • garden path Design guideline: do not hide system’s knowledge or lack thereof Evaluation Methods Interviews Cognitive Walkthroughs Questionnaires Videotapes of use Usage data from software monitoring Comparative evaluations Pre- and post- use testing Evaluating Interfaces Deciding between observational and empirical methods – Is there a specific question being asked? – How mature is the technology? – Is having real tasks in a natural setting important? Expectation Agents Support for greater user participation in software design – Software designers encode expectations of use which are matched against actual use. – When expectations are not met, a dialog can be started between designers and users.