We cover all the steps needed for creating a conversational UI like a chatbot or Siri, Alexa, Google voice, and Cortana. We make sure to cover making a plan so a good user experience is the top priority.
Hello and welcome to Design for AI, I’m Mark Bailey, Welcome to episode 4
Let’s talk conversational UI.
A lot of people think chatbot, other people think Siri, Alexa, Google Voice, or Cortana.In the current gold rush climate that is AI right now, it seems that the first step a lot of companies dip their toe in. Sounds like a good topic to cover to me. So I’ll cover the steps that need to be covered to avoid mistakes.
1st step: start with a plan.
If you want to have a conversational interface you need a plan. Think of a good plan as a stop off point on way to voice interaction that everyone says is just around the corner. More likely though is to think of the plan as a list of immediate needs, then turn that around and look at it from the users point of view. Who uses a conversational UI? People using voice interfaces right now, they don’t want to be bothered. They don’t want to be bothered to wait to talk to a live person, bothered by downloading your app, bothered by opening their computer, not even bothered to get off the couch. Your UI needs to make their life more convenient. the way to think of your plan is, how will you get what you need AND make it more convenient for the user?
The first part of the plan is how this benefits your company. What is your motivation for building the interface. Your reason will be specific to you. So I can only cover the general cases. It could be for improving media buy by understand customers, or reducing call center time. There are a lot of Industry specific choices. Conversational UIs are easier to apply to certain industries more than others. Some of the easy industries for this kind of interface. If you are running a CRM, then reduce call center times. For IP established media, the personality is already there. There are set expectations on what to expect so it makes the personality a lot easier.
The next part of coming up with a plain is deciding what to measure. Again this is very specific to your industry. Do you want to know the length of engagement? should it be higher or lower? Do you want to increase return users A lot of the time you will be getting some analytics about the user. Do you want to compare info gathered through your UI to analytics info in user profile? What can you add to the user profile? Do you want to increase the number of recommendations made to other people. No I’m not talking about Net promoter score. I’m talking about use referral codes to get real numbers. You can even measure emotions on users leaving.
Once you have your plan
The next step you need is a DMP – Data management platform, to store the info you are collecting from your app. If you do not have one, now is the time to create it. You probably want to hire a data scientist because DMPs can have a high noise level. Because really, to get any usefulness out of them you will need to be running experiments with the data. DMPs work better better when cross referencing information against each other instead of straight search. Also now is the time to try rolling your own natural language processing project, known as a NLP. Siri, Alexa, Google voice, Cortana all have their own sandboxes that are not compatible with each other. You can try developing for a couple of them to see the differences between the systems. Or a good one open source one to get started with is called Mycroft.
So now that you have a plan and a platform to move forward with, what’s next? You need to create a personality. This is going to depend heavily on your company brand, and what you are trying to accomplish. Think of what is going to be the motivation for the AI you are building. What their motivation is will affect how they answer and guide the conversation. It also depends of the situation your users will be in while having the conversation. You don’t want a mechanic in the middle of a job getting asked 100 questions to get the response they want just so they don’t need to clean off their hands . It might sound like we are designing a person, and there is an argument that goes back and forth on how human you should make your your AI. It is too much to talk about here so I will cover that in a future episode.
short story is don’t fake being a real person. Also know that personality and humanness are different. In this case we want a strong personality, so what’s motivating your AI to give the answers it gives is important. A strong personality is important because it helps to hide the holes in the AI, but not in the way you think. Technology is not at the point yet that conversational AI can answer any question, and people really like to test the limits of conversational AIs. Using a strong archetype personality takes the fun out of pushing the limits
You wouldn’t ask an auto mechanic plumbing questions but you would take joy in asking a know it all a question they didn’t know the answer to. So a strong personality helps people from poking areas you can’t think of.
Once you have the written down all the important aspects of your personality, the next step is to create the golden path. You don’t want to get into the AI yet, and we are not thinking of edge cases either. The golden path is perfect non-interactive conversation. The user asks all the perfect questions, your AI knows all the answers and questions needed to get the information needed to get to the goal. Once you have the golden path, you can start breaking down the conversation into dialogics.
For a description of what dialogics are think of it as the interchangeable small parts of the script. There is a stream of conversation that gets broken down into a trigger, then the steps 1,2,3 and so on until you reach the goal. This is the part that is UX. It is the use cases,
and since the personality dictates the dialogics use cases, that’s why you need to work on the personality first.
This is when you create the script. What do you want to know? Take your golden path conversation and atomize into spreadsheets.
Figure out the use cases, breakdown the conversation into the smallest bits possible, test it by talking to another person, then once you have the use cases broken down as small as possible, create conversational points around the user journeys. These conversation points are where the analytics will plug in, so you know how well the conversation is going the way you expect it to go. One problem to be aware of when you are testing the conversations, know that users will altering their behavior to fit the AIs requirements. The best example I can think of is it is similar to over pronunciation when voice to text first came out. So when testing the conversations, make sure the person you are testing with don’t know what the goals or conversational points are. This is something a lot of people have problems with because they want to test it with co-workers first. Co-workers know the goals of your company. They will subconsciously try to move towards the goal or purposely artificially move away from your goal. Neither of these are real world situations.
Next step is the machine learning.
You want to create the algorithms to get it better. This depends on the use cases you came up with in the previous step. I’ll leave it up to your developers group to handle this step.
Once you have done all the machine learning you are ready to release. This is the final step? Not even close. This is where you start to specialize the training on release. You need to look at the analytics. Where are the the conversations getting killed, where are they lasting longer. You can create multi-variant tests for different script choices. For this first release it is not expected to be the final form. It is good to start beta-testing as a game on kik or facebook, or you can create a conversation bot on reddit. If you want to do a branded beta of your app that will work too, but you need to advertise the beta, or you won’t get any training data. The reason for this beta release is to train the AI.
Expect for it take about 3 months to get ahead of the open source text libraries.
The real final step is entering the cycle. Since AI is more like an employee instead of a machine you have to keep checking on it, otherwise data moves, the model moves, everything moves and your AI gets worse. There will always be tweaks you can make to the conversation run smoother. The reality is that the technology isn’t quite there for the AI to understand unstructured conversation. Think of it like you are perfecting the telescope that your AI is looking through to see. Basically there will be some kludges to cover over the holes in your model. I’ll talk more about the development cycle in future episodes.
Thank you again
and remember, with how powerful AI is, lets design it to be usable for everyone