[alicebot-archcomm] Another suggestion for AIML architecture

ccallen alicebot-archcomm@list.alicebot.org
Tue, 4 Mar 2003 12:31:48 -0800


> ... a spec for controlled and safe knowledge exchange between
> different ALICEs - like a high-level bot communication protocol - not as
> complex as SOAP, but something like that.

I have done a bit of research here. After implementing a few simple
protocols I started taking a more serious look at the existing work in this
area, such as FIPA. The protocol you choose may depend upon the application.
Fipa like standards provide the mechnism for agents negotiation, which is
problaby over kill if you simply want a bot that will converse with people.
In this case I thought that a variation of the chat protocol would be a good
place to start, but its still a lot of over head.

A protocol that I have been working on is the Simple Multibot Protocol (SMBP
(tcpip) - http://www.windowpane.com/projects/agent/default.htm). The
internet doc is not complete, it doesnt get into the protocol itself. The
smbp protocol was designed with the statelessness of http in mind. Every
request to the smbp server has the name of the agent the message is being
sent to as well as the message. And the response contains the agent the
response if from and the response. This allows the ASP sesson object to
maintain the login code and keep track of the bot that the logged in user is
connected to. The user can also be connected to multiple bots.

For authentication & logging at the bot server, I addopted a watered down
IRC like protocol. Chat has a lot of great features, however not every
single feature maps into a bot server sceanario or is actually required to
make it work. It depends on what your trying to do. Optionally if you
started with a chat server, you could problaby just inject your bots into
their own rooms and forget writing developing your own protocol (this would
save a lot of time). But you still have the problem of tying it back to your
personal or corporate web presense.

The logging could occur at the bot server or at the ASP (both can be on
different machines). If the requirements is that the bot can keep track of t
he conversation, then logging will occur at the bot server. If the
requirements is to answer simple questions and provide one liners, then the
logging can occur on at the web server.

There are many, many other design details, some turn out to be non-issues.
In any case there seems to be a lot of testing / research involved to figure
out what is the best way to go. I eventually found that I was quickly
running out of time to do all this and pay the bills (especially with the
e-economy going down the tubes).

If  I were to target the multi-agent negotiation, B2B type segments, I would
start with an existing technology, such as that published by FIPA. These are
very solid, industry recognized standards. If someone came out with a bot
that supported one of these standards, they would have a greater chance at
market recognition, then if they were to announce that they've just created
yet another incompatible standard that is going to revolutionize the
industry.

Conan


----- Original Message -----
From: "Ernest Lergon" <ernest@virtualitas.net>
To: <alicebot-archcomm@list.alicebot.org>
Sent: Tuesday, March 04, 2003 11:31 AM
Subject: Re: [alicebot-archcomm] Another suggestion for AIML architecture


> Sandro Golinelli wrote:
> >
> > For example there are a lot of line of aiml code do just an integer
addition.
> >
 http://www.aiml.info/modules.php?name=Downloads&d_op=viewdownload&cid=2 )
> > have AIML to be so, for just an integer addition?
> >
> To the question "What is 365421232 / 9629423 ?" Richard's Alice has the
> appropriate answer: "Do I look like a calculator?" ;-)
>
> If you really have to do maths, delegate it to <php>, <perl>,
> <javascript> or <whatever>, while the recognition of numbers, values,
> prices etc. might be done with special "wildcards" like the proposed
> pattern expression @NUMBER i.e..
>
> > There is no need to change the specs, my opinion is to keep them both as
> > optional, meanwhile a "research" on a AIML DOM API and/or an AIML
"script"
> > processor would be interesting?
> >
> AIML is a scripting language to describe a certain knowlegde base or -
> as Rich would prefer - a certain personality of an ALICE; I don't see a
> Document Object Model like in HTML here. And I see no need for a special
> AIML script language too.
>
> As I stated a long time ago in
> http://list.alicebot.org/pipermail/alicebot-archcomm/2002-July/000611.html
> 'For me reading a foreign AIML file into the running interpreter is like
> unauthorized brain surgery.'
>
> ccallen wrote:
> >
> > Sure, this will lead to multiple implementations that are not compatible
> > with each other or the spec, but it's possible to create a perl script
that
> > converts an aiml set that targets engine A to work with engine B. I
prefer
> > the aiml compiler / preprocessor approach. It doesn't matter what the
input
> > aiml looks like, it all gets compiled to the same internal
representation.
> >
> Well stated, Conan. There have been many discussions about the
> portability of AIML files already. I think, it might be better to
> discuss a spec for controlled and safe knowledge exchange between
> different ALICEs - like a high-level bot communication protocol - not as
> complex as SOAP, but something like that.
>
> Ernest
>
> --
>               ProgramV - Alice on Perl - available at
>                http://www.virtualitas.net/perl/aiml/
>
>       VIRTUALITAS - Manufacturer of fine OOPPS - since 1996
> *********************************************************************
> * VIRTUALITAS Inc.               *      http://www.virtualitas.net  *
> *                                *                                  *
> * European Consultant Office     *                                  *
> * Internationales Handelszentrum *                                  *
> * Friedrichstraße 95             *   contact:Ernest Lergon          *
> * 10117 Berlin / Germany         *    mailto:Ernest@virtualitas.net *
> *********************************************************************
>       PGP-Fingerprint 6E6F DC17 A886 342D  D63F 7880 12F5 6BA9
>         PGP-Key http://www.virtualitas.net/Ernest_Lergon.asc
>
> _______________________________________________
> alicebot-archcomm mailing list
> alicebot-archcomm@list.alicebot.org
> http://list.alicebot.org/mailman/listinfo/alicebot-archcomm
>