• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 08:08
CEST 14:08
KST 21:08
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Serral wins Maestros of the Game 213ByuL, and the Limitations of Standard Play3Team Liquid Map Contest #22: Results and Winners7Code S Season 2 (2026): RO4 and Finals Preview12TL.net Map Contest #22 - Voting & Ladder Map Selection7
Community News
MC vs IdrA, Boxer vs Nal_rA to be Legacy Matches @ BlizzCon315.0.16 Hotfix (June 30) - Balance + Bug Fixes37Weekly Cups (June 22-28): Zergs thrive in new patch5[TLMC] Summer 2026 Ladder Map Rotation05.0.16 patch for SC2 goes live (8 worker start)99
StarCraft 2
General
IP For new Brazil servers for NA Players 5.0.16 Hotfix (June 30) - Balance + Bug Fixes Serral wins Maestros of the Game 2 Weekly Cups (June 22-28): Zergs thrive in new patch MC vs IdrA, Boxer vs Nal_rA to be Legacy Matches @ BlizzCon
Tourneys
Vespene Cup #1 — $300+ USD, July 10 HomeStory Cup 29 Douyu Cup 2026: $20,000 Legends Event (June 26-28) Crank Gathers Season 4: BW vs SC2 Team League RSL Revival: Season 6 - Qualifiers and Main Event
Strategy
[G] Having the right mentality to improve
Custom Maps
New Map Maker - Looking for Advice - Love or Hate Work In Progress Melee Maps [D]RTS in all its shapes and glory <3
External Content
The PondCast: SC2 News & Results Mutation # 532 Nuclear Family Mutation # 531 Experimental Artillery Mutation # 530 One For All
Brood War
General
ASL 22 Proposed Map Pool Farewell Beloved Starcraft (Youtube Videos) BW General Discussion FlaShFTW vs A.Alm Grudge Match Event BGH Auto Balance -> http://bghmmr.eu/
Tourneys
Escore Tournament StarCraft Season 2 The Casual Games of the Week Thread [Megathread] Daily Proleagues [ASL21] Grand Finals
Strategy
Simple Questions, Simple Answers Creating a full chart of Zerg builds Relatively freeroll strategies Why doesn't anyone use restoration?
Other Games
General Games
Stormgate/Frost Giant Megathread Nintendo Switch Thread Dawn of War IV Summer Games Done Quick 2026! ZeroSpace at Steam NextFest - Last free demo
Dota 2
Looking for a Dota Mentor Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
NeO.D_StephenKing vs This Guy From 1 Million Dance TL Mafia Community Thread TL Mafia Power Rank Vanilla Mini Mafia
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread Canadian Politics Mega-thread The Games Industry And ATVI Men's Fashion Thread
Fan Clubs
The HerO Fan Club! The herO Fan Club!
Media & Entertainment
Movie Discussion! Series you have seen recently... [Req][Books] Good Fantasy/SciFi books [TV/BOOK] *SPOILERS* Game of Thrones Discussion
Sports
Formula 1 Discussion 2024 - 2026 Football Thread McBoner: A hockey love story TeamLiquid Health and Fitness Initiative For 2023 Cricket [SPORT]
World Cup 2022
Tech Support
How to clean a TTe Thermaltake keyboard? Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List
Blogs
Listen To The Coaches!
TrAiDoS
An Exploration of th…
waywardstrategy
I'm an arrogant trash talke…
FlaShFTW
Gauntlet SC2: A Retrospectiv…
Ctone23
ramps on octagon
StaticNine
Funny Nicknames
LUCKY_NOOB
Evil Gacha Games and the…
ffswowsucks
Customize Sidebar...

Website Feedback

Closed Threads



Active: 9753 users

AIML Tutorial-Basic AIML, how to write

Blogs > Ahseyo
Post a Reply
Ahseyo
Profile Blog Joined July 2010
Sweden80 Posts
August 18 2010 15:47 GMT
#1
Hey guys, I decided to start up with an AIML tutorial. I don't do it because so many people have requested it, I simply chose to do this because AIML is a language for Artificial Intelligence and I am very intrested in this subject. AIML is fairly, I wouldn't say it is completely unknown, but most people I think, for programmers don't really start out with AIML and/or write chat bots. AIML means Artificial Intelligence Master Language. The AIML code structure was written by Dr.Richard Wallace, who also wrote A.L.I.C.E, a chat bot which today, has about 250000 categories it can respond too. There is a great site for chat bot hosting, that also uses AIML language.

http://www.pandorabots.com/botmaster/en/home

If you become a member here, and want to create bots, then there are already guides there. But I don't really think those guides explain very much. I'll try to do a step-by step guide, explaining the basics here, what you will need, to create a functional bot. Now, as you can see if we have already registered to this site, you can choose the option Create A Bot. If you click on it, you will have to choose your name for a bot. After have done so, you see there are several options there. You can choose one of the ALREADY finished bots, or you can go ahead and create one without any initial content, which means it starts with zero knowledge. The fun thing about the A.L.I.C.E bot there is that it only contains somewhat 25000 categories, you can actually make new categories for the A.L.I.C.E bot since in this feature, it's a open-source free project to work on and that you can share. If you click on AIML after have created the name and chose the knowledge option, you can see that it's empty. Simply click on create a new AIML file.

First of all, here I will give you a little basic code to look on:

<?xml version="1.0" encoding="UTF-8"?>
<aiml version="1.0">

</aiml>

