Thumbnail

Aimlbot

AimlBot is a localized chatbot client that uses AIML (Artificial Intelligence Markup Language).

+ How To Add This Control To Your Project (Click to Expand)
  1. Make sure you have the latest version of ARC installed.
  2. Select the Get button in this page to download the archive file.
  3. Double click the downloaded archive file to execute installer.
  4. The installer will add this control to ARC.
  5. Load ARC and press the Project -> Add Control button from the menu.
  6. Choose the Artificial Intelligence category tab.
  7. Press the Aimlbot icon to add the control to your project.

Manual

AimlBot is a localized chatbot client that uses AIML (Artificial Intelligence Markup Language). This operates the same as the PandoraBot client, except it doesn't require an internet connection. The AIML configuration files are stored locally and can be edited by hand or with an AIML editing tool.

Main Window


User-inserted image

1. Text Entry Field
This is where you write your text entry.

2. Send button

Click the Send button, or hit enter, when you are ready to send your text entry to the AimlBot.

3. Response Display

This is where the AimlBot will respond with its text-based response.

Settings


User-inserted image

1. Response Variable and Script
AIML responses can embed ez-script with square brackets [ and ]. For example, if you load the AIML file t.aiml, you will find this example under the category "test". Search the document for the word "test" and you will see the following response...

Code:

This is just a test $Direction.[say("Testing")]

As you can see in the above example, when the word "test" is entered as a phrase into the artificial intelligence engine, the response includes a variable and a script to run.

2. Open Config Folder
You can specify the configuration folder to have multiple personalities per project. To do so, the new config folder must contain the CONFIG and AIML folders from the plugin root folder. Simply look in the current config folder of this plugin, and copy the AIML and CONFIG folders into the new folder. Specify the new folder by pressing the change configuration folder button. This value is saved per project.

3. Open AIML Editor
Please note, the AIML editor requires .Net 3.5 to be installed. The config menu of this plugin has a button to open the AIML config folder or search for a phrase among all AIML files. The file search ability makes it easy to find a response to edit with your own editor, such as with notepad. There's also a built-in editor that I've included, more info below.

GaitoBotEditor
There is a built-in editor included called GaitoBotEditor that was created by Springwald Software with no relation to Synthiam. Synthiam cannot support or assist with using this AIML editor, but their online manual is pretty clear. The AIML files will have to be loaded one-by-one into the editor as a new workspace. We don't have much experience with the editor, but it seems to do the trick! The GaitoBotEditor requires .Net 3.5 to be installed.

4. Search
In the settings menu, you may open the AIML editor directly with the Open AIML Editor button. Otherwise, if you're looking for files related to specific key words, the SEARCH option will be useful. If you're wanting to modify all responses to the word " Banana", type the word "Banana" and press SEARCH. The interface will prompt a menu asking if you wish to open all the files corresponding to that word.

How to Use AimlBot Skill


1) Add the AimlBot Skill to your ARC project (Project -> Add Skill -> Artificial Intelligence -> AimlBot).

2) In the main window enter your text into the text field.

3) Click the Send button. 

4) Read the response in the response display. 

Script Samples



The AilmBot skill accepts control commands to get data from other skills. This means if you use the a speech recognition skill like Bing Speech Recognition you can send a speech-to-text entry directly to the AimlBot text field with:

Code:

ControlCommand("AimlBot", "SetPhrase", $BingSpeech)

This skill also has the ability to execute a script when the chat result is returned. AimlBot can speak the result with:

Code:

Say($BotResponse)
-or-

Code:

SayEZB($BotResponse)

Another feature of this skill is moving a robot based on the code entered in the update.aiml file. An example phrase to activate this is: Move Forward

Requirements


ARC 2020.01.24.00 or greater

Resources


The source code for this skill can be downloaded here: https://github.com/synthiam/Behavior_Control_AimlBot

#23   — Edited
Hi Justin

This is EZAng 

The new EZ program ARC

The audio answers AIML works well


