<script type="application/ld+json">
{
 "@context": "https://schema.org",
 "@type": "FAQPage",
 "mainEntity": [{
   "@type": "Question",
   "name": "What is AIML Fundamentals?",
   "acceptedAnswer": {
     "@type": "Answer",
     "text": "AIML describes a category of information objects called AIML objects and partially describes the behavior of computer programs that process them."
   }
 },{
   "@type": "Question",
   "name": "What are the the most important AIML tags ?",
   "acceptedAnswer": {
     "@type": "Answer",
     "text": "1. <aiml> tag.
2. <category> tag.
3. <pattern> tag.
4. <template> tag."
   }
 }]
}
</script>

Artificial Intelligence Markup Language

AIML stands for Artificial Intelligence Markup Language. AIML is an XML based markup language meant to create artificial intelligent applications. AIML makes it possible to create human interfaces while keeping the implementation simple to program, easy to understand and highly maintainable. 

AIML contains a collection of rules which define the conversational capabilities of the chatbot. it’s used with a linguistic communication Understanding (NLU) processor which takes AIML rules to investigate and reply to the text queries asked via the chatbot. The more rules we add in AIML – the more intelligent the chatbot is.

AIML based chatbots come under the rule-based chatbots category, however, some level of self-learning feature is feasible.​​​​​​​

  • AIML is that the language to make a brain for chatbots.
  • NLU in chatbots process AIML and their chat behavior is controlled through AIML rules.
  • One chatbot application can have multiple sets of AIML and might behave differently.​​​​​​​

AIML Fundamentals

AIML describes a category of information objects called AIML objects and partially describes the behavior of computer programs that process them.

AIML objects are made of units called topics and categories, which contain either parsed or unparsed data. Parsed data is created of characters, several of which form character data, and a few of which form AIML elements.

AIML elements encapsulate the stimulus-response knowledge contained within the document. Character data within these elements is usually parsed by an AIML interpreter and sometimes left unparsed for later processing by a Responder.

A walkthrough of the most important AIML tags 

<aiml> tag

<aiml> tag marks the start and end of a AIML document. It contains version and encoding information under version and encoding attributes. This attribute is optional.

Encoding attributes provide the character sets to be used in the document. As a mandatory requirement, <aiml> tag must contain at least one <category> tag. We can create multiple AIML files where each AIML file contains a single <aiml> tag. The purpose of each AIML file is to add at least a single knowledge unit called category to the chatbot.

<category> tag

<category> tag is the fundamental knowledge unit of a Bot. Each category contains −

  • User input in the form of a sentence which can be an assertion, question, and exclamation etc. User input can contain wild card characters like * and _.
  • Response to user input to be presented by the chatbot.
  • Optional context.

A <category> tag must have <pattern> and <template> tag. <pattern> represents the user input and template represents the bot's response.

<pattern> tag

The <pattern> tag represents a user's input. It should be the first tag within the <category> tag. <pattern> tag can contain wild card to match more than one sentence as user input.

AIML is case-insensitive. If a user enters “Hello,” “hello,” “HELLO” etc., all inputs are valid and bot will match them against your greeting message.

<template> tag

<template> tag represents the bot's response to the user. It should be the second tag within the <category> tag. This <template> tag can save data, call another program, give conditional answers or delegate to other categories.


Thanks for reading! We hope you found this helpful.

Ready to level-up your business? Click here.

About Engati

Engati powers 45,000+ chatbot & live chat solutions in 50+ languages across the world.

We aim to empower you to create the best customer experiences you could imagine. 

So, are you ready to create unbelievably smooth experiences?

Check us out!

Artificial Intelligence Markup Language

October 14, 2020

Table of contents

Key takeawaysCollaboration platforms are essential to the new way of workingEmployees prefer engati over emailEmployees play a growing part in software purchasing decisionsThe future of work is collaborativeMethodology

AIML stands for Artificial Intelligence Markup Language. AIML is an XML based markup language meant to create artificial intelligent applications. AIML makes it possible to create human interfaces while keeping the implementation simple to program, easy to understand and highly maintainable. 

AIML contains a collection of rules which define the conversational capabilities of the chatbot. it’s used with a linguistic communication Understanding (NLU) processor which takes AIML rules to investigate and reply to the text queries asked via the chatbot. The more rules we add in AIML – the more intelligent the chatbot is.

AIML based chatbots come under the rule-based chatbots category, however, some level of self-learning feature is feasible.​​​​​​​

  • AIML is that the language to make a brain for chatbots.
  • NLU in chatbots process AIML and their chat behavior is controlled through AIML rules.
  • One chatbot application can have multiple sets of AIML and might behave differently.​​​​​​​

AIML Fundamentals

AIML describes a category of information objects called AIML objects and partially describes the behavior of computer programs that process them.

AIML objects are made of units called topics and categories, which contain either parsed or unparsed data. Parsed data is created of characters, several of which form character data, and a few of which form AIML elements.

AIML elements encapsulate the stimulus-response knowledge contained within the document. Character data within these elements is usually parsed by an AIML interpreter and sometimes left unparsed for later processing by a Responder.

A walkthrough of the most important AIML tags 

<aiml> tag

<aiml> tag marks the start and end of a AIML document. It contains version and encoding information under version and encoding attributes. This attribute is optional.

Encoding attributes provide the character sets to be used in the document. As a mandatory requirement, <aiml> tag must contain at least one <category> tag. We can create multiple AIML files where each AIML file contains a single <aiml> tag. The purpose of each AIML file is to add at least a single knowledge unit called category to the chatbot.

<category> tag

<category> tag is the fundamental knowledge unit of a Bot. Each category contains −

  • User input in the form of a sentence which can be an assertion, question, and exclamation etc. User input can contain wild card characters like * and _.
  • Response to user input to be presented by the chatbot.
  • Optional context.

A <category> tag must have <pattern> and <template> tag. <pattern> represents the user input and template represents the bot's response.

<pattern> tag

The <pattern> tag represents a user's input. It should be the first tag within the <category> tag. <pattern> tag can contain wild card to match more than one sentence as user input.

AIML is case-insensitive. If a user enters “Hello,” “hello,” “HELLO” etc., all inputs are valid and bot will match them against your greeting message.

<template> tag

<template> tag represents the bot's response to the user. It should be the second tag within the <category> tag. This <template> tag can save data, call another program, give conditional answers or delegate to other categories.


Thanks for reading! We hope you found this helpful.

Ready to level-up your business? Click here.

Share

Continue Reading