What is Babel?
Babel is modeled after traditional computer programming languages that provide for terse, human readable and easy to write code.
Parsing natural language is a hard problem, but it can be avoided by writing Babel. By using this format natural language processing (NLP) can be separated from the real artificial intelligence work. Babel provides a way to divide the two challenges.
Babel is not a representation of parsed natural language. It is designed to represent specific meaning and does not include many of the subtleties of natural language. Babel does not try to model natural language completely. The aim is simply to be able to represent the meaning of most natural language.
Uses of Babel
The primary use of Babel is a format for AI experimentation. Babel could allow for an easier Turing Test to be attempted and may help move beyond the current crude chat bot designs.
Babel could be used as a generalized goal definition system to define objectives for an intelligent agent. It could describe problems, potential solutions and actions to be performed by an agent.
Babel could be of use in translating between natural languages or in other areas of linguistics.
Current State of Babel
This is the first release of Babel. The language is capable of representing simple sentences. More complex sentences may have to be broken into multiple sentences. There are still many areas where the language can be expanded to make it more expressive and easier to use.
The Babel grammar is written in a BNF variant that is used by the Gold Parsing System (see http://www.devincook.com/goldparser/). The Gold Parser compiles the grammar into tables which can then be used be loaded by an parsing engine, which have been created for a variety of different development platforms. This will enable the language to be easily used on a variety of platforms. The reference implementation is written in C# and requires the .Net Framework 2.0 or later to run.
Babel to English translation is not a hard problem. Included in the project is a translator that gives a reasonably understandable equivalent in English (seehttp://translator.babelproject.com/). Getting the translation to a point where it could pass for human for Turing Test scenarios may be much more difficult. The English translator is very handy for finding mistakes in Babel code and acts as a check to make sure you said what you meant to.
A parser and the translator is built into a program called Babel Editor. They are also available as a .net library. Great care has been taken to keep the parsed object structures simple.
Babel was created by me, Bryan Livingston. I also own and operate http://cooltext.com. I’m more of a computer programmer than a linguist. I searched long and hard for a language such as this but found none, so I created Babel.
Comments and suggestions are welcome on the mailing list at http://groups.google.com/group/babelproject.