Home > reserbot

reserbot

Reserbot is a project mainly written in ..., based on the GPL-3.0 license.

A chatterbot using reservoir computing to process and generate natural language.

Introduction

This is a primitive version of reserbot. This bot tries to learn natural languages from simple imitation. It is designed using a connectionist approach, with echo state neural networks. Now, it is possible to try to teach knowledge using an artificial language called tokipona:

"Toki Pona is a simple language designed to express the most, using the least. The entire language has only 123 words and 14 sounds. The grammar, although different from English, is very regular and easy to learn." (from http://en.tokipona.org/wiki/What_is_Toki_Pona%3F)

Additional languages are planned.

How it works?

There is some documentation of theory and implementation in the wiki:

https://github.com/neuromancer/reserbot/wiki/

Required dependencies for reserbot:

  • Python 2.7
  • Oger (http://reservoir-computing.org/oger) and this package requires:
    • Numpy 1.1 or higher (http://numpy.scipy.org/)
    • Scipy 0.7 or higher (http://www.scipy.org/)
    • Matplotlib 0.99 or higher (http://matplotlib.sourceforge.net/)
    • MDP 2.5 or higher (http://mdp-toolkit.sourceforge.net/)

Optional packages

  • Xmpppy (http://xmpppy.sourceforge.net/) for jabber support

How to use it?:

Starting

To start this chatterbot, it is necessary to specify which language is going to use and which interface For example, if you want to test it locally:

./start.sh tokipona --interface console

or, you can try the jabber interface

./start.sh tokipona --interface jabber --user JABBERUSER --pass PASSWORD --jid JID

Using the shell

Some example on how to use the shell are available here:

https://github.com/neuromancer/reserbot/wiki/Examples

TODO (coming up!):

  • Improved theoretical and technical documentation.
  • Complete learning subsystem:
    • Corrective feedback
    • Long term memory