ChatBots will play an important role of all organizations providing online services as well as in-person services. Chatbots are a way to provide information interactively to the customers. Smart chatbots must work in two ways:
In this way chatbots display list of options for user to select. As user select an option from the list, chatbot displays more options related to the selected one. Once all the selections are one, chatbot can execute an actions for the user. Example of this can be:
ChatBot displays first options list
User Selects: Account Services
ChatBot displays second options list
User Selects: Get Statement
ChatBot displays third options list
User Selects: Previous Month
Chatbot Executes Action: To obtain and display the previous month account statement
In this way chatbot will take text or audio as an input from the user and if all entities are provided it will execute the action directly. If all entities are not provided then chatbot can either ask the user to type of switch to well guided flow. Example of this can be:
ChatBot displays first options list
Chatbot also allows user to type text of speak....
User Types: Get statement of my account of previous month
For this input from the user, chatbot should detect the intent and its entities
Chatbot Executes Action: To obtain and display the previous month account statement
But what if user does not provide information clearly. Here is the example:
ChatBot displays first options list
Chatbot also allows user to type text of speak....
User Types: Get statement of my account
In this input from the user, chatbot will be able to detect intent but entities are missing.
Hence the chatbot must now display the following or ask user to type or speak:
ChatBot displays options list
Chatbot also allows user to type text or speak....
Now based on user input through selecting an option
Chatbot Executes Action: To obtain and display the previous month account statement
But if user types or speaks, chatbot will again process the language input and figure out the entity to be used for processing