Alto is a tool for parsing, translation, and training using Interpreted Regular Tree Grammars (IRTGs). It supports (synchronous) grammars for strings, trees, and graphs out of the box, and provides a variety of algorithms for these. You download Alto from its Bitbucket project page.


Tulipac is a preprocessor that compiles tree-adjoining grammars into the input format of the TuLiPA parser from a human-readable format. I wrote it in 2013 for teaching purposes. You can get it from its Bitbucket project page.

CRISP generator

Since 2006 I have been working on a system for sentence generation called CRISP. It translates a SPUD-style generation problem into a planning problem and then runs a planner to do the actual generation; see here for details. The generation system is implemented, and you can download the source code here. It comes with a builtin planner (which is a version of Graphplan), but you can also use any other planning system that understands PDDL.


In the context of the CHORUS project, we have developed utool, the Swiss Army Knife of Underspecification. Utool solves underspecified descriptions in various formalisms, using the fastest currently (2005) known underspecification solver. It will also convert between different formalisms for scope underspecification, solve underspecified descriptions efficiently, and perform some utility tasks such as a net test. It is implemented in Java.

utool can be obtained from its own home page.

Talking Lego Robots

In 2002 and 2004, Geert-Jan Kruijff and I supervised student teams who built talking robots from Lego Mindstorms. These were robots built from ordinary Lego bricks which were connected to a dialogue system and speech recognition and synthesis software on a PC. They worked really well, and were covered by various newspapers and on radio and TV. You can also check out the Lego Bartender on Youtube.

My primary contribution to the project was the integration of the dialogue system, speech software, and robot control programs. I can't make the software publically available here because it's badly documented and the speech and dialogue software we used are proprietary systems, but I mean to go back and replace these by open-source components once I have the time. In the meantime, you can have a look at the final projects from 2002 and 2004.

In addition, CLT Sprachtechnologie has now released the DialogOS system, which is a dialogue system with built-in speech recognition and synthesis engines, and which will connect to Lego Mindstorms NXT robots. DialogOS is a newer version of the dialogue system we used in the talking robots project, and is a really nice package that contains everything you need to create a talking robot (except for a Mindstorms box). It's not free, but for what it does it's not particularly expensive, and there are educational discounts; so you should definitely go check it out.


FrOz is an engine for text adventure games that is based on technologies from computational linguistics and theorem proving. It runs a dependency parser to analyse the player's input, a TAG generation system to compute output to be shown to the player, and the Racer description logic system to keep track of the world. It is implemented in Oz.

FrOz is available from its own webpage. Note that this was a programming project for students, so I'm not responsible for the quality of the code. :) But it works.