-
Notifications
You must be signed in to change notification settings - Fork 135
Home
Version 3.0 has been released to master.
This version includes a number of major changes including
- Alexa Client
- Web Socket Client
- New Storage Engine
- BY unifying all I/O, we are able to provide support for a wide variety of storage options including
- SQL (MySQL, Aurora, Postgres, SQL Server etc )
- NoSQL (Redis, Mongo)
- File System
- Logger
- BY unifying all I/O, we are able to provide support for a wide variety of storage options including
- Persistent conversations across clients
The biggest change is the directory structure for all files. This has been designed to support the various storage mechanisms now in place. Typically this means moving all you files from what was called 'config' folder to a more appropriately named 'storage' folder and associated sub folders. For full details of how to convert your bot to v3, see Converting to V3
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.
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
- Google Hangouts (XMPP)
- SMS
- 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
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.
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
- Email: [email protected]
- Twitter: @servusai
- Facbook: servusai
- Slack: servusai
Email: [email protected] | Twitter: @keiffster | Facebook: keith.sterling | LinkedIn: keithsterling | My Blog
- Home
- Background
- Guiding Principles
- Reporting an Issue
- Installation
- You And Your Bot
- Bots
- Clients
- Configuration
- AIML
- Sentence Splitting
- Natural Langauge Processing
- Normalization
- Spelling
- Sentiment Analysis
- Translation
- Security
- Hot Reload
- Logging
- Out of Band
- Multi Language
- RDF Support
- Rich Media
- Asynchronous Events
- Triggers
- External Services
- Dynamic Sets, Maps & Vars
- Extensions
- Pre & Post Processors
- Custom Nodes
- The Brain Tree
- Utilities
- Building It Yourself
- Creating Your Own Bot
- Contributing
- Performance Testing
- FAQ
- History
- Website