NLP (Natural Language Processing) for NLP (Natural Language Programming) Page: 319
12 p.View a full description of this paper.
Extracted Text
The following text was automatically extracted from the image on this page using optical character recognition software:
NLP (Natural Language Processing)
for NLP (Natural Language Programming)
Rada Mihalcea1, Hugo Liu2, and Henry Lieberman2
1 Computer Science Department, University of North Texas
rada@cs .unt. edu
2 Media Arts and Sciences, Massachusetts Institute of Technology
{hugo, henry}@media.mit .edu
Abstract. Natural Language Processing holds great promise for making com-
puter interfaces that are easier to use for people, since people will (hopefully) be
able to talk to the computer in their own language, rather than learn a specialized
language of computer commands. For programming, however, the necessity of a
formal programming language for communicating with a computer has always
been taken for granted. We would like to challenge this assumption. We believe
that modern Natural Language Processing techniques can make possible the use
of natural language to (at least partially) express programming ideas, thus drasti-
cally increasing the accessibility of programming to non-expert users. To demon-
strate the feasibility of Natural Language Programming, this paper tackles what
are perceived to be some of the hardest cases: steps and loops. We look at a cor-
pus of English descriptions used as programming assignments, and develop some
techniques for mapping linguistic constructs onto program structures, which we
refer to as programmatic semantics.
1 Introduction
Natural Language Processing and Programming Languages are both established areas
in the field of Computer Science, each of them with a long research tradition. Although
they are both centered around a common theme - "languages" - over the years, there
has been only little interaction (if any) between them'. This paper tries to address this
gap by proposing a system that attempts to convert natural language text into computer
programs. While we overview the features of a natural language programming system
that attempts to tackle both the descriptive and procedural programming paradigms, in
this paper we focus on the aspects related to procedural programming. Starting with an
English text, we show how a natural language programming system can automatically
identify steps, loops, and comments, and convert them into a program skeleton that can
be used as a starting point for writing a computer program, expected to be particularly
useful for those who begin learning how to program.
We start by overviewing the main features of a descriptive natural language pro-
gramming system METAFOR introduced in recent related work [6]. We then describe in
1 Here, the obvious use of programming languages for coding natural language processing sys-
tems is not considered as a "meaningful" interaction.A. Gelbukh (Ed.): CICLing 2006, LNCS 3878, pp. 319-330, 2006.
@ Springer-Verlag Berlin Heidelberg 2006
Upcoming Pages
Here’s what’s next.
Search Inside
This paper can be searched. Note: Results may vary based on the legibility of text within the document.
Tools / Downloads
Get a copy of this page or view the extracted text.
Citing and Sharing
Basic information for referencing this web page. We also provide extended guidance on usage rights, references, copying or embedding.
Reference the current page of this Paper.
Mihalcea, Rada, 1974-; Liu, Hugo & Lieberman, Henry. NLP (Natural Language Processing) for NLP (Natural Language Programming), paper, February 2006; (https://digital.library.unt.edu/ark:/67531/metadc30984/m1/1/: accessed April 24, 2024), University of North Texas Libraries, UNT Digital Library, https://digital.library.unt.edu; crediting UNT College of Engineering.