Designing Quality Conversation for Google Assistant

Designing Quality Conversation for Google Assistant

When we are creating a custom action the first thing which we have to do is design the conversation

Objectives

  1. Rules for Conversation design

  2. Greetings and setting expectations

  3. Use personalization for existing users

  4. Error Handling

  5. Improve your actions with logs

Rules for Conversation Design

  1. The first rule is to write sample dialogs (Kind of a movie script)

Source: Google I/O ‘ 19

2. Don’t expect the sample dialogs to be perfect for the first time

3. Once the script is ready have a group of people and read them aloud

Source: Google I/O’19

4. Whenever you test your sample dialogs by reading aloud just turn back and do the conversation, the reason is when humans try to communicate there are others ways they would communicate like eye contact, body language, poses

5. When the question is confusing the other guy might look at you which may make you to repeat the question again(for humans it would work but what about machines)

6. Reason for doing like this is computers don’t understand your body language or poses or even eye contacts which means you have to write the scripts which machine can understand

7. How many sample dialogs do i want to write? There is no hard rule it depends on you

8. But there are two ways you should focus like

  • Happy Path — Everything goes in the flow

  • Sad Path — Humans won’t respond to what is been asked or they might answer it in a different way E.g. (Consider the name onion how it is spoken is Tamil, Malayalam, Telugu, Hindi, etc)

Happy path — Source: Google I/O’19

Happy path — Source: Google I/O’19

2. Greetings and setting expectations

Source: Google I/O’19

Let’s see sample greetings and will check how it is made better

Pet-Adoption, Source: Google I/O’19

In the above image, you could see the assistant has asked a question for that the user might think like they can ask any questions which would result like below

Are poodles smart? which your action can't handle because it can answer only questions about animals.

It will be very vague when u have these kinds of questions so it would be good if we avoid these kinds of questions at first. The above question can be rewritten like below

Pet-Adoption, Source: Google I/O’19

If you notice the above image there is a highlighter for the animal which means a user can ask about a cat/dog/elephant. we have to handle it.

To handle it we would use Dialogflow

Source: Google I/O’19

Once we use Dialogflow it will be like the below image

Source: Google I/O’19

Here’s another example of how Dialogflow extracts intents

GDG Intent — Source: Google I/O’19

We can make the above conversation even different by changing the ssml(speech synthesis markup language)

Source: Google I/O’19

If you see the right-hand side there is an audio tab where we can design our ssml. reason for doing this is to give a better user experience

If you compare the text on the left side and the audio text on the right-hand side you can see the question mark at the last is replaced with . in audio. It is not correct if the user sees it for that we can use the node library and create the voice design like below

Source: Google I/O’19

In the above image, you can see that we have used to outputs like one for the speech and another for the text

The end goal of greetings and expectations is Create a good user impression at the first

3. Use personalization for repeat users

We can create a custom greeting for the users who come back to our action

For that in our action, we will handle like below

Source: Google I/O’19

Here we have given the condition like is the user last seen then we would give a separate greetings else we would give the introductory greeting

Remembering some information by asking user permission

Build better voice apps. Get more articles & interviews from voice technology experts at voicetechpodcast.com

Suppose if your action is about weather you can ask the user for the zip code first and then you can show the weather of that particular zip code and then you can ask permission to the user whether your action can remember the zip code?

pet adoption — Source: Google I/O’19

We can handle it like the below code

  • conv.data.zipcode will store the information only until the session gets expired

  • conv.user.storage.zipcode is the longtime storage

Source: Google I/O’19

Helper Functions: Source: Google I/O’19

4.Error Handling

When someone says something that your action didn’t expect. Will see how we can make your actions to tackle those situations

  • Context-sensitive error handling

  • Rapid reprompt

  • Error acknowledgment

  • Escalated error

Context-sensitive error handling

Source: Google I/O’19

The user gives up if we didn’t handle things properly. To handle the error we would reprompt the same question to the user to bring him back to track like the below example

Source: Google I/O’19

Rapid reprompt

It is similar like context-sensitive error handling

Source: Google I/O’19

If you see the conversation where the chocolate shop action has asked about the recipe but the user has replied in percentage soon the action repeated the question back which makes the user back to track

Error acknowledgment

Suppose if your action can’t do anything with the question the user asked your action can acknowledge the user like below

Source: Google I/O’19

Escalated error

Combining the error acknowledgment and ask the new question can be done using escalated error like below

Source: Google I/O’19

4. Improve your actions from logs

Once your action is deployed you can improve your action by seeing the logs in Dialogflow like below and update it.

Source: Google I/O’19

Source: Google I/O’19

Even if the user asks something which your action can’t recognize we can manually link to the intent like below

Source: Google I/O’19

Congratulations!

You learned some of the tips on how to create a conversation design in google assistant

Happy Learning!!!!