Creating Dialogue
Clai is deeply integrated with Rasa. If you are already familiar with Rasa, the conversation builder will let you focus on conversation authoring and handle markdown and yaml files for you.
This integration allows Clai to offer advanced Natural Language Understanding capabilities in any language and context driven dialogue management.
Your first dialogue
Similarly to human-to-human interactions, human-to-machine interactions are based on dialogue turns. A turn consists in a user input followed by a virtual assistant response.
In Clai, you can design automated conversations in fragments called stories and rules. The links point to the official Rasa documentation that explains the difference in greater details, but in short, rules are for very simple interactions not requiring AI, such as FAQ, basic chitchat, and launching a form, and stories are for conversational experiences when you expect AI to complement the cases you provide in your data. For logical flows with complex conditional logic, you can use forms (and rules or stories to orchestrate them)
Create new custom groups
Let’s start creating new story groups to add more stories in your project to improve more conversations.
We can also drag and drop our stories from one group to other group.
Handling different conversation paths with branches
Conversations can take different paths. Let’s continue our Booking room conversation. But instead of just responding to the user back, let’s ask for the which type of rooms they want from the users.
We’ll use branches to handle the different scenarios, (Ac rooms Vs Non-Ac rooms), as shown in the following video:
Adding buttons to your responses
Clai comes with different response types. In the examples above we used text responses, but in many cases you want to offer easy options to users.
In the example above, we could provide two buttons AC and NON-AC.
Understanding payloads
Remember that a conversation is made of turns and a turn is a user input followed by an assistant response. When we say i want ac rooms, the first step is extract the intent: ac_rooms. The dialogue engine uses the intent to determine the appropriate response.
When a user clicks a button, it is the equivalent of saying something, except we can skip the natural language understanding step.
The payload is just the underlying intent ac_rooms.
Handling feedback and other converging flows with links
A common flow consists in asking a user if they are satisfied with a response or a process. The following video shows an example:
Partial training
Depending on your policies and the number of stories, training can take a significant amount of time. To help you iterate faster on subsets of your dialogues, you can focus on one or several story groups and train just the stories they contain.
You may click on the icon which appears when you hover story group names. When a story group has focus enabled, training will be restricted to the stories of those groups.