Lab Notes
Bots & Assistants Conference 2020 – Automating Lead Generation on Websites with AI Enabled Chatbots
This November I had the pleasure of attending and speaking at Bots & Assistants Conference 2020, a prestigious, international conference focused on the current and future state of artificially intelligent bots and assistants. There were some big-name sponsors such as Amazon Alexa, and many notable speakers from across the industry. Over the course of 2 days each speaker, or panel of speakers, touched upon their approaches and developments with chatbot technology and their use cases. In particular, it was about how businesses are using natural language processing, speech recognition, and other AI techniques to build chatbots and virtual agents for companies’ customer service as demand grows for these digital assistants.
Of course, the conference was held virtually this year due to coronavirus and therefore travel concerns. If video and voice technology had progressed far enough then all the discussions could have been held by our AI overlords. Unfortunately, (or probably fortunately) that was not the case. As many of the speakers would have noted during their talks, there are limitations to what we can build so far with the tools that we have. It’s what we can accomplish right now while not losing sight of what comes next that is most important in this ever-evolving field.
In this post we will break down the presentation given at the conference which detailed the design and implementation process of our AI assistant solution.
Chatbot Journey
At Maverick, we know that in today’s digital world how people search for products and services, engage with the providers, and ultimately select the company that’s right for them is continuously evolving. So, it’s important how businesses are discovered, how they present themselves, and how they stimulate engagement. Our goal is to help business-to-business companies navigate these spaces, capitalising on new opportunities, and staying at the cutting edge of modern communications.
With our Maverick AI Assist solution, we aim to elevate online interactions with consumers. The way businesses communicate determines their success. Every interaction matters because a company’s reputation, and more importantly their sales, depend on it. We asked the question “How can you be responsive, helpful and professional every time?”. Your employees have to sleep every once in a while, after all. With support and funding from InterTrade Ireland, we collaborated with the Computer Science department at the University of Ulster, including renowned expert in chatbot technology Emeritus Professor Michael McTear, to produce a chatbot solution that can manage the complexity of business-to-business interactions.
So, what we will do is go through the general sales funnel used by most companies, how a website chatbot can automate the initial part of this process, and how we’ve designed and implemented this into our service using a chatbot framework and our technical, communications, and marketing knowledge.
Sales Process
The general sales funnel can be broken down into 4 main stages.
Awareness
This is when the prospect becomes aware of your product or service, usually through advertising or other marketing techniques. The company’s aim here would be to get the prospect’s contact information and open up a one-to-one dialogue.
Interest
As you’d expect this is when the prospect expresses an interest in your product or service. At this point you want to educate them about what they’re interested in, which can be done through case studies, demo videos, and conferences too.
Desire
At this stage the potential customer evaluates which product or service to purchase. It’s important to nurture the leads at this stage and help them to understand the benefits and advantages your product or service has over the competition. This can be shown through live demos, trial offers, or by giving cost estimates.
Action
Finally, the action stage is when they have chosen your product or service. You’ve made the sale, closed the deal, and just need to provide them with what you have.
It’s easy to see how a chatbot can automate a good chunk of this process. For example, let’s say I’m door producer and you’re looking to purchase some new doors that open automatically so as to be “COVID compliant”, no one needs to touch the door handles. My targeted advertising has worked, and you click on an ad that brings you to my website. My newly deployed assistant initiates a conversation which catches your interest. You mention the types of doors you’re looking for and the bot provides you with some information on cost, style, or quality, and brings you to some case studies on the website. You like what you see and provide your relevant business details to the assistant. Not soon after you receive an email asking if you’d like to set up call, you click the link, chat with the bot and pick a time and day that suits you.
From the company’s point of view, they have just received a high-quality lead that is nearing the end stage of the sales process and they haven’t had to lift a finger. From the consumers point of view, they have had a seamless experience in discovering, researching, and setting up a sales call to finalize the deal. It’s a win-win scenario for both parties.
Chatbot Design
When designing a chatbot from scratch there is a general design workflow that you have to go through, and that we went through at the beginning. It’s been simplified here just to make it more digestible.
Is conversation the right approach?
First and foremost, you have to ask the question “Is a conversation the right fit for this feature?”. There has been some discussion about whether conversational interfaces, in their current form, are the best approaches for certain use cases. It became clear to us that these conversational assistants were a simpler way for customers to interact with businesses and would eventually become an integral part of all companies’ online presence. We can see the advantages they hold today and the benefits that will come in the future too.
Who are your users?
Then, after you have decided that this is the correct approach you must do some requirements gathering. “Who are your users?”, “What do they want to do?”, “How are they doing these things currently?”, are all relevant questions to contemplate. A good task to help you understand your users and how they will be interacting with your assistant is to create user personas and journeys. Just think of a few different people that are likely to use your chatbot, maybe write a brief description of each, and go through their journeys to achieving a certain task. This allows you to avoid designing just for yourself, and it makes it clear the critical moments that occur throughout the user’s journey, from start to finish, that really have an impact.
What are the use cases?
Of course, you have to decide what the use cases for your chatbot are going to be. “What can it handle?”, and “What can be built in the given timeframe?”. Will it be a simple bot to answer frequently asked questions, will it confirm and track your online orders, will it act as a sales agent, maybe generate leads around the clock, or some combination of these things? Depending on your business focus and budget these answers can be wildly different but you should aim for an area that would have the most impact and it should be what users are looking for. Or, maybe they don’t know that they’re looking for it yet. In which case you are either ahead of the game or you are out of the race.
How should the assistant act?
The assistant’s persona is really who your users are going to be interacting with. Creating a clear and distinct persona that resonates with your company’s brand is vital to ensuring a consistent user experience. It also allows for trust to be built between the user and the assistant, and by extension your business. Users are going to give your assistant a personality, whether you give it one or not. So, it only makes sense to utilize this to create the experience you want your users to have instead of leaving it up to chance. A persona can also be used as a design tool to help you write the dialogue script. Simply ask “How would this persona act, and speak, in this situation?”.
What kind of conversations will it have?
Having decided the users, use cases, and chatbot persona some sample conversations will need to be produced to get an idea of the conversation flow. An easy way to do this is to conduct a Wizard of Oz experiment, which is when you have a test user interact with some messenger application believing that they are chatting with a chatbot but in reality, is being operated, at least in part, by an unseen human being. Having completed some conversations and gathering users feedback you will be able to tell what worked, what did not work and what you need to incorporate to make the next interaction more seamless. You can also make use of style guides, like that from Google, to make sure that the most appropriate responses are being provided in the correct manner. The general conversation flow should then be mapped out using a high-level flowchart diagram to understand how most conversations will unfold.
For the times when the conversation does not unfold in any way that you have designed for (and this will happen) then your assistant has to be able to handle these situations in a way that doesn’t affect the user’s experience. With good error handling the user should not even know that an error has occurred. For instance, if the chatbot doesn’t understand an input then the user should be informed and asked for a different way of saying the utterance or should be provided with some options to continue in the conversation.
How do I build it?
After all of this has been mapped out it all needs to be programmed and implemented using a chatbot framework or platform of your choice. There are many available to choose from, each with their pros and cons. You have the usual suspects from the big tech companies such as Google’s Dialogflow, Microsoft’s Bot Framework, Amazon’s Lex, and Facebooks Wit.ai. The major benefits from these platforms are their NLU models supported by their massive datasets. The fallback is that you become reliant on these subscription services which can change at their will at any time. Furthermore, your conversational data has to be given to these companies in order to use them which can be cause for concern, for security and privacy reasons.
On the other hand, we have frameworks such as RASA, which is open source, with no subscription required and highly extensible. The data is your own and can be stored in-house bypassing the aforementioned concerns. The only downside being that you must build your own NLU dataset, which can be difficult initially but becomes a non-issue after your assistant has had a number of conversations, gathering the required data from them. We experimented with a few frameworks and found that in the end RASA was the best option for us because of its flexibility and data control.
Maverick’s Simplified Design Workflow
That’s the design process pretty much everyone has to go through when starting their chatbot journey. We went through it too and have been able to simplify the process for each of our new clients. We know the assistant’s users are going to be our client’s customers, or potential customers, visiting their website. The use cases are generating and qualifying leads, answering questions, and scheduling meetings. What we do for you then is build your bots persona, in line with your brand and your website design. The conversation flow is customised as required, but we will have that general flow mapped out already. The copy is written, and everything is implemented using RASA. The frontend is also designed, developed, and deployed onto the website, nicely integrated with the current website design. It’s then a process of continuously monitoring and regularly updating.
Conversation Driven Development
After the initial product has been built and released into the wild then real people will start chatting with it. It’s then an iterative process of gathering conversations, reviewing them, and making the necessary changes to your assistant by updating the NLU dataset, training and testing the new model and then releasing the new build. So, your chatbot is constantly learning how to handle conversations that it couldn’t previously and it’s understanding of user’s messages will improve dramatically as time goes on. The term conversation driven development was coined by the guys over at RASA which is “the process of listening to your users and using those insights to improve your AI assistant”.
RASA Framework
What does the RASA framework actually give us the ability to build? We can build Level 3 contextual assistants, which is a level above FAQ assistants and a level below the theoretical personalized assistants. A level 3 assistant is able to understand the context of the conversation, meaning it understands what the user has said previously and when, where, and how they said it. It’s capable of understanding and responding to different and unexpected inputs. And it can learn from previous conversations and improves accuracy over time.
https://blog.rasa.com/level-3-contextual-assistants-beyond-answering-simple-questions/
RASA Components
RASA NLU
RASA NLU is like the ear of your assistant. It takes user input in the form of unstructured human language and extracts structured data in the form of intents and entities, similar to what is seen on the other platforms.
RASA Core
RASA Core is the dialogue management component. It decides how an assistant should respond based on the state of the conversation and the context. This component learns over time by observing patterns in conversational data between users and an assistant. This approach to dialogue management is unique to the RASA platform and it allows for features such as “interactive learning” that let you correct your assistant’s actions through a machine learning technique called reinforcement learning.
RASA X
RASA X is a developer toolset to build, improve and deploy the contextual assistants. While not required it does allow developers to view and manage conversations, get feedback from testers, and version and manage models.
AI Assist by Maverick
So, what we have done by utilizing this design process, the RASA framework, our communications knowledge, and our website design and development expertise is created a fully-managed, AI-enhanced assistant solution that improves engagement and sales on business websites 24/7. It handles repeat, high volume interactions. It asks and answers relevant questions, generates and qualifies leads that can be saved into a CRM, and books sales meetings that’s integrated with employee’s work calendars. Clients enjoy a simple free flowing conversation. Instead of putting people off with long forms or drawn-out emails instead start initiating productive conversations that becomes more intelligent the more conversations it has.
Maverick’s AI Assist deals with the lower-level interactions and acts as a first point of contact between businesses and potential clients online, giving employees the freedom to focus on the most qualified leads. The savings and new leads will start adding up. The volume and value of the assistant’s interactions is measured and reported each month and the quantifiable benefits will be driven by instant service, increased automation, and reduced overheads. We know that presentation can be more than half the battle. Our assistant isn’t the typical pop-up chatbot in the corner of a website. It’s integrated into the website in a way that acts and feels seamless and fits with the current website design.