Friday, October 12, 2012

NLP (Natural Language Processing) applied to chatbot development

NLP (natural language processing) is the key technology applied to chatbot development. There are three scripting languages used since nineties: AIML, Façade, and ChatScript.

The most famous bot using AIML (1995) has been A.L.I.C.E. (an extended version of Eliza). A.L.I.C.E. ("Artificial Linguistic Internet Computer Entity") won the annual Loebner Prize Competition in Artificial Intelligence. three times, and as well the Chatterbox Challenge Champion in 2004.

AIML is a XML dialect which was developed by Richard Wallace and a worldwide free software community between the years of 1995 and 2002. It is a kind of authoring system to build chatbots. The main characteristics are: categories, patterns, and templates. For more info:

FAÇADE (2005) was 10 years later. It was created by Michael Mateas and Andrew Stern. Began with Jess, a Java extension of the CLIPS expert-system language.  Jess allows you to declare and retract facts and have rules trigger when all of their preconditions match. Façade built on top of this a template script compiler that let them write NLP rules and compile them into Jess. If you want to read an article to compare with AIML and ChatScript, go here.

ChatScript (2010) was created by Bruce Wilcox. He won the 2010 Loebner Prize with Suzette, 2011 Loebner with Rosette, and 2nd in 2012 Loebner with Angela. The technology behind Outfit7's mobile app Tom Loves Angela and ESL chatbots at Japan's SpeakGlobal. 3rd place winner Chatbot Battles 2012 and awarded best 15 minute conversation prize. ChatScript aims to pattern-match on general meaning. For more info: 

Recommended references:


  1. Thanks for your article. It's really useful for me

  2. How did the NLP In-depth instruction contribute? I seasoned transforming a neuro linguistic programming problem just by switching my reaction to it.