Friday, August 27, 2010

Practical AI: Using ProgramD AIML platform

Using ProgramD AIML bot as a personal assistant


ProgramD is a fully functional AIML bot engine that is implemented with Java. It supports multiple bots, it is easy to configure and runs in a GUI application and also under a J2EE environment.

AIML, or Artificial Intelligence Markup Language, is an XML dialect for creating natural language software agents.

When the AIML markup language is loaded for your bot, then you chat with the bot. Once you become familiar with the AIML format, you can then build a simple personal assistant bot. For Java developers, you may add Java keyword definitions or links to useful resources.


To use ProgramD, you can use the mirrored binary/source version provided on this site ( or visit

The version on this site includes jetty webserver configured with a programd web application.

Launch the GUI application

Navigate to:

the HOME\bin directory and click on the simple-gui-console.bat icon.

The ProgramD GUI application should launch.

At the prompt, enter the commands and dialog to interact with the bot. I entered "hello" and "java".


The bots are configured in the PROGRAMD/conf/bots.xml file.

In the screenshot below, the ../aiml/alice/.aiml and ../aiml/java/.aiml AIML files are loaded into the system.

The AIML XML dialect looks like other pattern matching formats. An input pattern is defined and the bot will respond with the matching output.

Running with jetty web servlet container

Jetty is provided in the download. It is configured for the programd webapp. Navigate to the PROGRAMD/jetty/jetty directory and invoke start.bat or java -jar start.jar. Jetty will launch. Use your web browser and navigate to: