/program-y

Python 3.x based AIML 2.0 Chatbot interpreter, framework, related programs and knowledge files

Primary LanguagePythonOtherNOASSERTION

Readme info:

Version: 1.2.0
Authors: Keith Sterling
Date: 8th November 2017

Whats New in 1.2

  • RDF Engine completely rewritten to be fully compatible with Alice grammar
  • Refactored Y-Bot triples.txt into more understandable and workable files based on category
  • New RDF Formatter tool in utils
  • Updated use of file handling to open all but neccassary files in readonly mode
  • Conversations now persistent between bot restarts

Whats New in 1.1

  • CSV Output.
  • Default Variables

Introduction

Program Y is an AIML interpretor written in Python. It includes an entire Python 3 framework for building you own chat bots using Artificial Intelligence Markup Language, or AIML for short.

Programy-Y is fully cross plaform, running on

  • Mac OSX
  • Linux
  • Windows

100% Support for all AIML 2.0 Tags plus all Pandora bot ones they never documented

  • Full support for al AIML 2.0 Tags
  • RDF Support through addtriple, deletetriple, select, uniq and uniq
  • List processing with First and Rest
  • Advanced learn support including resetlearn and resetlearnf
  • Full Out Of Band Support
  • Full embedded XML/HTML Support
  • Dynamic Sets, Maps and Variables

Program Y is extremely extensible, you can

  • Add you own AIML tags
  • Add you own Spelling Checker
  • Support User Authorisation
  • Support User Authentication
  • Add your own Out Out Band (OOB) tags
  • Add Dynamic Sets in Python
  • Add Dynamic Maps in Python
  • Add Dynamic Variables in Python
  • Run a variety of clients, including
    • Console
    • REST
    • Web Chat
    • Twitter
    • Google Hangouts (XMPP)
    • SMS ( coming soon )
    • Facebook ( coming )
    • Slack ( coming soon )

Program-Y comes with a base set of grammars for various industry sectors, including

  • Energy Industry
  • Banking
  • Telecoms
  • Weather
  • Surveys
  • News Feeds
  • Maps

System Requirements

Program Y is built using Python 3.6 and has dependencies upon the following Python libraries

  • requests
  • flask
  • python-dateutil
  • beautifulsoup4
  • lxml
  • wikipedia
  • pylint
  • nose
  • coverage
  • pyyaml
  • tweepy
  • sleekxmpp

In addition, there are a number of additional libraries for use with Sanic version of the REST server, specifically

  • sanic

Using Program-Y

Full documentation is available on Program Y Wiki

After installation from the Github repository you can chat with your Program Y by running one of the many bots found in the \bot folder. These include

  • Y-Bot - My own bot under development
  • Professor - A huge knowledge base of questions and answers
  • Alice2 - AIML 2 version of the famous Alice chat bot
  • Roise - An AIML base set of grammars for creating your own bot

See the individual folders for unix and windows scripts required to run a bot.

Tutorial

Once you have got the system installed and have run one or more of the bots, head over to the Tutorial on the Wiki for a full run down of everything possible in AIML