Guide FloatChat

Floatchat- User Guid

Configuring Conversational Intelligence

1. Introduction

Various settings related to smart responses and bot conversations can be configured in the Settings section of the Train tab present on the left panel of the Floatchat platform.

configuring conversational intelligence

2. Settings

2.1 Related Matches

The Related matches is a capability that lets the bot provide not just the best response from the training data set but also other options that were under consideration and were close to the top match. 

This helps the bot to be more conservative by providing all the candidates which are similar to the user query, so that the user may select the exact option to continue forward.

configuring conversational intelligence

Once enabled –

Lorem Ipsum

– It lets you choose the prompt message that will be shown while displaying the related matches.

Maximum Related Matches to Show

– One can also set a limit for the maximum number of related matches shown to the user.

(The total number of options processed depends upon how many trained responses matched the query and the distribution pattern of their scores).

Related Matches Deviation

– Starting with the best match, one can also specify the range within which other matches would be considered as related.

configuring conversational intelligence

With respect to the options which are provided the query is chosen to be the text/title of the option. In case there are multiple variations for an FAQ set, the variation which is most complete and correct from a grammar perspective is selected for display. The correctness and completeness are determined by the algorithm based on the word patterns and semantics and are not customizable.

2.2 Conversational Context

Context is a very important aspect of a conversation that leads to a better understanding of the user’s statement of intent. Understanding the context from an NLP perspective for a chatbot is a critical requirement for providing accurate responses to users’ queries. 

Achieving context awareness at a system level is a complex capability to support and we have abstracted that completely to just a simple checkbox. The feature can be accessed and enabled by checking the Enable Contextual Response from the Settings section in the Train tab. It is disabled by default.  

How this works is whenever a query is asked by the user, the system processes the text as part of the standard NLP process pipeline and extracts the key terms which are relevant from a context perspective. 

Then, for the subsequent queries, the system tries to determine whether the terms which were persisted in the context add value to the query. It also determines whether it leads to a better response. If that is the case, then the system uses that value and provides the relevant response.

This is applicable for the entities as well which are extracted from the intents and those values are re-used wherever relevant to refine the responses.

2.3 Small Talk

Floatchat platform comes pre-packaged with its own small-talk engine. When you create a bot, this small-talk engine is automatically enabled and the bot would respond to some typical questions like “How are you doing?” or “Good morning”.This does not require any training and takes care of the basic responses. The responses can be re-trained by using the FAQ module and would override the pre-set responses. 

Tip: The Randomize messages node can come in handy to set a few variations of the responses to make the bot appear more natural and human-like.

Some small talk bot responses –User: How are you doing?Bot: Wonderful! Thanks for asking.User: Who are you?Bot: I am a virtual being, not a real person.

User: Good morningBot: Good morning! How are you doing today?

2.4 Block Text Input for Send Message With Options

This setting will disable keyboard input when clickable options are shown to the bot user.It is, however, exclusive to the Website Chatbots. 

2.5 Programmable Delay

You can set a configurable delay between the bot responses. This can be useful for cases where you would want the chatbot to be more human-like and natural in responding. Also, this allows the users more time to read through the messages before other messages interrupt the flow which makes for a better overall user experience.

If your bot has a number of sequential messages it would be recommended to utilize this feature and set an appropriate delay to help your chatbot users easily consume the content of the chatbot messages.

The delay can be set by going to the Settings section in the Train tab. There, the option for setting the “Bot Response Delay Duration” would be present. 

The maximum delay which can be set is 3 seconds. The delay interval can be given in steps of 0.5 seconds. There is no default response delay set for a bot and the value is 0.

configuring conversational intelligence

This controls the delay in response for all the bot responses without any distinction. The delay would be either between the user’s query and the first bot response or between subsequent bot messages in case the response consists of multiple messages or elements.

The delay can also be controlled at an individual message level. This can be achieved using the Pause Node in a bot flow. 

2.6 Spell Check

The bot will spell-check the user query if this is enabled.

2.7 Advanced Semantic Lookup

Enabling this configuration will activate an alternate matching engine to improve the response accuracy.

2.8 FAQ Autocomplete

Enabling this would provide the end user with a dropdown menu of frequently asked questions (FAQs) that are relevant to the keyword entered in the text box.

configuring conversational intelligence

This is how it appears to the end user:

configuring conversational intelligence

2.1 Related Matches

The Related matches is a capability that lets the bot provide not just the best response from the training data set but also other options that were under consideration and were close to the top match. 

This helps the bot to be more conservative by providing all the candidates which are similar to the user query, so that the user may select the exact option to continue forward.

The Related matches is a capability that lets the bot provide not just the best response from the training data set but also other options that were under consideration and were close to the top match. 

This helps the bot to be more conservative by providing all the candidates which are similar to the user query, so that the user may select the exact option to continue forward.

With respect to the options which are provided the query is chosen to be the text/title of the option. In case there are multiple variations for an FAQ set, the variation which is most complete and correct from a grammar perspective is selected for display. The correctness and completeness are determined by the algorithm based on the word patterns and semantics and are not customizable.

2.2 Conversational Context

Context is a very important aspect of a conversation that leads to a better understanding of the user’s statement of intent. Understanding the context from an NLP perspective for a chatbot is a critical requirement for providing accurate responses to users’ queries. 

