Aiml

AIML, or Artificial Intelligence Mark-up Language is an XML-based programming language. It was designed specifically to aid in the creation of the A.L.I.C.E. chatterbot. Although broadly described, the language is specialised to the creation of natural language software agents, known as Alicebots.

Background

The programming language of AIML was developed by Dr. Richard Wallace and the Alicebot free software community between the years of 1995 and 2000. It formed the basis for the initial Alicebot, A.L.I.C.E., which has now won the annual Loebner Prize Contest for Most Human Computer three times, and is also currently the Chatterbot Challenge Champion (2004). Since its introduction to the internet, due to AIML and the Alicebot programs being open-source, many thousands of Alicebot 'clones' have been created based upon the original implementation of the program and its AIML knowledge-base. The development of AIML continues, and recently witnessed the release of the Annotated ALICE AIML set in the fall of 2004. The current most active implementation is Pandorabots.com, an online bot hosting and development company which provides free hosting for their Program Z Alicebots.

Elements of AIML

AIML contains several elements. The most important of these are described in further detail below.

Categories

Categories in AIML are the fundamental unit of knowledge. A category consists of at least two further elements. These are the pattern and template elements, which are usually coded in that order. However, this is not a necessary programming syntax.

Patterns

Alicebots are generally described as 'pattern-matching' chatbots. This means that the program will search for patterns within a user's input and respond accordingly. The pattern element defines the pattern that will be searched for, hence its name.

Template

If a pattern within a category is matched successfully and it is the most accurate pattern that can be matched, then the category-specific template is applied to the chatbots response. This template can contain other AIML elements, which allow automated customisation of the chatbot's response. For example:
  • The user's input can become part of the chatbot's response. For example:
     Human: Are you smarter than Hal 9000?     ALICE: Of course I am more intelligent than Hal 9000. 
  • To make the responses seem more human-like, they can be randomly selected from a preset list of possible response. For example:
     Human: What is Wikipedia?     ALICE: That's a good question.     Human: What is Wikipedia?     ALICE: I don't know anything about it.     Human: What is Wikipedia?     ALICE: I have to process that one for a while. 

External Links

Official Resources

  1. The A.L.I.C.E. Artificial Intelligence Foundation
  2. Further AIML Code Examples

Examples of Popular Online Alicebots

  1. The Original A.L.I.C.E.
  2. Dawnstar
  3. The Electronic Brain Community - Artificial Intelligence Bot
  4. Ailysse
  5. Lilith
  6. Foxy Botachelli: Webchat Girl
  7. Talk to William Shakespeare

AIML Communities & Alicebot Directories

  1. A.I.Nexus:A Showcase for Alicebots on the Web
  2. The AIML Scripting Resource

 

<< PreviousWord BrowserNext >>
sherman antitrust act
john sherman
machaerid
halkeria
property damage
electoral fusion
cork (disambiguation)
bodily harm
consumer broadband and digital television promotion act
cork
list of senators and representatives of ohio
county cork
fort ticonderoga
william tecumseh sherman
edward vii of the united kingdom
duncan campbell
pope paul i
arion
t1
e1
lady jane grey
narses
queen mother
fritz hollings
goliath
euler's identity
heidelberg
elizabeth bowes lyon
the mikado
prince charles
virginia opossum
simon and garfunkel's greatest hits
sacred geometry
george vi of the united kingdom
the paul simon song book
black narcissus
edward thomas (poet)
terra australis
county antrim
alfred marshall
crimean war
even toed ungulate
franois quesnay
lon walras