Building and training self-learning chatbots: Developers, you can drive the chatbot revolution
- 14 December, 2017 13:50
Chatbots are certainly one of the most interesting areas of development in the artificial intelligence (AI) and automation space. The progress made around virtual assistants in recent years is astonishing, and Australia is well-placed to lead the chatbots race.
As Gartner pointed out in its 19th annual CIO survey, APAC CIOS are far ahead of their global peers in the adoption of the Internet of Things (IoT), AI and conversational interfaces that are offering rich and dynamic user experience environments.
But while the future of chatbots is very promising, ANZ organisations still have a long way to go in building truly autonomous self-learning agents.
Building intelligent, autonomous assistants for tomorrow
Most chatbots on the market today perform pretty simple, niche tasks. In the next five to 10 years, chatbots will have a lot more context and data to play with, making them more intelligent. If built on the right framework and powered by the right technologies, chatbots will be able to use this data to learn from past results, and deliver personalised experiences to employees and customers.
Today, most chatbots are supervised. They are programmed to identify a predefined list of keywords to respond to pre-defined lists of questions, which help them act as a customer service agent with canned answers. In order to become self-learners, chatbots first need to be trained, as any staff would be before they can become autonomous.
To build the chatbots of tomorrow, developers must learn to design the right blueprints, and master a specific set of technologies.
Empowering chatbots to learn
To become autonomous, chatbots need high-level declarative programming approaches, where developers describe the goals for chatbots to achieve, rather than telling them how.
Eight key elements need to be addressed:
• The interface: Many chatbots come with interfaces such as Messenger or iMessage built-in or integrated directly into the native channel suited for the client. There are many levels of complexity to this: Text, voice and visual. The complexity here is the chatbot being able to provide the right user interface (UI) interaction for the right context.
• The Natural Language Processing (NLP) component: NLP technologies enable developers to build software that can truly understand human language and converse with humans in a natural manner. Though powerful, NLP can only help a piece of software to dissect a sentence to a set of intents that a computer programmer can use to take action on or understand. The challenge organisations want to address is how to integrate a chat experience to solve or enhance a specific need.
• The context or memory of a bot: To enable human-like interaction, the chatbot must maintain context or memory, from beginning to end. Some need to keep that context per user to be able to offer a personalised experience and history for that customer.
• Loops, Splits and Recursions: This is probably where the entire complexity of a chatbot lies. As you start having more open-ended conversations with chatbots, the need for the bot to be able to split off the conversation into others or to loop back into a previous specific conversation is very difficult to do today and many bots don't support it.
• Integrations with legacy systems: Depending on the type of chatbot developers are building, many agents will at some point need to work with an existing system that is either serving as a system of record or a source of information. If you are building a chatbot for a business, then most likely you are working with a CRM system, an ERP or even an HR system that you need to either gather information from or push data into.
• Analytics: Analytics is key to successful chatbots development because it is the element able to identify and understand engagement, deflection and misunderstandings. This is what leads to a high-quality and a more personalised experience for the end user.
• Hand-offs: If you are building a bot to work alongside a customer service organisation for example, there is a hand-off between the bot and the human that will take over in cases where the interaction gets too complex.
• Character, tone and persona: These are some of the soft characteristics of a chatbot that make it feel more human. Do you want the bot to be male or female? Do you want it to be hip and cool or very formal and studious?
Once the chatbot’s anatomy is blueprinted, developers need to introduce a richer declarative syntax that will help define the goals of the bot and delegate much of the heavy lifting in terms of system integration, memory management and conversation flow to the system
Developers who master this approach and these technical skills are the ones organisations will fight for tomorrow. Thanks to them, the delivery of unique user experiences and personalised customer service will likely take a whole new dimension.
Faris Sweis is senior vice president and general manager, developer tooling business, at Progress