AI Zone Admin Forum Add your forum

NEWS: Chatbots.org survey on 3000 US and UK consumers shows it is time for chatbot integration in customer service!read more..

Not a tool but a list? AIML cheat sheet? Anyone have one?
 
 

I learn best with a cheat sheet. Does anyone know of a good list of all the AIML functions,commands,tags, EVERYTHING, all the things the language understands in an organized list with a brief definition with maybe an example you can expand? Preferably not to be printed but expandable for a more robust definition with links and such but preferably not needing to load a separate page to see them? Maybe like wikipedia with little popup definitions. I used to have a list of these for BASIC when I was a kid and I picked up on it real fast. It wasn’t as complex as this but an actual piece of paper list. NOT THE PANDORABOTS DOCS LINK PLEASE I have that and it is too long and not easily scannable at a glance. I spent a whole day reading it and learning from it and only got about halfway through. Its not really a reference but a novel lol.

Your help is appreciated.  smile

 

 
  [ # 1 ]

Pandorabots has documentation on the AIML 1.0 specification, but it’s woefully out of date. I’ll look through my notes tomorrow, and post what I can here.

 

 
  [ # 2 ]

Cool thanks Dave. That’s nice of you. I checked out your profile (I gotta add to mine). I saw this that you wrote, “My prime goal for my chatbot is to find some way to allow him to ‘reason’, rather than just respond to stimulus.”.

That’s right in line for what I would want and used to dream of when I was a kid messing around with BASIC. Seems like we’re on the same page. I just have zero experience. With your help tomorrow I am sure that will change. Also they ought to tell us in big bold print that its AIML 1.0 info. I spent all of yesterday reading it. I did get something out of it but would have been nice to know. 2.0 is backwards compatible with 1.0 so I ‘m not that upset since the info is not wrong. It just is probably missing a lot of stuff.

 

 
  [ # 3 ]
Dave Morton - Oct 18, 2018:

Pandorabots has documentation on the AIML 1.0 specification, but it’s woefully out of date. I’ll look through my notes tomorrow, and post what I can here.

Any luck getting those notes together? You really don’t need to go to all that trouble. A link would be just as good. Also I kinda solved the problem I was having but I still don’t understand it. I was trying to call a wildcard into another category. Is that even possible? What I did was just make the wildcard and the <star> in the same category. That made it work. Now i gotta figure out some other stuff like how and where to make it store the answer to the wildcard. Let me have any links you got for a list of functions with definitions and other useful info. A Cheat Sheet.

Hope you are doing well smile

 

 
  [ # 4 ]

The docs for AIML 2.0 are here: https://www.pandorabots.com/docs/aiml/reference.html
It’s designed to be used to look up syntax and/or examples rather than being read all the way through like a novel.

Yes, you can call other categories with wildcards. Do you have have an example of what you are trying to do? You use <set> and <get> to store and retrieve variables.

 

 
  [ # 5 ]

Oh ok yeah, That’s what I was using. I thought Dave was saying those were the ones that were 1.0. Is that the complete list?

Yeah lemme give you an example here:

<?xml version="1.0" encoding="UTF-8"?>
<aiml version="2.0">


<!--
UDQ asks for the meaning of an undefined pattern-->
<!--
UDQ=Unknown Default Question-->


<
category>
    <
pattern>*</pattern>
    <
template><srai>UDQ</srai></template>
</
category>


<
category>
    <
pattern>UDQ</pattern>
    <
template>What does <star/> mean?</template>
</
category>


</
aiml

BTW…FOR SOME REASON THIS SITE HAS BEEN CUTTING OUT THE FIRST PATTERN LIKE IN THIS EXAMPLE YOU CAN SEE BUT I ASSURE YOU IT WAS THERE WHEN I SUBMITTED THE MESSAGE.

 

 
  [ # 6 ]

I think I figured it out by doing this…

<category>
    <
pattern>*</pattern>
    <
template>What does <star/> mean?</template>
</
category

I’m not sure if this is the correct way to go about it though if I want it to store the answer to the question in the next client entry. That’s what I’m going to work out now. Does it look right to you?

NOTE…you can see this is also missing the first pattern for some reason along with some slashes. Not sure why this is happening.

 

 
  [ # 7 ]

You need to put code in code tags for it to display properly. I’ve edited your posts to now display correctly. To store and retrieve variables, you need to use the set and get tags. Here’s an example:

<category>
    <
pattern>*</pattern>
    <
template>What does <set name="userinput"><star/></setmean?</template>
</
category>  

 <
category>
    <
pattern>IT MEANS *</pattern>
    <
that>WHAT DOES MEAN</that>
    <
template>So <get name="userinput"/> means <star/>. I understand.</template>
</
category

Sample conversation:

Human: bonjour
Bot: What does bonjour mean?
Human: It means hello
Bot: So bonjour means hello. I understand.

 

 
  [ # 8 ]

ok I think I get it. when you do <set name=“userinput”><star></set> it will create a set for bonjour. Can I actually store the definition too?

And where does all this go? I want to be able to keep track of all this stored info.

 

 
  [ # 9 ]

You cannot create sets in AIML. Sets in patterns are groups of similar entities, like colours, countries, presidents etc. These need doing manually by the botmaster.

This sets a variable called userinput with a value of whatever the <star> wildcard contained:

<set name=“userinput”><star/></set

To store the definition, you can do:

<template>So <get name="userinput"/> means <set name=“userdefinition”><star/></set>. I understand.</template

You now have 2 variables. One called “userinput” and one called “userdefinition”. You can see the values of them by making a category like this:

<category>
    <
pattern>CHECK VARIABLES</pattern>
    <
template>
        
userinput=<get name="userinput"/>
        <
br/>
        
userdefinition=<get name="userdefinition"/>
    </
template>
</
category

They are stored in the memory of the device that the user is using to talk with your bot. The set and get tags are like the old
LET userinput=“bonjour”
PRINT userinput

commands of BASIC.

 

 
  [ # 10 ]

Oh I see. It is saved on the user’s PC. Thanks for the info. I will study it. wink I’m also considering using python. I’m going to have to take a course on AIML and python I think to get familiar with things. I need to figure out how AIML works to really get moving. I’m in my 30s so I have a while to figure this out still. No rush LOL. Thanks smile

 

 
  login or register to react