Creating a personality for your chatbot using clever copy

October 20, 2017
Hot topics 🔥
AI & ML Insights
Anastasia Gritsenko
Creating a personality for your chatbot using clever copy

If you’ve spent any time on branding, which if you’re a business owner you should have, you may be familiar with the idea of personifying your brand. Taking time to consider who your brand would be if it was a person, what it’s character traits might be and what kind of language it would use to really engage with your audience profile is really essential for brand building. The reason it’s so important to do this is because almost universally consumers like to engage with brands that align with their own personal value set — even if they aren’t aware that this is what they’re doing. Sure, there is also the aspiration angle that a number of brands tend to leverage in their advertising but the truth is most people are looking for a brand that is created specifically for them.

Identifying with brands you like

This is what I would most easily characterise as the ‘brands for people like me’ phenomenon. Having worked on various different products and brands throughout my career it has frequently been the centre of heated debates across creative and brand teams. How do you find that common ground? It is an equal balance of really understanding your audience and learning how to communicate with them best. These days there are a multitude of touchpoints and channels to use and that can be overwhelming in and of itself and perhaps a topic for another article on another day.

For this article I’d like to get into how understanding your brand’s personality and it’s voice goes a long way to creating a chatbot for your business. One that is able to carry out a conversation with your users in a way that makes them feel comfortable and understood. Ultimately leading them to want to engage with you more.

Before getting into the specifics around how we built Elio and Olivia’s conversational set, the two bots Pavel mentioned in his article last week titled, Lex vs LuisChoosing a tool to make bots for your business, I’d really like to talk more about why it’s important to create a bot with great conversational skills.

Teaching them to talk

To really get into the nuts and bolts of ‘training’ your bot it’s important that we look at and define a few terms that are floated in discussion around any kind of conversational AI. To really get to grips with how bots are taught to speak it’s important to understand the tech. So to start I’ll give you a quick rundown on what natural language assimilation, conversational user interface and machine learning really means.

Conversational user interface

There are two specific versions of conversational user interfaces, the first are what have become commonly known as voice assistants. You’ll know them better by their first names, Siri, Alexa, Cortana and Ok Google and these are systems you talk to. Then there are those that you type to. As Pavel mentioned it seems that many of the popular social networking and messaging services have had a headstart in the game with Facebook having M and Slack has Slackbot for example. The key idea, of course, is that a user can carry out a conversation with the bot or VA in order to get an action completed or to find a solution to a problem or query. Until recently, conversations were nothing more than a little robotic, but times are changing.

Natural Language Programming

It’s hard to say if brands were central to the idea of creating a more natural conversation with AI. The concept has certainly been popular in media and movies since time immemorial with some of the more notable robot personalities of Hal 9000, 2001 Space Odessy, R2D2 in Star Wars and more recently Dolores Abernathy in the remake of WestWorld (if you haven’t seen the first season yet, you need to). There seems to have been a hankering for humans to be able to speak to their machines like they’re friends, and very specifically a friend that has a whole lot of personality and is very quick-witted.

Traditionally a “conversation” with your machine required the understanding or use of programming languages. Natural language programming (NLP) has been created so that machines can understand human language as it is spoken (or typed) and is one of the main components of AI. The complexity comes in when you consider how precise instructions need to be when programming and how imprecise human language can be. As one human to another, we frequently need to learn to interpret meaning because contextually something said may mean something else entirely. Never mind the fact, that linguistic structure has many variables, including slang, regional dialects and lexicons that are determined by things like education, industry and societal markers.

When you take this all into consideration it becomes quite clear how exceptional this technology is. Currently, most of the research on NLP is centred around enterprise search, simply defined as “ the organized retrieval of structured and unstructured data within an organization”. Making use of this data the machine, recognising the important pieces of data within a human sentence, is able to provide an answer to the query that has been posed. This is a very simple explanation but at a minimum explains how NLP works.

Sentiment Analysis and Machine Learning

Another use case for NLP is sentiment analysis utilised mostly for interpreting user commentary on social media to assess a brand’s performance and user affinity. You may have also come across the term or concept of deep learning, this is simply a way to automate predictive analysis. In other words using algorithms that are stacked in a hierarchy that allows, through the narrowing of topic, the machine to understand the increasing complexity of how humans may express a certain idea.

So how is this all practically implemented, how as a writer are you able to facilitate this kind of programming? Especially when you don’t have a 100 developers to help you with organising this data? There are systems that have been created to help, like Amazon Lex and Microsoft Luis that Pavel discussed in his article and in combination with these systems it really is determining logically what you imagine a user may say or ask when trying to achieve a specific objective.

