Natural Language Interfaces and the kinds of Chatbots
The term “Chatbot” is in trend these days and the year of 2016 is pretty much declared as the year of Chatbots. But after talking to multitude of people in last two months we found following problems while discussing Chatbots with industry people who are new to its current concept, especially considering the fact that Chatbots are not something totally new:
1. People are not sure about the definition of a conversational Bot, at what point a Bot becomes a conversational Bot?
2. What makes a Bot good? What are the attributes that define their quality?
3. How narrow a Bot’s domain should it be before turning it into something like command line interface?
4. And most importantly, what use-cases could really use a Chatbot with all its limitations? Who needs a Chatbot like Natural Language Interfaces?
We would like to address these questions and answer them with best of our efforts in this series of blog posts.
To talk further about different types of Bots we have to define few things first. Sometimes terms like Bots, Chatbots, Conversation Bots, Natural Language Interfaces, Virtual Assistants, Messenger Bot can be confusing and often used interchangeably, sometimes even replaced by an all-encompassing term like AI without much outrage!
We can generalize these different level of text/speech based UI’s in a group as Natural Language Interfaces(NLI). After all, we are interacting with a machine using some natural language, although sophistication of that may vary, it could be anything from using some key phrases to a full-fledged conversation where a machine can understand us and infer just like humans or even better than humans.
To answer the first question regarding the definition of Chatbots, below we define the categories of Chatbots based on how sophisticated or advanced these interfaces are, of course, this classification is very subjective and an attempt to understand the scope the field, any corrections and/or feedbacks are welcome.
Bot: As one can see the word ‘Bot’ comes from Robot which itself came from Czech word ‘robota’ which meant ‘forced labor’. The word ‘Robot’ usually reserved for humanoid machines which previously called ‘automaton’, and ‘Bot’ mainly used for softwares who run automated tasks. So we can the pattern and logic here in naming. But these days when we talk about Bots it usually refers to messenger bots, aggressively pushed by Facebook with their messenger platform, sometimes also referred as micro-apps, are very narrow and task specific automation apps with little more style and functionality than what people usually used to associate with ‘Bot’ softwares. One could also call them fancy command line tools. Any software with task automation could be called a Bot, e.g a shell script, a slack Bot etc. Some platforms/frameworks to try out:
Chatbot: There is no fine line between a Bot and Chatbot, a Chatbot might have a better dialogue system than typical Bot and scope of the bot might little wider and the user can talk more broadly and have a ‘sense’ of conversation but still confined to the domain of the Bot. It could even have a speech recognition and synthesis system that understands your voice. The proverbial pizza bot could be categorised in this category, customer support bots could also fit in this category. Usually, such a Chatbot has a Natural Language Understanding engine and the corresponding action component. It could be integrated with a third party tool and/or a messenger. Some relevant platforms:
Intelligent Conversational UI: These are full-fledged dialogue systems with broad domain, a user can interact with it via speech and/or text and engage freely, though technically such systems don’t really exist yet, we only see them in movies and read about in science fiction stories, but interfaces like Siri come close to that, there are other interfaces like Alexa, Amy etc. and they work for wide range of tasks, not just one task or domain, and that could be both good and bad, handling wide range of tasks is hard and current NLP/ML technology is not just there yet but having such technology could work like having a google for Chatbots or a mega-bot that talks to other task specific Chatbots depending on user requests. There are not many choices if you want to build one for your services but recently ‘Viv’ was presented by Siri co-founder and might be a promising choice for developers to build their own Siri-like interfaces.
We can say that most NLI’s are domain specific and narrow, but even in that confined domain they don’t work well, at least in our experience, and there are large no. of people who believe that Chatbots don’t solve any problem, stating that using natural language for every task is not optimum or convenient and that is true to certain extent. But there are use-cases where using a simplified and usable NLI would be handy, for transferring money or filling some complex form, doing something that doesn’t need any supplementary video/audio information or some use cases where talking or having a conversation is fun and/or more usable like customer support.
So what now? Of course Bots are getting hyped and more people getting interested every day with the goal of making human-computer interaction more ‘natural’ and intuitive, which might not always be necessary but it’s inevitable, there is every reason to believe that in near future we would interacting more through natural language with machine, sooner or later, you can only do this much with emojis!
In second part of this blog series, we would continue this discussion and talk about attributes that define a good Chatbot.
Conversate is a new Artificial Intelligence startup. We built an innovative Natural Language Understanding engine, with state of the art algorithms and enterprise services. Currently in private beta, if you are interested you can sign up at http://www.conversate.eu or write us at firstname.lastname@example.org