Achieving context awareness at a system level is a complex capability to support and we have abstracted that completely to just a simple checkbox. The feature can be accessed and enabled by checking the Enable Contextual Response from the Settings section in the Train tab. It is disabled by default.  

How this works is whenever a query is asked by the user, the system processes the text as part of the standard NLP process pipeline and extracts the key terms which are relevant from a context perspective. 

Then, for the subsequent queries, the system tries to determine whether the terms which were persisted in the context add value to the query. It also determines whether it leads to a better response. If that is the case, then the system uses that value and provides the relevant response.

This is applicable for the entities as well which are extracted from the intents and those values are re-used wherever relevant to refine the responses.

2.3 Small Talk

Engati platform comes pre-packaged with its own small-talk engine. When you create a bot, this small-talk engine is automatically enabled and the bot would respond to some typical questions like “How are you doing?” or “Good morning”.This does not require any training and takes care of the basic responses. The responses can be re-trained by using the FAQ module and would override the pre-set responses. 

Tip: The Randomize messages node can come in handy to set a few variations of the responses to make the bot appear more natural and human-like.

Some small talk bot responses –User: How are you doing?Bot: Wonderful! Thanks for asking.User: Who are you?Bot: I am a virtual being, not a real person.

User: Good morningBot: Good morning! How are you doing today?

2.4 Block Text Input for Send Message With Options

This setting will disable keyboard input when clickable options are shown to the bot user.It is, however, exclusive to the Website Chatbots. 

2.5 Programmable Delay

You can set a configurable delay between the bot responses. This can be useful for cases where you would want the chatbot to be more human-like and natural in responding. Also, this allows the users more time to read through the messages before other messages interrupt the flow which makes for a better overall user experience.

If your bot has a number of sequential messages it would be recommended to utilize this feature and set an appropriate delay to help your chatbot users easily consume the content of the chatbot messages.

The delay can be set by going to the Settings section in the Train tab. There, the option for setting the “Bot Response Delay Duration” would be present. 

The maximum delay which can be set is 3 seconds. The delay interval can be given in steps of 0.5 seconds.

This controls the delay in response for all the bot responses without any distinction. The delay would be either between the user’s query and the first bot response or between subsequent bot messages in case the response consists of multiple messages or elements.

The delay can also be controlled at an individual message level. This can be achieved using the Pause Node in a bot flow. 

2.6 Spell Check

The bot will spell-check the user query if this is enabled.

2.7 Advanced Semantic Lookup

Enabling this configuration will activate an alternate matching engine to improve the response accuracy.

3. Types of Entities

IF you look at the drop-down for entity types, you would see a lot of options to select from. They can be categorized as built-in or system-defined entity types or custom-defined entity types [Custom Values option].

3.1 Built-in or System entities

These are the common entity types we have seen being used and handled as a separate types so that it is convenient for the bot admins to start using these right away for the standard use-cases. All options other than the Custom Values would fall into the Built-in or system entity types. Some of the notable ones are – Number, email address, phone numbers, date and time and its different variants

3.2 Custom entities

This is a special type of entity where you can define a type and then define values that are custom to your bot, organization or domain.

You can add the various values of a particular type in different rows, in case there are variations of a particular value, those can also be added by a comma separating those options.

In the example below, if you are building a bot for an online course site, courses will be a data type commonly used in various conversations. So, you can define the various courses listed out and then intents can be a linked-to request for a course also in which case the user input will be matched to

4. Entities usage

Entities can be associated with FAQs primarily to look for specific pieces of data/information from the user intent. You can define which entities to look for in the particular intent. You can also define which of the entities are mandatory for the intent to qualify. If those values are not retrieved, the bot will prompt the user to enter these and only then continue to the response resolution.

Entities can also be used specifically in the Request User data section to extract the values. You can also now request for multiple entities in a single query and then the bot will intelligently associate the values appropriately as per the defined types. In case the values are missed, they can be prompted again.

Once defined, these entities can be used to associate with an intent where the information will automatically be collected as per the entity definition and be tagged to that entity. To refer to the extracted values associated with an entity anywhere in a flow, you can just do that via {{context.booking_date}}.

As we mentioned earlier, entity values can be referred to by using double braces notation {{context.booking_date}}. Some of the entity types here are complex entities and have parts to the values they contain. You can refer to them by qualifying the entity name along with the specific part. Just to highlight this aspect, let’s say we were just interested to know or use the month value of booking_date above. We can do that by using {{context.booking_date.month}}. 

4.1 Scenario 

Query: How can I enrol for Machine Learning Course?

Now there may be the same procedure for enrolling in a set of subjects. Let’s say 

Database Management, Artificial Intelligence, Machine learning, Data Mining, and IoT. The procedure to enrol for each of them is the same. Instead of creating 5 FAQs, you can create an Entity of type Course with the name of all the courses in it. 

Creating an Entity Named Course. From Train Tab navigate to entities and click on ‘Add Entity

4.2 Deletion of entities

One should be very careful while deleting entities if they are being used in intent or in the paths. If these are deleted, it could lead to unstable flow behaviour or inconsistent values. Ensure that the entity to be deleted is not used anywhere in the flows or intents and then proceed for deletion.

4.3 Renaming of entities

Renaming of entities is allowed but there is a restriction that the entity must not be in use in intent or flow before, else again as is the case with delete, it might lead to inconsistent behaviour.

Scroll to Top