AIML Toolkit

Simple AIML Input Tool


To use this application, simply enter the expected input (what the user will say) into the "User Input" field, place the intended output (what the bot will say in response to the input) into the "Bot Response" field, and what the bot last said into the "Previous Bot Response" field. Wildcards (* or _) can be used in either the "pattern" or "Bot Response" fields, to allow for greater flexibility with the responses. Please see the AIML Reference Manual or the various help icons (Help Icon) for more details.

Once you've completed adding AIML categories to the file, you're able to review the AIML code in the text area below the entry form, If you are satisfied with the code content, either click "Select All" and copy it, or hit the "Save File" button below to download the resulting file. If you're going to download the contents as a file, you should make sure that you provide a file name to save it as. If you don't provide one, the script will ask you to do so before you can continue.

For help with entry fields, please click the help icon within the label for the given field that you need help with. To close the help bubble that pops up, simply click on the help bubble.

Hide
Hide
(can't be hidden)
Hide
(can't be hidden)

Current AIML file content: Note that you can edit the contents below directly if necessary, before saving it as a file.

Select All (use [CTRL] + C to copy)
This is an empty help panel.
Filename:
This is the name that the AIML file will be saved as. It's strongly suggested that you use your first name (or initial), last name and the topic that you're working on for the file name, using underscores ( _ ) instead of spaces. For example, Joe Smith, working on the topic of fishing would use a filename of Joe_Smith_Fishing for the filename field. This helps provide a means of keeping track of the file's origination.
Topic:
The Topic field helps the bot keep track of the conversation, and it relates to the questions and answers being entered into the system. For example, if you're working in the areas of stamp collecting, fishing or building ships in bottles, the topic could be set to Hobbies. You can set the topic to literally any subject that you want your bot to talk about, so feel free to be creative here. The more topics that your chatbot can discuss intelligently, the more your user will enjoy their experience.
Previous Bot Response:
This is the last response that the bot gave to the user (or, more accurately, a portion of that response, using wildcards). For the most part, the previous bot response will not be necessary, and should often either be left blank, or have a single asterisk wildcard (*). If you need to differentiate a general response from a more specific one that might use the same (or closely similar) question, then you will need to put a value in here to help with that differentiation.
User Input:
This is where you enter what you expect the user to ask or say to get a specific bot response. The use of wildcards is not only allowed and encouraged here, but you'll find that it's often necessary to do so in order to reduce the number of AIML categories that would otherwise need to be entered. Remember that the same question or statement can be worded or phrased in any number of different ways, and it's necessary to 'simplify' the user input patterns as much as possible without becoming too vague.
Bot Response:
This is where you enter what you want the bot to "say" in response to the intended/expected user input. More information to come, so please be patient. At present, this interface only deals with direct text input from you, the botmaster. In the future, I'll be adding features to make other options available, such as buttons for inserting <li> elements, <srai> calls, and more.
Keep for next entry:
This setting allows you to retain the information that's currently in this field for use in the next AIML category. To stop using the current information, either un-check the box, or delete the information from the field manually.
The buttons below will add tags to the template field, to aid with creating your AIML.