AIML stands for Artificial Intelligence Markup Language and is an XML dialect used to create natural language software agents, commonly used in chatbots.
They contain a collection of rules which define the conversational capabilities of chatbots and are used in conjunction with a linguistic communication understating processor, which takes AIML rules to investigate and reply to text queries.
The more rules that are added to AIML, the more intelligent a chatbot becomes.
AIML based chatbots come under the rule-based chatbot category however some level of self-learning is involved and is the language used that acts as the brain of the chatbot. One chatbot can have multiple sets of AIML and can make them behave differently.