A chatbot is technology operating against a set of rules or artificial intelligence to simulate conversational engagement with customers via a chat interface on a website or mobile app. Websites and applications can deploy chatbots for sales, customer support, and other functions to streamline business processes.


#martechmondayIn November 2016, only six months after releasing the option of building chatbots into Messenger, Facebook’s VP of Messaging Products, David Marcus, announced that 34,000 chatbots had already been created for their burgeoning platform. That November, chatbot builders for marketers ones that didn’t require extensive software development expertise had only been on the scene for a few months.

Fast forward to today. With dozens of easy-to-use chatbot builders available, marketers can now create a chatbot in around 10 minutes. It’s no wonder that Microsoft’s CEO Satya Nadella proclaimed, “Bots are the new apps.”

What does this mean for the artificial intelligence of these chatbots?

Getting started with chatbot artificial intelligence

As explained in the section below titled “Perfect artificial intelligence,” creating a perfect AI for your chatbot should not be the goal. Instead, your goal should be to create an entertaining experience with enough AI to be a truly useful service for your customers. Generally, this means three things:

  1. Your chatbot needs to be able to understand the most commonly asked questions.
  2. Your chatbot needs to be able to provide answers to those questions.
  3. Your chatbot must do so in ways that wow the user (i.e., are easy to use and fun).

This article will get you started with each of these points. The first two, understanding and answering questions, will be covered in the sections below titled “Already existing sources for AI” and “Alternative sources for AI.” The third point, wowing your customers, is covered in the last section on “Perfect artificial intelligence.”

Before we get into the different sources for creating artificial intelligence, let’s take one step back and talk about the difference between AI and NLP.

What’s the difference between AI and NLP?

If you haven’t already realized, marketers and tech folk love abbreviations. NLP stands for “natural language processing.” When building your own chatbot it is important to know the difference between AI and NLP, because you’ll likely find yourself searching the web for information on how to do something with your bot to make it work the way you want. If you’re doing logic-related searches, such as how to make your bot respond to “menu of options” and “gluten-free menu” in different ways, then you’ll need to know the difference between AI and NLP.

I recently presented on building chatbots, at the Information Development World conference, and included the below slide. In short, you can see that AI is really just a broad way of saying that a system can do intelligent things. A good example of this is a refrigerator that has a tablet built into it, upon which you can check your daily calendar or add food items to your shopping list. In this instance, your refrigerator would be artificially intelligent.

AI and Natural Language Processing

Natural language processing is a subset of artificial intelligence. NLP is a system that can understand language. Any system that has NLP built into it can also say that it is artificially intelligent. NLP is tough to do, and unless you have significant resources to commit to your chatbot, you will not be putting true NLP into your chatbot. For example, if your refrigerator has an Amazon Alexa-type bot built into it, then you can talk to it, and it tries to recognize what you are saying and respond appropriately or take appropriate actions on your command. In this instance, you could say your refrigerator has NLP.

However, anyone who has used an Amazon Alexa knows that she is not perfect, and won’t understand everything you are saying. NLP is very tough to get perfect, and nobody has gotten there yet. That said, you can leverage AI in unique ways to make your bot seem like it has more of a personality, more understanding, and a greater depth of skills. This article is dedicated to helping you do that.

Already existing sources for AI (artificial intelligence) for making chatbots

Artificial intelligence projects have been around for a long time. Started in 1995, Alice is one of the oldest chatbot AI programs still being maintained. Alice is one of a dozen or so sources you can turn to for already-existing artificial intelligence that you can either borrow from or directly plug into your AI-driven chatbot.

Here are five sources I’d recommend you first visit to help you get started with chatbot artificial intelligence.

1. Alice

The Alice bot, created in 1995, has a fantastic set of chat logs that you can borrow from or import into your own chatbot. As one of the oldest chatbots still being maintained and updated, Alice handles conversations in a programmatic approach that is now one of the industry norms. AIML (artificial intelligence markup language) is a simple programming dialect for creating natural language in your chatbot. This very basic programming language is based on XML, which means it is easily readable and can be used by any chatbot builders, even if you are not using a platform that allows you to import AIML coded files.

