Thursday, October 02, 2014

ChatScript by Bruce Wilcox

I have become interested in a chatbot scripting language / engine by Bruce Wilcox, 2-time winner of the Loebner Prize in Artificial Intelligence. I would call it a "new" language, but it has been around for a couple of years. It is new to me.

I was recently impressed by his program's performance in the 2014 Loebner finalist selection. ChatScript is a very powerful scripting language, and makes huge advances over AIML, and my own language EARL. I prefer EARL of AIML, although it can import AIML files, but AIML is a very inefficient way to program a bot. EARL makes some advances, in terms of sets and expected replies, or rejoinders as Bruce calls them.

Another advance in CS is negative expectations. In EARL, you can make sets of anticipated replies, but if the user responds with something not in one of the expected sets, the input gets a reply from the general pool of responses. CS allows for handling this in an elegant manner, and gives much more intelligent responses.

CS has another efficiency in that you give the simplest of expectations, and it automatically handles various conjugations and ordering of the response's wording. Very neat in terms of consolidation of rules. An AIML file of about 50,000 rules can be handled "handily" by around 15,000 CS rules, and with better computer performance, both in CPU cycles and quality of responses.

The engine that comes with it can be ran as a standalone console mode, or as a server on a linux box or a mac computer. I was able to download, install, and compile the source in about 10 minutes with no problems on my MacBook Pro notebook. The source and binaries come with very good documentation, and some additional PAPERS that I recommend that you start with. The paper subdirectory is under the DOCUMENTATION directory.

All of this treasure trove is available at

If you're interested in where the future of chatbot development is taking place, I urge you to check it out!