1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

AIML Language

Discussion in 'Artificial Intelligence' started by self-driving, Jan 6, 2017.

  1. self-driving

    self-driving Administrator Staff Member

    Everything relates to AIML language
  2. betterthanAI

    betterthanAI New Member

    Is there any good free course about AIML. It's definitely worth a try
  3. Paulo

    Paulo New Member

    AIML is the XML for AI, that is a very simple language that can be learnt in 1 hour:

    I'm pasting here the most used tags for this nice tutorial: https://www.tutorialspoint.com/aiml/aiml_introduction.htm

    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

    Defines the beginning and end of a AIML document.


    Defines the unit of knowledge in Alicebot's knowledge base.


    Defines the pattern to match what a user may input to an Alicebot.


    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

    Used to match wild card * character(s) in the <pattern> Tag.


    Multipurpose tag, used to call/match the other categories.


    Used <random> to get random responses.


    Used to represent multiple responses.


    Used to set value in an AIML variable.


    Used to get value stored in an AIML variable.


    Used in AIML to respond based on the context.


    Used in AIML to store a context so that later conversation can be done based on that context.


    Used in AIML to store a variable without notifying the user.


    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.

    <aimlversion="1.0.1"encoding="UTF-8"?><category><pattern> HELLO ALICE </pattern>

    Hello User!

    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.

Share This Page