There is no one right answer to this question, as the best solution will depend upon the specifics of your scenario and how the user would reasonably expect the bot to respond. However, as your conversation complexity increases dialogs become harder to manage. For complex branchings situations, it may be easier to create your own flow of control logic to keep track of your user's conversation.
The progressive advance of technology has seen an increase in businesses moving from traditional to digital platforms to transact with consumers. Convenience through technology is being carried out by businesses by implementing Artificial Intelligence (AI) techniques on their digital platforms. One AI technique that is growing in its application and use is chatbots. Some examples of chatbot technology are virtual assistants like Amazon's Alexa and Google Assistant, and messaging apps, such as WeChat and Facebook messenger.
Getting the remaining values (information that user would have provided to bot’s previous questions, bot’s previous action, results of the API call etc.,) is little bit tricky and here is where the dialogue manager component takes over. These feature values will need to be extracted from the training data that the user will define in the form of sample conversations between the user and the bot. These sample conversations should be prepared in such a fashion that they capture most of the possible conversational flows while pretending to be both an user and a bot.
There was a time when even some of the most prominent minds believed that a machine could not be as intelligent as humans but in 1991, the start of the Loebner Prize competitions began to prove otherwise. The competition awards the best performing chatbot that convinces the judges that it is some form of intelligence. But despite the tremendous development of chatbots and their ability to execute intelligent behavior not displayed by humans, chatbots still do not have the accuracy to understand the context of questions in every situation each time.
The chatbot must rely on spoken or written communications to discover what the shopper or user wants and is limited to the messaging platform’s capabilities when it comes to responding to the shopper or user. This requires a much better understanding of natural language and intent. It also means that developers must write connections to several different platforms, again like Messenger or Slack, if the chatbot is to have the same potential reach as a website.
In 1950, Alan Turing's famous article "Computing Machinery and Intelligence" was published, which proposed what is now called the Turing test as a criterion of intelligence. This criterion depends on the ability of a computer program to impersonate a human in a real-time written conversation with a human judge, sufficiently well that the judge is unable to distinguish reliably—on the basis of the conversational content alone—between the program and a real human. The notoriety of Turing's proposed test stimulated great interest in Joseph Weizenbaum's program ELIZA, published in 1966, which seemed to be able to fool users into believing that they were conversing with a real human. However Weizenbaum himself did not claim that ELIZA was genuinely intelligent, and the introduction to his paper presented it more as a debunking exercise: