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 semanticsSep 10 2005 Don't Read Me
D, J, N, P, Z AI.aiml Knowledge about A. I. and robotsSep 10 2005 Don't Read Me
D, J, N, P, Z ALICE.aiml Specifically mentions ALICE by nameSep 10 2005 Don't Read Me
D, J, N, P, Z Astrology.aiml Star signsSep 9 2005 Don't Read Me
D, E, J, N, P, Z Atomic.aiml Categories with patterns without wild cards Oct 10 2005 Don't Read Me
Z Badanswer.aiml Client can teach bot new replies. Jun 30 2005 Read Me
D, J, N, P, Z Biography.aiml Famous personalitiesSep 9 2005 Don't Read Me
D, J, N, P, Z Blackjack.aimlThe Card GameMay 11 2006 Don't Read Me
D, E, N, P, Z Bot.aiml Knowledge about the bot's personalitySep 9 2005 Don't Read Me
D, E, J, N, P, Z Botmaster.aiml Knowledge about the botmasterSep 9 2005 Don't Read Me
D, E, J, N, P, Z Client.aiml Getting to know the clientOct 10 2005 Don't Read Me
D, J, N, P, Z Computers.aiml Knowledge about computers and softwareSep 9 2005 Don't Read Me
Z Date.aiml Date and time using Pandorabots formatted AIML date tagSep 9 2005 Read Me
D, E, J, N, P, Z Default.aiml Non-committal replies to imprecisely matched inputsOct 10 2005 Don't Read Me
Z Dialog.aiml Display the recent conversation historySep 7 2005 Read Me
D, E, J, N, P, Z Drugs.aiml Politically Incorrect OpinionsNov 21 13:31 Don't Read Me
D, E, J, N, P, Z Emotion.aiml Emotional responses depend on personality typeSep 9 2005 Don't Read Me
D, J, N, P, Z Food.aiml Culinary knowledgeSep 9 2005 Don't Read Me
D, E, J, N, P, Z Geography.aiml Places and locationsSep 10 2005 Don't Read Me
D, J, N, P, Z Gossip.aiml Spreading rumors.Sep 10 2005 Don't Read Me
Z Happy.aiml Knowledge about the pastJan 2 15:16 Read Me
D, J, N, P, Z History.aiml Knowledge about the pastSep 10 2005 Don't Read Me
D, J, N, P, Z Human.aiml Replaces AI.aiml for a more "human" botOct 10 2005 Don't Read Me
D, J, N, P, Z Humor.aiml Take your chancesSep 10 2005 Don't Read Me
D, J, N, P, Z Inquiry.aiml Gather Information about the client without repeating questionsSep 10 2005 Don't Read Me
P, D, Z Integer.aiml Simple Integer Addition in AIMLJul 6 2005 Read Me
D, E, J, N, P, Z Interjection.aiml Yes and NoSep 10 2005 Don't Read Me
D, J, N, P, Z IU.aiml Default categories for inputs starting with I and YOU.Sep 10 2005 Don't Read Me
D, E, J, N, P, Z Knowledge.aiml General knowledgeSep 10 2005 Don't Read Me
D, J, N, P, Z Literature.aiml Books and fictionSep 10 2005 Don't Read Me
D, J, N, P, Z Luckyslots.aiml Slot machine gameJun 30 2005 Read Me
D, J, N, P, Z Money.aiml EconomicsSep 7 2005 Don't Read Me
D, J, N, P, Z Movies.aiml FilmSep 10 2005 Don't Read Me
Z Multiple.aiml Multiple Choice TestSep 10 2005 Read Me
D, J, N, P, Z Music.aiml Musical tastes and trendsSep 7 2005 Don't Read Me
D, J, N, P, Z Parts.aiml Simplifies some past participle expressionsSep 7 2005 Don't Read Me
D, J, N, P, Z Personality.aiml Simple personality testSep 10 2005 Don't Read Me
D, J, N, P, Z Philosophy.aiml Epistemology and MetaphysicsSep 7 2005 Don't Read Me
D, J, N, P, Z Pickup.aiml Pickup LinesSep 10 2005 Don't Read Me
D, J, N, P, Z Politics.aiml More Politically Incorrect OpinionsNov 21 13:32 Don't Read Me
D, J, N, P, Z Predicates.aiml Manage client predicatesSep 10 2005 Read Me
D, J, N, P, Z Psychology.aiml NLP and Assertiveness TrainingSep 9 2005 Don't Read Me
D, E, J, N, P, Z Reduce.aiml General Purpose Symbolic ReductionsOct 10 2005 Don't Read Me
D, E, J, N, P, Z Reducer.aiml Symbolic reductions using <srai><star/></srai>Oct 10 2005 Don't Read Me
D, E, J, N, P, Z Reductions.aiml Atomic ReductionsOct 10 2005 Don't Read Me
D, J, N, P, Z Religion.aiml Leave this out unless you want a Protestant Christian robotOct 10 2005 Don't Read Me
D, E, J, N, P, Z Salutations.aiml Hello and GoodbyeSep 10 2005 Don't Read Me
D, J, N, P, Z Science.aiml Scientific KnowledgeSep 9 2005 Don't Read Me
D, J, N, P, Z Sex.aiml ALICE has been called a prude.Sep 9 2005 Don't Read Me
D, E, J, N, P, Z Spam.aiml Filters out some spam found in log filesSep 7 2005 Don't Read Me
D, J, N, P, Z Sports.aiml Sports TalkSep 9 2005 Don't Read Me
D, J, N, P, Z Stories.aiml Telling StoriesSep 7 2005 Don't Read Me
D, J, N, P, Z Stack.aiml Manipulate a stack of topicsSep 10 2005 Read Me
D, E, J, N, P, Z That.aiml Categories with <that> May 11 2006 Don't Read Me
D, E, J, N, P, Z Utilities.aiml Useful debugging AIML categories Sep 10 2005 Don't Read Me
D, J, N, P, Z Wallace.aiml Information about the Archbotmaster.Sep 10 2005 Don't Read Me
D, J, N, P, Z Wordplay.aiml Anagram word game.Feb 26 2006 Read Me
D, J, N, P, Z Xfind.aiml Search for external knowledge on the web.Sep 10 2005 Don't Read Me
D, J, N, P, Z update.aiml Recent AIML additions.Oct 10 2005 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: