Semlab : Muri : System : Runtime installation


Overview

Our system is largely composed of custom agent components written in Java and communicating using Open Agent Architecture 2. Text-to-speech (speech synthesis) is carried out using Festival, while speech recognition is handled by Nuance. Natural language parsing and generation is handled by Gemini. Each of these existing tools (Festival, Nuance, and Gemini) is controlled via a wrapper agent that interfaces with OAA.

Beyond the wrapper agents (which we wrote), there are further, domain-dependent software components (some of which are also OAA agents), also written in Java, that implement our system on top of the above natural language underpinnings.

As a development environment, you will need both Java (for most of the agents mentioned above) and SICStus Prolog (for Gemini and its associated NLagent). More details, and specific versions, follow.

Components

You need to install the following: Then you can install our tutorial dialogue system.

Details

JDK (Java Developer Kit)

Most of our custom software components are written in Java; to run or modify them, you need the Java Developer Kit. Earlier versions might work but we've been using version 1.3. You can find this on muri2 in C:\Downloads\Dev tools\Java, or on the web at http://java.sun.com/j2se/.

The JDK comes with a simple installer that will walk you through the process. We have been installing it to C:\jdk1.3 although that's probably not necessary. The jdk1.3\bin directory should be on your PATH.

Festival speech synthesizer

Festival was written at the University of Edinburgh and is freely downloadable, but if you want a Windows version you'll have to look to OGI and its CSLU Toolkit. You can find the Toolkit in on Muri2 in C:\Downloads\Language Tools\Festival.

The CSLU toolkit also comes with an installer (which installs Festival, as well as several other interesting tools). We have been installing it to C:\CSLU, which means Festival ends up in C:\CSLU\Festival\1.3.1\bin. If you install it anywhere else, it will be necessary to pass the real location to the TTS agent, which needs to find Festival and looks there by default.

Nuance speech toolkit, version 7.0.4

Nuance is a commercial speech recognition toolkit; you can find information at http://www.nuance.com/. If you want to download it from them you'll need a license and a password; locally you can find the piece we need on Muri2 in C:\Downloads\Language Tools\Nuance.

You will need to unzip the huge zip file which then has installer; we have been installing this to C:\Nuance which means the actual tools end up in C:\Nuance\v7.0.4\... After installing it, you will need to create a file C:\Nuance\v7.0.4\data\nuance-resources.site and add a single line:

where hostname is the computer that you want to run the Nuance License Manager.

OAA2 (Open Agent Architecture, version 2)

OAA2 was written at SRI and its home is http://www.ai.sri.com/oaa/; you can find the download on Muri2 in C:\Downloads\Language tools\OAA. The current version is 2.0.12.

It doesn't come with an installer, so just unzip the oaa_runtime_2_0_12.zip file (using the option to preserve directory structure) to C:\, and the files will end up in C:\OAA2\runtime. You will need to (manually) add C:\OAA2\runtime\oaalib\oaa2.jar to your CLASSPATH.

SICStus Prolog 3.8.5

Gemini, and the natural language agent (nlagent.pl) that is its OAA wrapper, are written in Prolog so you'll need a Prolog environment. Specifically, you'll need SICStus Prolog, and currently it has to be version 3.8.5. Gemini was compiled with 3.8.5 so older versions won't work, and 3.8.6 currently has a bug in its socket code that causes OAA agents to crash. 3.8.7 and future versions may well work, but for now use 3.8.5! On Muri2, the download (and necessary license files) are in C:\Downloads\Dev tools\prolog.

Just run the installer (InstallSicstus_3.8.5) and install it to C:\Program Files\SICStus Prolog, which is probably the default. After installation, you'll need to (manually) add the directory C:\Program Files\SICStus Prolog\bin to your PATH.

Gemini natural language engine

Gemini is currently kind of a bear to install -- it doesn't come with an installer, and depends on several hardcoded paths. This will get cleaned up in the future; for now refer to this HOWTO which explains the details.

Where you install Gemini (described in the above HOWTO) matters a lot for grammar compilation, but in actual usage of the system, you'll be relying on the compiled grammar module (which has the Gemini system compiled into it), and not the Gemini core itself. It still seems to be necessary to have the Gemini libraries in the right place so that they can be found at runtime though.

MURI postsession critique / tutorial dialogue system

Right now, our code is under development and the easiest way to get it is to use CVS to obtain an editable copy of the source code tree. If you just want to give a demo and not edit the code, it might suffice to just copy the src/csli/ directory from a machine that already has it.

In the future we'll be packaging our system as a .jar (Java Archive) file which makes it easy to redistribute.

Whether you obtain the entire source tree (csli/...) or the jar as a single file, you'll want to add it to your CLASSPATH. Then run the CSLI agent manager (java csli.agent.manager, or in older versions, java csli.muri.manager) pointing it to the session script, which is currently csli/muri/DCTrainTutorAgentGroup.txt. This will start the agent manager which will load all the other agents. You may need to edit pathnames in DCTrainTutorAgentGroup.txt if you installed some of the support code (Nuance, Festival, Gemini) at locations other than those recommended above.