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.
Founded by Pavel Durov, creator of Russia’s equivalent to Facebook, Telegram launched in 2013 as a lightweight messaging app to combine the speed of WhatsApp with the ephemerality of Snapchat along with claimed enhanced privacy and security through its use of the MTProto protocol (Telegram has offered a $200k prize to any developer who can crack MTProto’s security). Telegram has 100M MAUs, putting it in the second tier of messaging apps in terms of popularity.
It may be tempting to assume that users will perform procedural tasks one by one in a neat and orderly way. For example, in a procedural conversation flow using dialogs, the user will start at root dialog, invoke the new order dialog from there, and then invoke the product search dialog. Then the user will select a product and confirm, exiting the product search dialog, complete the order, exiting the new order dialog, and arrive back at the root dialog.
Web site: From Russia With Love. PDF. 2007-12-09. Psychologist and Scientific American: Mind contributing editor Robert Epstein reports how he was initially fooled by a chatterbot posing as an attractive girl in a personal ad he answered on a dating website. In the ad, the girl portrayed herself as being in Southern California and then soon revealed, in poor English, that she was actually in Russia. He became suspicious after a couple of months of email exchanges, sent her an email test of gibberish, and she still replied in general terms. The dating website is not named. Scientific American: Mind, October–November 2007, page 16–17, "From Russia With Love: How I got fooled (and somewhat humiliated) by a computer". Also available online.
Facebook has jumped fully on the conversational commerce bandwagon and is betting big that it can turn its popular Messenger app into a business messaging powerhouse. The company first integrated peer-to-peer payments into Messenger in 2015, and then launched a full chatbot API so businesses can create interactions for customers to occur within the Facebook Messenger app. You can order flowers from 1–800-Flowers, browse the latest fashion and make purchases from Spring, and order an Uber, all from within a Messenger chat.
Social networking bots are sets of algorithms that take on the duties of repetitive sets of instructions in order to establish a service or connection among social networking users. Various designs of networking bots vary from chat bots, algorithms designed to converse with a human user, to social bots, algorithms designed to mimic human behaviors to converse with behavioral patterns similar to that of a human user. The history of social botting can be traced back to Alan Turing in the 1950s and his vision of designing sets of instructional code that passes the Turing test. From 1964 to 1966, ELIZA, a natural language processing computer program created by Joseph Weizenbaum, is an early indicator of artificial intelligence algorithms that inspired computer programmers to design tasked programs that can match behavior patterns to their sets of instruction. As a result, natural language processing has become an influencing factor to the development of artificial intelligence and social bots as innovative technological advancements are made alongside the progression of the mass spreading of information and thought on social media websites.
It’s best to have very specific intents, so that you’re clear what your user wants to do, but to have broad entities – so that the intent can apply in many places. For example, changing a password is a common activity (a narrow intent), where you change your password might be many different places (broad entities). The context then personalises the conversation based on what it knows about the user, what they’re trying to achieve, and where they’re trying to do that.
Reduce costs: The potential to reduce costs is one of the clearest benefits of using a chatbot. A chatbot can provide a new first line of support, supplement support during peak periods or offer an additional support option. In all of these cases, employing a chatbot can help reduce the number of users who need to speak with a human. You can avoid scaling up your staff or offering human support around the clock.
Once the chatbot is ready and is live interacting with customers, smart feedback loops can be implemented. During the conversation when customers ask a question, chatbot smartly give them a couple of answers by providing different options like “Did you mean a,b or c”. That way customers themselves matches the questions with actual possible intents and that information can be used to retrain the machine learning model, hence improving the chatbot’s accuracy.
The classic historic early chatbots are ELIZA (1966) and PARRY (1972). More recent notable programs include A.L.I.C.E., Jabberwacky and D.U.D.E (Agence Nationale de la Recherche and CNRS 2006). While ELIZA and PARRY were used exclusively to simulate typed conversation, many chatbots now include functional features such as games and web searching abilities. In 1984, a book called The Policeman's Beard is Half Constructed was published, allegedly written by the chatbot Racter (though the program as released would not have been capable of doing so).
The chatbot is trained to translate the input data into a desired output value. When given this data, it analyzes and forms context to point to the relevant data to react to spoken or written prompts. Looking into deep learning within AI, the machine discovers new patterns in the data without any prior information or training, then extracts and stores the pattern.
Once you’ve determined these factors, you can develop the front-end web app or microservice. You might decide to integrate a chatbot into a customer support website where a customer clicks on an icon that immediately triggers a chatbot conversation. You could also integrate a chatbot into another communication channel, whether it’s Slack or Facebook Messenger. Building a “Slackbot,” for example, gives your users another way to get help or find information within a familiar interface.
Rather than having the campaign speak for Einstein, we wanted Einstein to speak for himself, Layne Harris, 360i’s VP, Head of Innovation Technology, said to GeoMarketing. "We decided to pursue a conversational chatbot that would feel natural and speak as Einstein would. This provides a more intimate and immersive experience for users to really connect with him one on one and organically discover more content from the show."
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.
To be more specific, understand why the client wants to build a chatbot and what the customer wants their chatbot to do. Finding answers to this query will guide the designer to create conversations aimed at meeting end goals. When the designer knows why the chatbot is being built, they are better placed to design the conversation with the chatbot.
ELIZA's key method of operation (copied by chatbot designers ever since) involves the recognition of clue words or phrases in the input, and the output of corresponding pre-prepared or pre-programmed responses that can move the conversation forward in an apparently meaningful way (e.g. by responding to any input that contains the word 'MOTHER' with 'TELL ME MORE ABOUT YOUR FAMILY'). Thus an illusion of understanding is generated, even though the processing involved has been merely superficial. ELIZA showed that such an illusion is surprisingly easy to generate, because human judges are so ready to give the benefit of the doubt when conversational responses are capable of being interpreted as "intelligent".