Wednesday, July 1, 2009

Pandorabots weclomes RunABot users

One of the long-running AIML chat bot hosting services, RunABot, has announced that it is no longer functioning. Some RunABot users have contacted us about migrating to Pandorabots. We welcome the RunABot community to the world of Pandorabots AIML.

There are three big concerns to RunABot users:
1. Converting RunABot AIML to standard AIML.
2. Migrating to Pandorabots.
3. AOL Instant Messenger (AIM) interface

Converting RunABot AIML to Pandorabots standard AIML



RunABot developed its own branch of AIML that differs slightly from the common standard.
Here we explain some of the steps you can follow to convert RunABot AIML to standard AIML.

RunABot has a different interpretation of the wildcard *.

<category> <pattern>* I AM FINE</pattern>
<template>Good then!</template> </category>

The * matches 0 or more words, instead of 1 or more words. In other words, this category matches "I am fine" by itself. On RAB, that would match "I am fine" as well as "blah blah I am fine".

It has to be split into 2 categories in standard AIML, the original one plus this one

<category> <pattern>I AM FINE</pattern>
<template>Good then!</template> </category>

In this one

<category> <pattern>* CALCULATE *|* CALCULATOR *</pattern>
<template>Ummmm...sowwy Hun. I dont do anything useful like that. I
can drive you crazy...but I cant help you with math stuff.</template>
</category>

the | symbol presumably means "or", i.e. it matches inputs with CALCULATE or CALCULATOR
So in this case we would split into 2 categories, one with CALCULATE and one with CALCULATOR. But then there would actually be 8 categories because of the difference in the interpretation of *.

The more typical approach in standard AIML would be to set up "keyword" categories:

<category>
<pattern>CALCULATOR</pattern>
<template>Ummmm...sowwy Hun. I dont do anything useful like that.
I can drive you crazy...but I cant help you with math stuff.
</template>
</category>

<category>
<pattern>_ CALCULATOR</pattern>
<template><srai>CALCULATOR</srai></template>
</category>

<category>
<pattern>CALCULATOR *</pattern>
<template><srai>CALCULATOR</srai></template>
</category>

<category>
<pattern>_ CALCULATOR *</pattern>
<template><srai>CALCULATOR</srai></template>
</category>

The conclusion here is that the patterns can be converted It should be done by a translation program. That translation program is not difficult to develop.

Converting <that> and <topic>:

RAB put <that> and <topic> inside the <pattern> with a slightly
different format than we use:

<category>
<pattern>* <THAT=UMMM WHAT WERE WE TALKING *></pattern>
<template>Oh yea...Umm..well, ok then. I guess you think highly of
<star1> huh?</template>
</category>

We put the <topic> and <that> in slightly different places:

<category><pattern>*</pattern><that>WHAT IS YOUR NAME</that>
<template>Nice to meet you, <star/></template>
</category>

We can translate the AIML <that> and <topic> too, but it might be
worth doing it with a program instead of by hand

It seems that RAB does not use <srai>. They tried to create a simpler, "flatter" version of AIML by creating a more complex pattern language. However the conversion to standard AIML
seems straighforward if we introduce <srai>.


Migrating to Pandorabots

RAB customers should try setting up a free account on Pandorabots.

Use the option create a new bot with no initial content.

If you have an "ultimate default category" with <pattern>*</pattern> start with that one. This may be called a "no match" on RAB.

Usually I create a file called "Pickup.aiml" (for "pickup lines") and put that one category in there
you can call it "nomatch.aiml" or anything else you want.

Some RAB users like to train their bot to put to client into an infinite loop.
Pandorabots can achieve the same thing with:

<category>
<pattern>GET ME STUCK</pattern>
<template><think><set name="topic">STUCK</set></think> Ok you are
stuck. </template>
</category>

<topic name="STUCK">
<category>
<pattern>_</pattern>
<template>You can never get out of here.</template>
</category>
</topic>

gives you
Client: Get me stuck.
Bot: Ok you are stuck!
Client: Help
Bot: You can never get out of here.
Client: Let me out!
Bot: You can never get out of here.


AIM (AOL Instant Messenger)

On RunABot the bots communicated primarily by means of AOL Instant Messenger (AIM). On Pandorabots the default bot interface is a web page. We had our own Pandorabots
AIM interface working for a long time, and then AOL changed their API (called TOC). Unfortunately the Pandorabots AIM interface is not supported at this time.

In the meantime we have been offering another option Pandorabots has its own API called XML-RPC. Lots of people in the Pandorabots community use XML-RPC to connect Pandorabots to all kinds of third-party systems, including Second Life, Flash, and IM services

So if we want to support RAB customers with AIM, we have to dig around to find out if someone has a AOL client working now, and if not, find someone to create it.

These group has developed a script that puts Pandorabots on IRC:
http://www.hawkee.com/snippet/6306/?sid=3b80de9879b3943d760c3390667e77ff
Perhaps it could be modified to support AIM and other IM services.

No comments:

Post a Comment