Meet Elio and Olivia

At WeAreBrain we recently worked on two chatbots, both having completely different purposes, which meant how we created the conversation required two different approaches. Elio is a DevOps workbot which is able to perform a number of tasks your DevOps guy or gal might do in the process of development, these include the setup of a Jenkins environment and the creation of a WordPress site to name a few of his operational abilities.

Our second bot project is called Olivia, a Facebook Messenger beauty chatbot assistant for Bloom Avenue — specialists in natural organic beauty products. Olivia was tasked with conducting a survey with a user to determine what skin type they have, in order to accurately provide suggestions for beauty products that may suit the user best.

You may ask, how did they differ? What it comes down to is intent, it all lay in what they were required to do. With Elio, he needed to preempt questions his fellow developers may ask so that he could respond appropriately and complete the correct action. While Olivia on the other hand needed to prompt the user to supply specific information so Olivia could collect the relevant data in order to make her recommendation.

Practically, what does this look like?

Once we had built Elio and understood his capability, specifically what functions he would be able to perform, we had a set of tasks a team member could ask Elio to complete. In partnership with the development team I had to sit down and give some thought as to how a human being might ask Elio to complete a specific task. For example if the user wanted Elio to set-up a Jenkins environment a request could look like any of the examples listed below:

  • I want to setup Jenkins
  • Please help me setup Jenkins
  • Setup Jenkins
  • Help me setup Jenkins
  • Can you setup Jenkins
  • Will you setup Jenkins
  • Please setup Jenkins
  • Do you know how to setup Jenkins
  • I’d like to setup Jenkins

Your role as a writer is to consider any combination of words a human may use to ask the bot to complete the action. Your developers then take the list and input it into the operational system being used to teach your bot so that he can recognise what is being asked of him. These options helped us to teach Elio to preempt queries. To ensure Elio understood the request we included confirmation text as part of the flow of the conversation. It would look something like “Are you sure you’d like me to set-up Jenkins” and then dependent on the answer Elio would either complete the action or he would ask if there was something else he could do to assist.

In the case of Olivia, she was not task-oriented. She was required to gather information and in this way, she needed to prompt an answer rather than preempt a request. In an effort to ascertain a user’s skin type she would ask a range of questions that are preprogrammed and would provide the user with advice on how to answer her questions.

This is when the real fun starts (for the writers at least)

Once you have a clear understanding of the logic your bot requires you can start having fun. This is when as a creative person you can start deciding who your bot really is. You are able to determine his/her speech patterns. What words they may use and how they would respond to a request. This becomes your opportunity to infuse personality into your bot.

In general you have four specific opportunities to do so. The first is in your greetings, 2nd in your request slots and or your confirmation prompts, 3rd invalid inputs and finally in each action’s fulfillment text.

Now, I’d like to track back a little to where I started this article and how, if you have a brand, you should have gone through a brand personification process and developed your brand tone and voice. If you haven’t, there are a few quick exercises you could do now with your brand team to try and ascertain your brand personality and voice.

Take a morning out and collectively sit and answer this set of questions:

  • If your brand walked into a party how would you describe them?
  • How old is your brand?
  • Is your brand male or female (or could it be both?) or perhaps it has no gender at all
  • What is it wearing?
  • How is your brand engaging with other people at the party?
  • Use five adjectives to describe your brand’s personality?
  • How does your brand say hello?
  • What is your brands tone of voice? Conversational and easy going? Or is it more authoritative and serious?

Once you’ve done this and noted it down, it becomes easier to really develop a personality for your bot because you have taken the time to think about how the brand may speak to a user. You’ll understand better, the words that would be used when greeting someone and what their tone of voice might be when speaking to a customer.

Now that you have this knowledge in your arsenal you can look at the four instances for personality development for your bot. The first are greetings. Typically this would entail your hello’s and goodbye’s but I would also include scenarios like I mentioned in the case of Elio when the user changes their mind about the action they requested be completed. So in the instance where Elio is told not to do something the intent of his response would be to say that should they need anything else they just need to mention him in the chat. However, how he says this is where he takes on the personality of the brand:

Possible options

  • Polite and professional:

“If I can help with anything else just let me know.”

  • Casual and familiar:

“Just let me know when you need me, I’m on standby.”

When we built Elio for the WeAreBrain team we took into consideration how the team generally spoke to each other and how the WeAreBrain brand would typically engage with a user. The WeAreBrain brand tone is always friendly, quick witted and sharp. With all this in mind and knowing Elio is a bot that can do more than one action at a time, midway through a task he may ask for additional work.

