Babel 2

Babel 2 in a nutshell

Babel2 connects the implementations of our core technologies such as Fluid Construction Grammar (FCG)
and Incremental Recruitment Language (IRL) with mechanisms for multi-agent interactions, robotic embodiment,
cognitive processing and learning. An extensive monitoring system gives access to every detail of Babel2’s intermediate
representations and dynamics and a high modularity ensures that the system can be used in a very wide variety of scenarios.

Babel2 is written in Common Lisp and runs in most major Lisp implementations (CCL, Lispworks) on all major platforms
(linux, MAC OS X, Windows). Its source code is frequently released to the public under the Apache License. We recommend using the Sublime Text editor for Babel development (or Emacs if you are already familiar with it).

The best place for Babel and FCG discussion is the mailing list. Get more info at the mailing list page.

Fluid Construction Grammar (FCG)

FCG is a computational framework for exploring issues in construction grammar.
This unification-based grammar formalism uses feature structures for representing linguistic knowledge,
and it can apply the same constructions in both parsing and production.
FCG also comes with a web interface for visualizing the application of constructions during language processing
and the resulting constructs.

Incremental Recruitement Language (IRL)

Incremental Recruitment Language is a fully operational computational formalism for representing and processing
semantic structures that underlie compositional grammatical utterances. IRL represents meaning as networks of procedural cognitive operations.
It comes with mechanisms for goal-driven conceptualization from perceptual data streams and for their interpretation.

Multi-agent language game framework

Babel2 also ships with mechanisms for multi-agent interactions, robotic embodiment, cognitive processing and meta-level learning. An extensive monitoring system opens up
every detail of Babel2’s intermediate representations and underlying dynamics. A modular design ensures that the system can be used in a
wide variety of scenarios.

NEW installation method!

Have you tried our new installation script? It works magically! It will install only what you are missing and configure all the pieces to work together.

If you run OSX or Linux, try our new installation script and get everything you need for Babel development in a breeze.

If you run Windows or prefer the classic method, scroll further, but it's your loss...

Setting up a Lisp environment

Babel2 is written in Common Lisp because we strongly believe that Lisp is the best programming language for doing what we do.
What’s not so great about using Lisp is that setting up a proper Lisp environment can be difficult sometimes. But don’t surrender,
it can be done and I hope this page will help you to succeed. If you get stuck or find problems with this instruction, don’t hesitate to us.

For running Babel2 you need three key things: A Lisp environment, ​Gnuplot
for creating graphs and ​Graphviz for network visualizations.

Babel2 runs on a number of Lisps, including Clozure Common Lisp (CCL) and Lispworks.
If you have one of these Lisps installed, then most of the work is already done and you only need to install the other tools.
Note that Babel2 will not work if your Lisp doesn’t support threads.

If you don’t have a Lisp on your machine, then we recommend ​CCL as a Lisp implementation, ​Emacs as an editor and development environment
(don’t frown, it’s still better than vi) and ​Slime for the communication between
the lisp and Emacs. Computer experts feel free to install any of the above Lisps (plus gnuplot and graphviz) and all others follow the instructions
for their operating system below. Please note that Babel2 will not run in the free Lispworks Personal Edition because it has a heap size limit. Good luck!

The next time you start your lisp, Babel2 will be automatically initialized.
You can test your installation by opening the file Babel2/test-babel-installation.lisp in Emacs.
Read the comments in this file and evaluate the expressions one by one.
Read here for how to use Emacs to evaluate Lisp expressions.
This is how the result of some of the tests should look like.

Getting started

We assume you have a working lisp environment and Babel2 installation.
The following documentation is intended to get you started with the core frameworks of Babel2.
Each getting started guide is accompanied by an example found in the Babel2 release.