[alicebot-developer] AIML .Net

Dr. Rich Wallace alicebot-developer@list.alicebot.org
Sat, 12 Mar 2005 12:54:41 -0500 (EST)


This is even better.  I have been interested in some kind of Wiki type
AIML collaborative environment for a while, but too lazy to do anything
about it :-)  If you search through these mailing lists, you can find a
discussion we had a long time ago about P2P AIML, which sort of died off. 
But the idea is very sound.  We should have an easier way to build up
things like the AAA (http://www.alicebot.org/aiml/aaa) set without someone
like me being the editorial bottleneck.

> Hi,
>
> Thanks for the positive reply!
>
> With regard to a .NET .exe file for non-programmers: it should be
> relatively easy to implement and I hope to have such a thing available
> in the coming weeks (assuming life doesn't get in the way).
>
> However, I have in mind something a bit more advanced than a simple
> Windows.Forms application. I've recently been writing an application for
>  work using some of Microsoft's (freely available) smart-client
> architecture (smart client is Microsoft's term for fat/rich client
> software).  I think it would be interesting to write an AIML smart
> client.
>
> What is a smart client? Well, to precis Microsoft
> (http://msdn.microsoft.com/smartclient/), a smart client is basically a
> "standard" desktop application with intelligent networking capabilities
> built in. You're already using one (by reading this email)! However,
> "smart client" is usually used in the context non-traditional network
> traffic (traditional being email, ftp, www etc) and where the
> application intelligently uses the networking capabilities to help
> itself work (such as downloading updates, sharing content, consuming
> web-services and so on). You'll soon get the idea if you read the
> Microsoft blurb.
>
> So whats this got to do with AIML and Alice? Well... I can imagine all
> sorts of interesting possibilities:
>
> * Getting hold of AIML technology: The initial "smart client" download
> only needs to be small enough to set itself up and process AIML. Smart
> clients (on windows) use "click once" for installation - i.e. a single
> click on a link on a web-site starts the install process (see
> http://msdn.microsoft.com/msdnmag/issues/04/05/clickonce/default.aspx
> and this rather cool video:
> http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20040108ClickOnceJC/manifest.xml)
>  and also include technology to update themselves (all covered in the
> above two links).
>
> * Once installed the smart-client should be able to detect the locale
> and download a set of aiml files in the appropriate language to a local
> cache. Furthermore, the user should be able to select which aiml files
> (in addition to some pre-set core) to use depending on what they want
> their bot to talk about.
>
> * Should the smart client include some sort of editor, then I can't see
> any reason why users shouldn't be allowed to submit to the online AIML
> caches. Some sort of wiki like collaboration system for AIML could
> ensure most of the rubbish doesn't get through (or is at least
> appropriately tagged and classified).
>
> * On that note, should AIML content evolve in a wiki-like fashion the
> smart client should be able to intelligently grab updates in the
> background at certain pre-specified times (in a similar way to how my
> Debian box "apt-get updates" itself at pre-set intervals) or consume
> (and cache) AIML in realtime by using web-services. Furthermore, thin
> clients (such as web-applications) might leverage this technology
> through an AIML interpreter linked to online AIML content delivered as a
>  web-service (in fact any net-aware client should be able to consume
> web-services). When the smart-client detects itself as being offline -
> it merely reverts to its local cache of aiml files.
>
> So thats my off the wall idea... I suppose a summary of it would be that
>  whereas current ALICE implementations are self contained instances of a
>  static AIML set, there is a multi-platform and "free" (in both senses
> of  the word) technology emerging to enable a networked ALICE -
> something  analogous to a hive mind or perhaps akin to grid computing. I
> think  there are all sorts of interesting problems to be overcome and
> potential  benefits to be gained.
>
> As Windows.Forms are implemented in the next version of Mono (1.1.4)
> such smart clients should be multi-platform and completely "free" in
> both senses of the word. Furthermore, as the binding glue for networked
> ALICE are web-services and AIML, and both are language neutral, then
> there is no reason why Java, Python, PHP et al implementations of the
> graphmaster shouldn't take advantage of them. Using the hackneyed term
> "Internet as the platform" would be entirely accurate in this instance.
>
> Problems with this idea include: an initial reliance on non-free
> software, an immense task of organising and standardising a protocol
> (built upon web-services and AIML), standardising client-side behaviour
> guidelines and actually writing, implementing and testing the thing. I'm
>  sure there are other problems that I haven't seen but then that's why
> I'm elaborating here.
>
> Anyway, just a thought...
>
> Regards,
>
> Nicholas
>
> Dr. Rich Wallace wrote:
>
>>Wow, this is awesome!  Really, developments like this are what make
>> running the AIF web site and mailing lists etc. worth it.  Your efforts
>> are appreciated greatly by me, and I am sure, by all members of the
>> AIML community.  Thank you!
>>
>>I will get a link to "Program#" up in the Downloads section and a news
>> item posted at the next opportunity.
>>
>>One question: how about a .exe download for non-programmers?
>>
>>Also, I hope you can make it to the ALICE 10th anniversary symposium on
>> November 25.  See http://www.alicebot.org/bbbbbbb.html
>>
>>Rich
>>
>>
>>
>>>Hi,
>>>
>>>About 18 months ago when I was learning C# and the .NET platform I
>>> wrote
>>> a simple implementation of the AIML specification. Well, after some
>>>nudging, I've commented the code and tidied it up a bit. A lot still
>>> needs to be done (especially at making it work more efficiently).
>>> However, it works and I feel it has potential. It is released under
>>> the GPL and can be found at:
>>>
>>>http://www.ntoll.org/projects/aiml/
>>>
>>>It was developed using the 1.1 version of .NET but I see no reason why
>>> 1.0 shouldn't work. I'm also pleased to say that it works with Mono
>>> (tested with v1.0.5). I've had quite a bit of fun integrating it into
>>> Windows.Forms applications, Windows services and Web services. I've
>>> also
>>> implemented a couple of "custom tags" (not included) that will do
>>> silly things like search Wikipedia and translate using Babelfish.
>>>
>>>I suppose it should have a "Program" designation too. As the rules for
>>> deciding such a designation are even more complex than those for the
>>> Mornington Crescent game
>>>(http://www.bbc.co.uk/bbc7/comedy/progpages/clue.shtml) I'll just
>>> suggest "Program#" as that seems most obvious.
>>>
>>>I've also written a ToDo file that explains what I feel needs to be
>>> done
>>> and improved. As always, comments, suggestions and especially
>>>improvments are most welcome!
>>>
>>>Regards,
>>>
>>>Nicholas
>>>
>>>_______________________________________________
>>>alicebot-developer mailing list
>>>alicebot-developer@list.alicebot.org
>>>http://list.alicebot.org/mailman/listinfo/alicebot-developer
>>>
>>>
>>
>>
>>
>>
>
> _______________________________________________
> alicebot-developer mailing list
> alicebot-developer@list.alicebot.org
> http://list.alicebot.org/mailman/listinfo/alicebot-developer


-- 
Dr. Rich
W A L L A C E
ALICE A.I. Foundation
drwallace@www.alicebot.org
Winner, Loebner Prize 2000, 2001, 2004