Today we created our very first chatbot . . . and it sucked, but it was hilarious!

It’s one thing to discuss and study how chatbots and messaging apps influence social media and business, but it’s another thing when you actually create one — and that’s what Linea Svendsen and I did today. We had an amazing time building our first chatbot. It wasn’t very intelligent, but here’s what we learned.

  • It was far easier to get started than we would have thought. All we used for our first test was Chatfuel (a chatbot platform) and a Facebook page. The best thing about Chatfuel was that the chat interface was simple to set up, and it was designed so that users do not need much of a technical background.
  • We quickly realized that the most difficult aspect of creating a chatbot is constructing the dialog tree to answer actual human inquiries. This, of course, is the part where machine learning and pattern-based data come in handy. For us, it almost turned into a game in which we had to strategize what move to make next — if we do this, then what do we do? This was also what made us realize how much the bot sucked. Its conversations with users were odd . . . and pretty amusing. We’re obviously not the first ones to encounter problems in developing a chatbot’s conversation skills. This article on Medium nicely summarizes many of the related issues.
  • We haven’t yet been able to automate data collection on the input we receive, so we will have to manually integrate what we learn. Obviously, we need to find a way to automate this. This technical aspect must be part of the initial rollout for a bot to succeed. Also, a feedback feature is critical for the success of such bots.
  • When building the dialog tree, we found that it was very easy to reach a conversational dead end. We repeatedly hit a point where we could go no further, the bot could not read our input, or there were no answers or options to loop us back into the “game.” This is easy to fix, but again, this will require more intelligent computing power.
  • Facebook allowed us to broadcast, schedule posts, and promote messages directly to those who had previously interacted with the bot through Facebook Messenger. This was somewhat surprising and definitely something we have to be very careful about. Bots should not intrude on or disturb people’s existing private conversations with our commercial interests.
  • When jumping into the world of chatbots, know your lingo! Some of the terminology we encountered today included the following: bot builder services, bot analytics, deep learning, conversational interfaces, conversational UI, bot experience, facial expressions, text understanding engine, machine learning, near-human accuracy, and natural language processor.

Until intelligent feedback loops and data collection occur on an accessible level, a hybrid approach between bots and humans is still needed. This will help ensure that interactions provide the user with a somewhat meaningful experience. To build something meaningful, it is necessary to have a semantic understanding of your audience or customers. Further, we think it’s very difficult to predict which format (e.g. emoji, gif, or text) is appropriate for communication. Regardless, your bot still needs to somehow express a personality, and that needs to be implemented from the start.

In preparing to create our chatbot, Linea and I found these resources and chatbots inspirational and helpful. They are definitely worth taking a look at.

Humani: Jessie’s Story (message-based game): 
Botwiki Tutorials
ChatBots: Create a Messenger chatbot with API.AI and Node.JS (course)

Related articles:
“11 rules to follow when building a chatbot”

“Introducing DeepText: Facbook’s text understanding engine”

“Udemy’s Jana Bergant talks chatbot development”

“How to build your best bot: the Bot Stack Compendium”

“5 tips for building the next great chatbot”