Natural Language Programming: The Future Of Programming

Natural Language Programming can be interesting at least in the following cases:

  • As a language of statement of a problem for a computer;
  • As the language of the cultural environment of the program with minimal capabilities  for issuing posts;
  • As the language of dialogue with the program.

The tabulation below shows the programming language similarity with natural languages. Tabulation contains entries that begin with a unit that is larger to smaller units.

nliplogo

Analogy (comparison)  Natural  Language  And   programming language

Natural Language Programming language
paragraph consists of one or more sentences. block consists of one or more statements.
sentence is terminated by punctuation. statement terminated by tandabaca.
A sentence can consist of abstract nouns, verbs,words  and said real objects. A statement may consist of ipe, operations,values, and objects

Why Natural Language Programming Will Be Real Language of Computer In Future

Developers often spend years in learning programming. Researchers at MIT announced that they have developed a way that gives the most inexperienced person the opportunity to develop the code. Writing computer programs usually requires specialist knowledge of languages ​​like C ++, FORTRAN or assembler.

In various documents published by the Artificial Intelligence Laboratory and computer science (CSAIL) at MIT, have searched for a way to write programs in natural language, that we can use daily for speak and write.

To demonstrate this, the scientists created a system to teach a computer how to convert natural language elements by regular expressions via an order or sequence data strings (letters, variables, etc.). The aim is to avoid the system to be wrong on some phrases like “eat grandfather” not to be confused with “eating grandfather.”The researchers adapted the text to descriptions of various file formats corresponding to particular programming modes.

For example, for the description “three-letter word is starting with X”, the system converts the regular expression “\ bX [A-Za-z] {2} \ b”. At first glance this does not look like much, but for IT solution that generates the software program to understand the exact meaning of a sentence or phrase.

Thus “\ bX [A-Za-z] {2} \ b” is the exact definition computing “a three letter word starting with X” and returns this result at runtime. The system is capable of interpret much longer and complex descriptions before converting. Still, the development of natural language programming is in its early years and remains limited. It will take time for non-developers can become expert coders.

Natural Language Programming: The Future Of Programming

There are several programming languages ​​that highlight their ability to be read and written as natural language.

For example, Hyper Talk:

  • Set the rental of card button x to pos
  • Add 15 to item 1 of pos

Or Perl:

  • $ This move from => $ here, to => $ There;
  • Print $ message if $ name eq “Bob” and $ age> 10;

Supernova:

I want window and the window title is Hello World.

The AIML is an XML language. Its basic structure is simple and the first instructions can be learned in minutes. No need to know C, Java and grind the RAM of the computer. Programming in AIML is much closer to writing a web page.

Program a Chabot

AIML is based on a very simple system of rules based on the “substitution”. You have a database of questions / recorded answers, in which there are “holes”, “variable”. Imagine a conversation with a program using the substitution:
“Hello how are you called?
– My name is X.
– Well hello X.”

In this case, of course, X is a variable filled by the human interlocutor, and stored by the program, which will highlight the immediately afterwards, but can also be later. There cannot be answer “how do you call” but a whole series possible, for example, “My name is X” or “me is X”.

The variables are not necessarily names. It may be integer expressions, and it is possible to perform the above calculations, there applying conditions, etc.

Obviously, to create a credible Chabot, you must have provided a lot of responses, which can be very hard to achieve. This is where the “AIML sets”, and where Alice comes in. This is not just a bot AIML created. It is the fundamental bot, that is to say, it already has a database of 40,000 questions / answers likely to take over most of the elements of a conversation. When we want to create a bot AIML, so use one of these “sets” (there is one in French, but not as important as English) that complete or modify it according to its intentions.

Conclusion:

Prolog is based on the unification, which is extremely useful in natural language processing; I think it’s actually quite well suited. There is also the system as FTA strongly supporting it. Then the ML language has ability to write new types sentences.

Leave a Comment