This is the basic code. The AIML tag <aiml version="1.0">
ALWAYS ends with the tag </aiml>. The ending tag means the WHOLE structure of the code ends there. This is a few things you have to know:

a category basically looks like this:

<category>
<pattern>Hi</pattern>
<template>Hey, what's up?</template>
</category>

The category always begins with category, and ends with category. The pattern is what one person will write and also always ends on the </pattern> tag. Template means the bot will respond to the scentence or word that the person is writing. It will be really though to write a bot from scratch, but the good thing is that if you publish it right away, and publish it on huge sites, wanting people to talk to your bot, you can use the logs to train your bot. But enough of that, let's take a look at this code:

<category>
<pattern>Hey there</pattern>
<template>
<random>
<li>Hi there, what are you doing this beautiful day stranger?</li>
<li>Hey there, what's happenin'?</li>
<li>Hi there stranger What are you doing?</li>
</random>
</template>
</category>


Now, what does random mean? It means random answer. The bot can simply choose an answer from the library of random answers and pick one that the bot will respond with. It will usually just respond in the order which the random replies are created in, but not always.

The <li> tag basically means library. It's a full library of what the bots responds will be. The library tag also always ends with the /. </li>.

This is a few basic steps on creating a chat bot. Now, there are alot of advanced options to go through. If you find it intresting, you can always write down in the comment section below what you'd want to see me do tutorials in AIML wise. If you have any questions, just ask and I will see what I can do with the small amount of knowledge I have, because I have myself only just begun with the whole AIML programming thing.

*
"Luck isn't some kind of mystical energy that floats around in the universe, randomly discards people with satisfaction and joy. You create your own luck" Jay-Z
LSB
Profile Blog Joined April 2010
United States5171 Posts
August 18 2010 16:47 GMT
#2
Wow, this is really cool. Just wondering, so how much time do you think it would take to create a basic chat bot?

Also, would I need to know any other programming languages?
Once is an accident. Twice is coincidence. Three times is an enemy action. Bus Driver can never target themselves I'm sorry
Ahseyo
Profile Blog Joined July 2010
Sweden80 Posts
August 18 2010 16:55 GMT
#3
About a year or so to get it fully completed and ready to get published. And probably nothing. It's easier if you've gone thruogh HTML or XML since the code is similar(if you look at it).
"Luck isn't some kind of mystical energy that floats around in the universe, randomly discards people with satisfaction and joy. You create your own luck" Jay-Z
harshad
Profile Joined January 2012
1 Post
January 27 2012 08:16 GMT
#4
I m doing a project on chatbot.....can u give me brief description abt aiml and how to interface aiml file wid d user interface
Please log in or register to reply.
Live Events Refresh
HomeStory Cup
11:00
XXIX - Group Stage Day 2
TaKeTV2331
TaKeSeN 394
SteadfastSC289
IndyStarCraft 230
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Ryung 391
SteadfastSC 289
IndyStarCraft 230
ProTech128
Rex 110
SHIN 9
StarCraft: Brood War
Shuttle 1450
Hyuk 1085
EffOrt 389
Mini 349
Soma 274
Larva 271
actioN 215
Last 153
Mong 141
ZerO 114
[ Show more ]
Pusan 102
Leta 72
Sharp 53
ToSsGirL 49
hero 44
JYJ 38
[sc1f]eonzerg 27
sorry 24
Bale 22
NaDa 21
Barracks 21
Noble 20
yabsab 19
JulyZerg 18
GoRush 16
Dota 2
Dendi1189
XcaliburYe478
XaKoH 0
Counter-Strike
pashabiceps1531
zeus846
byalli710
edward226
Other Games
singsing1250
B2W.Neo811
Pyrionflax317
DeMusliM188
Hui .164
Livibee113
ToD92
QueenE37
ZerO(Twitch)11
Organizations
StarCraft 2
ComeBackTV 766
IntoTheiNu 327
Dota 2
PGL Dota 2 - Main Stream151
StarCraft: Brood War
UltimateBattle 17
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 13 non-featured ]
StarCraft 2
• 3DClanTV 114
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• Pr0nogo 2
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• lizZardDota292
Upcoming Events
Replay Cast
11h 52m
HomeStory Cup
22h 52m
OSC
1d
WardiTV Weekly
2 days
The PondCast
3 days
Replay Cast
4 days
CrankTV Team League
4 days
Replay Cast
5 days
CrankTV Team League
5 days
Replay Cast
6 days
[ Show More ]
RSL Revival
6 days
CranKy Ducklings
6 days
Afreeca Starleague
6 days
Snow vs Jaedong
YSC vs hero
Liquipedia Results

Completed

Escore Tournament S3: W1
Douyu Cup 2026
Murky Cup 2026

Ongoing

IPSL Spring 2026
Acropolis #4
CSL Season 21: Qualifier 2
SCTL 2026 Spring
HSC XXIX
XSE Pro League 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
BLAST Rivals Spring 2026

Upcoming

CSL 2026 Summer (S21)
Escore Tournament S3: W2
ASL Season 22:Wild Card Qualifier
CSLAN 4
Blizzard Classic Cup 2026
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
RSL Revival: Season 6
CranK Gathers Season 4: BW vs SC2 Team League
Light Tournament 2026
Eternal Conflict S2 Finale
Eternal Conflict S2 E3
Eternal Conflict S2 E2
Heroes Pulsing #3
Eternal Conflict S2 E1
FISSURE Playground #5
BLAST Open Fall 2026
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.