Slide 1

Slide 1 text

experiences.microsoft.fr #experiences17

Slide 2

Slide 2 text

Microsoft experiences’17 #experiences17 Designez votre expérience chatbot • Le messaging et ses usages • Créer une experience conversationnelle • Implémenter l’experience avec Bot Framework

Slide 3

Slide 3 text

Hello, Microsoft Experiences Messenger Platform Introduction 04.10.17 S T R A T E G I C P R O D U C T P A R T N E R S H I P S A L E X A N D R E C R O I S E A U X

Slide 4

Slide 4 text

29 Bot design & UX conversationnel Thomas Sabatier CEO, The Chatbot Factory

Slide 5

Slide 5 text

Qui sommes-nous ? The Chatbot Factory est une startup spécialisée dans le design, le développement et l'entraînement de chatbots intelligents, apprenants et multi-plateformes.

Slide 6

Slide 6 text

Types de chatbots 1

Slide 7

Slide 7 text

Expériences simples et verticales Questions ouvertes LINÉAIRE Trees User Bot Flow dirigé Contrainte utilisateur forte

Slide 8

Slide 8 text

41 sec LINÉAIRE Sans IA

Slide 9

Slide 9 text

Expériences dynamiques et humanisées NON-LINÉAIRES IA ++ User Bot N L P Questions libres Aucune contrainte utilisateur

Slide 10

Slide 10 text

13 sec NON-LINÉAIRE IA++

Slide 11

Slide 11 text

Expérience complexes et horizontales Flow complexe Multi-fonctionnalités N L P HYBRIDES IA ++ / Trees User Bot

Slide 12

Slide 12 text

Expérience humanisée 2

Slide 13

Slide 13 text

Vers une expérience intuitive et humaine Gestion du rythme Séquençage des messages Messages de 80 caractères maximum avec une marge de 10%. Délais entre les messages Délai de 3 secondes maximum entre les messages afin d’assurer une lecture fluide.

Slide 14

Slide 14 text

Une expérience digital native et génératrice d’émotions Emotions et surprise Médias riches GIF, vidéos, Meme, ou autres médias en fonction de l’audience Emoji’s Les é

Slide 15

Slide 15 text

Gestion de la micro-copy Les “fillers” Courtes phrases et expressions qui précèdent la réponse de la requête utilisateur afin de contextualiser et d’animer la conversation.

Slide 16

Slide 16 text

Small talk Rendre la conversation la plus humaine possible L’intégration des fonctionnalités coeur n’est pas suffisante dans la création d’un bot. Le paramètre le plus important dans un bot est sa capacité à comprendre et répondre aux périphériques de la conversation (‘small talk’).

Slide 17

Slide 17 text

UI & Formats 3

Slide 18

Slide 18 text

“Créez de la valeur en faisant gagner du temps à vos utilisateurs!”

Slide 19

Slide 19 text

Contenus

Slide 20

Slide 20 text

Contenus

Slide 21

Slide 21 text

Les principes NLP 4

Slide 22

Slide 22 text

Comment ça fonctionne ?

Slide 23

Slide 23 text

Description de la matrice conversationnelle Modèle de réponse à une question libre Neymar a inscrit 6 buts depuis le début de la saison ! Laisse moi donc regarder dans mes archives… Hé, tu sais combien de buts il a mis Neymar depuis qu’il est au PSG ? Intent: data-nb-buts entity: NeymayJR

Slide 24

Slide 24 text

Description de la matrice conversationnelle Typologie de questions “CH” “WH” “YN” “TG” Questions “ouvertes” où le bot doit faire un choix. Questions commençant par “quoi” ou “quand” par exemple. En anglais “what”, “when”, “where”, “who”, “why”, ... Questions “fermées”, qui se répondent par oui ou non. En anglais “yes” ou “no”. Questions de type “tag” ou questions rhétoriques. C’est une blague? Je ne trouve pas la billetterie sur votre site ! Je peux commander ici? Saisie libre utilisateur

Slide 25

Slide 25 text

