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
No comments:
Post a Comment