Conversation Flow
Overview
A conversation flow determines how it interacts with users and navigates between different conversation paths.
This section provides a step-by-step breakdown of how the chatbot starts, processes user input, and determines the next node in the conversation.
How Does the Conversation Flow Start?
The chatbot’s flow is initiated when the user types the first message, unless the chatbot has been set to proactive mode.
If proactive mode is enabled, the chatbot initiates the conversation. If proactive mode is disabled, the chatbot waits for the user to send the first message. Once triggered, the chatbot typically starts at the top node of the flow, which is usually named “Greet”.
How the Chatbot Determines the Next Node?
After starting at the Greet Node, the chatbot follows a structured process to determine the next appropriate node based on the user’s input.
Decision-Making Process:
1. Check for Small Talk Matches
The chatbot first evaluates whether the user’s input matches Small Talk Nodes (e.g., “Hello,” “Thank you,” “Goodbye”).
If a match is found, the chatbot proceeds to the corresponding Small Talk Node.
2. Check for Global or Q&A Node Matches
If the input does not match Small Talk Nodes, the chatbot then checks for Global Nodes or Q&A Nodes.
If a match is found, the chatbot directs the conversation to the corresponding Global or Q&A Node.
3. Evaluate Child Nodes of the Current Node
If no match is found in Small Talk, Global, or Q&A Nodes, the chatbot evaluates the child nodes of the current node. This process involves multiple steps:
a) Verify Node Requirements
The chatbot checks if all requirements listed for each child node are met (e.g., authentication checks, conditional logic).
If any requirement is not met, that node is assigned a score of zero and is skipped.
b) Compute a Raw Score for Matching
The chatbot calculates how closely the user’s input matches each child node.
If a classifier is used, Example-Based Matching is ignored.
c) Adjust the Raw Score Based on Weighting
The chatbot applies matching weights to fine-tune the selection process.
d) Select the Node with the Highest Score
The chatbot moves to the node with the highest adjusted score, ensuring the most relevant response is chosen.
Visual Representation of Conversation Flow
Summary of Conversation Flow Decision Logic
Step | Decision Process |
1. Small Talk Nodes | If the user’s input matches a small talk phrase (e.g., “Thank you”), the chatbot goes to the corresponding Small Talk Node. |
2. Global or Q&A Nodes | If no small talk match is found, the chatbot checks for matches in Global or Q&A Nodes. |
3. Evaluate Child Nodes | If no match is found in previous steps, the chatbot assesses child nodes of the current node. |
4. Verify Requirements | Checks authentication and any conditions before proceeding. |
5. Compute Matching Score | The chatbot calculates how well the user’s query matches each child node. |
6. Adjust and Select Node | The chatbot applies weight adjustments and moves to the highest-scoring node. |
Choosing Among Multiple Matching Child Nodes
If multiple child nodes have a matching score above the threshold (as defined in the chatbot’s Basic Configuration), the chatbot follows these rules:
- The Node with the Highest Score is Chosen
The chatbot selects the child node with the highest confidence score based on input matching. - Tiebreaker: Flow Order
If two or more nodes have identical scores, the chatbot selects the node that is placed higher in the flow structure.
While this scenario is uncommon, it can happen when multiple child nodes have similar matching conditions. - Optimizing Matching Logic
If the chatbot frequently selects a node based on flow placement rather than relevance, consider adjusting node thresholds to ensure better decision-making.
Modifying threshold values helps prioritize nodes based on content relevance rather than their order in the flow.
Matching When a Node Has No Requirements or Examples
Some nodes may not have predefined requirements, classifiers, or example-based training data. The chatbot processes such nodes using default evaluation logic.
How the Chatbot Evaluates Nodes Without Defined Matching Criteria:
Scenario | How the Chatbot Processes It |
Node has no requirements | Assumes that all requirements are met. |
Node has no classifier or examples | Assigns a default score just above the fallback threshold. |
Node lacks requirements, examples, and classifier | The node is evaluated slightly above the fallback threshold, making it a low-priority match. |
Impact on Chatbot Matching Behavior
If a chatbot has no training examples, no classifier, and no requirements, every node:
✔ Will always score just above the fallback threshold.
✔ May still be selected if no other nodes match better.
✔ Should be refined with examples or a classifier to improve accuracy.
Best Practices for Managing Node Matching
✔ Adjust Thresholds
Ensure that nodes are chosen based on matching relevance rather than flow placement.
✔ Define Examples or Classifiers
To improve accuracy, provide training examples or enable a classifier to refine how nodes are selected.
✔ Monitor & Test
Regularly review chatbot responses and tweak configurations if multiple nodes match frequently.