Communications of the ACM
ACM Transactions on Programming Languages and Systems (TOPLAS)
Information Processing Letters
Quantifying inductive bias: AI learning algorithms and Valiant's learning framework
Artificial Intelligence
Management and evaluation of interactive dialog in the air travel domain
HLT '90 Proceedings of the workshop on Speech and Natural Language
A Bayesian model of plan recognition
Artificial Intelligence
Watch what I do: programming by demonstration
Watch what I do: programming by demonstration
SmallStar: programming by demonstration in the desktop metaphor
Watch what I do
Repeat and predict—two keys to efficient text editing
CHI '94 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
An introduction to computational learning theory
An introduction to computational learning theory
Applications of machine learning and rule induction
Communications of the ACM
Communications of the ACM
Segmented interaction history in a collaborative interface agent
Proceedings of the 2nd international conference on Intelligent user interfaces
Integrating user interface agents with conventional applications
IUI '98 Proceedings of the 3rd international conference on Intelligent user interfaces
Programming by demonstration: an inductive learning formulation
IUI '99 Proceedings of the 4th international conference on Intelligent user interfaces
TrIAs: trainable information assistants for cooperative problem solving
Proceedings of the third annual conference on Autonomous Agents
Using plan recognition in human-computer collaboration
UM '99 Proceedings of the seventh international conference on User modeling
Instructible information agents for Web mining
Proceedings of the 5th international conference on Intelligent user interfaces
APE: learning user's habits to automate repetitive tasks
Proceedings of the 5th international conference on Intelligent user interfaces
Wrapper induction: efficiency and expressiveness
Artificial Intelligence - Special issue on Intelligent internet systems
Mixed initiative interfaces for learning tasks: SMARTedit talks back
Proceedings of the 6th international conference on Intelligent user interfaces
A Version Space Approach to Learning Context-free Grammars
Machine Learning
Semi-Automatic Wrapper Generation for Internet Information Sources
COOPIS '97 Proceedings of the Second IFCIS International Conference on Cooperative Information Systems
Selective Sampling with Redundant Views
Proceedings of the Seventeenth National Conference on Artificial Intelligence and Twelfth Conference on Innovative Applications of Artificial Intelligence
Probabilistic State-Dependent Grammars for Plan Recognition
UAI '00 Proceedings of the 16th Conference on Uncertainty in Artificial Intelligence
Scalable and adaptive goal recognition
Scalable and adaptive goal recognition
IJCAI'97 Proceedings of the Fifteenth international joint conference on Artifical intelligence - Volume 2
A sound and fast goal recognizer
IJCAI'95 Proceedings of the 14th international joint conference on Artificial intelligence - Volume 2
Version spaces without boundary sets
AAAI'97/IAAI'97 Proceedings of the fourteenth national conference on artificial intelligence and ninth conference on Innovative applications of artificial intelligence
A perspective on inductive databases
ACM SIGKDD Explorations Newsletter
Sheepdog: learning procedures for technical support
Proceedings of the 9th international conference on Intelligent user interfaces
Version spaces and the consistency problem
Artificial Intelligence
SPHINX: Schema integration by example
Journal of Intelligent Information Systems
Recovering from errors during programming by demonstration
Proceedings of the 13th international conference on Intelligent user interfaces
Teaching sequential tasks with repetition through demonstration
Proceedings of the 7th international joint conference on Autonomous agents and multiagent systems - Volume 3
A scientific workflow construction command line
Proceedings of the 14th international conference on Intelligent user interfaces
Learning repetitive robot programs from demonstrations using version space algebra
RA '07 Proceedings of the 13th IASTED International Conference on Robotics and Applications
Error-tolerant version space algebra
Proceedings of the 15th international conference on Intelligent user interfaces
Sheepdog, parallel collaborative programming-by-demonstration
Knowledge-Based Systems
A new representation and associated algorithms for generalized planning
Artificial Intelligence
Automating string processing in spreadsheets using input-output examples
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A formal framework for combining natural instruction and demonstration for end-user programming
Proceedings of the 16th international conference on Intelligent user interfaces
Spreadsheet table transformations from examples
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Mixer: mixed-initiative data retrieval and integration by example
INTERACT'11 Proceedings of the 13th IFIP TC 13 international conference on Human-computer interaction - Volume Part I
Synthesis of first-order dynamic programming algorithms
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Learning semantic string transformations from examples
Proceedings of the VLDB Endowment
Spreadsheet data manipulation using examples
Communications of the ACM
Synthesizing number transformations from input-output examples
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
Liberating the programmer with prorogued programming
Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software
A colorful approach to text processing by example
Proceedings of the 26th annual ACM symposium on User interface software and technology
CAV'13 Proceedings of the 25th international conference on Computer Aided Verification
Minimizing user effort in transforming data by example
Proceedings of the 19th international conference on Intelligent User Interfaces
Hi-index | 0.02 |
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 that works 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.