Using Alice to make your own chatbot

In fact, one of the only chatbot-building solutions that accepts AIML files natively is PandoraBots (discussed below). If you’ve chosen to use a different chatbot-building solution, however, the AIML files provided by the Alice project can still be helpful in getting started. The Alice AIML language files are broken into 67 different parts and include conversational topics on such things as religion, humor, history, movies and emotions. You can download these files from a Google Code repository, and then open the individual files with a text editor to view the questions and answers. From there you can copy/paste them into the AI section of your chatbot builder.

2. Pandorabots

Pandorabots is a chatbot-builder for those with a little bit more coding experience, but it also has some excellent features for tying into already-existing AIML conversation sets. It has a free “playground” where you can somewhat easily build new bots. It isn’t as easy as Chatfuel or API.ai, but it can still be managed by those without any extensive programming experience.

Using Pandorabots as your chatbot builder

The real power and advantage of Pandorabots, however, is that with it, you can easily import AIML files to pre-populate your chatbot with knowledge created by other chatbot-builders. You can use the Alice AIML files discussed above, or you can pull in GitHub repositories that have been purposely built for Pandorabots. One of the main examples of these already existing GitHub libraries is Rosie. You can test out Rosie’s base conversational file here. It is quite impressive what she already knows and how far ahead you can get if you start with her already-existing AI files.

3. Dialogflow

Dialogflow (recently called API.ai, before Google renamed it) is a point-and-click chatbot-builder that requires very little programming knowledge. In fact, if you can launch a WordPress site on a server, you’ve likely got the background needed to create a bot on Dialogflow and launch it on Facebook Messenger, Slack or other chat platforms.

One of the real strengths of Dialogflow is that it has pre-defined knowledge packages you can easily toggle on or off for your chatbot. Available packages include such things as small talk, weather, news and wisdom.

Dialogflow does an excellent job of documenting how to use the functionality of the platform, including how to use their pre-defined knowledge “domains.” Because they list out code samples you could leverage if you’re getting into the programming side, it can appear daunting. Rest assured it is easier than it looks once you get into it.

4. ChatFuel

TechCrunch, one of the leading news sources for the latest on technology and startups, was recognized by Facebook as one of the best experiences on Facebook Messenger. Chatfuel, one of the easiest (and still feature-rich) chatbot builders available, has made much of the AI behind this TechCrunch chatbot available to Chatfuel users.

You can see from the below screenshot of the TechCrunch AI template that the template is robust and provides much of the small talk functionality your bot may need. It also provides you with the mechanisms you will need if you want to set up recurrent broadcasting or subscription services.ChatFuel's artificial intelligence chatbot template

To get started with this Chatfuel template, simply click on the “view all templates” drop tab to expand the “tutorial templates” section of the main dashboard. Then click on the “TechCrunch publisher template” to get started.

Featured templates in Chatfuel

5. HuToma

HuToma is a yet-to-release marketplace and AI trainer for chatbots. While this tool is still in pre-release, I’ve been following them closely the last few months and have been impressed with what I’m seeing. In the coming months, they will be releasing a solution that allows you to buy and sell chatbot artificial intelligence profiles, as well as train your own chatbots through a variety of means. For example, they are boasting a deep learning platform that will allow you to upload scripts from your own live chat customer support dialogues. Your chatbot can auto-analyze those conversations to create it’s own AI dialogues.

Here is an informative YouTube video that explains some of the power that HuToma is building into their system:

Alternative sources for informing your artificial intelligence chatbots

