Programming in natural language with fuSE: Synthesizing methods from spoken utterances using deep natural language understanding

8Citations
Citations of this article
90Readers
Mendeley users who have this article in their library.

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

APA

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.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free