Localized chat bot client that uses AIML
+ How To Add This Control To Your Project (Click to Expand)
- Make sure you have the latest version of ARC installed.
- Select the Get button in this page to download the archive file.
- Double click the downloaded archive file to execute installer.
- The installer will add this control to ARC.
- Load ARC and press the Project -> Add Control button from the menu.
- Choose the Artificial Intelligence category tab.
- Press the Aimlbot icon to add the control to your project.
Localized chat bot client that uses AIML. This operates the same as the PandoraBot client, except it runs local by not requiring an internet connection. The AIML configuration files are stored locally and can be edited by hand or with an AIML editing tool.
*Note: Requires ARC 2020.01.24.00 or greater
This control accepts the ControlCommand() to send data from other controls. This means if you use the Bing Speech Recognition, the text data can be sent programmatically from another control, such as...
ControlCommand("AimlBot", SetPhrase, "This is some text that I am sending")
This control also has the ability to execute a script when the chat result is returned. The script can speak the result using the Say() or SayEZB() command, for example.
Embed EZ-Script and Variables in AIML
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...
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.
Additionally, there's a few entries in the update.aiml file that demonstrates how movement commands are processed. When the user inputs "Move Forward", the robot will begin moving forward according to the code entered in the update.aiml file.
Editing AIML Files
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.
In this configuration 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.
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. I don't have much experience with the editor, but it seems to do the trick! The GaitoBotEditor requires .Net 3.5 to be installed.
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.
The source code for this plugin can be downloaded here: AimlBot-src.zip