Babel 2

Download

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, SBCL, Lispworks) on all major platforms (linux, MAC OS X, Windows). Its source code is frequently released to the public under the Apache License.

Fluid Construction Grammar

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.

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 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), SBCL, Lispworks, and others. If you have one of these Lisps installed, then most of the work is already done and you only need to install the other two 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!

Babel 2 brings together a multi-agent experiment framework with bi-directional language processing and data-driven conceptualization.

Installing Babel2

  1. Make sure you have a running Lisp installation. If not follow these steps first.
  2. Download and unpack Babel2. Put the folder somewhere (please note that on Windows it has to be somewhere on drive C:/)
  3. We now need to create an initialization file for Babel2. The following instructions are for CCL.
    1. Create a plain text file called ccl-init.lisp in your home directory, most likely C:/Users/Username/ccl-init.lisp
    2. Add the following two lines to this text file
          (load "C:/Users/Username/Babel2/libraries/asdf")
          (load "C:/Users/Username/Babel2/init-babel")
      
    1. Create a plain text file called .ccl-init.lisp in your home directory, most likely /Users/Username/.ccl-init.lisp
    2. Add the following two lines to this text file
          (load "/Users/Username/Babel2/libraries/asdf")
          (load "/Users/Username/Babel2/init-babel")
      
    1. Create a plain text file called .ccl-init.lisp in your home directory, most likely /home/username/.ccl-init.lisp
    2. Add the following two lines to this text file
          (load "/home/username/Babel2/libraries/asdf")
          (load "/home/username/Babel2/init-babel")
      
  4. 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.
    web-interface
    web-interface
    web-interface

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.

A good starting point for Fluid Construction Grammar is the "Syntax and Semantics of FCG" document.