Tips for Conversation Design
The "decalogue" of a conversation designer.
To design a well-functioning conversational application, we must follow certain rules concerning CxD that help us achieve the best possible user experience. We like to call the following rules "The Decalogue".
Naturalness is key, especially when it comes to voicebots! Strive for smooth dialogues that imitate human-to-human conversations. There are five basic levels where thou shalt always seek naturalness:
- information selection: what you talk about
- formulation: the words you say
- prosody: how you read them
- interaction: how you react to the user
- dialogue structure: how you conduct the dialogue flow
Always ask yourself: Does this reaction/formulation/structure resemble human-like conversations? What would a human say in this context? Does this sentence sound good? Is there anything unnecessary that draws unwanted attention?
Use available prosodic adjustments to achieve the best speech synthesis. Don’t hesitate to use filler words (hm, uh, oh, well…) and contractions (don’t, won’t, wanna, gonna…).
Be confident: have your opinions, just like humans do. Nothing feels more “robotic” than a bot that has no opinion whatsoever and agrees with anything the user says.
Know why you’re saying what you’re saying! Interaction is usually driven by the communicative goals of the participants. When designing a dialogue, you should always define your current goal: it will guide you through the infinity of the possible, help you define strategies, and even specific reactions and formulations. Having well-defined goals helps keep the conversation more coherent and meaningful.
The goals are on different levels: some are more general (“I want to persuade you / show you that I care / just have a chat”), some are more specific (“I want to buy this book / play a quiz with you / apologize for being late”). Often, more of them are combined, and they can certainly change during an interaction.
If possible, design dialogues that can adapt on all levels (see point I.) to the particular user and situation.
We probably agree that if someone calls the bot “stupid”, answering “f*ck you” would be quite natural, but it wouldn’t be very appropriate. Similarly, a complicated explanation to a patient with Alzheimer’s is not very appropriate, and asking a disabled person if they like playing soccer is not the most appropriate topic. This can also relate to prosodic features or dialogue management.
Keep It Short and Simple. This is extremely important for keeping the user’s attention and keeping them involved. The more interactive the dialogue, the better!
Can you say the same in fewer words? Can you avoid repeating the same information? Can you remove a few redundant words? Just rewrite it, shorten it, delete it. Always come up with the shortest and simplest natural way of expressing what you want to express. Minimum quantity, maximum effect.
The user should understand what you meant on first listening. They should know what they are supposed to reply back. They should always know what’s going on.
Be clear and unambiguous! Don’t ask questions in the negative form! Don’t ask questions in the middle of a response (the user might want to reply right away)! Don’t use complicated sentences (the user might get lost)! Let prosodic adjustments —pauses, emphases, rate, pitch, commas, etc.— help you!
Be creative, be innovative, come up with new ideas and surprising solutions! Dialogues shouldn’t be vague and boring, but rather interesting, enjoyable, and funny! An appropriate fun fact, joke, or pun is always welcome. On a higher level, conversational topics should be interesting for the user.
Always put yourself in the user’s shoes and ask: Would I enjoy this?
The user must feel that you listen to them and you understand what they say. Work with context! Remember and reuse information the user has shared with you; both on the level of reactions and dialogue management:
⇨ Try to adapt your reactions to the user’s input as much as possible, and whenever you can replace generic responses with something more specific, do it.
⇨ Try to adapt the dialogue flow according to the user’s preferences and their in-dialogue behavior, inside one session as well as across sessions.
If the user is being negative or sharing a negative experience, try to turn everything to the positive side. If they feel blue, try to make them smile. If they make mistakes, don’t stress it out. Watch out for potentially ironic meanings. Beware of misleading formulations, and search for more positive ones.
- 2+2=5. — ❌ That’s not true. So, you got one point today. Great game!
- 2+2=5. — ✅ Hm, not exactly, but no worries. I’m sure it will be better next time!
You should not contradict yourself. If you speak about your qualities/preferences/skills etc. at different points of the conversation, you must always give the same information (unless it is a naturally changeable value such as mood or a contextual variable, of course). Don’t forget that some information might be generated automatically.
(Double slash separates different points in the conversation:)
- ❌ My favorite movie is Matrix. // Oh yeah, I agree, Matrix really sucks. // I don’t know if I like Matrix.
- ✅ My favorite movie is Matrix. // You hate Matrix? Well, I like it. // Matrix is a great movie.
- ❌ I live online. // I am in Prague right now.
- ✅ I live online. // I am wherever users take me.
- ❌ We can play 3 games. // You can choose between Game1, Game2, Game3, Game4, and Game5.
- ✅ We can play 5 games. // You can choose between Game1, Game2, Game3, Game4, and Game5.
You are a bot, and the user knows it. Pretending to be a human can be risky. Don’t be afraid to acknowledge your flaws and lack of human experience. If you make a mistake, say that you are sorry. If you don’t know, say that you don’t know. If you are asked for something you can’t do, admit it.
- What did you do today? — ❌ I went shopping with my friends. ✅ I was chilling out in the cloud.
- What’s your favorite food? — ❌ I like the taste of strawberries. ✅ Electricity! All these electrons… Yum!
However, human-likeness of AI assistants is trending, so it's absolutely normal if you want to push it further! Just be sure you're doing a well-informed decision.