Integrating Programming by Example and Natural Language Programming

We motivate the integration of programming by example and natural language programming by developing a system for specifying programs for simple text editing operations based on regular expressions. The programs are described with unconstrained natural language instructions, and providing one or more examples of input/output. We show that natural language allows the system to deduce the correct program much more often and much faster than is possible with the input/output example(s) alone, showing that natural language programming and programming by example can be combined in a way that overcomes the ambiguities that both methods suffer from individually and, at the same time, provides a more natural interface to the user.

[1]  Michael I. Jordan,et al.  Learning Programs: A Hierarchical Bayesian Approach , 2010, ICML.

[2]  Nathanael Chambers,et al.  PLOW: A Collaborative Task Learning Agent , 2007, AAAI.

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

[4]  James F. Allen,et al.  Using the Crowd to Do Natural Language Programming , 2012, HCOMP@AAAI.

[5]  Edsger W. Dijkstra,et al.  On the Foolishness of "Natural Language Programming" , 1978, Program Construction.

[6]  Sumit Gulwani,et al.  Automating string processing in spreadsheets using input-output examples , 2011, POPL '11.

[7]  Raymond J. Mooney,et al.  Learning to Interpret Natural Language Navigation Instructions from Observations , 2011, Proceedings of the AAAI Conference on Artificial Intelligence.

[8]  Pedro M. Domingos,et al.  Programming by Demonstration Using Version Space Algebra , 2003, Machine Learning.

[9]  Dan Klein,et al.  Learning Dependency-Based Compositional Semantics , 2011, CL.

[10]  Ming-Wei Chang,et al.  Driving Semantic Parsing from the World’s Response , 2010, CoNLL.

[11]  Butler W. Lampson,et al.  A Machine Learning Framework for Programming by Example , 2013, ICML.

[12]  Luke S. Zettlemoyer,et al.  Learning to Map Sentences to Logical Form: Structured Classification with Probabilistic Categorial Grammars , 2005, UAI.

[13]  Daniel Jurafsky,et al.  Learning to Follow Navigational Directions , 2010, ACL.

[14]  Luke S. Zettlemoyer,et al.  Learning Context-Dependent Mappings from Sentences to Logical Form , 2009, ACL.