AIML 1.0 Tags Set
Adopted by A.L.I.C.E. A.I. Foundation
AIML Architecture Committee
July 16, 2001
? 2001 A.L.I.C.E. A.I. Foundation
AIML 0.9 is the tag set AIML 1.0 is an implementation independent
implemented by program B on specification of tags endorsed by the
about September, 2000 AIML Architecture Committee
AIML 0.9 AIML 1.0 Tag Type Note
<alice> ?<aiml> AIML block delimeter [Closing tags not shown]
<name/> ?<bot name="name"/> Built-in bot parameter may appear in pattern
(see Note 1.) ?<bot name="XXX"/> Custom bot parameter <srai>BOT XXX</srai>
<justbeforethat/> ?<that index="2,1"/> Built-in predicate See Note 3.
<that/> ?<that index="X,Y"/> Built-in predicate default "that"
<that> ?<that> AIML that pattern contains AIML pattern
<category> ?<category> AIML category  
<justthat/> ?<input index="2"/> Built-in predicate See Note 3.
<beforethat/> ?<input index="3"/> Built-in predicate  
<condition name="X" value="Y"> ?<condition name="X" value="Y"> Conditional branch  
<condition name="X"> ?<condition name="X"> Conditional branch  
<condition> ?<condition> Conditional branch  
<gender> ?<gender> Gender substitution Exchange "he" and "she", "him" and "her"
<date/> ?<date/> Built-in predicate date and time
<get_ip/> ?<id/> Built-in predicate default "localhost"
<getname/> ?<get name="name"/> Built-in predicate default "X-person"
<getsize/> ?<size/> Built-in predicate # of categories loaded
<star/> ?<star index="X"/> Built-in predicate binding of * (see Note 4.)
<thatstar/> ?<thatstar index="X"/> Built-in predicate binding of * in that
<gettopic/> ?<get name="topic"/> Built-in predicate default "you"
<topicstar/> ?<topicstar index="X"/> Built-in predicate binding of * in topic
<getversion/> ?<version/> Built-in predicate AIML program version
<get_XXX/> ?<get name="XXX"/> Custom predicate Botmaster defined XXX, default (3)
<gossip> ?<gossip src="X"> Append to file  
<load filename="X"/> ?<learn>X</learn> AIML loading  
<li name="X" value="Y"> ?<li name="X" value="Y"> Conditional branch item used by <condition>
<li value="Y"> ?<li value="Y"> Conditional branch item used by <condition name="X">
<li> ?<li> General list item used by <random>, <condition>
<pattern> ?<pattern> AIML Pattern contains AIML pattern
<person/> ?<person/> Prounoun transform macro <person><star/></person>
<person2> ?<person2> Prounoun transform swap 1st & 2nd person
<person2/> ?<person2/> Prounoun transform macro <person2><star/></person2>
<person> ?<person> Prounoun transform swap 1st & 3rd person
<random> ?<random> Random selection Random uniform selection
<settopic> ?<set name="topic"> Built-in predicate returns contents
<setname> ?<set name="name"> Built-in predicate returns contents
<set_XXX> ?<set name="XXX"> Custom predicate See Note 2.
<sr/> ?<sr/> Recursion macro <srai><star/></srai>
<srai> ?<srai> Recursion  
<system> ?<system> Execute OS shell platform-dependent
<template> ?<template> AIML template  
<think> ?<think> Nullify output Hides side-effects
<topic name="X"> ?<topic name="X"> AIML topic group X is AIML pattern
?<uppercase> Text manipulation convert all text to Uppercase
?<lowercase> Text manipulation convert all text to Lowercase
?<sentence> Text manipulation capitalize the first word
?<formal> Text manipulation capitalize every word
?<if name="X" value=Y"> Conditional branch  
?<else> Conditional branch  
?<javascript> AIMLScript Javascript
Notes
(1) Custom bot parameters
<birthday/> ?<bot name="birthday"/> (4) The AIML 1.0 pattern panguage includes the multiple
<birthplace/> ?<bot name="birthplace"/> wildcard proposal adopted by the Pattern Language
<boyfriend/> ?<bot name="boyfriend"/> Committee in June, 2001.? Patterns may contain one
<favoriteband/> ?<bot name="favoriteband"/> or more instances of * and _ wildcards.
<favoritebook/> ?<bot name="favoritebook"/>
<favoritecolor/> ?<bot name="favoritecolor"/>
<favoritefood/> ?<bot name="favoritefood"/>
<favoritemovie/> ?<bot name="favoritemovie"/>
<favoritesong/> ?<bot name="favoritesong"/>
<favroritemovie/> ?<bot name="favroritemovie"/>
<for_fun/> ?<bot name="forfun"/>
<friends/> ?<bot name="friends"/>
<gender/> ?<bot name="gender"/>
<girlfriend/> ?<bot name="girlfriend"/>
<kind_music/> ?<bot name="kindmusic:/>
<location/> ?<bot name="location"/>
<look_like/> ?<bot name="looklike"/>
<botmaster/> ?<bot name="master"/>
<question/> ?<bot name="question"/>
<sign/> ?<bot name="sign"/>
<talk_about/> ?<bot name="talkabout"/>
<wear/> ?<bot name="wear"/> (3) The index tag, wherever it appears, is optional.? The default
value is index="1" (or index="1,1" for 2-d indexes)
(2) The expression <set name="XXX">YYY</set> The index tag uses offset one indexing.
may return XXX or YYY as defined by the
botmaster.