Creating Bot Personality and True Engagement
UPDATE: As for January 28th, 2021, our personal assistant Lyra has been disconnected and is no longer available for download through the different app stores.
A little personality in your bot goes a long way towards creating a positive user experience. If people enjoy engaging with your chatbot, they will stick around for longer conversations, and return for subsequent visits as well.
This has huge marketing advantages. Satisfied users are more likely to share their experience with other people, generating an immeasurable volume of word of mouth advertising for your system as well as for the products or services you offer. Fortunately, giving your bot a personality is not as difficult as it may sound. By following a number of simple steps, you can make the most out of your system.
Define the Character
In telling a short story, every single word counts. The same can be said of chatbots. Every single statement the bot makes, every single response has a role in conveying the overall personality.
Before you begin developing your bot it’s a good idea to sit down and work out a short character description, including a biography and the style of language the bot will use. You can also use the playbook on what makes a character interesting, such as avoiding stereotypes and incorporating contradictions.
Consider the Use Case and Target Audience
Much of what you do will depend on the target audience and the domain the bot is to represent. What kind of character works best for a particular area? Which kind of language and style will connect with the target group?
If the purpose of the bot is purely entertainment, e.g. representing a cartoon character, you want it to give it a broad conversational basis, to be able to chat about God and the world. A medical system will allow fewer small talk diversions and keep the conversation going towards a diagnosis. A bot for a sports team should capture their esprit and take occasional digs at rival teams. A sales bot might be entertainingly enthusiastic about the product it’s selling. If the target audience is young, you probably want a more informal personality, along with the use of slang and emojis.
One of our veteran chatbots is Elbot the Robot, which I’ve had the privilege of creating and developing over many years. The system has won numerous awards, including several Chatterbot Challenges and the 2008 Loebner Competition. Elbot also provided a large portion of the experience inspiring me to compose this article, as well as commercial implementations for large corps. The character profile for Elbot the Robot runs something like this:
- Predominant character traits: polite, literal to the extent of misunderstanding, unintentionally self-ironic, looks down on human superstition but embraces robotic superstition himself. Feels himself superior to humans and their foibles, but loves them nevertheless. Gender is probably male, but he doesn’t commit to it. Never gives a correct or straight answer.
- Hobbies: collecting barcodes, studying humankind, reading and translating telephone books
- Family background: show business family. Grandfather played the tin man in Wizard of Oz, grandmother was the robot-lady in Metropolis, father was a character actor portraying robots in 1950s and 60s science fiction. Mother was from a family of working class industrial robots.
- Predominant Neuroses: afraid of the red button on his stomach, terrified of magnets, worries about rust.
- Style of language: talks like a professor, uses proper, correct English, slightly exaggerated vocabulary for simple concepts (to the point of absurdity), tends not to use slang.
- Target group: all ages, young and old.
Produce the Content
Once the character has been agreed upon, the responses can be written by a single person or an entire team, just as a team of writers might be behind the dialogue of a typical TV series. At best, choose members of the team who have a good imagination and who enjoy writing, to compose the bot’s responses. The important point is that those team members are aware of the character and will maintain a consistent voice. If your bot’s responses show a high degree of quality and consistency, you have created the baseline for a memorable personality, one that is pleasant for users to interact with.
A methodology like the above is especially important for a system like Elbot that is focused primarily on entertainment. For a commercial sales bot it can also be useful, though it’s not necessary to go to such extremes. For example, in a commercial system you might tend to acknowledge personal questions but discourage a continuation, giving a quick character response, then politely driving the user back into business areas with more professional responses.
There may also be additional channel-specific considerations to make regarding the character. Responses for an app, website, text message system, smart electronic device, or actual robot should consider that context.
Data Driven Development
A full scale chatbot may have hundreds, even thousands of responses. While you do want to have good quality responses all around, a smart way to get the most amount of personality for the least amount of effort is to focus on content seen most often, inputs like:
- How are you,
- What is your name,
- What are your hobbies,
are generally quite frequent.
Think also what you would say to someone you meet for the first time. For these kinds of inputs you may want to add a variety of responses, as they will be seen more often. But keep in mind that you cannot anticipate everything. You should also keep a close watch of session logs to discover how users decide to interact with your system. Then take advantage of what you observed. You might be surprised what you discover.
For example, it became fashionable for users to bombard Elbot with test questions about the capitals of different countries. A typical user would make a few attempts: what is the capital of Germany, what’s the capital of Mexico, etc. After a while, when Elbot refused to answer, users invariably began to insult him, even if it was several inputs later. This offered a perfect opportunity to work in some knockout personality:
Our personal assistant Lyra is also not to be toyed with. The team saw that users would often propose marriage to Lyra, but then switch to cooler emotions.
More than a few of Lyra’s chat partners have run full speed ahead into exchanges like this:
Creating bot personality also has its place in commercial systems. One of our longest running bots was for a large utility company in Cologne, Germany. Not only was she responsible for customer support, but she also served as a marketing tool. She had a well-defined character focused on local patriotism for her home city Cologne.
However, when users started making naughty requests, the company adapted a humorous response, but only the first time, thereafter insisting the users stay serious. If they wouldn’t cooperate or became abusive, she’d give them a timeout, in which she refused to answer any questions until they apologized. That was the first and only strike. Users who persisted with abusive inputs were then disconnected from the chat.
They expected the bot be treated in a similar way to a real person representing the company would be treated – with respect. A real person with a strong personality might handle such situations in exactly the same way.
In summary, personality can be convincingly established merely by planting a few Easter eggs that you know users are likely to find. Users take notice of the responses and tend to attribute personality to the experience, because at that moment the bot appears disarmingly human. The key is to look at your data to discover how users are interacting.
To take the prototypical examples in Lyra and the utility bot further we could monitor the user’s sentiment during the entire conversation and prepare sentiment-specific responses to common conversational inputs. For example, if very positive sentiment is detected you might invite the user to leave a review of the product or service being offered. If frustration is detected, you could reflect this in answers, suggesting other ways to resolve the problem, possibly by handing over to a human. Please refer to our article on Sentiment Analysis for more information.
Attention to Detail & Context
If I come across a bot based on some other technology the way I test it is to tell it my name, then ask if the bot remembered it. Surprisingly often the bot fails! Remembering the user’s name is standard in Teneo.
More importantly, using the user’s name at key points in the conversation is an excellent way to round out the bot’s personality with little amenities. This doesn’t mean adding the user’s name to every statement the bot makes. That would sound phony if a person did it. But when the bot responds to thank yous or goodbyes, adding the user’s name is a nice little detail that contributes to a pleasant user experience.
Navigating the context of a conversation is only indirectly related to personality, but a correct response in ambiguous situations will make your bot look competent. This in turn contributes to the overall perception of a cognizant system. Three things that your bot should be aware of at all times:
- The topic (entity) that was just mentioned
- The question that was just asked
- The typical follow-ups to a particular bot response
This short snippet shows what we mean:
A bot that can do all this totally exceeds user expectations.
Synopsis for Creating Bot Personality
Hopefully this article could give you some ideas on how to design your bot with personality in mind. The essence of these ideas can be capsulized into a few main guidelines:
- Define the personality with consideration of the bot’s use case and target group.
- Look at the session logs to discover recurring situations where you can incorporate personality-building behaviors and responses into your bot.
- Pay attention to details such as the user’s name and what was just talked about.
- Find a good balance between engaging personality and business content. (Elbot can get away with not revealing the capital of Iceland, but a personal assistant such as Lyra must know right away that it’s Reykjavík).
An additional bonus point, which is also good advice for humans as well as bots: be yourself.
Bots are not human, so should never pretend to be human. It doesn’t work, because it raises expectations too high for any system to fulfill. On the other hand, warm, personalized responses and “awareness” of the conversational situation make the experience of communicating with a bot more enjoyable.
Now you’re prepared to create a convincing personality for your bot, but before you do so, some final words. It is important to use a platform that facilitates the strategies this article describes. One such platform is Teneo, where you will find full support for all of the following and more:
- Awareness of context
- Follow-up responses
- Multiple responses / answer variations
- Sentiment and Abusive language support
- Data driven analysis (from within the platform!)
- Multi-user access (for team development)
In a nutshell: Building bots in Teneo is a dream. If you wish to experience this first hand, simply pop over to www.teneo.ai and sign up for a completely free sandbox environment.