At a high level, a conversational bot can be divided into the bot functionality (the "brain") and a set of surrounding requirements (the "body"). The brain includes the domain-aware components, including the bot logic and ML capabilities. Other components are domain agnostic and address non-functional requirements such as CI/CD, quality assurance, and security.

“Utility gets something done following a prompt. At a higher level the more entertainment-related chatbots are able to answer all questions and get things done. Siri and Cortana you can have small talk with, as well as getting things done, so they are much harder to build. They took years and years of giant company’s efforts. Different companies that don’t have those resources, like Facebook, will build more constrained utility bots.”
Over the past year, Forrester clients have been brimming with questions about chatbots and their role in customer service. In fact, in that time, more than half of the client inquiries I have received have touched on chatbots, artificial intelligence, natural language understanding, machine learning, and conversational self-service. Many of those inquiries were of the […]

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.


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.
3. Now, since ours is a conversational AI bot, we need to keep track of the conversations happened thus far, to predict an appropriate response. For this purpose, we need a dictionary object that can be persisted with information about the current intent, current entities, persisted information that user would have provided to bot’s previous questions, bot’s previous action, results of the API call (if any). This information will constitute our input X, the feature vector. The target y, that the dialogue model is going to be trained upon will be ‘next_action’ (The next_action can simply be a one-hot encoded vector corresponding to each actions that we define in our training data).

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.


Despite the fact that ALICE relies on such an old codebase, the bot offers users a remarkably accurate conversational experience. Of course, no bot is perfect, especially one that’s old enough to legally drink in the U.S. if only it had a physical form. ALICE, like many contemporary bots, struggles with the nuances of some questions and returns a mixture of inadvertently postmodern answers and statements that suggest ALICE has greater self-awareness for which we might give the agent credit.
In 2000 a chatbot built using this approach was in the news for passing the “Turing test”, built by John Denning and colleagues. It was built to emulate the replies of a 13 year old boy from Ukraine (broken English and all). I met with John in 2015 and he made no false pretenses about the internal workings of this automaton. It may have been “brute force” but it proved a point: parts of a conversation can be made to appear “natural” using a sufficiently large definition of patterns. It proved Alan Turing’s assertion, that this question of a machine fooling humans was “meaningless”.

Previous generations of chatbots were present on company websites, e.g. Ask Jenn from Alaska Airlines which debuted in 2008[27] or Expedia's virtual customer service agent which launched in 2011.[27][28] The newer generation of chatbots includes IBM Watson-powered "Rocky", introduced in February 2017 by the New York City-based e-commerce company Rare Carat to provide information to prospective diamond buyers.[29][30]
×