Three years ago, I wrote a blog post talking about how I started exploring and experimenting with AI chatbot application development. In the end I found myself likely interested more in building AI chatbots for the web. When designing a chatbot, in order to have a natural human-like conversation, the chatbot needs a knowledgebase system that works like a “brain” to respond to particular conversation inputs.
After a while using elizabot.js, I started to feel that the knowledgebase markup language should be more simpler than JSON format. Without wasting my time digging into the source code and modify it, I opted to look for a better chatbot interpreter engine alternative. And then, I found two of them that can provide me a “more simpler solution” to program my bot brain, which they are BotML and RiveScript. After some researches, I decided to use RiveScript since it has more supports for different programming languages, good documentations and active contributions from its community. So, I have created two chatbot web app projects which are based on RiveScript interpreter engine; HelloBot and hnbot.
HelloBot - AI chatbot web app built using Jekyll
HelloBot is built using Jekyll and rivescript-js for the bot interpreter engine. HelloBot is live and currently being hosted using GitHub Pages for demo purpose. HelloBot contains terminal-like interface designed using Bootstrap, jQueryTerminal and jquery-mousewheel.
hnbot - AI chatbot web app built using Node.js and Socket.IO
hnbot is using a similar interface design with HelloBot, and the only difference is that hnbot is built based on Node.js and Socket.IO. Also similarly to HelloBot, hnbot’s interpreter engine is based on RiveScript NPM package.
- Sorry, I don’t have the online demo for this.
- Source code on GitHub
To run the demo locally, you need Git and Node.js installed, then run following commands:
git clone https://github.com/heiswayi/hnbot.git cd hnbot npm install npm start
Please note that these apps are just proof-of-concept, and I don’t have the time to design the bot brain for specific application purpose. If you’re playing with the demo, the bot brain is based on predefined samples.