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.
There was a time when even some of the most prominent minds believed that a machine could not be as intelligent as humans but in 1991, the start of the Loebner Prize competitions began to prove otherwise. The competition awards the best performing chatbot that convinces the judges that it is some form of intelligence. But despite the tremendous development of chatbots and their ability to execute intelligent behavior not displayed by humans, chatbots still do not have the accuracy to understand the context of questions in every situation each time.
At this year’s I/O, Google announced its own Facebook Messenger competitor called Allo. Apart from some neat features around privacy and self-expression, the really interesting part of Allo is @google, the app’s AI digital assistant. Google’s assistant is interesting because the company has about a decades-long head start in machine learning applied to search, so its likely that Allo’s chatbot will be very useful. In fact, you could see Allo becoming the primary interface for interacting with Google search over time. This interaction model would more closely resemble Larry Page’s long-term vision for search, which goes far beyond the clumsy search query + results page model of today:
This is the big one. We worked with one particular large publisher (can’t name names unfortunately, but hundreds of thousands of users) in two phases. We initially released a test phase that was sort of a “catch all”. Anyone could message a broad keyword to their bot and start a campaign. Although we had a huge number of users come in, engagement was relatively average (87% open rate and 27.05% click-through rate average over the course of the test). Drop off here was fairly high, about 3.14% of users had unsubscribed by the end of the test.
Say you want to build a bot that tells the current temperature. The dialog for the bot only needs coding to recognize and report the requested location and temperature. To do this, the bot needs to pull data from the API of the local weather service, based on the user’s location, and to send that data back to the user—basically, a few lines of templatable code and you’re done.
Oh and by the way: We’ve been hard at work on some interesting projects at Coveo, one of those focusing squarely on the world of chatbots. We’ve leveraged our insight engine, and enabled it to work within the confines of your preferred chat tool: the power of Coveo, in chatbot form. The best part about our work in the field of chatbots? The code is out there in the wild waiting for you to utilize it, providing that you are already a customer or partner of Coveo. All you need to do is jump over to the Coveo Labs github page, download it, and get your hands dirty!
Like apps and websites, bots have a UI, but it is made up of dialogs, rather than screens. Dialogs help preserve your place within a conversation, prompt users when needed, and execute input validation. They are useful for managing multi-turn conversations and simple "forms-based" collections of information to accomplish activities such as booking a flight.
Let’s take a weather chat bot as an example to examine the capabilities of Scripted and Structured chatbots. The question “Will it rain on Sunday?” can be easily answered. However, if there is no programming for the question “Will I need an umbrella on Sunday?” then the query will not be understood by the chat bot. This is the common limitation with scripted and structured chatbots. However, in all cases, a conversational bot can only be as intelligent as the programming it has been given.
You can structure these modules to flow in any way you like, ranging from free form to sequential. The Bot Framework SDK provides several libraries that allows you to construct any conversational flow your bot needs. For example, the prompts library allows you to ask users for input, the waterfall library allows you to define a sequence of question/answer pair, the dialog control library allows you to modularized your conversational flow logic, etc. All of these libraries are tied together through a dialogs object. Let's take a closer look at how modules are implemented as dialogs to design and manage conversation flows and see how that flow is similar to the traditional application flow.
Some brands already seem to be getting the balance right. A bot needs to capture a user's attention quickly and display a healthy curiosity about their new acquaintance, but too much curiosity can easily push them into creepy territory and turn people off. They have to display more than a basic knowledge of human conversational patterns, but they can't claim to be an actual human -- again, let's keep things from getting too creepy here.
We need to know the specific intents in the request (we will call them as entities), for eg — the answers to the questions like when?, where?, how many? etc., that correspond to extracting the information from the user request about datetime, location, number respectively. Here datetime, location, number are the entities. Quoting the above weather example, the entities can be ‘datetime’ (user provided information) and location(note — location need not be an explicit input provided by the user and will be determined from the user location as default, if nothing is specified).
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.