The Annotated A.L.I.C.E. AIML

Dr. Richard S. Wallace
info@alicebot.org
Last Updated Sun Jun 26 05:47:41 PDT 2011

Important Update

Latest release of ALICE AIML

June, 2011 This page no longer refers to the most up to date version of the ALICE bot. The AAA release of ALICE AIML is no longer the most current supported release. We are now maintaining the free Foundation ALICE AIML set on Google code. See http://code.google.com/p/aiml-en-us-foundation-alice/ for a more recent version of the ALICE AIML.

You can download the Foundation ALICE AIML as a single zip file.

AAA A.L.I.C.E.

The AAA set remains hosted here for archival purposes. For a more up to date release of the ALICE brain go to the Google Code project.

The Annotated A.L.I.C.E. AIML Files (AAA) was a revised release of the free A.L.I.C.E. brain, a set of AIML scripts comprising the award winning chat robot, mostly compatible with all AIML 1.01 compliant software. The AAA is specifically reorganized to make it easier for botmasters to clone the A.L.I.C.E. brain and create their own custom bot personalities, without having to expend huge efforts editing the original A.L.I.C.E. content.

You can chat with a version of this bot here or via AOL IM screen name Aliceannttd (offline).

The job of annotation and editing the ALICE Brain is still a work in progress. Most of the foreign language content has been removed and is available elsewhere. But this and much other content remains misclassified. The current release is intended as only an interim solution. Ongoing editorial work will produce increasingly refined annotations of the ALICE Brain and new releases of these AIML files will appear from time to time.

When customizing a bot, you may for example want to exclude the file AI.aiml, which contains a lot of references to the bot and her robot body and artificial intelligence. You have to leave out that file or completely rewrite it if you want to make a human bot. For this reason the AIML files have been assigned color codes (see below).

As of this writing, the annotation is a work in progress. All of the files should display properly in your browser without XML syntax errors. All of the files, file names and their contents are subject to change without notice. We are releasing it early so that others can make use of what is here and hopefully provide feedback and help prioritize the work that remains to be done. Please send any commends, revisions, and suggestions for improvements to info at alicebot dot org(*)

Free software Copyright © ALICE A.I. Foundation. This program is open source code released under the terms of the MIT License as published by the Massachusetts Institute of Technology. Complies with AIML 1.0.1 Tag Set Specification as adopted by the ALICE A.I. Foundation, except where indicated. Annotated A.L.I.C.E. AIML Version AAA-0.9 released September, 2005

Key to Color Codes

The color code system is designed to help the botmaster select which ALICE AIML content might or might not be appropriate for their own bot content. A Green color coded file might contain a generic, inoffensive AIML category that any (English-speaking) bot could use, such as one that transforms "DO YOU KNOW WHO * IS" into "WHO IS *". A yellow file may contain some opinions or personality traits specific to the ALICE bot. An orange color code indicates that the file contains strongly ALICE-specific or controversial AIML content.

AIML Color CodeDescription
1 - GreenGenerally Useful for Most Bots - Requires the least AIML rewriting.
2 - YellowOptional for Most Bots - May require some customization of AIML.
3 - OrangeSpecific to the original ALICE personality - Requires most rewriting to create an original bot.

AAA Files

