With competitor Venmo already established, peer-to-peer payments is not in and of itself a compelling feature for Snapchat. However, adding wallet functionality and payment methods to the app does lay the groundwork for Snapchat to delve directly into commerce. The messaging app’s commerce strategy became more clear in April 2016 with its launch of shoppable stories with select partners in its Discover section. For the first time, while viewing video stories from Target and Lancome, users were able to “swipe up” to visit an e-commerce page embedded within the Snapchat app where they could purchase products from those partners.
This means our questions must fit with the programming they have been given. Using our weather bot as an example once more, the question ‘Will it rain tomorrow’ could be answered easily. However if the programming is not there, the question ‘Will I need a brolly tomorrow’ may cause the chatbot to respond with a ‘I am sorry, I didn’t understand the question’ type response.
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.
Having a conversation with a computer might have seemed like science fiction even a few years ago. But now, most of us already use chatbots for a variety of tasks. For example, as end users, we ask the virtual assistant on our smartphones to find a local restaurant and provide directions. Or, we use an online banking chatbot for help with a loan application.
Regardless of which type of classifier is used, the end-result is a response. Like a music box, there can be additional “movements” associated with the machinery. A response can make use of external information (like weather, a sports score, a web lookup, etc.) but this isn’t specific to chatbots, it’s just additional code. A response may reference specific “parts of speech” in the sentence, for example: a proper noun. Also the response (for an intent) can use conditional logic to provide different responses depending on the “state” of the conversation, this can be a random selection (to insert some ‘natural’ feeling).
With last year’s refresh of AppleTV, Apple brought its Siri voice assistant to the center of the UI. You can now ask Siri to play your favorite TV shows, check the weather, search for and buy specific types of movies, and a variety of other specific tasks. Although far behind Amazon’s Echo in terms of breadth of functionality, Apple will no doubt expand Siri’s integration into AppleTV, and its likely that the company will introduce a new version of AppleTV that more directly competes with the Echo, perhaps with a voice remote control that is always listening for commands.
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.
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!
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.
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.
One of the more talked about integrations has been Taco Bell‘s announcement that it is working on a Slackbot (appropriately named Tacobot) which will not only take your Gordita Supreme order but will do it with the same “witty personality you’d expect from Taco Bell.” Consumer demand for such a service remains to be seen, but it hints at the potential for brands to leverage Slack’s platform and growing audience.
Creating a comprehensive conversational flow chart will feel like the greatest hurdle of the process, but know it's just the beginning. It's the commitment to tweaking and improving in the months and years following that makes a great bot. As Clara de Soto, cofounder of Reply.ai, told VentureBeat, "You're never just 'building a bot' so much as launching a 'conversational strategy' — one that's constantly evolving and being optimized based on how users are actually interacting with it."
A chatbot (also known as a spy, conversational bot, chatterbot, interactive agent, conversational interface, Conversational AI, talkbot or artificial spy entity) is a computer program or an artificial intelligence which conducts a conversation via auditory or textual methods. Such programs are often designed to convincingly simulate how a human would behave as a conversational partner, thereby passing the Turing test. Chatbots are typically used in dialog systems for various practical purposes including customer service or information acquisition. Some chatbots use sophisticated natural language processing systems, but many simpler ones scan for keywords within the input, then pull a reply with the most matching keywords, or the most similar wording pattern, from a database.