Having helped build several dozen chatbots over the last two years, I’ve come to understand that a multifaceted evaluation of the natural language processing and artificial intelligence options available to your chatbot requires that you be able to answer a few key questions:
- What is the difference between artificial intelligence, natural language processing (NLP), and conversational interfacing (CI)?
- Does my bot need full on NLP or is AI sufficient?
- What platforms can I use to more easily program my chatbot with NLP?
- Are there easier chatbot-building platforms that I can mix with more complex NLP platforms?
AI isn’t what you think it is.
Artificial intelligence is an increasingly popular buzzword but is often misapplied when used to refer to a chatbot’s ability to have a smart conversation with a user. Artificial intelligence describes the ability of any item, whether your refrigerator or a computer moderated conversational chatbot, to be smart in some way.
If your refrigerator has a built-in touchscreen for keeping track of a shopping list, it is considered artificially intelligent. Thus, to say that you want to make your chatbot artificially intelligent isn’t asking for much, as all chatbots are already artificially intelligent.
The difference between AI, NLP, and CI
Instead of asking for AI, most marketers building chatbots should be asking for NLP, or natural language processing. Natural language processing is the ability for your chatbot to listen to a users input, process the input and match the conversational intent of the user to an answer that has been pre-programmed into the chatbot.
Basic chatbots require that a user click on a button or prompt in the chatbot interface and then return the next part of the conversation. This kind of guided conversation, where a user is provided options to click on to progress down a specific branch of the conversation, is referred to as CI, or conversational interfacing. True NLP, however, goes beyond a guided conversation and listens to what a user is typing in, and matches based on keywords or patterns in the user’s message to provide a response.
What to choose, NLP or AI?
Because all chatbots are AI-centric, anyone building a chatbot can freely throw around the buzzword “artificial intelligence” when talking about their bot. However, something more important than sounding self-important is asking whether or not your chatbot should support natural language processing.
NLP is tough to do well, and I generally recommend it only for those marketers who already have experience creating chatbots. That said, if you’re building a chatbot, it is important to look to the future at what you want your chatbot to become. Do you anticipate that your now simple idea will scale into something more advanced? If so, you’ll likely want to find a chatbot-building platform that supports NLP so you can scale up to it when ready.
Which chatbot platforms provide the best NLP functionality?
In an earlier ClearVoice post that covered sources for building chatbot artificial intelligence, I covered several ways to get the content you’d need for programming in artificial intelligence and natural language processing. However, since writing that post I’ve had a number of marketers approach me asking for help identifying the best platforms for building natural language processing into their chatbots.
As such, in this section, we’ll be reviewing several tools that help you imbue your chatbot with NLP superpowers. As the chatbot building community continues to grow, and as the chatbot building platforms mature, there are several key players that have emerged that claim to have the best NLP options. Those players include several larger, more enterprise-worthy options, as well as some more basic options ready for small and medium businesses.
Because the complexity of building the bot should be one of the primary points a prospective bot builder evaluates, I’ve listed the below chatbot platforms in order of complexity, from the easiest to use first, moving on to the most complex of NLP featured systems last.
If you’ve shopped around for a point-and-click (no coding experience needed) chatbot builder, you’ve likely come across two tools over and over again: Chatfuel and ManyChat. Both platforms have their own unique advantages. I often find myself drawn to ManyChat for the slight advantage it gains for “growth tools” – ways to get people into your chatbot from your website and Facebook – but when it comes to NLP Chatfuel is the winner. ManyChat’s NLP functionality is basic at best, while Chatfuel does have some more robust functionality for handling new phrases and trying to match that back to pre-programmed conversational dialog.
Chatfuel is a great solution because of how easy it is to get started and because it does offer some rudimentary NLP you can leverage with an early bot. After your bot has matured some, Chatfuel’s platform plays nicely with DialogFlow so that you can leverage some of the best NLP there is, within Chatfuel’s easy point-and-click environment.
Most suitable for: Small to medium companies just getting started.
With the voice-enabled Google Home product line, and the potential there for much of the world’s searches to be done via voice in the future, Google has a lot at stake with the progress of natural language processing. As such, Google acquired API.ai and rebranded it as DialogFlow. Previous to the acquisition API.ai was already one of the best sources for NLP, and since the acquisition has only increased in functionality and language processing capability.
DialogFlow is relatively easy to use, with much of its interface being point-and-click. Though not as intiutive as Chatfuel or ManyChat, it still can be leveraged by those with zero coding ability. Though a more simple solution that the more complex NLP providers, DialogFlow is seen as the standard bearer for any chatbot builders that don’t have a huge budget and amount of time to dedicate. As discussed below, the ability to interface Chatfuel and ManyChat with DialogFlow only further ensures that Google’s platform will be getting smarter and be a primary go-to source for NLP in the years to come.
Most suitable for: Medium to large enterprises, especially those planning to leverage the Google Assistant/Home ecosystem.
Some chatbot-building platforms support AIML (artificial intelligence markup language), which gives those platforms a leg up when it comes to finding free sources of natural language processing content. While leveraging sets of already existing information inside of a platform like DialogFlow is enticing, with AIML being around for decades before DialogFlow, it has a robust collection of scripts you can borrow from to make your chatbot more intelligent. AIML is, however, more antiquated and so your mileage will vary.
If you’ve found some AIML code that you’d like to use to make your chatbot more intelligent, I recommend you take a look at PandoraBots, one of the few platforms that can boast a point-and-click interface that also works with AIML. In short, PandoraBots allows you to get some robust NLP from AIML, without having to do the hard coding that is required for the Superman villain sound-alike lex or Luis.
Most suitable for: Medium-sized enterprises that already have AIML code they want to use.
4. Amazon lex
If your bot needs to interface with voice, than Amazon lex is the NLP provider for you. It not only can understand natural language, but has the best-in-class, automatic speech-recognition engine for converting speech to text and then being able to recognize the intent of the user’s command, question, or dialog.
Most suitable for: Medium to large enterprises needing voice query support.
Not to be outdone by Google or Amazon, Microsoft has it’s own NLP offering called Luis, short for Language Understanding Intelligent Service. Similar in structure to DialogFlow, Luis uses intents and entities to programmatically match user provided dialog with the best responses. One area Luis aims to differentiate itself is in more relaxed conversational dialog. In addition, Luis is able to be more relaxed in it’s responses.
An early iteration of Luis came in the form of the chatbot Tay, which lived on Twitter and became smarter with time. Within a day of being released, however, Tay had been trained to respond with racist and derogatory comments. The apologetic Microsoft quickly retired Tay and used their learning from that debacle to better program Luis and other iterations of their NLP technology. If you need the most active learning technology, then Luis is likely the best bet for you. You’ll need to make sure you have a small army of developers too though, as Luis has the steepest learning curve of all these NLP providers.
Most suitable for: Large enterprises desiring a chatbot that can actively learn and evolve.
Can I use an easy chatbot builder and leverage NLP from a more complex system?
One point I’ve made time and time again with clients and friends in the marketing space is that you shouldn’t try and trick your chatbot users into thinking they’re talking with a human. The main reason for this is… You’ll fail.Unless you've got deep pockets and gobs of time, the best chatbot you can build is one that doesn't try to trick users into thinking they're chatting with a human. #AI #chatbot #martech @MarTechBen Click To Tweet
That said, if you anticipate starting with a more basic bot and then building in some more advanced abilities down the road, you may want to consider a chatbot-builder platform that enables you to scale up to support NLP. Planning to put NLP in your bot down the road is not the same as saying that you’re going to, at some future date, try to trick your audience into thinking your bot is a human operator. On the contrary, clearly stating at the beginning of the conversation that the bot is actually a bot, sets expectations lower. Then, if your chatbot can provide some natural language handling it’ll seem incredibly smart!
So, what can you use to easily build your chatbot now, and then scale it in the future to support natural language processing? I encourage you to look at two of the most popular point-and-click chatbot builders: Chatfuel and ManyChat.
Integrating Chatfuel with DialogFlow
Chatfuel, outlined above as being one of the most simple ways to get some basic NLP into your chatbot experience, is also one that has an easy integration with DialogFlow. DialogFlow has a reputation for being one of the easier, yet still very robust, platforms for NLP. As such, I often recommend it as the go-to source for NLP implementations. Thus, the ability to connect your Chatfuel bot with DialogFlow makes for a winning combination.
While you can integrate Chatfuel directly with DialogFlow through the two platform’s APIs, that can prove laborious. Thankfully there are several middleman platforms that have taken care of this integration for you. One such integration tool, called Integrator, allows you to easily connect Chatfuel and DialogFlow. As you can see from this quick integration guide, this free solution will allow the most noob of chatbot builders to pull NLP into their bot.
Integrating ManyChat with DialogFlow
Because of the ease of use, speed of feature releases and most robust Facebook integrations, I’m a huge fan of ManyChat for building chatbots. ManyChat has some very basic NLP functionality. In short, it can do some rudimentary keyword matching to return specific responses or take users down a conversational path.
What it lacks in built-in NLP though is made up for the fact that, like Chatfuel, ManyChat can be integrated with DialogFlow to build more context-aware conversations. Here is a guide that will walk you through setting up your ManyChat bot with Google’s DialogFlow NLP engine.