• Medientyp: Sonstige Veröffentlichung; Elektronischer Konferenzbericht; E-Artikel
  • Titel: Programming in Natural Language: Building Algorithms from Human Descriptions
  • Beteiligte: Wachtel, Alexander [VerfasserIn]; Eurich, Felix [VerfasserIn]; Tichy, Walter F. [VerfasserIn]
  • Erschienen: Wilmington, 2018-01-01
  • Sprache: Englisch
  • ISBN: 978-1-61208-616-3
  • Schlagwörter: Dialog Systems ; Natural Language Processing ; Human Computer Interaction ; End User Programming ; Natural Language Interfaces ; DATA processing & computer science ; Programming In Natural Language
  • Entstehung:
  • Anmerkungen: Diese Datenquelle enthält auch Bestandsnachweise, die nicht zu einem Volltext führen.
  • Beschreibung: Our work is where the Software Engineering meets the Human Computer Interaction and the End User Programming to aim for a major breakthrough by making machines programmable in ordinary and unrestricted language. In this paper, we provide a solution on how new algorithms can be recognized and learned from human descriptions. Our focus is to improve the interaction between humans and machines and enable the end user to instruct programmable devices, without having to learn a programming language. In a test-driven development, we created a platform that allows users to manipulate spreadsheet data by using natural language. Therefore, the system (i) enables end users to give instructions step-by-step, to avoid the complexity in full descriptions and give directly feedback of success (ii) creates an abstract meta model for user input during the linguistic analysis and (iii) independently interprets the meta model to code sequences that contain loops, conditionals, and statements. The context then places the recognized program component in the history. In this way, an algorithm is generated in an interactive process. One of the result can be the code sequence for algorithm, like well-known selection sort. We present a series of ontology structures for matching instructions to declare variables, loop, make decisions, etc. Furthermore, our system asks clarification questions when the human user is ambiguous. During the evaluation, 11 undergraduate students were asked to solve tasks by using natural language, and describe algorithms in three classes of complexity. Overall, the system was able to transform 60% of the user statements into code. Far from perfect, this research might lead to fundamental changes in computer use. Rather than merely consuming software, end users of the ever-increasing variety of digital devices could develop their own programs, potentially leading to novel, highly personalized, and plentiful solutions.