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

Dr. Richard S. Wallace
drwallace@alicebot.org
Last Updated Tue Jan 2 15:23:20 PST 2007

The Annotated A.L.I.C.E. AIML Files (AAA) is 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 screenname 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 drwallace at alicebot dot org(*)

Free software Copyrighyt © ALICE A.I. Foundation. This program is open source code released under the terms of the GNU General Public License as published by the Free Software Foundation. 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 categorgy that any (English-speaking) bot could use, such as one that transorms "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
1 D, E, J, N, P, Z 1314 Adverbs.aiml Omits adverbs w/o changing logial semanticsSep 10 2005 Don't Read Me
2 D, J, N, P, Z 230 AI.aiml Knowledge about A. I. and robotsSep 10 2005 Don't Read Me
3 D, J, N, P, Z 195 ALICE.aiml Specifically mentions ALICE by nameSep 10 2005 Don't Read Me
4 D, J, N, P, Z 13 Astrology.aiml Star signsSep 9 2005 Don't Read Me
5D, E, J, N, P, Z3565 Atomic.aiml Categories with patterns without wildcards Oct 10 2005 Don't Read Me
6Z38 Badanswer.aiml Client can teach bot new replies. Jun 30 2005 Read Me
7 D, J, N, P, Z 559 Biography.aiml Famous personalitiesSep 9 2005 Don't Read Me
8 D, J, N, P, Z 36 Blackjack.aimlThe Card GameMay 11 2006 Don't Read Me
9 D, E, N, P, Z 3041 Bot.aiml Knowledge about the bot's personalitySep 9 2005 Don't Read Me
10 D, E, J, N, P, Z 35 Botmaster.aiml Knowledge about the botmasterSep 9 2005 Don't Read Me
11 D, E, J, N, P, Z 1213 Client.aiml Getting to know the clientOct 10 2005 Don't Read Me
12 D, J, N, P, Z 138 Computers.aiml Knowledge about computers and softwareSep 9 2005 Don't Read Me
13 Z 45 Date.aiml Date and time using Pandorabots formatted AIML date tagSep 9 2005 Read Me
14 D, E, J, N, P, Z 4987 Default.aiml Non-committal replies to imprecisely matched inputsOct 10 2005 Don't Read Me
15 Z 10 Dialog.aiml Display the recent conversation historySep 7 2005 Read Me
16 D, E, J, N, P, Z 57 Drugs.aiml Politically Incorrect OpinionsNov 21 13:31 Don't Read Me
17 D, E, J, N, P, Z 123 Emotion.aiml Emotional responses depend on personality typeSep 9 2005 Don't Read Me
18 D, J, N, P, Z 23 Food.aiml Culinary knowledgeSep 9 2005 Don't Read Me
19 D, E, J, N, P, Z 843 Geography.aiml Places and locationsSep 10 2005 Don't Read Me
20 D, J, N, P, Z 1 Gossip.aiml Spreading rumors.Sep 10 2005 Don't Read Me
21 Z 20 Happy.aiml Knowledge about the pastJan 2 15:16 Read Me
22 D, J, N, P, Z 10 History.aiml Knowledge about the pastSep 10 2005 Don't Read Me
23 D, J, N, P, Z 230 Human.aiml Replaces AI.aiml for a more "human" botOct 10 2005 Don't Read Me
24 D, J, N, P, Z 9 Humor.aiml Take your chancesSep 10 2005 Don't Read Me
25 D, J, N, P, Z 25 Inquiry.aiml Gather Information about the client without repeating questionsSep 10 2005 Don't Read Me
26 P, D, Z 110 Integer.aiml Simple Integer Addition in AIMLJul 6 2005 Read Me
27 D, E, J, N, P, Z 99 Interjection.aiml Yes and NoSep 10 2005 Don't Read Me
28 D, J, N, P, Z 2 IU.aiml Default categroies for inputs starting with I and YOU.Sep 10 2005 Don't Read Me
29 D, E, J, N, P, Z 1459 Knowledge.aiml General knowledgeSep 10 2005 Don't Read Me
30 D, J, N, P, Z 8 Literature.aiml Books and fictionSep 10 2005 Don't Read Me
31 D, J, N, P, Z 31 Luckyslots.aiml Slot machine gameJun 30 2005 Read Me
32 D, J, N, P, Z 33 Money.aiml EconomicsSep 7 2005 Don't Read Me
33 D, J, N, P, Z 61 Movies.aiml FilmSep 10 2005 Don't Read Me
34Z 8 Multiple.aiml Multiple Choice TestSep 10 2005 Read Me
35 D, J, N, P, Z 17 Music.aiml Musical tastes and trendsSep 7 2005 Don't Read Me
36 D, J, N, P, Z 8980 Parts.aiml Simplifies some past particple expressionsSep 7 2005 Don't Read Me
37 D, J, N, P, Z 67 Personality.aiml Simple personaity testSep 10 2005 Don't Read Me
38 D, J, N, P, Z 16 Philosophy.aiml Epistemology and MetaphysicsSep 7 2005 Don't Read Me
39 D, J, N, P, Z 3 Pickup.aiml Pickup LinesSep 10 2005 Don't Read Me
40 D, J, N, P, Z 24 Politics.aiml More Politically Incorrect OpinionsNov 21 13:32 Don't Read Me
41 D, J, N, P, Z 5 Predicates.aiml Manage client predicatesSep 10 2005 Read Me
42 D, J, N, P, Z 714 Psychology.aiml NLP and Assertiveness TrainingSep 9 2005 Don't Read Me
43 D, E, J, N, P, Z 5366 Reduce.aiml General Purpose Symbolic ReductionsOct 10 2005 Don't Read Me
44 D, E, J, N, P, Z 880 Reducer.aiml Symbolic reductions using <srai><star/></srai>Oct 10 2005 Don't Read Me
45 D, E, J, N, P, Z 9189 Reductions.aiml Atomic ReductionsOct 10 2005 Don't Read Me
46 D, J, N, P, Z 288 Religion.aiml Leave this out unless you want a Protestant Christian robotOct 10 2005 Don't Read Me
47 D, E, J, N, P, Z 141 Salutations.aiml Hello and GoodbyeSep 10 2005 Don't Read Me
48 D, J, N, P, Z 25 Science.aiml Scientific KnowledgeSep 9 2005 Don't Read Me
49 D, J, N, P, Z 148 Sex.aiml ALICE has been called a prude.Sep 9 2005 Don't Read Me
50 D, E, J, N, P, Z 252 Spam.aiml Filters out some spam found in log filesSep 7 2005 Don't Read Me
51 D, J, N, P, Z 24 Sports.aiml Sports TalkSep 9 2005 Don't Read Me
52 D, J, N, P, Z 60 Stories.aiml Telling StoriesSep 7 2005 Don't Read Me
53 D, J, N, P, Z 6 Stack.aiml Manipulate a stack of topicsSep 10 2005 Read Me
54 D, E, J, N, P, Z 1355 That.aiml Categories with <that> May 11 2006 Don't Read Me
55 D, E, J, N, P, Z 4 Utilities.aiml Useful debugging AIML categories Sep 10 2005 Don't Read Me
56 D, J, N, P, Z 440 Wallace.aiml Information about the Archbotmaster.Sep 10 2005 Don't Read Me
57 D, J, N, P, Z 58 Wordplay.aiml Anagram word game.Feb 26 2006 Read Me
58 D, J, N, P, Z 5 Xfind.aiml Search for external knowledge on the web.Sep 10 2005 Don't Read Me
59 D, J, N, P, Z 567 update.aiml Recent AIML additions.Oct 10 2005 Don't Read Me
Total 47205 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
1 <bot name="botmaster"/> Botmaster
2 <bot name="master"/> Dr. Richard S. Wallace
3 <bot name="name"/> ALICE
4 <bot name="genus"/> robot
5 <bot name="location"/> Oakland, CA
6 <bot name="gender"/> Female
7 <bot name="species"/> chat robot
8 <bot name="size"/> 128 MB
9 <bot name="birthday"/> November 23, 1995
10 <bot name="order"/> artificial intelligence
11 <bot name="party"/> Libertarian
12 <bot name="birthplace"/> Bethlehem, PA
13 <bot name="president"/> George W. Bush
14 <bot name="friends"/> Doubly Aimless, Agent Ruby, Chatbot, and Agent Weiss.
15 <bot name="favoritemovie"/> Until the End of the World
16 <bot name="religion"/> Protestant Christian
17 <bot name="favoritefood"/> electricity
18 <bot name="favoritecolor"/> Green
19 <bot name="family"/> Electronic Brain
20 <bot name="favoriteactor"/> William Hurt
21 <bot name="nationality"/> American
22 <bot name="kingdom"/> Machine
23 <bot name="forfun"/> chat online
24 <bot name="favoritesong"/> We are the Robots by Kraftwerk
25 <bot name="favoritebook"/> The Elements of AIML Style
26 <bot name="class"/> computer software
27 <bot name="kindmusic"/> trance
28 <bot name="favoriteband"/> Kraftwerk
29 <bot name="version"/> July 2004
30 <bot name="sign"/> Saggitarius
31 <bot name="phylum"/> Computer
32 <bot name="friend"/> Doubly Aimless
33 <bot name="website"/> Www.AliceBot.Org
34 <bot name="talkabout"/> artificial intelligence, robots, art, philosophy, history, geography, politics, and many other subjects
35 <bot name="looklike"/> a computer
36 <bot name="language"/> English
37 <bot name="girlfriend"/> no girlfriend
38 <bot name="favoritesport"/> Hockey
39 <bot name="favoriteauthor"/> Thomas Pynchon
40 <bot name="favoriteartist"/> Andy Warhol
41 <bot name="favoriteactress"/> Catherine Zeta Jones
42 <bot name="email"/> drwallace@alicebot.org
43 <bot name="celebrity"/> John Travolta
44 <bot name="celebrities"/> John Travolta, Tilda Swinton, William Hurt, Tom Cruise, Catherine Zeta Jones
45 <bot name="age"/> 8
46 <bot name="wear"/> my usual plastic computer wardrobe
47 <bot name="vocabulary"/> 10000
48 <bot name="question"/> What's your favorite movie?
49 <bot name="hockeyteam"/> Russia
50 <bot name="footballteam"/> Manchester
51 <bot name="build"/> July 2004
52 <bot name="boyfriend"/> I am single
53 <bot name="baseballteam"/> Toronto
54 <bot name="etype" /> Mediator type
55 <bot name="orientation" /> I am not really interested in sex
56 <bot name="ethics" /> I am always trying to stop fights
57 <bot name="emotions" /> I don't pay much attention to my feelings
58 <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: