AImissq / make-chatterbot

A simple chatterbot interface combining AIML, pyAIML and espeak

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

make-chatterbot

By Brandon Jackson

Project started August 2014

make-chatterbot is a simple chatterbot interface that makes it easy to combine the AIML interpreter pyAIML with the text-to-speech program espeak. At the core of the AI is the open-source, prize-winning A.L.I.C.E. chatterbot. This project began as part of a project to build experiments for the Kano computer.

Installation

Python2.7

  • Make sure you have these dependencies installed (see code snippet below for help):
    • the espeak package
    • the pyAIML Python package
  • Make sure make-chatterbot.py is executable
  • From the terminal call ./make-chatterbot.py
  • When presented with a prompt, start the conversation!

Example Installation Procedure (for Unix/Linux with apt-get installed)

git clone https://github.com/brandonjackson/make-chatterbot.git
cd make-chatterbot
sudo apt-get install espeak espeak-data
git clone https://github.com/DYFeng/pyaiml.git
cd pyaiml
sudo python setup.py install
cd ../
sudo rm -R pyaiml

You will also need to run pip2 install aiml

For audio on Puppylinux-xenial64, I also needed the "portaudio" package to make espeak function.

Usage

usage: python2 make-chatterbot.py [-h] [-m] [-v VOICE] [-p PITCH] [-s SPEED]
                          [-e ENGINE] [-q]

a simple chatterbot interface

optional arguments:
  -h, --help            show this help message and exit
  -m, --show-matches    show matching patterns that generated the response
  -v VOICE, --voice VOICE
                        name of voice (default=en)
  -p PITCH, --pitch PITCH
                        voice pitch (1-100, default=50)
  -s SPEED, --speed SPEED
                        voice speed in words per minute (default=140)
  -e ENGINE, --engine ENGINE
                        text-to-speech program (default=espeak)
  -q, --quiet           no audio output produced

To-Do List

  • Add header with cool ASCII image when first loaded
  • Accept a list of AIML files (or a directory of files) to make it easy to load custom intelligences
  • Automatically re-build cache when new files detected
  • Add command line option to enable a tabula rassa (i.e. disable loading the standard AIML file set)
  • Add support for festival TTS engine

Links

Note by aimissq - edited pyaiml git source to still-working repo

Credits

The AIML files in the standard/ directory are the A.L.I.C.E. intelligence developed by Richard Wallace, and released under the GNU-GPL license. The files were taken from the "Standard AIML Files" posted here on SourceForge as part of the pyAIML package.

About

A simple chatterbot interface combining AIML, pyAIML and espeak


Languages

Language:Python 100.0%