First there were chatterboxes. Mostly children, but also old ladies and taxi drivers. After Eliza hit the streets in the 60s, the term was paraphrased to “chatterbot”. The “chatter” soon gave way to the shorter “chat”, and the term “Chatbot” became the standard for software which engages in natural language dialog.
When I entered the field in the late 90s, “chatterbot” was still in use, and an annual competition between open-domain chatbots has been going on regularly: The Turing Test Competition known as the Loebner Prize. Not much has changed in the following decade. It was not before the emergence of cloud services and open APIs, that the whole field started to boom with a particular kind of Chatbot: A single-turn machine.
These systems, exemplified by Siri, Alexa and Google assistant, excel at receiving a question, request for information or a command, and returning an appropriate response, information or action. Sometimes this single-turn interaction develops into a 2-turn interaction, as in the case of a missing parameter. But in general, the system is always waiting for a brand new, context-less input. There is no way to hold a proper conversation or discussion.
In the past 5 years the market was infested with this kind of Digital Assistants. Typically, they would consist of activating some web-service or another api call. Since these systems rely on free natural language input, they were confused with Chatbots. Chatbots were made to chat, not to carry out tasks or fetch data. Digital Assistants clearly cannot chat, but were, more often than not, considered bona fide Chatbots.
This is a crucial distinction: If it can hold a reasonable short discussion about some topic, with the context getting one step deeper on every turn, it is a Chatbot. Otherwise, it is a Digital Assistant. (Hereinafter: “DA”).
The term “Chatbot” is often abbreviated to mere “Bot”. Now, this is common and harmless, under one condition: The “Bot” in question actually chats: Receives lingual input and responds with lingual output. There are zillions of other “Bots” out there, which are not chatbots. In the context of Conversational AI, (and hereinafter) “Bot” usually means “Chatbot”.
- CoCo & Co Content reCommendations
- The Feedback Loop: A basic chatbot development process
- Artificial Intelligence vs Natural Stupidity
- What are the challenges and benefits of using Conversational AI in HR?
- How can Conversational AI help in the fight against the Coronavirus?
After having established some terminology, let’s take a look at Amazon’s Alexa. She is clearly a Digital Assistant. However, her most important feature is the ability to invoke skills. Each of the skills is either a Chatbot, or a DA. Invoking an Alexa skill which is a Chatbot transfers control to a separate software, usually developed externally. Typically, the Alexa skill is a full domain-specific Bot, able to cover a particular subject or field. The term “skill”, introduced by Amazon in this context, is limited only to the Alexa platform (DA). Unfortunately, a vendor of an Alexa skill which is (in itself) a full-fledged domain-specific Chatbot, Cannot offer its capability to the remaining 90% of the DA market.
A conversational Alexa skill is what we at CoCoHub call A Conversational Component (CoCo). A component can be big or small: It can cover a wide range of possible dialogs with users interested in a particular field, or an entertaining discussion about current events. In principle, every Conversational Component (such as an Alexa skill) is a Chatbot, and more importantly: Every Chatbot is immediately transformable into a Component.
Now, consider one last step: Can we take several such components (each in fact a full domain-specific Bot), and thread them together to get an Open Domain Chatbot? If we take two such CoCos, and combine them into a single, larger Bot, which in turn is also a CoCo, and repeat the process to include a large number of CoCo’s, each handling its own area of expertise?
Yes, we can.