Abstract
The key to effortless end-user programming is natural language. We examine how to teach intelligent systems new functions, expressed in natural language. As a first step, we collected 3168 samples of teaching efforts in plain English. Then we built fuSE, a novel system that translates English function descriptions into code. Our approach is three-tiered and each task is evaluated separately. We first classify whether an intent to teach new functionality is present in the utterance (accuracy: 97.7% using BERT). Then we analyze the linguistic structure and construct a semantic model (accuracy: 97.6% using a BiLSTM). Finally, we synthesize the signature of the method, map the intermediate steps (instructions in the method body) to API calls and inject control structures (F1: 67.0% with information retrieval and knowledge-based methods). In an end-to-end evaluation on an unseen dataset fuSE synthesized 84.6% of the method signatures and 79.2% of the API calls correctly.
Cite
CITATION STYLE
Weigelt, S., Steurer, V., Hey, T., & Tichy, W. F. (2020). Programming in natural language with fuSE: Synthesizing methods from spoken utterances using deep natural language understanding. In Proceedings of the Annual Meeting of the Association for Computational Linguistics (pp. 4280–4295). Association for Computational Linguistics (ACL). https://doi.org/10.18653/v1/2020.acl-main.395
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.