As VP of Coveo’s Platform line of business, Gauthier Robe oversees the company’s Intelligent Search Platform and roadmap, including Coveo Cloud, announced in June 2015. Gauthier is passionate about using technology to improve customers’ and people’s lives. He has over a decade of international experience in the high-tech industry and deep knowledge of Cloud Computing, electronics, IoT, and product management. Prior to Coveo, Gauthier worked for Amazon Web Services and held various positions in high-tech consulting firms, helping customers envision the future and achieve its potential. Gauthier resides in the Boston area and has an engineering degree from UCL & MIT. In his spare time, Gauthier enjoys tinkering with new technologies and connected devices.
Authentication. Users start by authenticating themselves using whatever mechanism is provided by their channel of communication with the bot. The bot framework supports many communication channels, including Cortana, Microsoft Teams, Facebook Messenger, Kik, and Slack. For a list of channels, see Connect a bot to channels. When you create a bot with Azure Bot Service, the Web Chat channel is automatically configured. This channel allows users to interact with your bot directly in a web page. You can also connect the bot to a custom app by using the Direct Line channel. The user's identity is used to provide role-based access control, as well as to serve personalized content.
Kik Messenger, which has 275 million registered users, recently announced a bot store. This includes one bot to send people Vine videos and another for getting makeup suggestions from Sephora. Twitter has had bots for years, like this bot that tweets about earthquakes as soon as they’re registered or a Domino’s bot that allows you to order a pizza by tweeting a pizza emoji.
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.
Chatbots have come a long way since then. They are built on AI technologies, including deep learning, natural language processing and machine learning algorithms, and require massive amounts of data. The more an end user interacts with the bot, the better voice recognition becomes at predicting what the appropriate response is when communicating with an end user.
If AI struggles with fourth-grade science question answering, should AI be expected to hold an adult-level, open-ended chit-chat about politics, entertainment, and weather? It is thus encouraging to see that Microsoft’s Satya Nadella did not give up on Tay after its debacle, and Amazon’s Jeff Bezos is sponsoring an Alexa social chatbot competition. I love this below quote from Jeff:
Like most of the Applications, the Chatbot is also connected to the Database. The knowledge base or the database of information is used to feed the chatbot with the information needed to give a suitable response to the user. Data of user’s activities and whether or not your chatbot was able to match their questions, is captured in the data store. NLP translates human language into information with a combination of patterns and text that can be mapped in the real time to find applicable responses.
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:
However, since Magic simply connects you with human operators who carry our your requests, the service does not leverage AI to automate its processes, and thus the service is expensive and thus may lack mainstream potential. The company recently launched a premium service called Magic+ which gets you higher level service for $100 per hour, indicating that it sees its market among business executives and other wealthy customers.
Facebook has jumped fully on the conversational commerce bandwagon and is betting big that it can turn its popular Messenger app into a business messaging powerhouse. The company first integrated peer-to-peer payments into Messenger in 2015, and then launched a full chatbot API so businesses can create interactions for customers to occur within the Facebook Messenger app. You can order flowers from 1–800-Flowers, browse the latest fashion and make purchases from Spring, and order an Uber, all from within a Messenger chat.
“I believe the dreamers come first, and the builders come second. A lot of the dreamers are science fiction authors, they’re artists…They invent these ideas, and they get catalogued as impossible. And we find out later, well, maybe it’s not impossible. Things that seem impossible if we work them the right way for long enough, sometimes for multiple generations, they become possible.”
This chatbot aims to make medical diagnoses faster, easier, and more transparent for both patients and physicians – think of it like an intelligent version of WebMD that you can talk to. MedWhat is powered by a sophisticated machine learning system that offers increasingly accurate responses to user questions based on behaviors that it “learns” by interacting with human beings.
As you roll out new features or bug fixes to your bot, it's best to use multiple deployment environments, such as staging and production. Using deployment slots from Azure DevOps allows you to do this with zero downtime. You can test your latest upgrades in the staging environment before swapping them to the production environment. In terms of handling load, App Service is designed to scale up or out manually or automatically. Because your bot is hosted in Microsoft's global datacenter infrastructure, the App Service SLA promises high availability.
It may be tempting to assume that users will perform procedural tasks one by one in a neat and orderly way. For example, in a procedural conversation flow using dialogs, the user will start at root dialog, invoke the new order dialog from there, and then invoke the product search dialog. Then the user will select a product and confirm, exiting the product search dialog, complete the order, exiting the new order dialog, and arrive back at the root dialog.
Designing for conversational interfaces represents a big shift in the way we are used to thinking about interaction. Chatbots have less signifiers and affordances than websites and apps – which means words have to work harder to deliver clarity, cohesion and utility for the user. It is a change of paradigm that requires designers to re-wire their brain, their deliverables and their design process to create successful bot experiences.
ALICE – which stands for Artificial Linguistic Internet Computer Entity, an acronym that could have been lifted straight out of an episode of The X-Files – was developed and launched by creator Dr. Richard Wallace way back in the dark days of the early Internet in 1995. (As you can see in the image above, the website’s aesthetic remains virtually unchanged since that time, a powerful reminder of how far web design has come.)
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.
The classic historic early chatbots are ELIZA (1966) and PARRY (1972). More recent notable programs include A.L.I.C.E., Jabberwacky and D.U.D.E (Agence Nationale de la Recherche and CNRS 2006). While ELIZA and PARRY were used exclusively to simulate typed conversation, many chatbots now include functional features such as games and web searching abilities. In 1984, a book called The Policeman's Beard is Half Constructed was published, allegedly written by the chatbot Racter (though the program as released would not have been capable of doing so).