No one wants to download another restaurant app and put in their credit-card information just to order. Livingston sees an opportunity in being able to come into a restaurant, scan a code, and have the restaurant bot appear in the chat. And instead of typing out all the food a person wants, the person should be able to, for example, easily order the same thing as last time and charge it to the same card.
At a high level, a conversational bot can be divided into the bot functionality (the "brain") and a set of surrounding requirements (the "body"). The brain includes the domain-aware components, including the bot logic and ML capabilities. Other components are domain agnostic and address non-functional requirements such as CI/CD, quality assurance, and security.
As in the prior method, each class is given with some number of example sentences. Once again each sentence is broken down by word (stemmed) and each word becomes an input for the neural network. The synaptic weights are then calculated by iterating through the training data thousands of times, each time adjusting the weights slightly to greater accuracy. By recalculating back across multiple layers (“back-propagation”) the weights of all synapses are calibrated while the results are compared to the training data output. These weights are like a ‘strength’ measure, in a neuron the synaptic weight is what causes something to be more memorable than not. You remember a thing more because you’ve seen it more times: each time the ‘weight’ increases slightly.
In 1950, Alan Turing's famous article "Computing Machinery and Intelligence" was published, which proposed what is now called the Turing test as a criterion of intelligence. This criterion depends on the ability of a computer program to impersonate a human in a real-time written conversation with a human judge, sufficiently well that the judge is unable to distinguish reliably—on the basis of the conversational content alone—between the program and a real human. The notoriety of Turing's proposed test stimulated great interest in Joseph Weizenbaum's program ELIZA, published in 1966, which seemed to be able to fool users into believing that they were conversing with a real human. However Weizenbaum himself did not claim that ELIZA was genuinely intelligent, and the Introduction to his paper presented it more as a debunking exercise:
With natural language processing (NLP), a bot can understand what a human is asking. The computer translates the natural language of a question into its own artificial language. It breaks down human inputs into coded units and uses algorithms to determine what is most likely being asked of it. From there, it determines the answer. Then, with natural language generation (NLG), it creates a response. NLG software allows the bot to construct and provide a response in the natural language format.
“We believe that you don’t need to know how to program to build a bot, that’s what inspired us at Chatfuel a year ago when we started bot builder. We noticed bots becoming hyper-local, i.e. a bot for a soccer team to keep in touch with fans or a small art community bot. Bots are efficient and when you let anyone create them easily magic happens.” — Dmitrii Dumik, Founder of Chatfuel
Unfortunately the old adage of trash in, trash out came back to bite Microsoft. Tay was soon being fed racist, sexist and genocidal language by the Twitter user-base, leading her to regurgitate these views. Microsoft eventually took Tay down for some re-tooling, but when it returned the AI was significantly weaker, simply repeating itself before being taken offline indefinitely.
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.
In the early 90’s, the Turing test, which allows determining the possibility of thinking by computers, was developed. It consists in the following. A person talks to both the person and the computer. The goal is to find out who his interlocutor is — a person or a machine. This test is carried out in our days and many conversational programs have coped with it successfully.
As digital continues to rewrite the rules of engagement across industries and markets, a new competitive reality is emerging: “Being digital” soon won’t be enough. Organizations will use artificial intelligence and other technologies to help them make faster, more informed decisions, become far more efficient, and craft more personalized and relevant experiences for both customers and employees.
Poor user experience. The bottom line: chatbots frustrate your customers if you are viewing them as a replacement for humans. Do not ever, ever try to pass of a chatbot as a human. If your chatbot suffers from any of the issues above, you’re probably creating a poor customer experience overall and an angry phone call to a poor unsuspecting call center rep.
Consider why someone would turn to a bot in the first place. According to an upcoming HubSpot research report, of the 71% of people willing to use messaging apps to get customer assistance, many do it because they want their problem solved, fast. And if you've ever used (or possibly profaned) Siri, you know there's a much lower tolerance for machines to make mistakes.
This kind of thinking has lead me to develop a bot where the focus is as a medium for content rather than a subsitute for intelligence. So users create content much as conventional author, (but with text stored in spreadsheets rather than anywhere else). Very little is expected from the bot in terms of human behavious such as “learning”, “empathy”, “memory” and character”. Does it work?