A chatterbot using reservoir computing to process and generate natural language.
Python Shell
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


# 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:


## 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:

TODO (coming up!): 

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