AI Zone Admin Forum Add your forum

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

looking for a tool that help to edit AIML according to conversation logs

Hello again smile

I am planning to buid a new bot , and I need a tool that will help me “fix” AIML according to logs.
Kind of “personal assistant” chatter…
I have seen this on PANDORABOTS, the users have thier own admin section where they view the conversation logs, and they correct the answers for common questions….

How do I do that? I am using RebeccaAIML interperter…please help.


  [ # 1 ]

I’m sorry, Guy, but I have no experience with RebeccaAIML, so I can’t advise you. Perhaps someone else can, though.


  [ # 2 ]

Thanks Dave,

Here is a link

You can see exactly how they do this on pandorabot, this is wonderfull tool.


  [ # 3 ]

I’m moderately well versed with Pandorabots, and I agree that their AIML editing tools are good, but I thought you were looking for an AIML editing tool for use with RebeccaAIML, so I didn’t mention Pandorabots. I also didn’t mention the AIML editing tool that I use (phpMyAdmin, of all things), either, for the same reason. I just didn’t feel that they were relevant. If you want to use a stand-alone editor, you can always google “Gaitobot AIML Editor”. I’ve used it in the past, and it’s a great tool for editing even large AIML files. Plus, it’s got a built-in AIML interpreter, so you can test your categories immediately. The only problem is that Gaitobot can’t edit or create new AIML categories based on your chat logs, and that was one of the things you’re looking for.


  [ # 4 ]

Does Pandorabots is an open source interperter? can it be used by C#?


  [ # 5 ]

I think Pandorabots uses Program Z which isn’t open source. To be honest, I find just using Notepad and the Pandorabots training interface is sufficient for editing AIML files.


  [ # 6 ]

You’re right there, Steve. Program Z is proprietary software, which is written in Common LISP, so no love for us there. downer


  [ # 7 ]

A couple of other AIML tools.

For those that like to edit a simpler file that generates AIML:


  [ # 8 ]

You may want to look into the Pandorabots Targeting function which is documented in this video:


  [ # 9 ]

Thanks for the link, Rich. I’m not sure about anyone else, but I found it to be very helpful. smile


  [ # 10 ]

Ok, I’m guessing you’re in a Windows platform using RebeccaAIML and not the Mono version on Linux. That’s probably why no one else suggested the following…

AIMLpad ( is built to edit AIML using a modified MS Windows text editor. It saves a dialog file of simple text with user input on one line followed by bot’s response on the next lines followed by a blank line repeated for each exchange or “volley”. With your AIML loaded into AIMLpad, it can turn the dialog text file into targets to edit similar to Pandorabots. Or you can transform a dialog file into categories which can be edited independently. It also has a transcript reading utility “Quick Build Categories” under the “Tools” menu where you can turn off the simple dialog format and then use the prompts in front of the speakers like a television script would be formatted.

If targets are captured in the same format as Program D (from which I’m thinking RebeccaAIML was derived), you can directly use those targeting logs in AIMLpad. With data in the target log format you can examine the frequency of activated categories and apply target edits to those best candidates for improvements.

If your log file has each speaker prefixing their contribution like:

User: hi
Bot: hello there

You can use the following AIMLpad script to read that chat log file opened in the text editor along with your AIML loaded and targeting turned on so that it will build the targets log file (I haven’t tried this script yet myself):

pos down,
[%from >= %thru] break?
read %logline,
[“User:”][*]  %ask=$GROUP2,bot %ask?

Replace the “User:” with whatever prompt you have.  The tutorials for AIMLpad can explain how to execute the script.

I believe all those other editors listed above are probably mostly assimilated into the functionality of AIMLpad. You can edit XML in the text edit area or edit using the (dialog) form windows optimized for editing a category at a time which you can even pop up from the text edit area or pop up from a search list presenting your categories like a spreadsheet. If you forget the AIML tags, you can right click while editing and get snippets of the tags to paste.  There is context sensitive help which includes the AIML definitions and syntax.

And there is an interpreter to test the AIML including the possibility of installing an MS agent avatar with text-to-speech. There are menu options for finding shadowed categories, duplicate categories, recursed categories, etc.

There is a character bible to help outline the personality and back story of your bot which also controls the <bot> tags to use in the AIML.

AIMLpad is still in beta and has one big limiting restriction - each AIML file either must have line breaks in it or be less than 32K in size. A sloppy formatted AIML file can be loaded and then saved in a “prettier” layout. As is, AIMLpad doesn’t use a XML parser so it doesn’t do namespaces.

AIMLpad is free and open source.


  [ # 11 ]

Wow, Gary! I didn’t realize there was so much functionality built into AIMLPad. I’m going to have to give it another look. smile


  [ # 12 ]

sounds just great. looks like something worse playing with.

Currrently there is bug in this version, that it cannot display a non-english charachters.
I have reported this to AIMLPad crew, I hope to hear from them soon.

I am not using RebecaAIML anymore, as I couldn’t get any support from the devekopers, seems like the project is on sleep mode, so I have switch to your suggestions and move to PROGRAM#, it is easy for me to change the code if needed, as it written with C#, unlike RebeccaAIML which support C# but written in a different language.

Do you familiar with PROGRAM# ? I know that there is logs in this software but I am not sure if and how the targets are being captured. do you know more about Program# target capture logs?

Thank you for your helpfull reply.

BTW, what are shadow categories?


  [ # 13 ]

Thanks for the support. I am the AIMLpad crew!

I checked out the AIMLpad script and a little modification is required (apparently the pin command doesn’t work well with the select command like it should and the read command returns the cursor to the beginning of the selection which caused an endless loop - it is still a beta app after all). This script is tested and works:

pos down 1,
[%from >= %thru] break?
select %from %thru,
read %logline,
[“User:”][*]  bot $GROUP2?
pos down 1,

I don’t know when I’ll get around to fixing the display of characters.  AIMLpad uses Unicode which are 16bit characters so it should be able to handle the characterset.  It must be the text editor control that needs tweaking - darn Microsoft stuff.  Or maybe parsing the AIML dropped the special characters - I’ll have to check that.

I haven’t tried PROGRAM# yet.  I’ll have to download it and let you know.


  [ # 14 ]
Guy El - Mar 6, 2011:

BTW, what are shadow categories?

A shadow category is one that masks another. Say you had these two categories

pattern>_ AUSTRALIA</pattern>
template>I would like to go to Australia sometime.</template>

template>No I have not but I would like to.</template>

The second cateogory could never be called as the first one overrides (shadows) it. A tool that can spot these is pretty useful.


  [ # 15 ]
Gary Dubuque - Mar 6, 2011:

Thanks for the support. I am the AIMLpad crew!

I haven’t tried PROGRAM# yet.  I’ll have to download it and let you know.

Is there any new with how to find best candidates with AIMLPad in progam#?


 1 2 > 
1 of 2
  login or register to react
‹‹ AIML tutorial      SRAIs help ››