AIML adalah bahasa scripting interpreter yang merupakan turunan dari Extensible Markup Langguage (XML) dengan fungsi yang lebih spesifik. Salah satu fungsinya adalah membuat system stimulus-response berbasis pengetahuan. Dokumen AIML terdiri dari objek-objek yang dipisahkan oleh tag-tag tertentu seperti layaknya dokumen XML atau HTML.
Element paling penting dari AIML diantaranya adalah sebagai berikut:
Category
Pada AIML, category merupakan unit dasar pengetahuan. Category minimal terdiri dari dua element AIML yaitu pattern dan template. Berikut adalah contoh category yang sederhana:
Nama Saya Ribut Budi Santoso
Ketika category diatas dimuat di memory, maka sebuah bot AIML akan menjawab pertanyaan “Siapa Nama Kamu” dengan jawaban “Nama saya Ribut Budi Santoso”.
Pattern
Sebuah pattern adalah sebuah rangkaian huruf yang diharapkan sesuai/ cocok dengan satu atau bahkan lebih masukan (input) pengguna. Suatu pattern dapat menggunakan wildcard yang akan cocok dengan satu atau lebih masukan pengguna. Suatu pattern sebagi berikut:
SIAPA NAMA *
Paatern di atas cocok dengan masukan “Siapa Nama Kamu”, “Siapa nama mama kamu”, “siapa nama dosen kamu” dan sebagainya.
“The AIML pattern syntax is a very simple pattern language, far less complicated than regular expressions”
Template
Suatu template menentukan respon dari pattern yang sesuai. Sebuah template dapat berupa sebuah teks harafiah yang sederhana seperti berikut:
Nama saya Ribut Budi Santoso.
Sebuah template juga dapat menggunakan variable seperti:
Nama saya .
Variable bernilai sama dengan nama bot dan disisipkan ke dalam kalimat.
Template juga memungkinkan untuk meneruskan ke pattern lain dengan menggunakan element AIML bernama srai. Elemen srai dapat digunakan untuk mengimplementasikan persamaan arti seperti pada contoh berikut:
Nama saya .
siapa nama kamu
Category pertama akan menjawab sebuah masukan “siapa nama kamu” dengan sebuah pernyataan mengenai nama bot. Category kedua akan menjawab masukan “kamu dipanggil apa” dengan meneruskan pertanyaan tersebut ke category pertama yang cocok dengan masukan “siapa nama kamu”, dengan kata lain bahwa dua frase tersebut adalah sebanding/sama.
That
That merupakan element AIML yang mengacu pada respon/keluaran sebelumnya. That sering digunakan pada pembuatan category agar respon yang dhasilkan masih berkaitan dengan pertanyaan/ jawaban sebelumnya.