Artificial Intelligence Scripting Language

Kirsle's Web Blog

[ Older > ]
RiveScript-Python Released

Posted by Kirsle on Friday, Apr 20 2012 @ 4:25 PM
I've released the Python version of RiveScript!

Get it at GitHub!

It should be as feature-complete as the Perl version, though obviously it hasn't been tested for quite as many years yet. ;) It will let you write RiveScript objects using Python code, and there's an included example for how you would set up a JavaScript handler too.

The module, rivescript.py can also be executed as a stand-alone Python script. In this case, it will behave exactly like the rivescript command that ships with the Perl version: you'll be able to interactively test out your RiveScript bot. It also supports JSON Mode, so a C++ program for example could still use rivescript.py to be able to get responses from your bot.

The bugs I found in the Perl version while writing this have also been fixed. The Perl version has also moved to github: rivescript-perl. Furthermore, the Java version of RiveScript is on github now too: rivescript-java.

Categories: Python , Perl , Java

[ 0 comments | Add comment | Permalink ]

RiveScript for Python

Posted by Kirsle on Friday, Apr 20 2012 @ 12:24 AM
I've spent the last couple days diving into Python and putting together a RiveScript library for Python 2. :D

Right now it's mostly feature-complete and supports writing RiveScript objects using Python code. In writing it, I found a couple of bugs in the Perl version that will be fixed for the Python library (and eventually, fixed in the Perl version as well). If curious, the bugs fixed are:

Furthermore, I've decided that the {!...} tag isn't very useful to have. The original idea for it was that you would use it to re-define global and bot variables if you wanted, e.g.,

+ set bot mood to *
- {! var mood = <star>}My mood has been set to <bot mood>.
Technically the tag is for "streaming RiveScript code dynamically" but it's a PITA if you wanted to stream more than one line of code. So, the Python library won't support this tag anymore. Instead, the <bot> and <env> tags will let you assign values too:

+ set bot mood to *
- <bot mood=<star>>My mood has been set to <bot mood>
I hope nobody had a compelling reason why they needed the {!...} tag. :) The Python library just needs a bit of tidying up around the edges, and then I'll probably put it up on github for you Python hackers to play around with.

Update: the Python library is now on github: rivescript-python. It's still not completely polished up yet so as of this moment it's still "alpha" code. :)

Categories: Python

[ 0 comments | Add comment | Permalink ]

Chatbots 3.2 Conference - Philadelphia

Posted by Kirsle on Thursday, Mar 08 2012 @ 7:20 PM
I've been invited to speak this year at the Chatbots 3.2 Conference in Philadelphia on March 31st.

I'll be doing a presentation about RiveScript, of course! What it is, where it came from, and where it's going. For more information about the Chatbots 3.2 Conference, head over to the Alice AI Foundation.

Update (Apr 2, 2012): The conference has come and gone and you'll be able to see a video of my presentation on the AIMLinstructor YouTube channel as soon as it gets edited and uploaded (I can't tell you when that will be though, but I'll update with a link to the actual video as soon as I'm aware it's been uploaded).

In the mean time, you can see my slideshow presentation here: rivescript.pdf.

AiRS - AIM and Yahoo Chatterbot

Posted by Kirsle on Friday, Sep 23 2011 @ 1:37 PM
I'm releasing an alpha version of my Perl chatterbot I've been working on - AiRS - Artificial Intelligence/RiveScript!

It's a full featured Perl chatterbot that can sign bots on to AOL Instant Messenger and Yahoo Messenger. It comes with a RiveScript brain and a Chatbot::Eliza brain.

The bot supports easy customization and adding of new brains (the Eliza brain was put in as a second example of how to create your own), so, despite the name of the bot, it's not strictly limited to RiveScript!

Now, as I said, this is an ALPHA release. Version 0.01! So if you're a total newbie and have never touched Perl or a command prompt before, don't ask me to help you get it all set up. There will be plenty of time for me to write thorough documentation for noobs by the time a final version gets released.

If you're not a complete noob though I don't think you'll have too much trouble getting a bot up and running with this code. :)

Download Links:

* I recommend getting the regular distribution. The "plus" one includes some third party Perl modules in the distribution itself (Net::OSCAR, Net::IM, RiveScript, Chatbot::Eliza). This makes it easier to get the bot up and running right away, BUT the versions of the modules it ships with may fall behind what's current. So I'd recommend instead that you install the third party Perl modules yourself.

Net::IM::YMSG is not yet on CPAN (I should have it up by the weekend!), so if you're looking for it, you can find it on Google Code at http://code.google.com/p/perl-net-im/.

Categories: AiRS , Perl

[ 0 comments | Add comment | Permalink ]

New Site, New Changes

Posted by Kirsle on Thursday, Sep 22 2011 @ 4:58 PM
There's a bit of RiveScript related news today.

Perl RiveScript 1.22 Released

This was just a maintenance release of the Perl RiveScript module that cleaned up the documentation. But also, the rsdemo script has been replaced with a new rivescript script. It can still be used the same way as rsdemo (to interactively test your RiveScript code), but it can also be used non-interactively.

So, for example, a chatterbot written in C++ would be able to use the rivescript command to add RiveScript support to their program, even though there isn't a native C++ port for RiveScript yet.

New Website

RiveScript.com has been updated to use the Siikir CMS that powers a few of my other sites. With that comes a new web design, and the URLs to pages have been modified a bit, and the site should respond much faster than before.

Future Plans

I have some plans to expand this site in the near future and provide a sort of chatterbot hosting service. Instead of having to download a Perl bot and deal with programming to be able to use RiveScript, there will be an easy-to-use hosted service like what RunABot and some other sites provide.

For people who prefer to develop their own bots, though, I have a big Perl bot I've been working on that can currently sign on to both AIM and Yahoo Messenger. I plan on packaging that code up for release here soon, too, so then you can have a more complete bot to work with than the barebones AIM template on the Getting Started page.

[ Older > ]