Chatbot Experiments & Pseudo AI

Building BRB 0.1 

For some reason I have always been fascinated with the idea of having a conversation with an artificial intelligence. Talking with a sentient robot that knew me.  The way Luke Skywalker communicated with R2D2.  Perhaps the idea came from this childhood fantasy.

People will say Luke doesn’t really understand R2D2 and needs C-3PO to translate, but I’ll gloss over this for now just as I did as a kid.

So a few years back when there was a lot of hype about chatbots I got the idea to make an augmented reality chatbot that you could play games with. I actually built a prototype, or at least part of the pipeline. I created 3D assets in Maya, exported to Unity with the 8th wall plugin, then to Apple’s XCode, and finally to my iPhone.  I got it working, but realized the AR visual representation was just one tiny piece of such a massive undertaking. Another piece of the puzzle of course was the actual conversation part.

Cut to a few years later and I am now experimenting with the chat side of chatbots. There are currently many platforms on which to build the conversational end of a chatbot.

Now I didn’t spend hours researching and reviewing all the available platforms, instead I chose one that was free to start building. That platform was ManyChat. At its basic and least costly (free) version Manychat is a Facebook Messenger specific marketing tool designed to help businesses sell on Facebook.

Although I wasn’t necessarily looking to sell anything, I figured it was worth seeing what else it could do. My intended purpose was to create an entertainment style chatbot that could provide basic information about our animation studio and deliver a daily tidbit of information. An infotainment bot if you will. So using our studio mascot as the persona I set out to build Box Rocket Bot aka BRB. 

The platform itself requires no coding, basically you can design conversations by dragging and dropping dialog boxes and click to add response options, images and more.  To launch you must have a Facebook page that hosts your bot.

Creating a conversation flow chart

As I began building what is referred to as a “sequence” my vision of leveraging the latest advancements in AI to create a pseudo sentient being quickly gave way to the reality that the platform pretty much relied on a rule based approach. Meaning if there was no rule written for a specific conversation turn, the conversation would break, and when the bot breaks the user’s experience sucks. This makes the need to create a rigid happy path paramount, done best by guiding a user through dialog with predetermined answers via buttons and quick responses. What is lacking are the predictions. It’s just If/then statements. If a user says X, then the bot respond with Y. So no real artificial intelligence, probably not even using any natural language processing.

Now I am not knocking Manychat, as there are many marketers who use it successfully to hawk their wares, but using it to create an infotainment style bot that pushes daily doses of fun was not what it was designed for, and definitely not for having a multi-turn conversation with an AI personality. Now to be fair, after delving into a more machine learning based platform, currently there are not many chatbot platforms that allow it’s bots to answer questions it wasn’t programmed to answer. Not many are fully able to integrate the current state of AI, however this one comes close.

It’s a long video but if you watch the first few minutes you’ll get the idea.

Anyway I created my sequence and asked a few folks to test it and quickly became further disillusioned. One of the biggest roadblocks I discovered was no one uses Facebook messenger. Standard texts, or SMS, are preferred by most in my testing circle, and if they do use messenger it’s not the main way they communicate, so the bot’s messages were often missed.

These missed messages turned out to be the second roadblock because of Facebook’s rules regarding contacting users. To prevent marketing spam, a noble cause, they don’t allow a bot to contact a user after 24 hours from the last user initiated interaction. Basically if the bot pushes a message and the user does not respond within 24 hours, the conversation dies and the bot cannot send another message without potentially being flagged and its Facebook page shut down. The work around of course is you can pay Facebook to reach your users. So much for that noble cause! Switching the sequence to all SMS messages requires a cost per message, and as my first test I wasn’t ready to make the additional investment.

Despite not building the bot I first imagined, I built a version of our mascot that hopefully demonstrates some charm and provides a little entertainment value. If you’re curious please give BRB a spin! Just QR-read the image above, OR open Facebook messenger and type @BRSBot, OR visit his Facebook page and hit send message.

I am continuing with the bot experiments and currently building the next version of BRB on an open source platform that integrates real machine learning and natural language processing. Stay tuned for that one!