What makes up a chatbot
Chatbots are made up of 4 core components that are required for the chatbot to work properly and efficiently.
- Keywords: Route customers through dialogs based on inputs and callback value mapping
- Attributes: Capture the information you need about users and store them in attributes to use in chats
- Intents: Create aims behind various stages of the customer journey, helping it where to go next
- Dialogs: Add content and background logic to steps of the customer journey with channel elements
Keywords are crucial words used to recognize the further path of the dialog. Through keywords, you are able to configure and branch the dialog depending on different queries or responses that your end users might have.
In order for the keywords to perform as helpfully as possible, you need to configure the possible synonyms those words might have so that the chatbot can recognize them even when the end users do not respond as you anticipated they would.
For example, if you expect your end user to respond with a number, any synonym you enter here for that number will be recognized as a valid answer, and the chatbot will know how to proceed with the conversation.
Learn more about keywords
Attributes act as your standard and customized data objects to capture and store information about the end user conversing with your chatbot. This ultimately provides context to the conversation and can be set to apply at local or global level.
Attributes allow your chatbots to learn and understand more about what end users are getting in contact for, and by storing those values, you can reference them throughout the conversation as well as set conditions against them.
There are different types of attributes you can create depending on whether you are looking for a fixed value, or named entity recognition. You can also configure attributes with degrees of security by marking attribute values as sensitive making them unavailable to agents should the chat be passed over to a human.
Fixed attributes are standard data objects which are already part of every chatbot as basic information about end users. They are not selectable in the list of attributes type and do not need to be created separately as they are already available when building dialogs.
Learn more about fixed attributes
Custom attributes, or NER lists, are used to add and capture custom elements using named entity recognition. Chatbots using customer NER lists are capable of recognizing not only standard fixed and NER attributes but have the added layer of recognizing other entries.
For example, if a customer responds to a chatbot question with two options, and those options are in the NER list assigned to that attribute, the chatbot will be able to process the response and store that information as part of the dialog against that custom attribute.
Only exact matches are recognized, including lower and upper case letters
Once you have created your custom attributes you will be able to select them in the NER attributes list under type. Note that NER list items should be entered in the exact format you expect to receive them.
Mobile originated messages, or MO, means that messages came from end users' mobile devices. These can be all types of messages from simple text to images, video, etc. Use MO attributes in cases where you are expecting end users to send you a message or attachment from their mobile device, for example a file.
Note that not all MO attributes are not supported by all channels.
Learn more about MO attributes
Named entity recognition
Extract more from your conversations using NER attributes and use them in combination with intents. NER attributes are part of machine learning-enabled chatbots and are used to capture more information about your end users when they are responding with unstructured text.
By capturing values through NER attributes, you can classify them into standard data types.
Learn more about NER attributes
Intent is the goal behind the user input, in other words, the reason why the end user is starting the conversation with the chatbot. It comes down to what type of information is the end user after and this is something a good chatbot can figure out from the conversation outset and thus handle the conversation accordingly.
In the example below you can see a sentence broken down into separate categories. The intent is to learn the account balance. The entity mentioned below explains for which account does the end user require the status.
When training the chatbot, bear in mind that you should use both single words (most important words for intents) and training phrases (some of which should contain those important words). Important words are words that belong logically to that intent and appear in the training phrases.
You can add all synonyms for your important words so that those words will also be treated the same if a user uses a variation of the same intent. This allows you to have a wider field of vocabulary covered without having to create lots of separate important words or training phrases.
Training phrases are used in tandem with important words in AI-driven chatbots.
You'll need to add a minimum of 50 training phrases to the intent to allow them to work minimally properly.
Start adding intents
Dialogs are used to design the whole conversation logic between the chatbot and users conversing with it. They are made up of many different channel elements which themselves can be configured according to chatbot specification.
Dialog routing can be set up in many different ways, but generically they either follow the keyword-driven or intent-driven model.
Dialog grouping allows you to group your dialogs by type. For chatbots which are larger and are capable of carrying out a lot of functions, use groups to separate these.
In order to facilitate the extraction of values and dynamic generation of content, we introduced a templating language – Liquid - to the Answers platform.
Liquid is a templating language with simple markup, made so that users can edit it.
Liquid code uses objects, tags, and filters in a template which is then rendered and the content is dynamically shown. Template is any message you create that contains templating language elements.
Protect specific parts of the chat by authenticating the required dialogs. This works by rerouting to users in the background to an authentication dialog which will be set up with
With session authentication enablement, you can protect some parts of your chatbot by restricting access to some of the dialogs. These dialogs can then contain sensitive data that is not publicly available.
It works by redirecting a user to the authentication dialog where they can authenticate themselves if they reach dialogs that are restricted without a session being authenticated.
Start building dialogs
Channel elements are the most granular components that makeup chatbots. There are numerous different types of elements and all have their own individual function depending on how you are building dialog logic.
Channel element availability varies per channel as some channels support more and some less when it comes to content type. Some elements are even exclusive to one channel as they can offer services that no one else is doing.
Learn more about channel elements