AIML – Introduction

  • Post author:
  • Post category:AIML
  • Post comments:0 Comments

AIML stands for Artificial Intelligence Modelling 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. This tutorial will teach you the basics of AIML. All the basic components of AIML with suitable examples have been discussed in this tutorial.

Audience

This tutorial is designed for software professionals who are willing to learn AIML in simple and easy steps. This tutorial will give you a great understanding on the AIML concepts and after completing this tutorial, you will be at an intermediate level of expertise from where you can take yourself to higher levels of expertise.

AIML – Introduction

AIML stands for Artificial Intelligence Markup Language. AIML was developed by the Alicebot free software community and Dr. Richard S. Wallace during 1995-2000. AIML is used to create or customize Alicebot which is a chat-box application based on A.L.I.C.E. (Artificial Linguistic Internet Computer Entity) free software.

AIML Tags

Following are the important tags which are commonly used in AIML documents.

S.No.AIML Tag / Description
1<aiml>Defines the beginning and end of a AIML document.
2<category>Defines the unit of knowledge in Alicebot’s knowledge base.
3<pattern>Defines the pattern to match what a user may input to an Alicebot.
4<template>Defines the response of an Alicebot to user’s input.

We’ll discuss each of these tags in AIML Basic tags chapter.

Following are some of the other widely used aiml tags. We’ll be discussing each tag in details in coming chapters.

S.No.AIML Tag / Description
1<star>Used to match wild card * character(s) in the <pattern> Tag.
2<srai>Multipurpose tag, used to call/match the other categories.
3<random>Used <random> to get random responses.
4<li>Used to represent multiple responses.
5<set>Used to set value in an AIML variable.
6<get>Used to get value stored in an AIML variable.
7<that>Used in AIML to respond based on the context.
8<topic>Used in AIML to store a context so that later conversation can be done based on that context.
9<think>Used in AIML to store a variable without notifying the user.
10<condition>Similar to switch statements in programming language. It helps ALICE to respond to matching input.

AIML Vocabulary

AIML vocabulary uses words, space and two special characters * and _ as wild cards. AIML interpreter gives preference to pattern having _ than pattern having *. AIML tags are XML compliant and patterns are case-insensitive.

Example

<aiml version = "1.0.1" encoding = "UTF-8"?>
   <category>
      <pattern> HELLO ALICE </pattern>
      
      <template>
         Hello User!
      </template>
      
   </category>
</aiml>

Following are the important points to be considered −

  • <aiml> tag signifies start of the AIML document.
  • <category> tag defines the knowledge unit.
  • <pattern> tag defines the pattern user is going to type.
  • <template> tag defines the response to the user if user types Hello Alice.

Result

User: Hello Alice
Bot: Hello User

Leave a Reply