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.
I will not go into the details of extracting each feature value here. It can be referred from the documentation of rasa-core link that I provided above. So, assuming we extracted all the required feature values from the sample conversations in the required format, we can then train an AI model like LSTM followed by softmax to predict the next_action. Referring to the above figure, this is what the ‘dialogue management’ component does. Why LSTM is more appropriate? — As mentioned above, we want our model to be context aware and look back into the conversational history to predict the next_action. This is akin to a time-series model (pls see my other LSTM-Time series article) and hence can be best captured in the memory state of the LSTM model. The amount of conversational history we want to look back can be a configurable hyper-parameter to the model.

Before you even write a single line of code, it's important to write a functional specification so the development team has a clear idea of what the bot is expected to do. The specification should include a reasonably comprehensive list of user inputs and expected bot responses in various knowledge domains. This living document will be an invaluable guide for developing and testing your bot.
Open domain chatbots tends to talk about general topics and give appropriate responses. In other words, the knowledge domain is receptive to a wider pool of knowledge. However, these bots are difficult to perfect because language is so versatile. Conversations on social media sites such as Twitter and Reddit are typically considered open domain — they can go in virtually any direction. Furthermore, the whole context around a query requires common sense to understand many new topics properly, which is even harder for computers to grasp.

aLVin is built on the foundation of Nuance’s Nina, the intelligent multichannel virtual assistant that leverages natural language understanding (NLU) and cognitive computing capabilities. aLVin interacts with brokers to better understand “intent” and deliver the right information 24/7; the chatbot was built with extensive knowledge of LV=Broker’s products, which accelerated the process of being able to answer more questions and direct brokers to the right products early on

How can our business leverage technology to better and more often engage younger audiences with our products and services? H&M is one of several retailers experimenting with and leveraging chatbots as a  mobile marketing opportunity – according to a report by Accenture, 32 percent of the world (a large portion of the population 29 years old and younger) uses social media daily and 80 percent of that time is via mobile.
Typically, companies applied a passive engagement method with consumers. In other words, customer support only responds to complaining consumers – but never initiate any conversations or look for feedback. While this method was fine for a long while, it doesn’t work anymore with millennials. Users want to communicate with attentive brands who have a 24/7 support system and they won’t settle for anything less.
Companies most likely to be supporting bots operate in the health, communications and banking industries, with informational bots garnering the majority of attention. However, challenges still abound, even among bot supporters, with lack of skilled talent to develop and work with bots cited as a challenge in implementing solutions, followed by deployment and acquisition costs, as well as data privacy and security.
Love them or hate them, chatbots are here to stay. Chatbots have become extraordinarily popular in recent years largely due to dramatic advancements in machine learning and other underlying technologies such as natural language processing. Today’s chatbots are smarter, more responsive, and more useful – and we’re likely to see even more of them in the coming years.

The classification score produced identifies the class with the highest term matches (accounting for commonality of words) but this has limitations. A score is not the same as a probability, a score tells us which intent is most like the sentence but not the likelihood of it being a match. Thus it is difficult to apply a threshold for which classification scores to accept or not. Having the highest score from this type of algorithm only provides a relative basis, it may still be an inherently weak classification. Also the algorithm doesn’t account for what a sentence is not, it only counts what it is like. You might say this approach doesn’t consider what makes a sentence not a given class.
Other bots like can help schedule your meetings for you. Simply add the bot to your email thread, and it will take over back-and-forth conversation needed to schedule a meeting, alert you once it’s been arranged and add it to your calendar. As bot technology improves, the thinking is that bots will be able to automate all kinds of things; perhaps even something as complex as your taxes.
A chatbot (also known as a spy, conversational bot, chatterbot, interactive agent, conversational interface, Conversational AI, talkbot or artificial spy entity) is a computer program or an artificial intelligence which conducts a conversation via auditory or textual methods.[1] Such programs are often designed to convincingly simulate how a human would behave as a conversational partner, thereby passing the Turing test. Chatbots are typically used in dialog systems for various practical purposes including customer service or information acquisition. Some chatbots use sophisticated natural language processing systems, but many simpler ones scan for keywords within the input, then pull a reply with the most matching keywords, or the most similar wording pattern, from a database.