Skip to content
Keith Sterling edited this page Jan 9, 2019 · 123 revisions

Program-Y

Program Y is a fully compliant AIML 2.0 chatbot framework written in Python 3. It includes an entire platform for building your own chat bots using Artificial Intelligence Markup Language, or AIML for short.

Program-Y runs most of the time on my personal server, click Program-Y to chat.

About Program-Y

Program Y is fully cross-platform, 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
  • Comprehensive Tutorial and User Guide covering setup, configuration, running, AIML Grammar development and extending the core capabilities

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
    • Facebook
    • Slack
    • Hangouts
    • Telegram
    • Viber
    • LINE
    • Kik

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

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

Artificial Intelligence Markup Language

AIML is an XML language for specifying the contents of a chat robot character. An AIML Interpreter is a program capable of loading and running the bot, and providing the bot’s responses in a chat session with a human user, called the client.

Background and History

In a previous life, I help build a chatbot for an energy company to answer basic customer questions and a carry out a limited number of interactions on their account. I was hugely proud of the work myself and the team did, the bot was incredibly successfully, saving the company £1000's in customer support costs and was also nominated for a number of awards, once only being beaten by the Intel Team who created Stephen Hawkings voice system at the 2015 V3 Awards where it was nominated for Technology Project of the Year

That bot was based on a Python 2.x version of an AIML 1.0 interpreter that I converted to Python 3 and then heavily modified to support a wide range of additional features and capabilities needed as a Virtual Customer Service Agent. Most of which have now been added to AIML 2.0 spec. However no one has yet built a fully functional Python 3.x interpreter, hence this project.

Enjoy and please leave any feedback for me and I'll get back to you.

For a full tutorial on running, using and developing your own AIML Grammars go to Getting Started with YBot

If you are interested in the internals and how Y-Bot is constructed then check out the following page Y-Bot

Getting Help

Clone this wiki locally