Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Welcome
La communauté Data Microsoft
La communauté Azure France
AzTech
Bots &
Cognitive
Intelligence
Avril 2017
C’est quoi un Bot ?
5
Bot :
Un bot informatique est un agent logiciel
automatique ou semi-automatique qui
interagit avec des serveurs informat...
6
C’est quoi un bot ?
Les (chat)bot existent depuis
longtemps
Et maintenant, il y en a partout et
tout le monde en parle
Bot Framework !
Comment on
démarre ?
Framework clé en
main
Catalogue de Bots
Tooling (émulateur,
debug, etc.)
Solution PaaS
Au-delà du texte
Et l’intégration ?
Et chaque channel dispose de
ces « capabilities »
On parle de
« Channel »
Bot Framework gère le
déploie...
12
Bot Framework – le code
Héritage
Avec des « si »….
…On ne devient pas
un droïd de protocole
Alors, comment rendre
un bot « intelligent »
15
Cognitive Intelligence
La cognition est le terme
scientifique qui sert à désigner
l'ensemble des processus
mentaux qui...
16
Cognitive Services
Emotion
Speaker
Recognition
Speech
Custom
Recognition
Computer Vision
Face
Video
microsoft.com/cognitive
Linguistic Analys...
18
LUIS :
Language
U nderstanding
I ntelligent
S ervice
C’est quoi les
concepts de LUIS
Uterrances
Intents
Entities
Features
?!?
Un exemple ?
Je voudrais le CV de Fabien
Intent={
intent:“ResuméRequest”
, score:0.82345
}
Entities=
[Collaborateur:“Fabien”]
Features=...
21
LUIS
22
Intégration de LUIS
1 Intent = 1 Méthode
Contexte LUIS
Meetups Bots & Cognitive
GUSS / AZUG
12 Avril 2017
Hello la communauté,
Je m’appelle Christopher MANEU
Salut Christopher 👋...
L’importance de l’UX pour
les sites web et applications est acquise
L’importance de l’UX pour
les sites web et applications est acquise
Pourquoi cela serait différent pour les bots ?
Qu’est ce qu’une conversation ?
Qu’est ce qu’une conversation ?
Une conversation est un échange d'informations
entre au moins deux individus, portant
géné...
La communication
Les erreurs classiques des bots
•Prétendre être un humain
•Mettre de l’AI partout
•Développer JARVIS
•Etre moins pertinent...
Deux thèmes pour ce soir
• Les éléments de la conception d’un bot
• Migrer d’une interface GUI à une interface CUI
Définir les tâches à accomplir
Le fil d’une conversation
Ouverture FermetureTask-related Task-relatedChat Chat Task-relatedExtra
Ecrire un script
{} : Options (c# block statement)
| : Séparateur (or)
() : Option conditionnelle (if)
[] : Data à capture...
ScubaBot
Ecrire un message…
Faire une bonne
première impression
- Se présenter
- Suggérer des prochaines étapes
- Suggérer...
Progressive disclosure
- Après que le bot se soit présenté
- Après avoir reçu une première
commande
- Après avoir complété...
Gérer le temps
Dans 5 minutes
Creepy ?
Demain midi
Okay ?
Mardi prochain
C’est qui déjà ?
Salut Claire, c’était
chouette d...
Gérer le temps
Salut Claire, c’était chouette de te
rencontrer ce soir au meetup. Bonne
fin de soirée - Chris
ScubaBot
Ecr...
Rendre la conversation
riche & rythmée
- Interjections, onomatopées
- Découper les réponses
- Avatar du bot
- Emojis
- Typ...
Etre un bon communiquant
- Demander confirmation
- Expliquer les choix
ScubaBot
Ecrire un message…
De quelle couleur tu ve...
From GUI to CUI – Listes
• Faire une liste numérotée, on peut
ainsi répondre par un nombre et
pas par l’item
ScubaBot
Marr...
From GUI to CUI Input validation
• Essayer de trouver l’information
avant de la demander
• Demander, en proposant des hint...
From GUI to CUI – MDI
• Les robots passent d’un « chalk
talk » à un état de travail sur
une tâche
• Résister au changement...
From GUI to CUI – Modales
• A utiliser avec précaution -> Ne jamais bloquer votre bot dans un état
Un sujet à peine effleuré
•L’intégration de la personnalité dans le bot,
•Les traits de l’intelligence,
•Les différences/c...
Finalement, c’est quoi
le rapport avec la BI ?
49
Data Lake
50
Analytics
Storage
HDInsight
(“managed clusters”)
Azure Data Lake Analytics
Azure Data Lake Storage
Azure Data Lake
U-SQ...
lambda architecture
Evénements
Analyse
Temps réel
Lake
EventHub
Azure
Stream
Analytics
Power BI
Analyse batch
Machine Learning
Azure Data
Lake...
54
Azure Stream Analytics
Permet d’analyser des flux temps réel
•Millions d’événements / seconde
•365 jours de rétention ...
55
Azure Data Lake Analytics
Les arguments Marketing
“Elastic analytics service”
“all data, at any size”
“No Limits to ...
56
Azure Data Lake Analytics
Service PaaS
Mode batch (on parle de « job »)
Modèle de tarification à l’exécution
Sécuri...
57
Le language U-SQL
Les basiques de SQL
Clauses de base
• SELECT, FROM, WHERE
• GROUP BY, JOIN, OVER
Fonctionne sur des...
58
Usages U-SQL
Source @DoktorKermit
59
Ma 1ere requête U-SQL
@checkins =
EXTRACT [Date] DateTime,
[Checkins] int,
[DenRatio] string, [MayorRatio] string,
[Cat...
On récapitule ?
61
Récap. Archi
ADLSEventHub
LUIS
APP
App Service
(Bot Framework )
Intent
IntentIntent
ASAAzeoBot Power BI
ADLA
Machine
Le...
Merci !
Des questions ?
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
Upcoming SlideShare
Loading in …5
×

Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)

751 views

Published on

--Enregistré lors d'un Meetup organisé avec les communautés GUSS et AZUG FR--
Meetup >https://www.meetup.com/fr-FR/GUSS-la-communaute-Data-Microsoft/events/238378581/
Screencast > https://youtu.be/iQkFUwrXUWU
Bots, bots, bots. C'est le sujet trendy du moment. Ce sujet est à la frontière entre le Dev. et la Data mais résolument Cloud.
C'est pourquoi GUSS et AZUG FR vous proposent conjointement ce meetup sur les bots et l'intelligence cognitive.
Au programme :
• Présentation des communautés AZUG FR et GUSS
• Session et démos sur les bots (description ci-dessous)
• Q&A avec les intervenants et Jean-Sébastien Dupuy, Developer Evangelist chez Microsoft France
• Collation & boissons pour un moment de networking

Inscription obligatoire en renseignant nom/prénom/email à cause du plan Vigipirate et des règles de sécurité de la Tour Montparnasse

Session sur Bots & Cognitive Intelligence--------------------
Avec Bot Framework, Microsoft met à disposition les briques de base pour développer et faire tourner un Bot. Mais le rendre intelligent n'est pas aussi simple. Heureusement, les Cognitive Services et les solutions BI d'Azure permettent d'enrichir votre Bot.
Dans cette session, nous présenterons les enjeux et les points clés d'un projet de Bot intelligent au travers de sa mise en oeuvre.
Nous aborderons des points techniques comme Bot Framework, les API Cognitive Intelligence, Azure Stream Analytics, Azure Data Lake, Azure Machine Learning et même Power BI
Cette session vous sera présentée par Fabien Adato, Aurélien Hanot, Cédric Noureau & Jean-Pierre Riehl, des équipes Modern Apps et Data & BI de la société AZEO, Christopher Maneu, PFE Modern Apps chez Microsoft et Jean-Sébastien Dupuy, de l'équipe DX de Microsoft.




Published in: Technology
  • Be the first to comment

  • Be the first to like this

Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)

  1. 1. Welcome
  2. 2. La communauté Data Microsoft La communauté Azure France
  3. 3. AzTech Bots & Cognitive Intelligence Avril 2017
  4. 4. C’est quoi un Bot ?
  5. 5. 5 Bot : Un bot informatique est un agent logiciel automatique ou semi-automatique qui interagit avec des serveurs informatiques. Un bot se connecte et interagit avec le serveur comme un programme client utilisé par un humain Chatbot : Chatbot is a computer program which conducts a conversation via auditory or textual methods Source : Wikipedia
  6. 6. 6 C’est quoi un bot ? Les (chat)bot existent depuis longtemps Et maintenant, il y en a partout et tout le monde en parle
  7. 7. Bot Framework ! Comment on démarre ?
  8. 8. Framework clé en main Catalogue de Bots Tooling (émulateur, debug, etc.) Solution PaaS Au-delà du texte
  9. 9. Et l’intégration ? Et chaque channel dispose de ces « capabilities » On parle de « Channel » Bot Framework gère le déploiement sur certains channels
  10. 10. 12 Bot Framework – le code Héritage
  11. 11. Avec des « si »…. …On ne devient pas un droïd de protocole Alors, comment rendre un bot « intelligent »
  12. 12. 15 Cognitive Intelligence La cognition est le terme scientifique qui sert à désigner l'ensemble des processus mentaux qui se rapportent à la fonction de connaissance tels que la mémoire, le langage, le raisonnement, l'apprentissage, l'intelligence, la résolution de problème, la prise de décision, la perception ou l'attention.
  13. 13. 16 Cognitive Services
  14. 14. Emotion Speaker Recognition Speech Custom Recognition Computer Vision Face Video microsoft.com/cognitive Linguistic Analysis Language Understanding Bing Spell Check Entity Linking Knowledge Exploration Academic Knowledge Bing Image Search Bing Video Search Bing Web Search WebLM Text Analytics Recommendations Bing Autosuggest Bing News Search Translator
  15. 15. 18 LUIS : Language U nderstanding I ntelligent S ervice
  16. 16. C’est quoi les concepts de LUIS Uterrances Intents Entities Features ?!? Un exemple ?
  17. 17. Je voudrais le CV de Fabien Intent={ intent:“ResuméRequest” , score:0.82345 } Entities= [Collaborateur:“Fabien”] Features= [“Fabien”, “Aurélien”, “Narcisse”,…] Ex:
  18. 18. 21 LUIS
  19. 19. 22 Intégration de LUIS 1 Intent = 1 Méthode Contexte LUIS
  20. 20. Meetups Bots & Cognitive GUSS / AZUG 12 Avril 2017 Hello la communauté, Je m’appelle Christopher MANEU Salut Christopher 👋 Je suis PFE Modern Apps / ☁️ chez Microsoft Et je suis venu vous parler d’expérience utilisateur pour les bots Mercredi 12/04/2017 Cool 🍿
  21. 21. L’importance de l’UX pour les sites web et applications est acquise
  22. 22. L’importance de l’UX pour les sites web et applications est acquise Pourquoi cela serait différent pour les bots ?
  23. 23. Qu’est ce qu’une conversation ?
  24. 24. Qu’est ce qu’une conversation ? Une conversation est un échange d'informations entre au moins deux individus, portant généralement sur un sujet précis. La conversation est une forme courante de communication qui permet à des personnes de faire connaissance. https://fr.wikipedia.org/wiki/Conversation
  25. 25. La communication
  26. 26. Les erreurs classiques des bots •Prétendre être un humain •Mettre de l’AI partout •Développer JARVIS •Etre moins pertinent qu’une application •Ne pas prévoir une issue de secours (humaine)
  27. 27. Deux thèmes pour ce soir • Les éléments de la conception d’un bot • Migrer d’une interface GUI à une interface CUI
  28. 28. Définir les tâches à accomplir
  29. 29. Le fil d’une conversation Ouverture FermetureTask-related Task-relatedChat Chat Task-relatedExtra
  30. 30. Ecrire un script {} : Options (c# block statement) | : Séparateur (or) () : Option conditionnelle (if) [] : Data à capturer (array) Bonjour, je souhaiterai m’inscrire à la section [apnée] {Bonjour|Salut|Hey|(Bonsoir)} [prenom], super nouvelle ! On va s’occuper de cela. Peux-tu me donner une adresse email ? Elle nous permettra de t’envoyer toutes les informations utiles (horaires des cours et des fosses, informations sur les sorties, etc…) [email] Top. Les séances d’apnée sont le Mardi et le Vendredi soir. Quel jour te convient le mieux ? Plutôt le [Mardi|Vendredi] soir
  31. 31. ScubaBot Ecrire un message… Faire une bonne première impression - Se présenter - Suggérer des prochaines étapes - Suggérer comment demander de l’aide 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
  32. 32. Progressive disclosure - Après que le bot se soit présenté - Après avoir reçu une première commande - Après avoir complété une première tâche - Timées / Achievements / etc… - Etre proactif ScubaBot Ecrire un message… Le Niveau 1 vous permettra de plonger jusqu’à 20m de profondeur accompagné par un guide. La formation est accessible toute l’année. Super idée !  Mais avant de se lancer, on peut commencer par un baptême de plongée. Ca vous dit de vous inscrire ? Que l’aventure commence ! Afin d’envoyer les détails (invitation, plan d’accès, etc…), il me faudrait un email.
  33. 33. Gérer le temps Dans 5 minutes Creepy ? Demain midi Okay ? Mardi prochain C’est qui déjà ? Salut Claire, c’était chouette de te rencontrer ce soir au meetup. Bonne fin de soirée - Chris
  34. 34. Gérer le temps Salut Claire, c’était chouette de te rencontrer ce soir au meetup. Bonne fin de soirée - Chris ScubaBot Ecrire un message… Hello Julie, Est-ce que tu as pu réfléchir depuis la semaine dernière ? La promotion sur la formation Niveau 2 expire demain, du coup, je me suis dit que c’était le bon moment pour te relancer 
  35. 35. Rendre la conversation riche & rythmée - Interjections, onomatopées - Découper les réponses - Avatar du bot - Emojis - Typing indicator ScubaBot Ecrire un message… Hmm Je voudrais m’inscrire pour un baptême Lundi prochain Laisse moi regarder l’agenda… Je n’ai plus de place pour Lundi prochain Lundi d’après, cela te conviendrait ?
  36. 36. Etre un bon communiquant - Demander confirmation - Expliquer les choix ScubaBot Ecrire un message… De quelle couleur tu veux ton bonnet ? Nous avons du bleu, du noir et du rouge en stock. Va pour le Rouge, comme Cousteau ! Top. Je suis prêt à enregistrer ton inscription pour le Niveau 1 de plongée. Nous pouvons te contacter sur christopher@outlook.com , et nous mettons un bonnet rouge de côté. L’inscription coûte 250€ pour la saison. C’est bon pour toi ?
  37. 37. From GUI to CUI – Listes • Faire une liste numérotée, on peut ainsi répondre par un nombre et pas par l’item ScubaBot Marre de la piscine ? :) Voici les sorties que nous avons prévues pour l’instant : 1 – Mexique, en Avril 2 – L’Île de Groix, en Mai 3 – Porquerolles, en Juin A laquelle vous voulez vous inscrire ? Je veux m’inscrire pour une sortie en mer 3 Porquerolles ! Très bon choix en cette saison. Vérifions les informations dont je vais avoir besoin pour terminer l’inscription Ecrire un message…
  38. 38. From GUI to CUI Input validation • Essayer de trouver l’information avant de la demander • Demander, en proposant des hints • Demander et afficher des choix • Confirmer avant d’exécuter une opération sensible • Expliquer lorsque le bot ne comprend pas (purple, sorry) • Monitorer, pour améliorer : Extra large, Extra-large, XL, 5 ScubaBot Ecrire un message… Quelle taille de tshirt souhaitez vous ? Medium, Large, … XL C’est un taille cela ? Je ne la comprends peut-être pas encore... Voici celles que nous avons: 1. Small 2. Medium 3. Large 4. Extra-Large
  39. 39. From GUI to CUI – MDI • Les robots passent d’un « chalk talk » à un état de travail sur une tâche • Résister au changement « Nous sommes en train de faire XXX, voulez-vous annuler ? » • Enregistrer l’état des tâches en cours afin de gérer la reprise ScubaBot Ecrire un message… A quelle adresse je dois envoyer la licence fédérale ? Je veux m’inscrire pour un baptême Nous étions en train de finaliser votre inscription, voulez-vous annuler ? Vous pourrez la reprendre à tout moment en me demandant « Reprendre mon inscription »
  40. 40. From GUI to CUI – Modales • A utiliser avec précaution -> Ne jamais bloquer votre bot dans un état
  41. 41. Un sujet à peine effleuré •L’intégration de la personnalité dans le bot, •Les traits de l’intelligence, •Les différences/complémentarités avec les interfaces vocales, •…
  42. 42. Finalement, c’est quoi le rapport avec la BI ?
  43. 43. 49 Data Lake
  44. 44. 50 Analytics Storage HDInsight (“managed clusters”) Azure Data Lake Analytics Azure Data Lake Storage Azure Data Lake U-SQL Azure Blob
  45. 45. lambda architecture
  46. 46. Evénements Analyse Temps réel Lake EventHub Azure Stream Analytics Power BI Analyse batch Machine Learning Azure Data Lake Store Azure Data Lake Analytics Azure Machine Learning
  47. 47. 54 Azure Stream Analytics Permet d’analyser des flux temps réel •Millions d’événements / seconde •365 jours de rétention (ou 20To) Basé sur Event Hub Syntaxe SQL Export vers SQL Azure/Blob/Power BI/ADL… SELECT Category, COUNT(*) FROM Input TIMESTAMP BY EntryTime GROUP BY Category, SlidingWindow(minute, 5)
  48. 48. 55 Azure Data Lake Analytics Les arguments Marketing “Elastic analytics service” “all data, at any size” “No Limits to Scale”
  49. 49. 56 Azure Data Lake Analytics Service PaaS Mode batch (on parle de « job ») Modèle de tarification à l’exécution Sécurité et Audit Optimisé pour ADL Store Langage dédié : U-SQL Les + :
  50. 50. 57 Le language U-SQL Les basiques de SQL Clauses de base • SELECT, FROM, WHERE • GROUP BY, JOIN, OVER Fonctionne sur des données structurées et non-structurées Modèle relationnel pour les méta-données La puissance de .NET C# Expressions Code Behind Types Fonctions Agrégats Extractors / Outputters Processors Réutilisation d’Assemblies .NET
  51. 51. 58 Usages U-SQL Source @DoktorKermit
  52. 52. 59 Ma 1ere requête U-SQL @checkins = EXTRACT [Date] DateTime, [Checkins] int, [DenRatio] string, [MayorRatio] string, [Category] string, [Subcategory] string, Venue string, Country string, City string, Latitude string, Longitude string FROM "/Samples/Data/Djeepy1Foursquare/Export-ADL-20170305.csv" USING Extractors.Csv(skipFirstNRows : 1); @resByCat = SELECT [Category], COUNT( * ) AS NbCheckins FROM @checkins GROUP BY [Category]; OUTPUT @resByCat TO "/Samples/Data/Djeepy1Foursquare/Out-ByCat-FirstQuery.csv" USING Outputters.Csv(); Extraction des données Schema-on-Read Manipulation des données Sortie
  53. 53. On récapitule ?
  54. 54. 61 Récap. Archi ADLSEventHub LUIS APP App Service (Bot Framework ) Intent IntentIntent ASAAzeoBot Power BI ADLA Machine Learning
  55. 55. Merci ! Des questions ?

×