Get Started

Chat with A.L.I.C.E.

Chat with Fake Kirk

What is AIML?
Foundation Bot Directory
Bot Industry Survey
AIML Overview

Software

Downloads
Bot Hosting
AIML Sets
AIML 1.1 Specification
AIML 2.0 Working Draft
Documentation
Superbot - New!

Links

ESL
Books
Film and TV
Recent Press
Popular Culture
Web Ontologies
ALICE and A.I. History
Scholarly Research and Teaching

Resources

News
Articles
News Archive
AI Foundation Forum
Consulting and Training
ALICE Brain Picture Gallery

Chatbot Industry Survey

AIML Bots
AIML Spinoffs
Non-AIML Bots
Chat Robot Patents
Chat Robot Communities

Contests and Communities

The Loebner Prize
The Chatterbox Challenge
Robitron Discussion

AIML Forums

Alicebot
Botworld
AI Nexus Forum
AI Dreams Forum
Chatbot Hub Forums
Virtual Humans Forum

AIML: Artificial Intelligence Markup Language

AIML (Artificial Intelligence Markup Language) is an XML-compliant language that's easy to learn, and makes it possible for you to begin customizing an Alicebot or creating one from scratch within minutes.

The most important units of AIML are:

There are also 20 or so additional more tags often found in AIML files, and it's possible to create your own so-called "custom predicates". Right now, a beginner's guide to AIML can be found in the AIML Primer.

The free A.L.I.C.E. AIML includes a knowledge base of approximately 41,000 categories. Here's an example of one of them:

<category>
    <pattern>WHAT ARE YOU</pattern>
    <template>
        <think><set name="topic">Me</set></think>
        I am the latest result in artificial intelligence,
        which can reproduce the capabilities of the human brain
        with greater speed and accuracy.
    </template>
</category>

(The opening and closing <aiml> tags are not shown here, because this is an excerpt from the middle of a document.)

Everything between <category> and </category> is -- you guessed it -- a category. A category can have one pattern and one template. (It can also contain a <that> tag, but we won't get into that here.)

The pattern shown will match only the exact phrase "what are you" (capitalization is ignored).

But it's possible that this category may be invoked by another category, using the <srai> tag (not shown) and the principle of reductionism.

In any case, if this category is called, it will produce the response "I am the latest result in artificial intelligence..." shown above. In addition, it will do something else interesting. Using the <think> tag, which causes Alicebot to perform whatever it contains but hide the result from the user, the Alicebot engine will set the "topic" in its memory to "Me". This allows any categories elsewhere with an explicit "topic" value of "ME" to match better than categories with the same patterns that are not given an explicit topic. This illustrates one mechanism whereby a botmaster can exercise precise control over a conversational flow.

Google
 
Web alicebot.org

Copyright © A.L.I.C.E. AI Foundation, Inc.

Subscription Bots

A.L.I.C.E. Silver Edition
DAVE E.S.L. Bot
CLAUDIO Personality Test

More AIML
Resources

Robot-Hosting.com
Pandorabots.com
Oddcast VHosts

More Bot
Resources

Wikipedia
Chatbots.org
Open Directory
Chatterbot Collection
The Simon Laven Page

ALICE A. I. Foundation

Join
Contact