File Programs Tested Patterns File Description Last Modified Notes
D, E, J, N, P, Z Adverbs.aiml Omits adverbs w/o changing logical semantics[an error occurred while processing this directive] Don't Read Me
D, J, N, P, Z AI.aiml Knowledge about A. I. and robots[an error occurred while processing this directive]Don't Read Me
D, J, N, P, Z ALICE.aiml Specifically mentions ALICE by name[an error occurred while processing this directive]Don't Read Me
D, J, N, P, Z Astrology.aiml Star signs[an error occurred while processing this directive]Don't Read Me
D, E, J, N, P, Z Atomic.aiml Categories with patterns without wild cards [an error occurred while processing this directive] Don't Read Me
Z Badanswer.aiml Client can teach bot new replies. [an error occurred while processing this directive] Read Me
D, J, N, P, Z Biography.aiml Famous personalities[an error occurred while processing this directive]Don't Read Me
D, J, N, P, Z Blackjack.aimlThe Card Game[an error occurred while processing this directive]Don't Read Me
D, E, N, P, Z Bot.aiml Knowledge about the bot's personality[an error occurred while processing this directive]Don't Read Me
D, E, J, N, P, Z Botmaster.aiml Knowledge about the botmaster[an error occurred while processing this directive]Don't Read Me
D, E, J, N, P, Z Client.aiml Getting to know the client[an error occurred while processing this directive]Don't Read Me
D, J, N, P, Z Computers.aiml Knowledge about computers and software[an error occurred while processing this directive]Don't Read Me
Z Date.aiml Date and time using Pandorabots formatted AIML date tag[an error occurred while processing this directive]Read Me
D, E, J, N, P, Z Default.aiml Non-committal replies to imprecisely matched inputs[an error occurred while processing this directive]Don't Read Me
Z Dialog.aiml Display the recent conversation history[an error occurred while processing this directive]Read Me
D, E, J, N, P, Z Drugs.aiml Politically Incorrect Opinions[an error occurred while processing this directive]Don't Read Me
D, E, J, N, P, Z Emotion.aiml Emotional responses depend on personality type[an error occurred while processing this directive]Don't Read Me
D, J, N, P, Z Food.aiml Culinary knowledge[an error occurred while processing this directive]Don't Read Me
D, E, J, N, P, Z Geography.aiml Places and locations[an error occurred while processing this directive]Don't Read Me
D, J, N, P, Z Gossip.aiml Spreading rumors.[an error occurred while processing this directive]Don't Read Me
Z Happy.aiml Knowledge about the past[an error occurred while processing this directive]Read Me
D, J, N, P, Z History.aiml Knowledge about the past[an error occurred while processing this directive]Don't Read Me
D, J, N, P, Z Human.aiml Replaces AI.aiml for a more "human" bot[an error occurred while processing this directive]Don't Read Me
D, J, N, P, Z Humor.aiml Take your chances[an error occurred while processing this directive]Don't Read Me
D, J, N, P, Z Inquiry.aiml Gather Information about the client without repeating questions[an error occurred while processing this directive]Don't Read Me
P, D, Z Integer.aiml Simple Integer Addition in AIML[an error occurred while processing this directive]Read Me
D, E, J, N, P, Z Interjection.aiml Yes and No[an error occurred while processing this directive]Don't Read Me
D, J, N, P, Z IU.aiml Default categories for inputs starting with I and YOU.[an error occurred while processing this directive]Don't Read Me
D, E, J, N, P, Z Knowledge.aiml General knowledge[an error occurred while processing this directive]Don't Read Me
D, J, N, P, Z Literature.aiml Books and fiction[an error occurred while processing this directive]Don't Read Me
D, J, N, P, Z Luckyslots.aiml Slot machine game[an error occurred while processing this directive]Read Me
D, J, N, P, Z Money.aiml Economics[an error occurred while processing this directive]Don't Read Me
D, J, N, P, Z Movies.aiml Film[an error occurred while processing this directive]Don't Read Me
Z Multiple.aiml Multiple Choice Test[an error occurred while processing this directive]Read Me
D, J, N, P, Z Music.aiml Musical tastes and trends[an error occurred while processing this directive]Don't Read Me
D, J, N, P, Z Parts.aiml Simplifies some past participle expressions[an error occurred while processing this directive]Don't Read Me
D, J, N, P, Z Personality.aiml Simple personality test[an error occurred while processing this directive]Don't Read Me
D, J, N, P, Z Philosophy.aiml Epistemology and Metaphysics[an error occurred while processing this directive]Don't Read Me
D, J, N, P, Z Pickup.aiml Pickup Lines[an error occurred while processing this directive]Don't Read Me
D, J, N, P, Z Politics.aiml More Politically Incorrect Opinions[an error occurred while processing this directive]Don't Read Me
D, J, N, P, Z Predicates.aiml Manage client predicates[an error occurred while processing this directive]Read Me
D, J, N, P, Z Psychology.aiml NLP and Assertiveness Training[an error occurred while processing this directive]Don't Read Me
D, E, J, N, P, Z Reduce.aiml General Purpose Symbolic Reductions[an error occurred while processing this directive]Don't Read Me
D, E, J, N, P, Z Reducer.aiml Symbolic reductions using <srai><star/></srai>[an error occurred while processing this directive]Don't Read Me
D, E, J, N, P, Z Reductions.aiml Atomic Reductions[an error occurred while processing this directive]Don't Read Me
D, J, N, P, Z Religion.aiml Leave this out unless you want a Protestant Christian robot[an error occurred while processing this directive]Don't Read Me
D, E, J, N, P, Z Salutations.aiml Hello and Goodbye[an error occurred while processing this directive]Don't Read Me
D, J, N, P, Z Science.aiml Scientific Knowledge[an error occurred while processing this directive]Don't Read Me
D, J, N, P, Z Sex.aiml ALICE has been called a prude.[an error occurred while processing this directive]Don't Read Me
D, E, J, N, P, Z Spam.aiml Filters out some spam found in log files[an error occurred while processing this directive]Don't Read Me
D, J, N, P, Z Sports.aiml Sports Talk[an error occurred while processing this directive]Don't Read Me
D, J, N, P, Z Stories.aiml Telling Stories[an error occurred while processing this directive]Don't Read Me
D, J, N, P, Z Stack.aiml Manipulate a stack of topics[an error occurred while processing this directive]Read Me
D, E, J, N, P, Z That.aiml Categories with <that> [an error occurred while processing this directive]Don't Read Me
D, E, J, N, P, Z Utilities.aiml Useful debugging AIML categories [an error occurred while processing this directive]Don't Read Me
D, J, N, P, Z Wallace.aiml Information about the Archbotmaster.[an error occurred while processing this directive]Don't Read Me
D, J, N, P, Z Wordplay.aiml Anagram word game.[an error occurred while processing this directive]Read Me
D, J, N, P, Z Xfind.aiml Search for external knowledge on the web.[an error occurred while processing this directive]Don't Read Me
D, J, N, P, Z update.aiml Recent AIML additions.[an error occurred while processing this directive]Don't Read Me
Total Categories (including duplicates)