thanks
Synthiam
#24   — Edited
EZAng, this aiml plugin does not speak and never has. You need to create a new question for help on how to program your robot
#25  
Hi EzAng, I have not experimented with AIML in while.  I'm not sure I'm the best person to help on this.  Can you explain more about the issue you are having?
#26   — Edited
I got everything working

My AIML Bot works just like Pandora Bot -  I ask questions, get audio answers

I added more AIML bot code also

Here is what I did:

Bing Speech control add:

ControlCommand("AimlBot", "SetPhrase", $BingSpeech)

Aiml control add

java
Audio.say(getVar("$BotResponse"));

Above works with PC

Audio.sayEZB(getVar("$BotResponse"));

Above works with ez -robot


now it works, trial and error, happy I learned perseverance a long time ago :-)

thanks
Synthiam
#27   — Edited
Latest update (v16) checks if the config directory exists. If not, it defaults to the plugin folder config.
#28   — Edited
I do have C:\ProgramData\ARC\Plugins

I made a folder in my C:\Users\angbe\Documents\ARC\Plugins (I made the Plugins folder)  and copied all the plugin files in there, it works now
Synthiam
#29  
That’ll break it in the future. My instructions were correct. I didn’t ask if you had the folder. The instructions were to select that folder as the configuration. See my screenshot vs yours. 

my advise is to delete the new folder you created and update the plugin. The new plugin will auto adjust to the correct folder.
#31  
I deleted the folder as you stated, closed the program, then re-started it, installed it Aiml again,  and no luck, I will reboot and come back,
#32  
Still does not work

When I go to shut the program, it freezes all the time
#33   — Edited
all good now!! 

fixed the code

thanks
#34  
Hi DJ,

First of all I have been using this with Bing for a while now and it works great! Thank you for all your work! It is absolutely wonderful! Leaving behind the original windows speech recognition is FANTASTIC. Windows was wrong much more than it was ever right. Also, I finally started to customize my AIML files--and that's a whole lot of work! 

1. Now my first question is this, when I "say(...)" every line that is returned from aimlbot, aimlbot sometimes gives me a ":-)" and of course that is not pronounced correctly. Any suggestions on how to get rid of smilies before they get to "say(...)"?

2. Is there any way to have the robot ask for my name at the beginning of the aiml session? 

Thanks. 

Thomas

PS. is it A.R.C. or ARC like Noah's Ark?
#35  
I deleted all of the :-). That worked for me. Editing a set of AIML files is quite time consuming.xD
#36  
Hi,
When I SEARCH on some text, I get a windows error message.

1. Go to aimlbot / settings window
2. enter "dj" into the text field.
3. click the "Search" button

Expected: file opens for editing.
Actual: Windows error message states, "Windows can't open this type of file (.aiml)"

User-inserted image
Synthiam
#37  
Hmmm...it works for me, it gives me this pop-up:

User-inserted image


The problem seems to be on your end, maybe do try to set the default program that opens .aiml to Notepad. Right-click on an .aiml file and select "open with" then "choose another app" and then select the checkbox to "Always open with this app" and then select Notepad to open it.
#38  
Yeah, that looks like the problem. I needed to set the default application to open AIML files. I picked "notebook" although It isn't great.

It seams that aimlbot needs a manual all for itself.:)

And that "Gaitobot", I can't seem to get it working right. I have yet to be able to create and edit an AIML file. I have been messing with it for over an hour with out any success.  It just gives me all sorts of errors. And the help files were not much help either.
Synthiam
#39  
I'm not sure what Notebook is but Windows Notepad is a classic text editor that you can't go wrong with.

AIML isn't something Synthiam developed, rather we support it. AIML is a rather large topic and while we can offer a quick way to access .aiml files we can't support the format itself here. If you are new to AIML I would recommend that you browse around the web and get more acquainted with it. 

Gaitobot actually has a very comprehensive getting started tutorial, have you seen it: 
https://www.gaitobot.de/gaitobot/AIMLEditor/Tutorials/en/GaitoBot_Tutorial_0001.htm
#41  
Is it possible to embed ARC code into the AIML files? Could I run a motor from AIML? If so, what would be the syntax?
#42  
Does anyone know if it is possible to do math within aiml code?