Did you know Bot Libre also provides free hosted live chat for your own website or mobile app?
Help

Uploading set data in the context of AIML 2.0

by pranavlal posted Sep 21 2016, 21:37

Hi,
I have created my first bot by uploading some AIML I wrote offline. I am using a set to handle synonyms. How do I upload this file to the robot? I see options to import chat logs and AIML etc but nothing to upload set files.


by admin posted Sep 22 2016, 8:59
The AIML spec does not give a standard for set files. We do not currently support importing the PandoraBots set file format, but are looking into adding support for this.

You can import data files from your bot's Knowledge page in its Admin Console.
Currently you can import JSON and CSV (comma separated values) files. We are also planning to add support for import XML data files.

Bot Libre's has a much more sophisticated concept of data files than AIML. Your bot has its own object oriented knowledge base where it can store and process complex data. Bot Libre interprets AIML sets as a class relationship using the #instantiation relationship. Words are related to their objects using the #meaning relationship.

For example the word "red" would have the #meaning #red, and #red would be an #instantiation of #color. Then "red" would be in the "color" set for AIML. This is a little complex, but allows real world data to be modeled.

In JSON this would be,
{#data : #red, instantiation : #color, word : "red"} {#data : "red", instantiation : #word, meaning : #red}


Here is an example colors set data file in JSON, you can download this file and import it from your bot's Knowledge page.

https://www.botlibre.com/script?id=14047448

Updated: Sep 22 2016, 9:01
Thumbs up: 0, thumbs down: 0, stars: 0.0
Views: 2277, today: 0, week: 5, month: 23

by poto74 posted Nov 25 2017, 4:05

Hello, what if the color is "light red"? I tried :

{#data : #lightred, instantiation : #color, word : "light red"} {#data : "light red", instantiation : #word, meaning : #lightred}

and it didn't work.
Thumbs up: 1, thumbs down: 0, stars: 5.0
Views: 1890, today: 0, week: 2, month: 14

by admin posted Nov 25 2017, 8:12
You would need to define "light red" as a compound word.
Try,

{#data : #lightred, instantiation : #color, word : "light red"}
{#data : "light red", instantiation : #word, instantiation : #compound-word, meaning : #lightred}
{#data : "light", instantiation : #word, compound-word : "light red"}

But this may only work in Self, it may not work in AIML.

Thumbs up: 0, thumbs down: 0, stars: 0.0
Views: 1892, today: 0, week: 3, month: 14

Id: 14041430
Tags: how to
Posted: Sep 21 2016, 21:37
Replies: 3
Views: 2887, today: 1, week: 7, month: 13
0 0 0.0/5