In addition to pre-packaged sources for getting your AI launched, you also have a few other excellent sources to help inform your AI. Here are three other sources I recommend you evaluate:

  1. Quora, the leading question-and-answer website, is one of several sources you can turn to to see what questions are being commonly asked and answered online. For example, let’s say you run a large auto repair chain and are trying to build a chatbot to answer questions concerning car repair. Peruse the auto repair topic on Quora for more than 3,000 questions that have already been asked. Seeing these question/answer conversations on sites like Quora, Yahoo Answers and other Q&A forums specific to your industry can help you identify the frequently asked questions your bot needs to cover.
    How to create your own chatbot
  2. Google Analytics and other website analytics tools allow you to evaluate the most viewed pages to determine which website content is being viewed most by your site visitors. Like the benefit of seeing the most frequently asked questions on Quora, having insight into your most viewed webpages will help you build the content into your chatbot.
  3. Your front-line employees provide one of the best resources for chatbot programming. For example, if you operate a restaurant, you would want to talk with your wait staff and maitre d’ to see what the most commonly asked questions are from guests. Front-line employees are also a great source for chatbot humor. You can ask your employees for any jokes they commonly hear from guests (or tell to guests) concerning your place of business. Inserting some of that humor into your chatbot will go a long way.

Common AI and Chatbot Questions

When evaluating artificial intelligence options for your chatbot, there are a lot of questions that may arise. In working with a dozen or so clients, several of the most frequently asked chatbot questions are:

Q: Which chatbot-builder platform has the best artificial intelligence and natural language processing?

A: There are two platforms which vie to be the best in AI and NLP: Microsoft Bot Framework and Google’s Dialogflow. Both of these systems have fairly robust and sophisticated natural language processing. However, Microsoft’s platform has a slight edge for a pre-built, ready-to-use NLP system. Dialogflow, though, still has a strong system and is considerably easier to use. If you’re looking for ease of use, I’d recommend Dialogflow. If you need the most powerful NLP and have some developers that can help setup your bot, I’d recommend Bot Framework.

Q: What is the easiest chatbot-builder to use?

A: As I mentioned earlier, Chatfuel is a very straightforward chatbot-builder. In fact, I’d peg it as the easiest of all builders — at least among the builders that have enough functionality to make them worth using. Another excellent contender for robust, yet easy to setup, is ManyChat. ManyChat and Chatfuel are both primarily for Facebook Messenger only.

Q: Where can I find examples of chatbots to stimulate some ideas?

A: Sometimes it can be powerful to see a few examples before jumping into a new project. Chatbot builds are no different. If you’d like to see some chatbot examples, and even try some out, I would recommend looking at BotMakers. BotMakers has a few dozen chatbot templates that you can evaluate and take inspiration from.

Perfect artificial intelligence

The Motley Fool reports that Facebook Messenger-based chatbots can’t fully answer a user’s questions 70 percent of the time. They go on to argue that this shows chatbots are premature and not ready for primetime.

I see it in a different light, though. Simply because something is new does not mean it needs to be perfect. Take, for example, the first iPhone — it had very little functionality, compared to what we currently enjoy in Apple phones. That doesn’t mean that the early iterations of the iPhone were flawed. They were just… early.

While we are building our chatbots, we must remember that we are not trying to trick human users into thinking they are talking with another human. Unless you have a lot of money to spend developing the artificial intelligence of your chatbot, it will likely fail the Turing test.

I don’t recommend trying to compete with the AI of Watson, which beat Jeopardy champion Ken Jennings, or of trying to match the computational expertise of Deep Blue, which beat the world champion Garry Kasparov at chess.

I do recommend creating a helpful and entertaining experience. For marketing purposes, you don’t need to trick people into thinking they’re talking with a human. Be honest with the fact that they’re talking with a bot. Make the experience entertaining, though, by infusing some humor and a bot personality that closely matches your brand.

For example, for my Provo Beach client, we are creating a bot named David Hasselhoff, that has a surfer dude personality. Because Provo Beach is a family-fun center in the heart of Utah, home to the LDS church, the chatbot is infused with phrases that play up the surfer dude mentality, as well as build on the Mormon culture. Phrases you’ll experience with David include “Totally Blessed Man!,” “Righteous!,” and other similarly themed responses.

Also see my post on How to Build a Facebook Chatbot in About 10 Minutes, if you’re ready to dive right in and test chatbots out.