In the early 90’s, the Turing test, which allows determining the possibility of thinking by computers, was developed. It consists in the following. A person talks to both the person and the computer. The goal is to find out who his interlocutor is — a person or a machine. This test is carried out in our days and many conversational programs have coped with it successfully.
Shane Mac, CEO of San Francisco-based Assist,warned from challenges businesses face when trying to implement chatbots into their support teams: “Beware though, bots have the illusion of simplicity on the front end but there are many hurdles to overcome to create a great experience. So much work to be done. Analytics, flow optimization, keeping up with ever changing platforms that have no standard.
“They’re doing things we’re simply not doing in the U.S. Imagine if you were going to start a city from scratch. Rather than having to deal with all the infrastructure created 200 years ago, you could hit the ground running on the latest technology. That’s what China’s doing — they’re accessing markets for the first time through mobile apps and payments.” — Brian Buchwald, CEO of consumer intelligence firm Bomoda
Previous generations of chatbots were present on company websites, e.g. Ask Jenn from Alaska Airlines which debuted in 2008 or Expedia's virtual customer service agent which launched in 2011.  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. 
How far are we from building systems with commonsense? One often-heard answer is: not in the near future, while the realistic answer is: we don’t know. Last year, I spent some time trying to build a system that can do better than an information retrieval baseline in taking fourth-grade science exam (which still has a ways to go to gain a passing score of 65%). I failed hard. Here’s an example to get a sense of the difficulty of these questions.
[In] artificial intelligence ... machines are made to behave in wondrous ways, often sufficient to dazzle even the most experienced observer. But once a particular program is unmasked, once its inner workings are explained ... its magic crumbles away; it stands revealed as a mere collection of procedures ... The observer says to himself "I could have written that". With that thought he moves the program in question from the shelf marked "intelligent", to that reserved for curios ... The object of this paper is to cause just such a re-evaluation of the program about to be "explained". Few programs ever needed it more.
Eventually, a single chatbot could become your own personal assistant to take care of everything, whether it's calling you an Uber or setting up a meeting. Or, Facebook Messenger or another platform might let a bunch of individual chatbots to talk to you about whatever is relevant — a chatbot from Southwest Airlines could tell you your flight's delayed, another chatbot from FedEx could tell you your package is on the way, and so on.
Need a Facebook bot? Well, look no further, as Chatfuel makes it easy for you to create your own Facebook and Telegram Chatbot without any coding experience necessary. It works by letting users link to external sources through plugins. Eventually, the platforms hope to open itself to third-party plugins, so anyone can contribute their own plugins and have others benefit from them.
Unlike Tay, Xiaoice remembers little bits of conversation, like a breakup with a boyfriend, and will ask you how you're feeling about it. Now, millions of young teens are texting her every day to help cheer them up and unburden their feelings — and Xiaoice remembers just enough to help keep the conversation going. Young Chinese people are spending hours chatting with Xiaoice, even telling the bot "I love you".
The process of building a chatbot can be divided into two main tasks: understanding the user's intent and producing the correct answer. The first task involves understanding the user input. In order to properly understand a user input in a free text form, a Natural Language Processing Engine can be used. The second task may involve different approaches depending on the type of the response that the chatbot will generate.
You may remember Facebook’s big chatbot push in 2016 – when they announced that they were opening up the Messenger platform to chatbots of all varieties. Every organization suddenly needed to get their hands on the technology. The idea of having conversational chatbot technology was enthralling, but behind all the glitz, glamour and tech sex appeal, was something a little bit less exciting. To quote Gizmodo writer, Darren Orf:
However, as irresistible as this story was to news outlets, Facebook’s engineers didn’t pull the plug on the experiment out of fear the bots were somehow secretly colluding to usurp their meatbag overlords and usher in a new age of machine dominance. They ended the experiment due to the fact that, once the bots had deviated far enough from acceptable English language parameters, the data gleaned by the conversational aspects of the test was of limited value.
In other words, bots solve the thing we loathed about apps in the first place. You don't have to download something you'll never use again. It's been said most people stick to five apps. Those holy grail spots? They're increasingly being claimed by messaging apps. Today, messaging apps have over 5 billion monthly active users, and for the first time, people are using them more than social networks.
Closed domain chatbots focus on a specific knowledge domain, and these bots may fail to answer questions in other knowledge domains. For example, a restaurant booking conversational bot will be able to take your reservation, but may not respond to a question about the price of an air ticket. A user could hypothetically attempt to take the conversation elsewhere, however, closed domain chatbots are not required, nor often programmed to handle such cases.
The process of building, testing and deploying chatbots can be done on cloud-based chatbot development platforms offered by cloud Platform as a Service (PaaS) providers such as Oracle Cloud Platform Yekaliva and IBM Watson. These cloud platforms provide Natural Language Processing, Artificial Intelligence and Mobile Backend as a Service for chatbot development.