Naturalizing a Programming Language via Interactive Learning

40031

Authors

nan

Abstract

AbstractOur goal is to create a convenient natural language interface for performing well-specified but complex actions such as analyzing data, manipulating text, and querying databases. However, existing natural language interfaces for such tasks are quite primitive compared to the power one wields with a programming language. To bridge this gap, we start with a core programming language and allow users to “naturalize” the core language incrementally by defining alternative, more natural syntax and increasingly complex concepts in terms of compositions of simpler ones. In a voxel world, we show that a community of users can simultaneously teach a common system a diverse language and use it to build hundreds of complex voxel structures. Over the course of three days, these users went from using only the core language to using the naturalized language in 85.9% of the last 10K utterances.

Keywords

nan

Full Content

Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics, pages 929–938 Vancouver, Canada, July 30 - August 4, 2017. c⃝2017 Association for Computational Linguistics https://doi.org/10.18653/v1/P17-1086 Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics, pages 929–938 Vancouver, Canada, July 30 - August 4, 2017. c⃝2017 Association for Computational Linguistics https://doi.org/10.18653/v1/P17-1086 Naturalizing a Programming Language via Interactive Learning Sida I. Wang, Samuel Ginn, Percy Liang, Christopher D. Manning Computer Science Department Stanford University {sidaw, samginn, pliang, manning}@cs.stanford.edu Abstract Our goal is to create a convenient natu- ral language interface for performing well- specified but complex actions such as ana- lyzing data, manipulating text, and query- ing databases. However, existing natu- ral language interfaces for such tasks are quite primitive compared to the power one wields with a programming language. To bridge this gap, we start with a core pro- gramming language and allow users to “naturalize” the core language incremen- tally by defining alternative, more natural syntax and increasingly complex concepts in terms of compositions of simpler ones. In a voxel world, we show that a com- munity of users can simultaneously teach a common system a diverse language and use it to build hundreds of complex voxel structures. Over the course of three days, these users went from using only the core language to using the naturalized language in 85.9% of the last 10K utterances. 1 Introduction In tasks such as analyzing and plotting data (Gulwani and Marron, 2014), querying databases (Zelle and Mooney, 1996; Berant et al., 2013), manipulating text (Kushman and Barzilay, 2013), or controlling the Internet of Things (Campagna et al., 2017) and robots (Tellex et al., 2011), peo- ple need computers to perform well-specified but complex actions. To accomplish this, one route is to use a programming language, but this is inac- cessible to most and can be tedious even for ex- perts because the syntax is uncompromising and all statements have to be precise. Another route is to convert natural language into a formal lan- Cubes: initial – select left 6 – select front 8 – black 10x10x10 frame –– black 10x10x10 frame move front 10 – red cube size 6 – move bot 2 – blue cube size 6 – green cube size 4 – (some steps are omitted) Monsters, Inc: initial – move forward – add green monster – go down 8 – go right and front – add brown floor – add girl – go back and down – add door – add black column 30 – go up 9 – finish door – (some steps for moving are omitted) Deer: initial – bird’s eye view – deer head; up; left 2; back 2; { left antler }; right 2; {right antler} – down 4; front 2; left 3; deer body; down 6; {deer leg front}; back 7; {deer leg back}; left 4; {deer leg back}; front 7; {deer leg front} – (some steps omitted) Figure 1: Some examples of users building struc- tures using a …

Content truncated to 500 words

Labeled Text

AbstractOur goal is to create a convenient natural language interface for performing well-specified but complex actions such as analyzing data, manipulating text, and querying databases. However, existing natural language interfaces for such tasks are quite primitive compared to the power one wields with a programming language. To bridge this gap, we start with a core programming language and allow users to “naturalize” the core language incrementally by defining alternative, more natural syntax and increasingly complex concepts in terms of compositions of simpler ones. In a voxel world, we show that a community of users can simultaneously teach a common system a diverse language and use it to build hundreds of complex voxel structures. Over the course of three days, these users went from using only the core language to using the naturalized language in 85.9% of the last 10K utterances.

Publication Details

Paper ID:
40031
Year:
2017
Publication:
TIPSTER
Publication Type:
conf
DOI:
nan