Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
0 Kudos
In this blog, I would like to share tips and best practices to create a state-of-the-art conversational experience with chatbots, using the SAP Conversational AI bot-building platform.Here, we will focus on ‘How‘ best we can use the platform capabilities instead of ‘Why‘.Before I start, I believe that you’ve already identified your target users, use cases, and defined a script for your conversation.

If not, read this awesome blog series.

Now it’s time to start and put into practice all the things that you read before.

Let’s go!

1. Always guide the users through the conversation


This is something that you always need to keep in mind when you’re thinking about how to provide the best conversational experience. Users may be afraid or unconfident while using a chatbot and may easily feel lost, that’s why you need to guide them from the beginning to the end of the conversation.

1.1 First things first


The first impression is the most important. If this affirmation is true for human beings, it’s also true for chatbots. The first few seconds of your conversation are the most important. It’s during these few seconds that users decide if they will like to continue the conversation or not.

Be simple for a better impact


Building a strong onboarding is the most important thing to do when you design your conversation. You don’t have to say everything, but you have to say things that are good. Define what is the most important information that users need to know about your chatbot and its role, that is, how your conversation will start.

Do not guide users out of your scope


‘How can I help you?’, ‘What can I do for you?’, ‘What do you want to do?’ etc… If your chatbot already uses open questions like these, then be cautious! If you’re familiar with chatbots, you already know that they can’t do everything. Open questions are the door to the fallback skill. There can be multiple possible answers to these questions. Always remember that users need to be guided through the conversation, do not let them guide it. You must center the conversation around your intents and lead the flow, don’t take the risk to go beyond the scope of your chatbot.



1.2 Care about your conversational flow


Since you always have to guide your users through the conversation, you must define a good conversation flow. Each of your interactions should lead to the next one that is already defined. Your conversation must be scripted (and it already is at this point) and users just have to follow your script.

Do not keep people waiting



Imagine you are in the middle of a good conversation and for some reason, the other person stops responding. Ideally, this should not happen in real life, therefore this must never happen with your chatbot as well. First, you need to reassure your users that your chatbot is going to respond uninterruptedly. That’s the goal of the typing bubble (thanks to messaging app). A typing indicator is a useful tool to use without moderation to reassure users. They must be sure that your chatbot understood their requests and is confident about it.

You must ensure that you reassure the users with a message.

User: “I choose the red one”

Bot: “The red one? Good choice!”


Use active listening to provide a confirmation to user’s requests. Of course, your chatbot will not be able to really use active listening, such as the observation of non-verbal language. However, your chatbot can paraphrase, summarize, or question.

Saving users’ choices and using them to ask the questions will make users more confident about your chatbot and provide them a personalized experience that will make your bot more engaging.


Be sure about the user’s choice. Asking for a confirmation after a choice is a security to answer users’ requests correctly. Ask them if they are sure about their choice and provide them the chance to modify/cancel their choice. Only after the user has confirmed his/her choice, you must continue the conversation.

1.3 From the beginning to the end


Ok, now you already have a perfect conversation that fits the people’s needs. What’s next? When should a conversation end? You need to be sure that all questions have an answer before ending a conversation. What could be more frustrating than a chatbot that ends a conversation while you were still about to ask more questions? Ensure that this must never happen.
Finish your conversation only when your user wants to finish it. When your dialog flow seems to be ending, let the user decide whether to finish the conversation or not. Provide them an opportunity to restart the conversation or continue with it.


‘Can I do something else?’


Do not assume that a user will end the conversation after an action is completed. You need to let the user continue the conversation, make more choices and let her/him decide when the conversation should end. Your bot must never decide when the conversation should finish, and never leave the user without any choice, any possibilities. Always revive the flow until the end.


Example 1






Example 2




2. Create a great conversational interface


Chatbot is designed to stimulate conversation, but the conversation is not always text messages. A conversation can be enriched with images, buttons, and so on. For this, you can use the capabilities of SAP Conversational AI.


It helps you create your own interface design for your users that can lead to a real experience, simple, quick, and actionable.

2.1 Quick and actionable


Besides verbal communication, the conversation between humans is often through text messages, that’s because we don’t have the possibility to do it another way (ok we can send memes). With your chatbot, you have the possibility to create a real interface, answer users’ needs, and make it easier and quicker to use.

Structure the user input


To ensure that the user follows the conversation perfectly that is centered around your intents, structure his/her input. Buttons are a good way to structure user input and make your conversation more interactive and simpler to use.


Unstructured vs. structured message




By structuring the users’ input, you ensure that you stay in your script and provide users what they need. Users are guided to have quick access to the information they want.

Be careful to use buttons at a suitable place in your conversation. Do not create a linear conversation that limits the dialog and therefore the experience as well.

A picture is worth a thousand words


You might have heard that a picture is worth a thousand words. This adage refers to the notion that a complex idea is simpler to explain with a picture than with words. This idea must be considered while designing your conversational user experience.

