Reasoning about noisy sensors and effectors in the situation calculus
Artificial Intelligence
ConGolog, a concurrent programming language based on the situation calculus
Artificial Intelligence
Knowledge entry as the graphical assembly of components
Proceedings of the 1st international conference on Knowledge capture
Programming by Demonstration Using Version Space Algebra
Machine Learning
Augmentation-based learning: combining observations and user edits for programming-by-demonstration
Proceedings of the 11th international conference on Intelligent user interfaces
Teachable robots: Understanding human teaching behavior to build more effective robot learners
Artificial Intelligence
Recovering from errors during programming by demonstration
Proceedings of the 13th international conference on Intelligent user interfaces
How people talk when teaching a robot
Proceedings of the 4th ACM/IEEE international conference on Human robot interaction
AAAI'05 Proceedings of the 20th national conference on Artificial intelligence - Volume 2
PLOW: a collaborative task learning agent
AAAI'07 Proceedings of the 22nd national conference on Artificial intelligence - Volume 2
Journal of Artificial Intelligence Research
TellMe: learning procedures from tutorial instruction
Proceedings of the 16th international conference on Intelligent user interfaces
Wings: Intelligent Workflow-Based Design of Computational Experiments
IEEE Intelligent Systems
TellMe: learning procedures from tutorial instruction
Proceedings of the 16th international conference on Intelligent user interfaces
Hi-index | 0.00 |
We contribute to the difficult problem of programming via natural language instruction. We introduce a formal framework that allows for the use of program demonstrations to resolve several types of ambiguities and omissions that are common in such instructions. The framework effectively combines some of the benefits of programming by demonstration and programming by natural instruction. The key idea of our approach is to use non-deterministic programs to compactly represent the (possibly infinite) set of candidate programs for given instructions, and to filter from this set by means of simulating the execution of these programs following the steps of a given demonstration. Due to the rigorous semantics of our framework we can prove that this leads to a sound algorithm for identifying the intended program, making assumptions only about the types of ambiguities and omissions occurring in the instruction. We have implemented our approach and demonstrate its ability to resolve ambiguities and omissions by considering a list of classes of such issues and how our approach resolves them in a concrete example domain. Our empirical results show that our approach can effectively and efficiently identify programs that are consistent with both the natural instruction and the given demonstrations.