AI Zone Admin Forum Add your forum

NEWS: survey on 3000 US and UK consumers shows it is time for chatbot integration in customer service!read more..



RiveScript is a scripting language for giving intelligence to chatterbots
  and other conversational entities.


  [ # 1 ]

NEWS: Mizuki is a new RiveScript chatbot based on A.L.I.C.E. Foundation
Artificial Intellignce Markup Language with additional AIML from Mitsuku.


  [ # 2 ]

I tried mizuki, and it looks almost identical to most AIML bots.
Also had a quick search at RiverScript and i was not exactly convinced how it is better than AIML or chatscript.
Is there anything i miss or a guide?


  [ # 3 ]


All the options you mentioned are good implementations.
RiveScript is an implementation worth keeping an eye on.

RiveScript is all Perl which makes it some what different
from the other popular implementations.

RiveScript claims to have unique features which you can
read about here:


  [ # 4 ]


Every new AI language such as RiveScript or Chatscript needs more than a bare bones interpreter, but needs a platform for the masses (ideally with an API).  For people to really get into it, even explore and exploit properly, they need hands-on, user-friendly, cloud-based tools.


  [ # 5 ]

Hi Marcus,

I’m the creator of RiveScript, and I found this forum when I googled it to see what anyone was saying about it.

What sort of platform would people like to see for RiveScript? Downloadable chatbot programs that use it and are reasonably easy to set up? Hosted services like Pandorabots?

I’ve been spending the day dusting off all my RiveScript stuff and am kinda moving towards getting it “out there” and more accessible to people.


  [ # 6 ]


Here is my wishlist based on the fact that RiveScript is a contest ready chatter robot platform, having competed in the Chatterbox Challenge contest this year.  So, I think these options are very realistic in terms of being doable:

1. Loebner Prize Protocol support option—Adding LPP support should be a very doable platform since the Loebner Judge program, like RiveScript, is already open source Perl.  Let’s give RiveScript supporters a shot at winning $100,000 bucks in the Loebner Prize Contest next year!

2. MySQL support option— combined about 50,000 standard RiveScript responses based on A.L.I.C.E and ELIZA with over 160,000 more open source dictionary definitions (stored separately from RiveScript) in a MySQL database.  So this option is at least partially proven on the live Chatterbox Challenge contest platform.

3. Last by not least, I like your ideas which you publish at for RiveScript support.  Noah, these suggestions are options, not replacements for current RiveScript features.  Everyone should have a chance to discover RiveScript as it is now.
You are doing a seriously terrific job supporting RiveScript… Thank you, so much for sharing!


  [ # 7 ]

Cool, I didn’t know anyone’s tried entering a RiveScript bot into the chatterbox contest before.

The LPP support is a good idea but it should be separate from the core Perl module. But it could ship with the Perl distribution on CPAN the way the new `rivescript` command does, so everyone who downloads the module from there would also get a copy of the LPP script.

Not sure what you mean by the MySQL support. Do you just store RiveScript code in MySQL in a Text field? Or did you somehow abstract away the RiveScript syntax with a SQL schema? If it’s the former, imho the core library shouldn’t have to support that by itself (it’s a library, not a complete application by itself, and these things would add bloat to it). It’s always had the stream() method for providing RiveScript data without using files on disk to support this very thing.


  [ # 8 ]
Noah Petherbridge - Sep 26, 2011:

Not sure what you mean by the MySQL support. Do you just store RiveScript code in MySQL in a Text field?

Yes.  Sort of what like what AIML did. Program V does not use a database. Program E and Program O do.  NOTE: Not using a database is perfectly valid and should always stay an option. Using a database is simply another option.  MySQL is a popular option, but there are other good database options, like SQLite.  The point of adding a database is that it usually provides a performance boost, and for a chatter robot that usually means faster response times.  However, a database is not always available and is NOT always the preferred option.  Not having to configure a database is a simpler option which is great for learning RiveScript because you can see everything in one place, and it is also more elegant, in my opinion, because it is pure Perl code.

Noah Petherbridge - Sep 26, 2011:

Or did you somehow abstract away the RiveScript syntax with a SQL schema?

No major code changes were made to RiveScript. I just built a separate helper chatter robot and then patched it into RiveScript to use an open source XML dictionary which I loaded into MySQL and accessed from Perl.


  [ # 9 ]

Codename: RiveScript NLTK

Noah Petherbridge has made some terrific enhancements
to his RiveScript, by porting it from Perl to Python,
and optimizing his code in several important ways.

Optimizing Python to run faster online may present a challenge.
However, Python is a good language with a Natural Language Toolkit,
to add emotions, grammar and other advanced A.I. techniques to
further enhance chatter robots.

So, for these reasons, I’ve been experimenting with optimizing
RiveScript Python for speed…  Codename: RiveScript NLTK


While bug reports are still being submitted, the early reports
are, that experimentally speaking, the online speed of RiveScript
NLTK may now compare with the speed of RiveScript Perl over the web.

So, if you have a few seconds, please support this experiment with
a test run.  It’s free of charge to test and a report of your experience
is very useful.

May I ask your opinion whether the speed is optimized enough to be
chatter robot contest level, to perhaps enter the Chatbot Battles
Competition 2012?

Thank you for your precious support.

Image Attachments

  [ # 10 ]


I personally would like to see the option as a stand alone bot instead of purely a Cloud-only based bot.

There are a lot of people out there who feel, shall I say, intimated by things being on “the cloud” where they are not totally trusted by some.

The option to post to a website or have it hosted somewhere would still be a nice alternative.

I, for one, appreciate your efforts.


  [ # 11 ]


RiveScript isn’t purely Cloud-based. smile Actually, RiveScript is a software library that can be used to program bots of all kinds. Here is a full bot I programmed: it runs as a Perl application under Linux or Windows and probably Mac OS X too (untested though). You could run a bot from your local computer or put it on a web server you own and run it from there.

It runs sorta like Alicebot Program V, from a command prompt or terminal window, so it’s not a Cloud bot. smile


  login or register to react