[alicebot-archcomm] The saga continues: "Fetching Info from
the Web"
Ernest Lergon
alicebot-archcomm@list.alicebot.org
Fri, 01 Aug 2003 17:19:16 +0200
First a technical hint about server push:
Gary Robertson wrote:
> One moment please...
> <!--
> This msg is optional ... Not sure how it could be displayed in a
> response html page, while waiting for the fetch data ... although Cold
> Fusion has a 'flush' command that forces text out to the browser that
> might work nicely
> -->
*Flush* only works in an ASCII or a VoiceXML environment but not on a
browser, especially if embedded in HTML tables i.e., where the browser
has to wait for </table>.
*Server push* needs a special formatted HTTP message and works only on
Netscape/Mozilla but not on M$IE. [1][2]
On to our topic:
AIML 1.01. has now 34 tags.
Don't you think, that defining a dozen or more new tags just to add a
single functionality is a little bit overdone?
Moreover there are some basic XML faults in your example:
> <mlsid = "<get name='mlsidvar'>">
>
Such a construction is not allowed: You can't have XML tags inside an
attribute value. [3]
> <"price">
> <"address">
> <"htmldoc">
>
Quotes are not alllowed in XML tag names. [4]
On the other hand you've outlined the basic requirements for a knowledge
exchange protocol: Authentication, variable handling, timeout,
formatting etc.
But this have to be defined mabye in the startup section of the bot. Or
if we use SOAP, the ArchComm might only need to define a WSDL file [5].
Using SOAP has the advantage for any AIML interpreter, that it is easy
to implement because of the availability of SOAP APIs in many
programming languages. We only have to define, what has to be exchanged,
name the services etc. and two or three AIML tags for the interface.
But first we should discuss issues of security and trustability:
The bot has to answer questions like:
Is the query/answer I receive really issued by my friend?
sender/recipient authentication
Is the answer I receive really the answer to my original query?
message authentication
Is the asker allowed to send a query to me?
sender authorization
etc. [6]
The issue of message loops can be solved by unique message-ids.
Another question is: Can the bot decide by itself, how much it can trust
the received answer?
The idea is to have a net of bots, which ask each other about topics,
they don't know by themself. The botmaster could define levels of trust
to the nearest bots (friends), but how can we assure the correctness of
an answer comming from a friend of a friend?
The issue of fetching a web page is limited to special Alice
applications and can already be solved by the existing AIML using the
script tags i.e..
But exchanging knowledge should be a subject of AIML itself.
Ernest
[1] http://manncam1.ric.edu/pub/pushb.html
[2] http://wp.netscape.com/assist/net_sites/pushpull.html
[3] http://www.w3.org/TR/REC-xml#NT-AttValue
[4] http://www.w3.org/TR/REC-xml#NT-Name
[5] http://www.w3.org/TR/wsdl
[6] http://www-106.ibm.com/developerworks/webservices/library/ws-soapsec/
--
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 *
* Ernest Lergon * mailto:Ernest@virtualitas.net *
*********************************************************************
PGP-Fingerprint 6E6F DC17 A886 342D D63F 7880 12F5 6BA9
PGP-Key http://www.virtualitas.net/Ernest_Lergon.asc
---------------------------------------------------------------------
SPAM ALERT http://www.virtualitas.net/spam.html
---------------------------------------------------------------------