As a virtual assistant, bots must be able to generate an excellent customer experience when interacting with users. But bots are not able to work alone; bots must be given as much knowledge as possible to become smarter. Bots must have the ability to understand every query from the customer and respond accordingly, one of the reasons Google Assistant is the best virtual assistant compared to Apple’s Siri or Amazon’s Alexa, according to the Loup Ventures survey (2019).
However, have we ever thought about how a bot recognizes every word (query) from a user, then matches the question with a dialog, and responds based on that dialog? Then what about when a user moves the subject from dialog A to dialog B bot (virtual assistant) and responds to it? Or how does a dialog work in which it calls another dialog?
The term transfer from one dialog to another dialog here we are familiar with the term Cross Dialog or with other languages is the Intent Switch. Cross dialog allows a dialog to call other dialog modules. Cross dialog also allows the bot to recognize all queries from the user and then match the question with the dialogs that attached to it.
Cross dialogue can occur in two conditions:
- Through the Intention dialog: each dialog has an intention that represents the intent of entering the user. If in a conversation, the user enters a query that contains the intention of a dialog, then the dialog will be raised in the conversation.
- Trigger dialog: Trigger dialog is a rule that set to call other dialogs when the entity in the previous dialog filled with a value. Here the Creator dialog can set which dialogs will appear when there is a value that permeates the last entity dialog.
Cross dialog used when there is a dialog in another dialog that we want to call per the rule dialog that we set.
Cross dialog or switch intent is useful when the user enters a query in a conversation; the bot can recognize the question and display the response under the rule set that we have made. Cross dialog allows bots to call other dialog modules by identifying the dialogue intention.
Before learning how to create cross dialogs in the 3Dolphins bot, it’s best to adjust it to the use-case and needs of the company. When designing a knowledge, make sure you have a picture of where the next conversation might take place. That way, making cross dialogs easier.
Two cases can show how to cross dialogue works in conversation dialogue.
Case 1: No Rule in Entity Rule
Make several dialogues, each of which has an intention and an entity (following the objective of the conversation), for example, we create a Check Weather dialog with a Check Weather intention, then a Find a Hotel with a Hotel intention dialog.
Case 2: With a set of Rule in Entity Rules
Now let’s look at how to cross dialogs work with Bots through dialogs that we make as the schema conversation below.
Make three conversation dialogs, namely the ‘Isi Pulsa’ dialog, the ‘Isi Pulsa Handphone’ dialog, and the ‘Isi Pulsa Listrik’ dialog.
Make an intention and some entities in the dialog.
For the Pulse Fill dialog as the word pulse as intention, followed by the product as the name of the entity (you can set the intention or entity to your liking)
For the Cellphone Credit Top-up dialog, the word cellphone as the intention followed by the Cellphone number entity and the nominal credit.
For the Dial-Up Electricity dialog, the word electricity is used as an intention followed by an entity number and a nominal pulse.
We want that when the ‘isi pulsa’ dialog is called in the bot when the user selects the “Pulsa Listrik” option, the dialog that will appear is the ‘isi pulsa listrik’ dialog. Vice versa, when the user selects the “Pulsa Handphone” option, then the dialog that arises is the “Cellular Credit Fill” dialog.
In the “Isi Pulsa” dialog module in the Prompt Response step, create a question for the entity product.
Here we create a question with the “1” input option for ‘Pulsa Handphone’ and the “2” input option for ‘Pulsa Listrik’.
Make Entity Rules for the Product entity.
Make a condition, when the user enters “1” in the Product entity, then the ‘Isi Pulsa Handphone’ contents dialog will be called.
Vice versa, if the payload that given was electricity, then the ‘Isi Pulsa Listrik’ dialog will be called.Then save the changes to the ‘Isi Pulsa’ dialog. Now we try to live chat or emulator.
Note: don’t forget that the three dialogs are attached to the bot that we are testing!