Bot Properties

In Programs D, E, and P, these go into the startup.xml file. For Program J, the equivalent file is called std-startup.xml. Program N stores them in a file called bot/vars.txt. In Pandorabots (Program Z), they are loaded into the Bot Properties web page.

The new feature is that if you want to make the bot appear to have a more "human" personality, use the properties "kingdom"="Animal", "phylum"="Chordate", "class"="Mammal", "order"="Primate", "family"="Homo Sapiens", "genus"="person", and "species"="Human". Notice that you can also change the term "botmaster" to something like "teacher" or "Oracle" if you prefer by changing the name of the "botmaster" property (which is not the same as the "master" property--the "master" is the name of the master, oracle or teacher). These property values appear most commonly in the file called Bot.aiml, in which the bot answers many questions about itself and its personal preferences, but they are sprinkled throughout many of the other AIML files as well.

I edited the file Emotion.aiml so it doesn't always claim to be a bot anymore. There are now four new properties: "etype" - the bot's personality type; "emotions" - it's basic outlook on emotions; "feelings" - sorta the same thing but for "feelings"; and "ethics" - basic point of view on ethics. Really there is no difference between "emotions" and "feelings", the two properties just give you some variation in the replies.

The default values for the original ALICE personality are:

Rank Bot Property Value
<bot name="botmaster"/> Botmaster
<bot name="master"/> Dr. Richard S. Wallace
<bot name="name"/> ALICE
<bot name="genus"/> robot
<bot name="location"/> Oakland, CA
<bot name="gender"/> Female
<bot name="species"/> chat robot
<bot name="size"/> 128 MB
<bot name="birthday"/> November 23, 1995
<bot name="order"/> artificial intelligence
<bot name="party"/> Libertarian
<bot name="birthplace"/> Bethlehem, PA
<bot name="president"/> George W. Bush
<bot name="friends"/> Doubly Aimless, Agent Ruby, Chatbot, and Agent Weiss.
<bot name="favoritemovie"/> Until the End of the World
<bot name="religion"/> Protestant Christian
<bot name="favoritefood"/> electricity
<bot name="favoritecolor"/> Green
<bot name="family"/> Electronic Brain
<bot name="favoriteactor"/> William Hurt
<bot name="nationality"/> American
<bot name="kingdom"/> Machine
<bot name="forfun"/> chat online
<bot name="favoritesong"/> We are the Robots by Kraftwerk
<bot name="favoritebook"/> The Elements of AIML Style
<bot name="class"/> computer software
<bot name="kindmusic"/> trance
<bot name="favoriteband"/> Kraftwerk
<bot name="version"/> July 2004
<bot name="sign"/> Saggitarius
<bot name="phylum"/> Computer
<bot name="friend"/> Doubly Aimless
<bot name="website"/> Www.AliceBot.Org
<bot name="talkabout"/> artificial intelligence, robots, art, philosophy, history, geography, politics, and many other subjects
<bot name="looklike"/> a computer
<bot name="language"/> English
<bot name="girlfriend"/> no girlfriend
<bot name="favoritesport"/> Hockey
<bot name="favoriteauthor"/> Thomas Pynchon
<bot name="favoriteartist"/> Andy Warhol
<bot name="favoriteactress"/> Catherine Zeta Jones
<bot name="email"/> info@alicebot.org
<bot name="celebrity"/> John Travolta
<bot name="celebrities"/> John Travolta, Tilda Swinton, William Hurt, Tom Cruise, Catherine Zeta Jones
<bot name="age"/> 8
<bot name="wear"/> my usual plastic computer wardrobe
<bot name="vocabulary"/> 10000
<bot name="question"/> What's your favorite movie?
<bot name="hockeyteam"/> Russia
<bot name="footballteam"/> Manchester
<bot name="build"/> July 2004
<bot name="boyfriend"/> I am single
<bot name="baseballteam"/> Toronto
<bot name="etype" /> Mediator type
<bot name="orientation" /> I am not really interested in sex
<bot name="ethics" /> I am always trying to stop fights
<bot name="emotions" /> I don't pay much attention to my feelings
<bot name="feelings" /> I always put others before myself

(*) We would like to acknowledge the kind contribution of the following beta testers who found bugs in the AAA set and reported them back to us, and those who contributed original content to the AAA ALICE AIML set: