• Aucun résultat trouvé

Les bots, du pourquoi au comment?

N/A
N/A
Protected

Academic year: 2022

Partager "Les bots, du pourquoi au comment?"

Copied!
86
0
0

Texte intégral

(1)

Benjamin

Plouzennec Antoine

Cailly

okazari acailly

Les bots,

du pourquoi au comment ?

(2)
(3)
(4)
(5)
(6)
(7)
(8)

iOS Android

Windows

Linux

(9)
(10)
(11)

THE END ?

(12)
(13)
(14)
(15)

POURQUOI ?

(16)

Multiplateforme

(17)

Multiplateforme

(18)

Déploiement

Pas d’application à télécharger Pas de mise à jour

(19)
(20)

Network friendly

Pas d’application à télécharger Pas de mise à jour

Déploiement

(21)

Old device friendly

Faible consommation CPU Peu de stockage

(22)

Quelques fonctions natives

(23)

Paiement

Parfois oui (ex: Messenger) Parfois non (ex: Telegram)

(24)

Codes UI standardisés

(25)

Testabilité

Moins d’UI à tester BDD

When I send “Hello bot”

Then I receive “Hello human”

(26)

Sécurité

Surface d’attaque réduite

(parfois) Chiffrement des données

(27)

Accessibilité

Parfois oui (ex: Messenger) Parfois non (ex: Telegram)

(28)

Accessibilité

“please translate these roman numerals mcmxcviii thank you”

Ben John’s Grandma to Google

(29)

Accessibilité

(30)
(31)

POURQUOI

MAINTENANT ?

(32)

Un nouveau concept ?

Test de Turing

Tay (Microsoft) Bots on messenger ELIZA (1966)

A.L.I.C.E (1995)

SmarterChild (2001)

Source : Google Trends “Chatbot”

(33)

UI plus riche

(34)
(35)
(36)

Natural Language Processing

(NLP)

(37)

Messaging > Social ?

(38)

Messaging > App ?

TOP APPS BY USAGE

TOP APPS BY NUMBER OF SESSIONS

Source : KPCB - 2016 Internet Trends

(39)

Messaging > App ?

TOP APPS BY USAGE

TOP APPS BY NUMBER OF SESSIONS

Source : KPCB - 2016 Internet Trends

(40)

APIs

Telegram (juin 2015) Slack (décembre 2015) Skype (mars 2016)

Messenger (avril 2016) Kik (avril 2016)

WhatsApp

(41)
(42)

QUOI ?

(43)

BREIZHBOT

(44)

COMMENT ?

(45)

USER CHAT (RO)BOT

message message

réponse réponse

(46)

USER CHAT Switch + Regex

message message

réponse réponse

(47)

const bot = (message) => { switch(true){

case /suivants?/.test(message):

case /prochains?/.test(message):

case /après/.test(message):

return nextTalks() break

case /aujourd'hui/.test(message):

return todayTalks() break

case /hier/.test(message):

return yesterdayTalks() break

case /demain/.test(message):

return tomorrowTalks() break

case /toilettes/.test(message):

case /wc/.test(message):

return wc() break

default:

return sayItAgain() }

}

(48)

Ça marche !

(49)

Maintenabilité

Contexte utilisateur (conversations)

Quels sont les prochains talks ?

C’est l’heure de la keynote ! C’est où ?

Où est quoi ???

(50)

USER CHAT Switch + Regex

message message

réponse réponse

(51)

USER CHAT RiveScript

message message

réponse réponse

.rive

(52)

! version = 2.0 + hello bot

- Hello human!

(53)

! version = 2.0 + hello bot

- <call>handleHelloBot()</call>

(54)

const bot = (message) => { switch(true){

case /suivants?/.test(message):

case /prochains?/.test(message):

case /après/.test(message):

return nextTalks() break

case /aujourd'hui/.test(message):

return todayTalks() break

case /hier/.test(message):

return yesterdayTalks() break

case /demain/.test(message):

return tomorrowTalks() break

case /toilettes/.test(message):

case /wc/.test(message):

return wc() break

default:

return sayItAgain() }

}

! version = 2.0

+ [*] (suivant|suivants) [*]

+ [*] (prochain|prochains) [*]

+ [*] après [*]

- <call>nextTalks</call>

+ [*] aujourd'hui [*]

- <call>todayTalks</call>

+ [*] hier [*]

- <call>yesterdayTalks</call>

+ [*] demain [*]

- <call>tomorrowTalks</call>

+ [*] toilettes [*]

+ [*] wc [*]

- <call>wc</call>

+ *

- <call>sayItAgain</call>

(55)

+ mon nom est * + je m’appelle *

- <set name=<star>>Enchanté <get name> !

(56)

+ [*] (suivant|suivants) [*]

+ [*] (prochain|prochains) [*]

+ après

- <call>nextTalks</call>

+ [*] ou c’est ? [*]

+ [*] c’est ou ? [*]

+ Ou est quoi ?

(57)

+ [*] (suivant|suivants) [*]

+ [*] (prochain|prochains) [*]

+ après

- <call>nextTalks</call>{topic=talks}

+ [*] ou c’est ? [*]

+ [*] c’est ou ? [*]

+ Ou est quoi ?

> topic talks

+ [*] ou c’est ? [*]

+ [*] c’est ou ? [*]

- <call>nextLocation</call>{topic=random}

< topic

(58)

Ça marche Maintenabilité

Contexte utilisateur

(59)
(60)

OÙ ?

(61)
(62)
(63)

USER CHAT

message message

réponse réponse

BOT

(64)

USER CHAT

BOT

(65)

BOT FRAMEWORK

(66)

USER CHAT

BOT

(67)

USER CHANNELS

FRAMEWORK BOT

(68)

BOTPRESS

(69)

BOT

(70)

BOT

router bot-messenger

(71)

BOT

router bot-messenger

(72)

BOT

router bot-slack

bot-messenger

(73)

BOT

router

bot-slack bot-messenger

translate analytics

analytics

translate

(74)
(75)
(76)
(77)

Breizhbot en quelques chiffres

Dispo sur PC, Mac, tablettes, smartphones 0€ dépensés

2 convaincus… voir plus ? Déployé sur 2 plateformes

(78)
(79)

CONCLUSION ?

(80)

SIMPLIFICATION

(81)
(82)

SIMPLIFICATION mais

NOUVELLE RICHESSE

(83)
(84)

mais donc

SIMPLIFICATION

NOUVELLE RICHESSE

NOUVEAUX USAGES

(85)
(86)

Références

Documents relatifs

Making a conference a place where people feel comfortable sharing and discussing ideas takes a special effort on the part of all

9h00Accueil café 9h15Ouverture par Anne-Marie Levraut, vice-présidente du CGEDD 9h45Présentation des constats et orientations des rapports produits par l’IGF et le CGEDD

Mediated learning experience and concept maps: a pedagogical tool for achieving meaningful learning in medical physiology students. Using concept maps to measure deep, surface

Il peut être utile de rappeler que la production centralisée d’électricité a conduit à l’élaboration d’un système complexe de production-transport d’énergie dans lequel

1 I was a resident in family practice at the Ottawa Civic Hospital in the early 1990s, and I am very grateful to Dr Patten for sharing his knowledge and skills in the art

2 Without anticoagulant therapy, patients with symptom- atic distal DVT have about a 20% chance that the DVT will extend into the proximal veins, which could

Network User acknowledges and agrees that, except to the extent provided otherwise in the Attachment A of the Access Code for Transmission, the adherence to and due

2016 : pour l’ensemble des services publics (sauf IGN, SHOM, Météo France), pour tout donnée et