Une expérience évolutive Au gré des sollicitations de l’utilisateur Je vous permet de calculer les franchises bagages, répondre à vos question ou suivre votre bagages. Alors en quoi puis-je vous aider? Bonjour, je suis votre assistant bagages Air France. Première connexion Bonjour! J’espère que vous allez bien. Comment puis-je vous aider? Seconde connexion La prochaine fois que vous voudrez tracker vos bagages, n’hésitez pas à me saisir votre code directement depuis le menu principal! Après avoir utiliser deux fois la fonction follow my bag Comment puis-je vous aider?

Slide 26

Slide 26 text

53

Slide 27

Slide 27 text

Gestion des incompréhensions Pour une expérience fluide Le bot renvoie vers un opérateur 3. Troisième incompréhension Le bot guide l’utilisateur 2. Le bot demande de reformuler User : “ …” Première incompréhension Bot : “Je ne saisi pas votre demande, pourriez-vous reformuler s’il vous-plaît ? 1. User : “ …” Bot : “Je vous invite à sélectionner une rubrique ci- dessous pour préciser votre demande” Choix 1 Choix 2 User : “ …” Bot : “Je ne parviens pas à comprendre votre requête, je vous mets en relation avec un opérateur humain.” Deuxième incompréhension

Slide 28

Slide 28 text

Principe de la structure NLP Interprétation des émotions utilisateur 5 niveaux de granularité User : “je vous remercie pour votre aide!” Sentiment très positif { "sentiment": "vpositive" } User : “j’en ai ras le bol de votre service client” Sentiment négatif { "sentiment": "negative" } User : “Entendu” Sentiment neutre { "sentiment": "neutral" }

Slide 29

Slide 29 text

