Next, identify the data sources that will enable the bot to interact intelligently with users. As mentioned earlier, these data sources could contain structured, semi-structured, or unstructured data sets. When you're getting started, a good approach is to make a one-off copy of the data to a central store, such as Cosmos DB or Azure Storage. As you progress, you should create an automated data ingestion pipeline to keep this data current. Options for an automated ingestion pipeline include Data Factory, Functions, and Logic Apps. Depending on the data stores and the schemas, you might use a combination of these approaches.
It didn’t take long, however, for Turing’s headaches to begin. The BabyQ bot drew the ire of Chinese officials by speaking ill of the Communist Party. In the exchange seen in the screenshot above, one user commented, “Long Live the Communist Party!” In response, BabyQ asked the user, “Do you think that such a corrupt and incompetent political regime can live forever?”
Chatbots are often used online and in messaging apps, but are also now included in many operating systems as intelligent virtual assistants, such as Siri for Apple products and Cortana for Windows. Dedicated chatbot appliances are also becoming increasingly common, such as Amazon's Alexa. These chatbots can perform a wide variety of functions based on user commands.
Chatbots can reply instantly to any questions. The waiting time is ‘virtually’ 0 (see what I did there?). Even if a real person eventually shows up to fix the issues, the customer gets engaged in the conversation, which can help you build trust. The problem could be better diagnosed, and the chatbot could perform some routine checks with the user. This saves up time for both the customer and the support agent. That’s a lot better than just recklessly waiting for a representative to arrive.
However, if you’re trying to develop a sophisticated bot that can understand more than a couple of basic commands, you’re heading down a potentially complicated path. More elaborately coded bots respond to various forms of user questions and responses. The bots have typically been “trained” on databases of thousands of words, queries, or sentences so that they can learn to detect lexical similarity. A good e-commerce bot “knows” that trousers are a kind of pants (if you are in the US), though this is beyond the comprehension of a simple, untrained bot.
“I’ve seen a lot of hyperbole around bots as the new apps, but I don’t know if I believe that,” said Prashant Sridharan, Twitter’s global director of developer relations. “I don’t think we’re going to see this mass exodus of people stopping building apps and going to build bots. I think they’re going to build bots in addition to the app that they have or the service they provide.”
The term "ChatterBot" was originally coined by Michael Mauldin (creator of the first Verbot, Julia) in 1994 to describe these conversational programs. Today, most chatbots are accessed via virtual assistants such as Google Assistant and Amazon Alexa, via messaging apps such as Facebook Messenger or WeChat, or via individual organizations' apps and websites. Chatbots can be classified into usage categories such as conversational commerce (e-commerce via chat), analytics, communication, customer support, design, developer tools, education, entertainment, finance, food, games, health, HR, marketing, news, personal, productivity, shopping, social, sports, travel and utilities.