This kind of logic extends to all the opportunities I’ve listed above. For request slots and confirmation prompts however, the most important aspect is that communication is absolutely clear. You would still use language and the types of words that feel right for your brand but they should not supersede clarity. If your user is not clear on what they should do or say, you stall the whole process and then the experience as a whole becomes irritating. So simply put, please ensure that your intent is clear and if the intended audience does not understand the request or prompt, then you need to go back to the drawing board. Always aim to remove complexity.

The same applies for invalid texts, these exist because your user input is an unrecognised response. This may mean they didn’t understand the original text. Make sure what you say is clear.

Another thing to consider when creating invalid text responses, your user may feel frustrated because they are not getting to where they want to go, so try to avoid inputs that sound trite. It will just upset the user more. They do not want to be bested by a computer. There is a fine line between being humorous and inappropriate. When creating these responses, consider how you might feel if someone said to you what you’re teaching your bot to say.

Then we get to my favourite part of the job, creating fulfilment and result in text. This is text confirming that either the user has answered correctly or that a function has been completed. It’s good news! This is where you have the opportunity to really let your brand be :-). You get to share success with your user and yes, while completing a survey may seem like a small win, it is a win nonetheless. Your responses should be upbeat and encouraging. Making them laugh, feel flattered and satisfied is what you’re aiming to do here.

Keeping the conversation fresh

The key to having a real feel conversation is by ensuring the conversation is not repetitive. The best way to do this is to look at the intent of each message you are writing and then creating a number of versions that all mean the same thing, which in turn makes the conversation more dynamic. The best places to do this would be with greetings and fulfilment text. With invalid text, request slots and confirmation prompts I wouldn’t recommend creating too many options because this is where you need to be precise and as mentioned when discussing NLP, meaning can be misunderstood, even if it’s the user misunderstanding the machine.

Have a little fun

We’ve noticed that humans don’t always play by the rules with our bots and frequently we get some really strange requests and responses. On a few occasions, people have been a little rude to Olivia so we created a response that was both jovial and did a decent sales job at the same time.

Another great example of a company that really has had great fun here, is Apple with Hey Siri. In a recent conversation with Siri I got a better understanding of Siri’s spiritual beliefs, her opinions on love and her diet.

Creating your conversational user interface’s personality is a new cool space for writers to play in but it’s not just a writer’s space. Anyone involved in the build of a bot can help develop its personality.

So in closing, I’ll recap:

  • Creating an intelligent responsive bot requires a great deal of technological programming and research but when you don’t have a hundred hands you may need to go a little more manual. Of course you’ll need your developers to build the functionality and they are the people who are going to ultimately build your bots logic and understanding but you should stay on top of all of this so you understand your bots functionality and what it can and can’t understand.
  • As a writer or bot personality builder you’ll need to understand what your bot is supposed to do and how they do it. Once you understand that you should interrogate your brand tone and voice. Spend time personifying your brand, using this to define how your bot responds to requests.
  • Your opportunity to make your bot sound human comes via four instances, the greeting, the request slots and confirmation prompts, invalid text responses and finally your fulfillment and result responses
  • Be weary of getting ‘too clever’ with your request slots and confirmation prompts. Be clear and precise with these. Here you can play with tone a little but don’t get too complex
  • In greetings, you have the opportunity to build report, take a little extra time in building the way you’d like to converse with your users. How familiar do you really want to be?
  • Your fulfillment and result texts should be upbeat — it’s the success of your user’s engagement with your bot. Make them feel good about their experience
  • Remember to create a feeling of natural conversation, changing up greetings and fulfillment text will make the interaction feel more authentic.
  • Then have a little fun, humans are complex creatures and they don’t like to follow the rules strictly, so consider some of the stranger comments or requests they might make within the context of dealing with your bot and create the responses that feel true to your bots personality.

As a last suggestion I would recommend that when you’re planning on creating a bot bring your copywriter into the loop as soon as possible. Getting a mix of the technical and creative early in the project results in smart AI that sounds great too. Just ask Elio 😉

Anastasia Gritsenko

Anastasia is our head of UX and Design. She was born into a family of designers, so you could say that creativity is quite literally in her blood. During her free time, she enjoys reading everything from sci-fi and fantasy novels to the latest on UX and design.

Working Machines

An executive’s guide to AI and Intelligent Automation. Working Machines takes a look at how the renewed vigour for the development of Artificial Intelligence and Intelligent Automation technology has begun to change how businesses operate.