In a bot, everything begins with the root dialog. The root dialog invokes the new order dialog. At that point, the new order dialog takes control of the conversation and remains in control until it either closes or invokes other dialogs, such as the product search dialog. If the new order dialog closes, control of the conversation is returned back to the root dialog.
It won’t be an easy march though once we get to the nitty-gritty details. For example, I heard through the grapevine that when Starbucks looked at the voice data they collected from customer orders, they found that there are a few millions unique ways to order. (For those in the field, I’m talking about unique user utterances.) This is to be expected given the wild combinations of latte vs mocha, dairy vs soy, grande vs trenta, extra-hot vs iced, room vs no-room, for here vs to-go, snack variety, spoken accent diversity, etc. The AI practitioner will soon curse all these dimensions before taking a deep learning breath and getting to work. I feel though that given practically unlimited data, deep learning is now good enough to overcome this problem, and it is only a matter of couple of years until we see these TODA solutions deployed. One technique to watch is Generative Adversarial Nets (GAN). Roughly speaking, GAN engages itself in an iterative game of counterfeiting real stuffs, getting caught by the police neural network, improving counterfeiting skill, and rinse-and-repeating until it can pass as your Starbucks’ order-taking person, given enough data and iterations.
Chatbots succeed when a clear understanding of user intent drives development of both the chatbot logic and the end-user interaction. As part of your scoping process, define the intentions of potential users. What goals will they express in their input? For example, will users want to buy an airline ticket, figure out whether a medical procedure is covered by their insurance plan or determine whether they need to bring their computer in for repair? 
As people research, they want the information they need as quickly as possible and are increasingly turning to voice search as the technology advances. Email inboxes have become more and more cluttered, so buyers have moved to social media to follow the brands they really care about. Ultimately, they now have the control — the ability to opt out, block, and unfollow any brand that betrays their trust.
Poor user experience. The bottom line: chatbots frustrate your customers if you are viewing them as a replacement for humans. Do not ever, ever try to pass of a chatbot as a human. If your chatbot suffers from any of the issues above, you’re probably creating a poor customer experience overall and an angry phone call to a poor unsuspecting call center rep.

In one particularly striking example of how this rather limited bot has made a major impact, U-Report sent a poll to users in Liberia about whether teachers were coercing students into sex in exchange for better grades. Approximately 86% of the 13,000 Liberian children U-Report polled responded that their teachers were engaged in this despicable practice, which resulted in a collaborative project between UNICEF and Liberia’s Minister of Education to put an end to it.


Chatbots – also known as “conversational agents” – are software applications that mimic written or spoken human speech for the purposes of simulating a conversation or interaction with a real person. There are two primary ways chatbots are offered to visitors: via web-based applications or standalone apps. Today, chatbots are used most commonly in the customer service space, assuming roles traditionally performed by living, breathing human beings such as Tier-1 support operatives and customer satisfaction reps.
Three main reasons are often cited for this reluctance: the first is the human side—they think users will be reluctant to engage with a bot. The other two have more to do with bots’ expected performance: there is skepticism that bots will be able to appropriately incorporate history and context to create personalized experiences and believe they won’t be able to adequately understand human input.
As in the prior method, each class is given with some number of example sentences. Once again each sentence is broken down by word (stemmed) and each word becomes an input for the neural network. The synaptic weights are then calculated by iterating through the training data thousands of times, each time adjusting the weights slightly to greater accuracy. By recalculating back across multiple layers (“back-propagation”) the weights of all synapses are calibrated while the results are compared to the training data output. These weights are like a ‘strength’ measure, in a neuron the synaptic weight is what causes something to be more memorable than not. You remember a thing more because you’ve seen it more times: each time the ‘weight’ increases slightly.
Unfortunately the old adage of trash in, trash out came back to bite Microsoft. Tay was soon being fed racist, sexist and genocidal language by the Twitter user-base, leading her to regurgitate these views. Microsoft eventually took Tay down for some re-tooling, but when it returned the AI was significantly weaker, simply repeating itself before being taken offline indefinitely.
This kind of thinking has lead me to develop a bot where the focus is as a medium for content rather than a subsitute for intelligence. So users create content much as conventional author, (but with text stored in spreadsheets rather than anywhere else). Very little is expected from the bot in terms of human behavious such as “learning”, “empathy”, “memory” and character”. Does it work?
The front-end app you develop will interact with an AI application. That AI application—usually a hosted service—is the component that interprets user data, directs the flow of the conversation and gathers the information needed for responses. You can then implement the business logic and any other components needed to enable conversations and deliver results.
Another option is to integrate your own custom AI service. This approach is more complex, but gives you complete flexibility in terms of the machine learning algorithm, training, and model. For example, you could implement your own topic modeling and use algorithm such as LDA to find similar or relevant documents. A good approach is to expose your custom AI solution as a web service endpoint, and call the endpoint from the core bot logic. The web service could be hosted in App Service or in a cluster of VMs. Azure Machine Learning provides a number of services and libraries to assist you in training and deploying your models.

Most chatbots try to mimic human interactions, which can frustrate users when a misunderstanding arises. Watson Assistant is more. It knows when to search for an answer from a knowledge base, when to ask for clarity, and when to direct you to a human. Watson Assistant can run on any cloud – allowing businesses to bring AI to their data and apps wherever they are.
Chatbots could be used as weapons on the social networks such as Twitter or Facebook. An entity or individuals could design create a countless number of chatbots to harass people. They could even try to track how successful their harassment is by using machine-learning-based methods to sharpen their strategies and counteract harassment detection tools.
Jabberwacky learns new responses and context based on real-time user interactions, rather than being driven from a static database. Some more recent chatbots also combine real-time learning with evolutionary algorithms that optimise their ability to communicate based on each conversation held. Still, there is currently no general purpose conversational artificial intelligence, and some software developers focus on the practical aspect, information retrieval.
×