What does the Dialogue Manager do?
If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.
- Getting Started
- Bot Building
- Conversation Design
- Developer Guides
- Agent Setup
- Analytics & Reporting
- Troubleshooting Guides
- Release Notes
Dialogue Manager is the decision-making engine of the conversational pipeline. Since the conversational engine consists of multiple modules, the Dialogue Manager makes a choice on what’s the best module to respond to the user's query. Some of the modules present in Haptik’s conversation pipeline are - Graph Steps, FAQ Steps, Small Talk, etc.
Dialogue Manager functions on a pre-decided algorithm. Hence, for a bot builder, Knowledge of the algorithm helps at times in Bot Building and making decisions around the bot architecture.
The algorithm used by the Dialogue Manager to respond to User Utterances differs slightly in cases where a user has sent a new message to start a conversation and when the user has already started a conversation and has sent a new message to continue it further. SECTION 1 covers the former, while SECTION 2 covers the latter.
A new Chat can begin either at the beginning of a new session or when a user continues the chat after a previous chat has been completed i.e when an IVA reaches END STEP.
The FLOWCHART 1 below shows the order of prioritization in responding to the User above scenario.
Some illustrations below depict the algorithm in action.
Illustration 1 - Images below contain two steps - FAQs Founders of Haptik and START STEP About Haptik.
When a new User utterance "Information on Founders of Haptik" is received to start the conversation, all the START STEPS and FAQ STEPS are collectively scanned by the IVA, as shown in FLOWCHART 1. The response is sent from FAQ STEP Founders of Haptik since it’s the best match.
Illustration 2 - When a new User Utterance arrives, the SMALL TALK Module can also be used to respond. However, Small Talk is considered for a response if the IVA couldn’t find an appropriate START STEP or FAQ STEP to respond.
The two images below contain a START STEP Tell me a joke step and SMALL TALK intent SHARE_JOKE.
When the User Utterance "Tell me a joke" was received, the IVA scanned for all (START STEPS + FAQ STEPS). Since a START STEPS Tell me a joke step was present, it was selected for response and not the SMALL TALK intent SHARE_JOKE, even though the User Utterance was closely resembling the SHARE_JOKE Intent.
The same has been depicted in FLOWCHART 1.
Illustration 3 - When the IVA doesn’t find any relevant START STEP or FAQ STEP to respond to the User Utterance, it scans the SMALL TALK module for relevant intent. The intent of the User’s Utterance should find a match in SMALL TALK Module for the response to go from SMALL TALK Module.
The image below contains a SMALL TALK intent FESTIVAL_INDEPENDENCE.
When the User Utterance "Happy independence day" was received, the IVA scanned all the (START STEPS + FAQ STEPS) for a relevant response. Since it couldn’t find the same, it subsequently looked for a match in the SMALL TALK module. An intent matched in the SMALL TALK module and was selected to respond.
The algorithm is illustrated in the diagram below -
Through various illustrations hereafter, the above algorithm has been shown in action.
Illustration 1 - The User had already started a conversation and asked an FAQ in the middle of a conversation.
The below images show the User messages on the FAQ STEP Founders of Haptik. Also shown is a DEPENDENT STEP Haptik Location connected to the About Haptik START STEP.
As shown in the image below, the conversation started with User Utterance "About Haptik" and correctly got responded by About Haptik START STEP, as per FLOWCHART 1.
When the second User Utterance “but who are founders of Haptik?” was received, the IVA scanned for (DEPENDENT STEPS + FAQ STEPS) collectively to pick the right STEPS to respond. The FAQ STEP Founders of Haptik was selected for responding to the User Utterance, as shown in FLOWCHART 2.
As a side note, the capability of FAQ Steps can be seen here as well. When the next User Utterance “ok tell me the location of haptik” related to initial message flow was received, the IVA picked the original context and re-started conversation from the Haptik Location STEP.
NOTE - The FAQ Step should not be marked as an end step, if the IVA is expected to retain the context of the conversation. If the FAQ STEP is marked as an END STEP, the IVA will mark the conversation as complete and lose context.
Illustration 2 - Another illustration shows how the algorithm functions when the User has already started a conversation and asked an FAQ in the middle of a conversation.
The below images show the conversation flow from Funding of Haptik START STEP. It also shows the User messages on Founders of Haptik FAQ STEP.
The conversation started with a User Utterance "Funding of Haptik". It was responded from Funding of Haptik START STEP.
The next user utterance “I want to know more about it” was responded to by Tell me about funding DEPENDENT STEP.
The IVA scanned all (DEPENDENT STEPS + FAQ STEPS) as shown in FLOWCHART 2 and found Tell me about funding STEPS the best DEPENDENT STEP to reply.
The next User Utterance asked about an FAQ "but who are the founders of Haptik?". The response was given from the FAQ STEP Founders of Haptik.
Here, the IVA again scanned all (DEPENDENT STEPS + FAQ STEPS) and found Founders of Haptik as the best FAQ STEPS to respond.
As a side note, the capability of FAQ Steps can be seen here as well. When the next User Utterance “ok investors?” was received, it was responded from the DEPENDENT STEPS Investors of Haptik which was the last step in the original flow.
Illustration 3 - IVA scans for START STEPS again if a relevant DEPENDENT STEP or FAQ STEP is not found.
Below is the GRAPH STEP structure and the User messages present on both Careers at Haptik START STEP and Funding of Haptik START STEP.
Funding of Haptik Step
Careers at Haptik
The User utterance "funding of haptik" was responded from the Funding of Haptik START STEP.
The User Utterance "Yes, I want to know about it" was responded to by "Tell me about funding" DEPENDENT STEP.
Next, when the User Utterance "are there any jobs available at haptik" was received, the IVA tried scanning all the (DEPENDENT STEPS + FAQ STEPS). When it didn’t find a relevant STEP to respond from, it scanned all START STEPS again, as shown in FLOWCHART 2. Hence, Careers at Haptik START STEP was selected to respond.
Illustration 4 - In the middle of a conversation, IVA would prefer to search START STEPS again, over SMALL TALK.
Below images show the STEP structure and Tell me a joke START STEP.
The User Utterance "funding of Haptik" was responded from the START STEP Funding of Haptik. Next, the User Utterance "Yes, I want to know about it" was responded to by Tell me about funding DEPENDENT STEP.
However, when the User Utterance “tell me a joke” was received, the IVA couldn’t find suitable (DEPENDENT + FAQ) steps for responding. Hence, it scanned all START STEPS again and found Tell me a joke START STEP.
Even though the user Utterance “tell me a joke” had a suitable match in SHARE_JOKE SMALL TALK intent, a START STEP was given preference in responding.
However, in the User Utterance "ok bye", the IVA couldn’t find any (DEPENDENT + FAQ) STEP or START STEP to reply from. Hence, SMALL TALK Intent END_CHAT was selected to respond.
Illustration 5 - FAQs DURING ENTITY COLLECTION - The User can ask FAQs in the process of collection of entities as well. Once the IVA asks for the entity value, the user may choose to ask an FAQ instead of giving entity value. The IVA while answering the FAQ, will retain the context of the conversation. If the User then provides entity value after getting response from the FAQ STEP, the IVA will contextually relate the entity to the original response and complete the flow.
The below images show an entity being collected on the Careers at Haptik START STEP.
Below image shows a FAQs of Founders of Haptik and it’s User messages.
As shown in the image below, when the User Utterance “Is haptik hiring for any jobs?” is received, the Careers at Haptik START STEP is selected to respond to the query.
When the next User Utterance “But tell me who are the founders of Haptik” was received, IVA collectively scanned for all the (DEPENDENT STEPS + FAQ STEPS) and the FAQ STEP Founders of Haptik was selected to respond.
Next, the User Utterance provided the entity value Bangalore, which the IVA had asked in the previous response. The IVA detected the entity value, contextually linked the response to the original Careers at Haptik journey and responded to the user.
As a corollary, one more conclusion can be drawn here w.r.t the behaviour of the entity re-prompt.
Coming back to the illustration, in the User Utterance “But tell me who are the founders of Haptik”, the entity value was not present. However, Entity re-prompt was not sent out and the scanning of (DEPENDENT STEPS + FAQ STEP) was given priority over the entity re-prompt, as shown in the FLOWCHART 2.
Directly, CODE STEPS are not used to respond to the User Utterance. Hence, they are not under the purview of the Dialogue Manager. Dialogue Manager only ensures that the entities required by the START STEPS connected to the CODE STEPS are collected efficiently.
Once entities are collected, the CODE STEPS is triggered. At this juncture, the Dialogue Manager comes out of the picture and only comes into the picture when the next User Utterance arrives.
From the Dialogue Manager perspective, the illustrations mentioned in the above two sections cover the functionality of the OUTPUT STEP as well.
If an OUTPUT STEP has been marked as an END STEP, the next User Utterance will fall under SECTION 1 mentioned earlier. If the OUTPUT STEP has not been marked as an END STEP, the User Utterance will fall under SECTION 2.