This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 3099067.
Building A Chatbot Without Utterances
by Ciarán Daly
by Julio Prada
BARCELONA - Since the emergence of integrated chatbots within messaging apps like WeChat or Facebook Messenger, companies are increasingly realizing that they need to be where the customer is. As users, we spend 90% of our smartphone time using only three applications, with instant messaging by far the most-adopted channel globally. The recent emergence of smart speakers in our homes likewise adds to the appeal of voice when interacting with chatbots.
These factors, together with the fact that companies need to automate their customer service as much as possible, converge with the current boom in chatbots. Their mission is simple: to be part of your day-to-day when it comes to solving problems, queries, or purchases, and help you access the relevant information instantly without an endless wait.
But the question is: how easy is it for a company to create one of these chatbots? Currently, there is a short list of key software providers capable of designing and launching a chatbot. The most relevant of the current scene are Google Dialog flow, Inbenta, Amazon Alexa, Microsoft and IBM Watson.
Despite their differences, all of these providers offer the possibility of testing without having to make a large economic investment and, ultimately, they should be the key to giving life to your chatbot. However, the reality is that these software platforms are not able to understand the specific needs of your business or create intelligence for the chatbot to learn automatically.
Here is the great myth about chatbots: machine learning being equivalent to self-learning. There is no software that generates knowledge in a chatbot automatically and, if there is, it would not be advisable. The learning of a chatbot must always be assisted or supervised. And this is very well known to the Botmasters; those responsible for teaching, managing and maintaining the chatbot.
In effect, the Botmasters are already here. In the same way that a community manager manages social networks, or a webmaster manages the web, the Botmaster takes care of the chatbot. This role or figure is relatively new and becomes increasingly important to the extent that companies invest in artificial intelligence, digital transformation, and offer new channels of interaction with customers. We are talking about a new type of employment or work.
One of the great challenges that Botmasters face is the creation of chatbot knowledge units, also known as 'intents'. They represent the individual ability to respond or solve a particular issue. For example, in an airline, an intent could take the form of a query, such as "how to travel with pets?". When asked by a user about this topic, the chatbot provides a relevant response that helps the user to resolve their doubt. So far so good. The Botmaster has been able to generate an intent for the machine and has provided a lesson on what the answer is.
The real problem is yet to come, however. What will happen if we reformulate the same question with different words? "Can I fly with my dog?"
In this case, the default chatbot lacks the capability to understand that the two questions refer to the same intent. In specific terms, this capability is called NLU (Natural Language Understanding). Only the tools that possess artificial intelligence and NLU will be able to conclude that both phrases refer to the same thing. Technologies offered by Google, Amazon or Microsoft do not have NLU, forcing the Botmaster to carry out a manual and unitary training of variations of the same intent in order to provide the chatbot with a minimal comprehensive capacity.
Even some of the above-mentioned platforms need to have a minimum number of utterances. Following the example of "How to travel with pets?", The Botmaster should create as many variations as possible: “may I travel with pets", "does the airline permit me to fly with pets?", “can I take pets on board?" etc.
As a general rule, it is recommended to have a minimum of between 10 and 40 utterances for each unit of knowledge of the chatbot. Not to mention cases such as “can I fly with a dog?", “can I fly with a cat?", “can I fly with a Dalmatian?", etc. The limit of this list of utterances will be the creativity of the Botmasters themselves. There are even cases in which a Botmaster resorts to the help of his relatives during the weekends in order to expand such lists of variations, since in the end a single individual has a limited ability to rewrite the same phrase in so many different ways
And in all this, where is the artificial intelligence? Is it the machine that is at the service of the human being? At first glance, one feels the opposite is true, because it is the Botmaster who, in some way, needs to make a great effort to make the chatbot work even minimally well. Some readers could conclude that the creation of these variations or utterances is not a great effort either, and in part they might be right.
Everything will depend on the purpose of the chatbot (what mission it has) and to which group of users it is directed. The reality is that in any business vertical, a company needs an average of between 200 and 800 intents to cover a use case.
Taking an intermediate value, for example 500 intents, let's assume that we are fortunate that we do not have to create utterances of the style "Travel to Paris, Travel to Barcelona, Travel to xxx". If you account for the need need to create a minimum of 20 utterances per intent, we get 10,000 utterances. Possibly the implementation time of a chatbot is extended in weeks (and in cost) only by the need to have to create those utterances. In fact, in many cases it represents more than half of the time of implementation of a chatbot project. Not to mention the topic of languages: if we are building a chatbot that should carry out the same function but in 10 languages, our complexity and effort will be multiplied by 10 times (100,000 utterances… almost a book ?!).
Is there any way to remedy this situation? Of course. When it comes to choosing technology and chatbot software, you have to look for a vendor that has NLU capabilities.
Lacking these capabilities does not necessarily mean that you can't build a chatbot, but the lack of comprehensive capacity will result in a considerable increase of time and cost in your project. NLU allows you to obtain automatically from computational linguistics an infinite number of utterances for the same intent, and therefore a considerable saving of money at the same time as improving the "time-to-market" of the chatbot. It is very important to be able to validate these technologies, without forgetting the multilingual functionality.
Most US software has a certain degree of effectiveness in English, but when dealing with languages such as German, Italian or Portuguese, you will find that their performance declines. Surely we will have more luck with European technology, in which there is a more developed sensitivity regarding the users idiomatic realities.
There is no definitive chatbot software, yet, but it is important to evaluate the benefits and disadvantages of each offering. Undoubtedly, the NLU is a key element, especially if the chatbot will interact with languages other than English. If the project requires a very large volume of intents and we also need to build a chatbot in more than one language, surely the NLU will be the functionality to which more attention will have to be paid.