Principe de la structure NLP Interprétation des émotions utilisateur Création d’une moyenne par utilisateur User : “Bonjour !” { "sentiment": "positive" } …. User : “Jamais j’arrive à acheter mes places :(” { "sentiment": "negative", "feeling": "sad" } …. User : “D’accord, parfait !” { "sentiment": "neutral", "feeling": "satisfied" } …. User : “Super merci” { "sentiment": "vpositive" } 0.65 0.35 0.5 0.9 Moyenne sur l’échange : 0.60 (~positive)

Slide 30

Slide 30 text

Escalade vers l’humain 3 cas différents se distinguent. Une procédure ad-hoc est appliquée à chacune des variantes User : “j’veux trimbaler 1 télescope” Bot : “Je ne parviens pas à comprendre votre requête, je vous mets en relation avec un opérateur humain.” ou User : “J’aimerai parler à un conseiller” Bot : “Ne bougez pas, un conseiller est disponible je vous mets en relation” ou User : “J’en ai marre, j’ai perdu mon bagage! et j’ai pas de temps à perdre” Bot : “Un conseiller va vous accompagner sur la procédure à suivre.” Incompréhension Demande explicite Détection d’un sentiment utilisateur

Slide 31

Slide 31 text

Microsoft experiences’17 #experiences17 Designez votre expérience chatbot

Slide 32

Slide 32 text

Microsoft experiences’17 #experiences17 Designez votre expérience chatbot

Slide 33

Slide 33 text

Microsoft experiences’17 #experiences17 Designez votre expérience chatbot ScubaBot Meetups Bots & Cognitive GUSS / AZUG 12 Avril 2017 Hello, Bienvenue chez les Scubabous. Alors, vous êtes intéressés par la plongée ? Posez-moi une question ou démarrez avec l’une de ces activités. Découvrir les niveaux de plongée M’inscrire pour un baptême M’inscrire à un cours ScubaBot Quelle taille de tshirt souhaite tu ? Medium, Large, … XL Top. Je suis prêt à enregistrer ton inscription pour la sortie Porquerolles. Nous pouvons te contacter sur [email protected], et nous mettons un t-shirt XL de côté. L’inscription coûte 450€ C’est bon pour toi ? Je veux m’inscrire pour un voyage

Slide 34

Slide 34 text

Microsoft experiences’17 #experiences17 Designez votre expérience chatbot Meetups Bots & Cognitive GUSS / AZUG 12 Avril 2017 Accueil Inscription Voyage Choix Destination Taille Tshirt Récapitulatif Aide

Slide 35

Slide 35 text

Microsoft experiences’17 #experiences17 Designez votre expérience chatbot Avoir toujours la bonne réponse : ScorableGroup No response Commands Intent QnA Scorable -> RegExScorable Scorable -> RegExScorable Scorable -> RegExScorable Scorable -> LuisIntent Scorable -> LuisIntent Scorable -> LuisIntent Scorable -> MethodBind Scorable -> MethodBind > Humain ? ScorableGroup ScorableGroup ScorableGroup ScorableGroup

Slide 36

Slide 36 text

Microsoft experiences’17 #experiences17 Designez votre expérience chatbot

Slide 37

Slide 37 text

Microsoft experiences’17 #experiences17 Designez votre expérience chatbot var reply = activity.CreateReply("I have colors in mind, but need your help to choose the best one."); reply.Type = ActivityTypes.Message; reply.TextFormat = TextFormatTypes.Plain; reply.SuggestedActions = new SuggestedActions() { Actions = new List() { new CardAction(){ Title = "Blue", Type=ActionTypes.ImBack, Value="Blue" }, new CardAction(){ Title = "Red", Type=ActionTypes.ImBack, Value="Red" }, new CardAction(){ Title = "Green", Type=ActionTypes.ImBack, Value="Green" } } };

Slide 38

Slide 38 text

Microsoft experiences’17 #experiences17 Designez votre expérience chatbot replyMessage.Attachments.Add(new Attachment() { ContentUrl = "https://upload.wikimedia.org/wikipedia/en/a/a6/Bender_Rodriguez.png", ContentType = "image/png", Name = "Bender_Rodriguez.png" });

Slide 39

Slide 39 text

Microsoft experiences’17 #experiences17 Designez votre expérience chatbot

Slide 40

Slide 40 text

Microsoft experiences’17 #experiences17 Designez votre expérience chatbot Adaptive Cards O P E N F R A M E W O R K M U L T I P L E C A N V A S E S Notifications Microsoft Teams Skype Android iOS

Slide 41

Slide 41 text

Microsoft experiences’17 #experiences17 Designez votre expérience chatbot var card = JsonConvert.DeserializeObject(flightJson); Attachment attachment = new Attachment() { ContentType = AdaptiveCard.ContentType, Content = card }; var message = context.MakeMessage(); message.Attachments.Add(companyResult.First().ToBotAttachment()); await context.PostAsync(message);

Slide 42

Slide 42 text

Microsoft experiences’17 #experiences17 Designez votre expérience chatbot

Slide 43

Slide 43 text

Microsoft experiences’17 #experiences17 Designez votre expérience chatbot if (activity.ChannelId == "facebook") { //send acknowledgement Activity reply = activity.CreateReply("Facebook Messenger message detected! Beep boop. [o o]"); await connector.Conversations.ReplyToActivityAsync(reply); //send to the share button dialog await Conversation.SendAsync(activity, () => new ShareButtonDialog()); }

Slide 44

Slide 44 text

Microsoft experiences’17 #experiences17 Designez votre expérience chatbot //create a channel data object to act as a facebook share button reply.ChannelData = new FacebookChannelData() { Attachment = new FacebookAttachment() { Payload = new FacebookGenericTemplate() { Elements = new object[] { new FacebookGenericTemplateContent() { Buttons = new[] { new FacebookShareButton() } } } } } };

Slide 45

Slide 45 text

Helpful links “ 73 Consumer Insights m.me/FacebookIQ Success Stories fb.me/Messenger-Success Blueprint eLearning facebook.com/Blueprint Getting Started Guide fb.me/Messenger-Get-Started Messenger Platform messenger.com/platform

Slide 46

Slide 46 text

Microsoft experiences’17 #experiences17 Designez votre expérience chatbot https://docs.microsoft.com/bot-framework/ Slides de la session > https://maneu.net

Slide 47

Slide 47 text

Microsoft experiences’17 #experiences17 Designez votre expérience chatbot #experiences17 Doublez votre chance en répondant aussi au questionnaire de satisfaction globale ! * Le règlement est disponible sur demande au commissariat général de l’exposition. Image non-contractuelle Notez cette session sur experiences17.microsoft.fr Et tentez de gagner une Surface Pro

Slide 48

Slide 48 text

experiences.microsoft.fr #experiences17

Slide 49

Slide 49 text

© 2017 Microsoft Corporation. All rights reserved. experiences.microsoft.fr #experiences17