Step 3: Define the domain, intent, entity, and role hierarchy
Every conversational interface relies on layers of classifiers. When the user interact with a chatbot, the user’s input will go through the following layers of classifiers:
Domain classifier. What topic is the user talking about?
Intent classifier. What is the user trying to achieve within the classified domain?
Entity recogniser. Identify the relevant entities
Role classifier. What events / roles do you need to fill? The same type of entity can play different role. For example, 9am is a time entity that could play the role of “opening time” or “closing time”
Below is an example of the hierarchy of classifiers.
Step 4: Define the dialogue state handlers
Dialogue states are the different steps or levels of a conversation interactions. The goal of the chatbot is to find information or perform a task at different steps, which means that at each dialogue state, we need to have an appropriate response. A set of dialogue state handlers define the logic and response for every possible dialogue state in an application.
What is a dialogue manager?
It analyses each incoming request and assigns it to a dialogue state handler, which then has predefined logic and responses. The task of mapping incoming requests to the appropriate dialogue state handler is called dialogue state tracking.
Many commercial applications currently rely on rule-based and pattern matching but you can also look into applying machine learning techniques to it.
What is MindMeld?
It provides advanced tools for dialogue state tracking, allowing you to define rules and patterns for mapping requests to dialogue states with ease.
What’s the workflow of dialogue state handlers?
You need to define dialogue states (as shown below) before thinking about how to handle each state. Once all the dialogue states are defined, you can think about the system response for each state.