Programming by Demonstration Using Version Space Algebra

Programming by demonstration enables users to easily personalize their applications, automating repetitive tasks simply by executing a few examples. We formalize programming by demonstration as a machine learning problem: given the changes in the application state that result from the user's demonstrated actions, learn the general program that maps from one application state to the next. We present a methodology for learning in this space of complex functions. First we extend version spaces to learn arbitrary functions, not just concepts. Then we introduce the version space algebra, a method for composing simpler version spaces to construct more complex spaces. Finally, we apply our version space algebra to the text-editing domain and describe an implemented system called SMARTedit that learns repetitive text-editing procedures by example. We evaluate our approach by measuring the number of examples required for the system to learn a procedure thatworks on the remainder of examples, and by an informal user study measuring the effort users spend using our system versus performing the task by hand. The results show that SMARTedit is capable of generalizing correctly from as few as one or two examples, and that users generally save a significant amount of effort when completing tasks with SMARTedit's help.

[1]  Tom M. Mitchell,et al.  Generalization as Search , 2002 .

[2]  Leslie G. Valiant,et al.  A theory of the learnable , 1984, STOC '84.

[3]  Robert P. Nix,et al.  Editing by example , 1984 .

[4]  Peter M. Andreae,et al.  Constraint Limited Generalization: Acquiring Procedures From Examples , 1984, AAAI.

[5]  Robert Nix,et al.  Editing by example , 1985, POPL '84.

[6]  Joan Feigenbaum,et al.  Factorization in Experiment Generation , 1986, AAAI.

[7]  Henry A. Kautz,et al.  Generalized Plan Recognition , 1986, AAAI.

[8]  David Haussler,et al.  Occam's Razor , 1987, Inf. Process. Lett..

[9]  Gerald DeJong,et al.  An Explanation-based Approach to Generalizing Number , 1987, IJCAI.

[10]  David Haussler,et al.  Quantifying Inductive Bias: AI Learning Algorithms and Valiant's Learning Framework , 1988, Artif. Intell..

[11]  Dan Hua Mo Learning text editing procedures from examples , 1989 .

[12]  Lewis M. Norton,et al.  Management and Evaluation of Interactive Dialog in the Air Travel Domain , 1990, HLT.

[13]  Marc B. Vilain,et al.  Getting Serious about Parsing Plans : a Grammatical Analysis of Plan Recognition , 1990 .

[14]  David Chapman,et al.  What are plans for? , 1990, Robotics Auton. Syst..

[15]  Robert P. Goldman,et al.  A Probabilistic Model of Plan Recognition , 1991, AAAI.

[16]  H. Hirsh Theoretical Underpinnings of Version Spaces , 1991, IJCAI.

[17]  Haym Hirsh,et al.  Classifier Learning from Noisy Data as Probabilistic Evidence Combination , 1992, AAAI.

[18]  Oren Etzioni,et al.  An Approach to Planning with Incomplete Information , 1992, KR.

[19]  Daniel C. Halbert SmallStar: programming by demonstration in the desktop metaphor , 1993 .

[20]  Jeffrey C. Schlimmer,et al.  Software Agents: Completing Patterns and Constructing User Interfaces , 1993, J. Artif. Intell. Res..

[21]  Pattie Maes,et al.  Learning Interface Agents , 1993, AAAI.

[22]  Henry Lieberman,et al.  Watch what I do: programming by demonstration , 1993 .

[23]  Robert P. Goldman,et al.  A Bayesian Model of Plan Recognition , 1993, Artif. Intell..

[24]  Jerry R. Hobbs The Generic Information Extraction System , 1993, MUC.

[25]  Umesh V. Vazirani,et al.  An Introduction to Computational Learning Theory , 1994 .

[26]  Daniel S. Weld An Introduction to Least Commitment Planning , 1994, AI Mag..

[27]  T. Masui,et al.  Repeat and predict: two keys to efficient text editing , 1994, CHI Conference Companion.

[28]  Oren Etzioni,et al.  A Sound and Fast Goal Recognizer , 1995, IJCAI.

[29]  Herbert A. Simon,et al.  Applications of machine learning and rule induction , 1995, CACM.

[30]  Ian H. Witten,et al.  PBD SYSTEMS: WHEN WILL THEY EVER LEARN? , 1996 .

[31]  Oren Etzioni,et al.  Scaling Up Goal Recognition , 1996, KR.

[32]  Craig A. Knoblock,et al.  Semi-automatic wrapper generation for Internet information sources , 1997, Proceedings of CoopIS 97: 2nd IFCIS Conference on Cooperative Information Systems.

[33]  C. Rich,et al.  Segmented Interaction History in a Collaborative Agent , 1997 .

[34]  Leonard Pitt,et al.  Version Spaces without Boundary Sets , 1997, AAAI/IAAI.

[35]  Neal Lesh Adaptive Goal Recognition , 1997, IJCAI.

[36]  Candace L. Sidner,et al.  Segmented interaction history in a collaborative interface agent , 1997, IUI '97.

[37]  Nicholas Kushmerick,et al.  Wrapper Induction for Information Extraction , 1997, IJCAI.

[38]  Ian H. Witten,et al.  Cima: An Interactive Concept Learning System for End-User Applications , 1997, Appl. Artif. Intell..

[39]  Henry Lieberman,et al.  Integrating user interface agents with conventional applications , 1998, IUI '98.

[40]  Tessa A. Lau,et al.  Programming by demonstration: an inductive learning formulation , 1998, IUI '99.

[41]  Oren Etzioni,et al.  Scalable and adaptive goal recognition , 1998 .

[42]  Mathias Bauer,et al.  TrIAs: trainable information assistants for cooperative problem solving , 1999, AGENTS '99.

[43]  Candace L. Sidner,et al.  Using plan recognition in human-computer collaboration , 1999 .

[44]  Craig A. Knoblock,et al.  Selective Sampling with Redundant Views , 2000, AAAI/IAAI.

[45]  Nicholas Kushmerick,et al.  Wrapper induction: Efficiency and expressiveness , 2000, Artif. Intell..

[46]  Michael P. Wellman,et al.  Probabilistic State-Dependent Grammars for Plan Recognition , 2000, UAI.

[47]  Gordon W. Paynter,et al.  Automating iterative tasks with programming by demonstration , 2000 .

[48]  Mathias Bauer,et al.  Instructible information agents for Web mining , 2000, IUI '00.

[49]  Jean-David Ruvini,et al.  APE: learning user's habits to automate repetitive tasks , 2000, IUI '00.

[50]  Pedro M. Domingos,et al.  Mixed initiative interfaces for learning tasks: SMARTedit talks back , 2001, IUI '01.

[51]  Maria T. Pazienza,et al.  Information Extraction , 2002, Lecture Notes in Computer Science.

[52]  Philip R. Cohen,et al.  Plans as Complex Mental Attitudes , 2003 .

[53]  K. VanLehn,et al.  A version space approach to learning context-free grammars , 2004, Machine Learning.