While you are thinking of the next answer that your chatbot should provide to the user, also think about the best action to use. If you want to provide multiple choices to the user – use buttons. If you want to illustrate the articles for your customer – use the carousel. You need to move away from the impression that a conversational chatbot is just a text message. Think about what’s the best way to provide answers to your users; how to enhance their user experience.

Design your conversation with a mix of GUI (graphical user interface) elements and text message, but smartly. As you don’t need to only have text messages, you don’t need to (and don’t have to) have too many GUI elements as the answer. Combine them smartly and define when you need text messages.

2.2 Appropriate text messages


You need to carefully design your text messages and don’t overlook them. Here are some of the best practices you can use to write simple and good text messages:

Write multiple version of the same message


Try this: say hello to one of your friends, he/she will probably respond back with a hello (if not, maybe you need to talk with another ‘friend’). Now, say hello for the second time, maybe he/she will answer back again, but will start thinking that there is something strange today. Say hello a third time and this time he/she will tell you that you already said that.

So, if a human does not respond to the same thing in an infinite loop, why would a chatbot do?

The first thing is to diversify your answers, write multiple versions of the same message. Why? Because that’s how humans talk. Done? Ok, now you can add different answers for different cases, for example, if your user says ‘hello’ multiple times in the same conversation, design different responses.


You can also use the memory of your chatbot to remember if a user had already talked to your bot, and accordingly diversify your messages.



Less is more, be brief


Simplicity always wins. Like “If you don’t know me, Google it”. Your bot needs to be simpler. You don’t need to create a lengthy message for your users to understand it easily, you just need to have the right words. Be brief. Think of a conversation between humans being and try to do the same (the better you can). And if you are used to sending very long interminable messages to your friends, I’m sorry for this, but don’t do the same with your bot. Be simple for a bigger impact.

3. Build more than a bot


Chatbots are everywhere, that’s a fact, and yours is just another chatbot among them. To create the difference, you have to make a chatbot that’s more engaging and provides an unforgettable experience for your users. That’s why you need to give a real personality to your chatbot.

3.1 More human, more engaging


Personalize


The first thing that you need to identify while you’re thinking about the personality of your chatbot, is the personality that you want to target. Identify your target user first. Once you have identified it, you can design the personality of your chatbot that will fit. Your chatbot will be the image of your brand, that’s why you need to choose the right words. Always remember that what you say depends on who is listening.

Use contractions if it’s appropriate, add emojis and all those elements that will give your bot a real persona corresponding to your target and make it more attractive.

You can use the information that you already know about your users to complete its persona and create a real human experience for the users, more than that of a chatbot. Using your chatbot memory, you can use the user’s name, choices, feedback, and more to adapt the experience and make it more personalized.



Humanize


Undoubtedly, your chatbot needs to have an image and a name. They reflect the role of your chatbot. You can choose a name for your chatbot that reflects its role or a human name, but if you use a gender name, you need to adapt its gender to its personality.

You can find many examples of chatbot personalities: https://www.topbots.com/brands/

Accept your limitations


As you know, your bot can’t do everything. Even if you’re guiding the user through the conversation and you are willing to do anything to give him what he wants, sometimes your bot won’t understand. You need to be prepared for this.

The most common error when a bot doesn’t understand something is to apologize. Don’t do that! Understand the fact that it’s ‘just a bot’ and it can’t comprehend everything. Ask yourself, how this answer will help the users. Think of a conversation ending with apologies, too many times, leaving the user without an answer. Always stay positive and think about the better way to help users.

Fail gracefully


So what could be the possible reasons for this? The first reason can be that your chatbot is not trained enough but it can understand the question if it is formulated differently. Therefore, the first time, you need to ask the user to reformulate the question or say it differently. But what if your chatbot can’t understand it even in different words? You can’t leave the user without answers, that is when you need to connect them to an agent to handle complex requests. However, be careful about this, because you need to do it only for the complex requests that your chatbot can’t handle.



3.2 Think outside your business scope


More features!


Now you have created a nonlinear flow to guide your users through the conversation, from the beginning to the end. You created a persona for your chatbot, it has a name, an image, and a real personality. Great! But maybe there’s something you missed: small talks. Of course, you already have small talks (I hope so) such as the greetings. But the more small talks you create for your chatbot, the more it will be ‘human’. Train it to tell jokes, answer compliments or insults, etc…

All these small talks will strengthen its personality and create a real experience for users, more complete and more engaging.



What’s next?


Now you know all the key points to design the best user experience! Once you have done it, be sure to conduct a user test with few people before launching your chatbot and iterate fast on different versions.


Hope you enjoyed this tutorial. If you have any questions about it, feel free to ask us in the comments section below, we’re there to help you.

Happy bot building 🙂🤖

Note: This post first appeared at https://laptrinhx.com/how-to-build-the-best-conversational-chatbot-experience-in-easy-steps-29175204....