With natural language processing (NLP), a bot can understand what a human is asking. The computer translates the natural language of a question into its own artificial language. It breaks down human inputs into coded units and uses algorithms to determine what is most likely being asked of it. From there, it determines the answer. Then, with natural language generation (NLG), it creates a response. NLG software allows the bot to construct and provide a response in the natural language format.
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.

Respect the conversational UI. The full interaction should take place natively within the app. The goal is to recognize the user's intent and provide the right content with minimum user input. Every question asked should bring the user closer to the answer they want. If you need so much information that you're playing a game of 20 Questions, then switch to a form and deliver the content another way.
According to this study by Petter Bae Brandtzaeg, “the real buzz about this technology did not start before the spring of 2016. Two reasons for the sudden and renewed interest in chatbots were [number one] massive advances in artificial intelligence (AI) and a major usage shift from online social networksto mobile messaging applications such as Facebook Messenger, Telegram, Slack, Kik, and Viber.”
Kunze recognises that chatbots are the vogue subject right now, saying: “We are in a hype cycle, and rising tides from entrants like Microsoft and Facebook have raised all ships. Pandorabots typically adds up to 2,000 developers monthly. In the past few weeks, we've seen a 275 percent spike in sign-ups, and an influx of interest from big, big brands.”
In a procedural conversation flow, you define the order of the questions and the bot will ask the questions in the order you defined. You can organize the questions into logical modules to keep the code centralized while staying focused on guiding the conversational. For example, you may design one module to contain the logic that helps the user browse for products and a separate module to contain the logic that helps the user create a new order.
Companies use internet bots to increase online engagement and streamline communication. Companies often use bots to cut down on cost, instead of employing people to communicate with consumers, companies have developed new ways to be efficient. These chatbots are used to answer customers' questions. For example, Domino's has developed a chatbot that can take orders via Facebook Messenger. Chatbots allow companies to allocate their employees' time to more important things.[10]
Keep it conversational: Chatbots help make it easy for users to find the information they need. Users can ask questions in a conversational way, and the chatbots can help them refine their searches through their responses and follow-up questions. Having had substantial experience with personal assistants on their smartphones and elsewhere, users today expect this level of informal interaction. When chatbot users are happy, the organizations employing the chatbots benefit.
Interface designers have come to appreciate that humans' readiness to interpret computer output as genuinely conversational—even when it is actually based on rather simple pattern-matching—can be exploited for useful purposes. Most people prefer to engage with programs that are human-like, and this gives chatbot-style techniques a potentially useful role in interactive systems that need to elicit information from users, as long as that information is relatively straightforward and falls into predictable categories. Thus, for example, online help systems can usefully employ chatbot techniques to identify the area of help that users require, potentially providing a "friendlier" interface than a more formal search or menu system. This sort of usage holds the prospect of moving chatbot technology from Weizenbaum's "shelf ... reserved for curios" to that marked "genuinely useful computational methods".