-
Notifications
You must be signed in to change notification settings - Fork 135
History
In a previous life I help build a chatbot for an energy company to help answer basic customer questions and a limited number of interactions I was hugely proud of the work myself and the team did, the bot was hugely 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
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. 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.
Unfortunately, the people in charge did not see ( or comprehend ) the value of long-term investment in the platform both to keep it relevant as new conversations were needed as the business grew and also as a team we became more experience in how our customers interacted with our platform. It's now a shadow of its former self, with poor comprehension and responsiveness
So I started from scratch and decided it was be a great experience to build an AIML 2.x fully compliant Bot, again in Python but built using proper software engineering standards and covered from day 1 by comprehensive unit and integration tests. This is Program-Y
Right now it implements about 100% of the AIML spec. This version also supports one additional grammar < extension >, which allows you to call native Python classes, similar in a way that the sraix tag works.
Over time I intend to write a full AIML 2.0 tutorial as well as comprehensive documentation for using this version of program-y
Enjoy and please leave any feedback for me and I'll get back to you. Keiff
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