<img src="https://images.squarespace-cdn.com/content/v1/58f645cae58c62dbeca6bc2c/1603993956791-LI4FKQO2EZMCN4ZRRPLY/image-asset.png" alt="" />
One of the most common questions I get from potential customers is how smart the chatbot is, or if it is able to respond to free text. In this article, I will explain how SmartBot360 tackles the problem of chatbot intelligence, by offering multiple solutions, which can be combined to create a robust chatbot experience.
The solutions that I will describe are available to all SmartBot360 accounts, including free trial accounts. In most cases, a SmartBot360 agent helps set up these solutions, as some of them can get tricky.
1. Multiple Choice (or Yes/No) with no option for free text input.
Here is how to achieve this behavior in SmartBot360’s Bot Builder.
<img src="https://images.squarespace-cdn.com/content/v1/58f645cae58c62dbeca6bc2c/1603897835367-6KCV0LFI5WLU7ZQFGGKP/image-asset.png" alt="" />
This is the simplest choice, but surprisingly popular for many applications. Not checking the checkbox is a bad idea if the chatbot is not set up to handle free text, as shown below, because the chatbot would just respond “Sorry I didn’t get it”, which constitutes bad user experience.
2. Text-Match: Keyword Containment
The next level of intelligence is to check if the user’s utterance matches or contains a given list of words or phrases. In the below example, if the user’s utterance is “insurance” (which is also a quickreply as shown on the left) or contains the words “anthem” or “aetna”, the flow goes to the top message box.
<img src="https://images.squarespace-cdn.com/content/v1/58f645cae58c62dbeca6bc2c/1603994086647-VATCET66YOGP3JP8DY5Q/image-asset.png" alt="" />
3. Approximate Text-Match
The next level is to expand to approximate matches. SmartBot360 supports 3 types of approximate matching, as shown below:
approximately equals: checks if the user’s utterance is just a couple of characters different from the condition, for example, if the user types “insurace” instead of “insurance”.
approximately contains: checks if the user’s input contains a substring that is approximately equal to the condition. For example, the user says “I want to make an apointment” approximately contains “appointment”.
semantically matches: this uses AI (specifically, deep learning) to check if the meaning is similar. For example, the user may type “university” instead of “college”. Note that this works with whole phrases too, not only a single keyword.
<img src="https://images.squarespace-cdn.com/content/v1/58f645cae58c62dbeca6bc2c/1603897903890-ZJDZBZLRZ9V29CLW319U/pasted+image+0+%281%29.png" alt="pasted image 0 (1).png" />
4. Use a “catch-all” set of questions to catch unmatched user utterances.
Consider the above diagram. If the user types “What are the hours?” the bot would normally say “Sorry, I didn’t get it”. SmartBot360 allows to link the chatbot to a list of questions and answers (FAQs), which are searched when the diagram does not have a match.
To enable this, one has to first upload a list of FAQs, creating an FAQ chatbot, and then link this FAQ chatbot to the current flow diagram chatbot, as shown below.
<img src="https://images.squarespace-cdn.com/content/v1/58f645cae58c62dbeca6bc2c/1603994019306-BKNS7YYW2Y97EM2MFZ47/pasted+image+0.png" alt="pasted image 0.png" />
Read more details on how catch-all works.
5. Switch to chit-chat if everything else fails
Continuing the above example, if there is no question the FAQ bot related to “What are the hours?” then instead of saying “Sorry I didn’t get it”, SmartBot360 offers another option, which is to have a “chit-chat” engine respond (see above picture). For example, the response may be “Why do you want to know” or “Keep going” or something else. These responses are not useful but their goal is to keep the user engaged to minimize drop-outs.
6. Document Search
This feature is currently being released by SmartBot360. Specifically, a chatbot may search a set of documents (for example, the pages of a web site) for relevant content to respond to a user utterance. This feature is more relevant to customer service applications.