If your interaction with a conversational bot is through a specific menu (where you interact through buttons but the bot does not understand natural language input), chances are you are talking to a bot with structured questions and responses. This type of bot is usually applied on messenger platforms for marketing purposes. They are great at conducting surveys, generating leads, and sending daily content pieces or newsletters.
Beyond users, bots must also please the messaging apps themselves. Take Facebook Messenger. Executives have confirmed that advertisements within Discover — their hub for finding new bots to engage with — will be the main way Messenger monetizes its 1.3 billion monthly active users. If standing out among the 100,000 other bots on the platform wasn't difficult enough, we can assume Messenger will only feature bots that don't detract people from the platform.
As I tinker with dialog systems at the Allen Institute for Artificial Intelligence, primarily by prototyping Alexa skills, I often wonder what AI is still lacking to build good conversational systems, punting the social challenge to another day. This post is my take on where AI has a good chance to improve and consequently, what we can expect from the next wave of conversational systems.
2. Flow-based: these work on user interaction with buttons and text. If you have used Matthew’s chatbot, that is a flow-based chatbot. The chatbot asks a question then offers options in the form of buttons (Matthew’s has a yes/no option). These are more limited, but you get the possibility of really driving down the conversation and making sure your users don’t stray off the path.
Malicious chatbots are frequently used to fill chat rooms with spam and advertisements, by mimicking human behavior and conversations or to entice people into revealing personal information, such as bank account numbers. They are commonly found on Yahoo! Messenger, Windows Live Messenger, AOL Instant Messenger and other instant messaging protocols. There has also been a published report of a chatbot used in a fake personal ad on a dating service's website.
3. Now, since ours is a conversational AI bot, we need to keep track of the conversations happened thus far, to predict an appropriate response. For this purpose, we need a dictionary object that can be persisted with information about the current intent, current entities, persisted information that user would have provided to bot’s previous questions, bot’s previous action, results of the API call (if any). This information will constitute our input X, the feature vector. The target y, that the dialogue model is going to be trained upon will be ‘next_action’ (The next_action can simply be a one-hot encoded vector corresponding to each actions that we define in our training data).
I've come across this challenge many times, which has made me very focused on adopting new channels that have potential at an early stage to reap the rewards. Just take video ads within Facebook as an example. We're currently at a point where video ads are reaching their peak; cost is still relatively low and engagement is high, but, like with most ad platforms, increased competition will drive up those prices and make it less and less viable for smaller companies (and larger ones) to invest in it.
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.
ELIZA's key method of operation (copied by chatbot designers ever since) involves the recognition of clue words or phrases in the input, and the output of corresponding pre-prepared or pre-programmed responses that can move the conversation forward in an apparently meaningful way (e.g. by responding to any input that contains the word 'MOTHER' with 'TELL ME MORE ABOUT YOUR FAMILY'). Thus an illusion of understanding is generated, even though the processing involved has been merely superficial. ELIZA showed that such an illusion is surprisingly easy to generate, because human judges are so ready to give the benefit of the doubt when conversational responses are capable of being interpreted as "intelligent".