+ All Categories
Home > Internet > Martin Šimeček: Chytré boty do každé rodiny

Martin Šimeček: Chytré boty do každé rodiny

Date post: 22-Jan-2018
Category:
Upload: develcz
View: 71 times
Download: 0 times
Share this document with a friend
39
@deeedx
Transcript
Page 1: Martin Šimeček: Chytré boty do každé rodiny

@deeedx

Page 2: Martin Šimeček: Chytré boty do každé rodiny
Page 3: Martin Šimeček: Chytré boty do každé rodiny
Page 4: Martin Šimeček: Chytré boty do každé rodiny

Co je potřeba vyřešit?

1. Proč bot a proč botem??

2. Jak se neztratit v konverzaci

3. Jak udělat bota chytřejšího

4. Kde hostovat

Page 5: Martin Šimeček: Chytré boty do každé rodiny
Page 6: Martin Šimeček: Chytré boty do každé rodiny

Užitečný bot

Page 7: Martin Šimeček: Chytré boty do každé rodiny

Užitečný bot

Page 8: Martin Šimeček: Chytré boty do každé rodiny

Bot přímo k věci

AzureBot pro správu cloudu

Page 9: Martin Šimeček: Chytré boty do každé rodiny

Bot přímo k věci

AzureBot pro správu cloudu

Page 10: Martin Šimeček: Chytré boty do každé rodiny

Bot přímo k věci

AzureBot pro správu cloudu

Page 11: Martin Šimeček: Chytré boty do každé rodiny

Bot přímo k věci

AzureBot pro správu cloudu

Page 12: Martin Šimeček: Chytré boty do každé rodiny

Proč bot? A proč je to cool?

Protože zůstává i na mobilu...

Žádný další login

Žádná synchronizace aplikací

Multiplatformní

Page 13: Martin Šimeček: Chytré boty do každé rodiny

Legrační (ale chytrý) bot

Murphy

Page 14: Martin Šimeček: Chytré boty do každé rodiny

Legrační (ale chytrý) bot

Murphy

Page 15: Martin Šimeček: Chytré boty do každé rodiny

Legrační (ale chytrý) bot

Murphy

Page 16: Martin Šimeček: Chytré boty do každé rodiny

Legrační (ale chytrý) bot

Emogram

Page 17: Martin Šimeček: Chytré boty do každé rodiny

Legrační (ale chytrý) bot

Emogram

http://aka.ms/emogrambot2

Page 18: Martin Šimeček: Chytré boty do každé rodiny
Page 19: Martin Šimeček: Chytré boty do každé rodiny

Bot

Entity

ExtractionSpeech

Bot

Clipboard w

entities

Natural

LanguageTranslation

+ Intelligent Services

Bing

Knowledge

User

Preferences

Image

Intelligence

Message input <> output

State Management

Bot Connector Service

………

Další služby, API,

databáze, Azure Machine

Learning, Azure Search,

atdc…

Bot Builder SDK

Web Chat

Direct Line…

Email

Facebook

GroupMe

Kik

Skype

Slack

Telegram

Twilio (SMS)

Bot Builder SDK

Tady je váš kód

Page 20: Martin Šimeček: Chytré boty do každé rodiny

Bot Builder SDK

https://github.com/Microsoft/BotBuilder

Page 21: Martin Šimeček: Chytré boty do každé rodiny

Případ 1: Emogram

Page 22: Martin Šimeček: Chytré boty do každé rodiny

https://github.com/msimecek/SellerNotesBot

Případ 2: SellerNotesBot

Page 23: Martin Šimeček: Chytré boty do každé rodiny

Případ 3: E-shop Bot

Page 24: Martin Šimeček: Chytré boty do každé rodiny

private async Task MessageReceivedAsync(IDialogContext context, IAwaitable<object> result)

{

ShowOptions(context);

}

private void ShowOptions(IDialogContext context)

{

var choices = new List<string>() {

Tasks.LocateStore,

Tasks.OrderStatus,

Tasks.QnA,

Tasks.Service

};

PromptDialog.Choice(context,

AfterTaskSelected,

choices,

"What can I help you with?",

promptStyle: PromptStyle.Keyboard,

attempts: 99

);

}

private async Task AfterTaskSelected(IDialogContext context, IAwaitable<string> result)

{

var res = await result;

switch (res)

{

case Tasks.LocateStore:

context.Call(new LocateStoreDialog(), AfterTaskCompleted);

break;

case Tasks.QnA:

context.Call(new QnaDialog(), AfterTaskCompleted);

break;

case Tasks.Service:

context.Call(new ServiceDialog(), AfterTaskCompleted);

break;

case Tasks.OrderStatus:

context.Call(new OrderStatusDialog(), AfterTaskCompleted);

break;

}

}

Page 25: Martin Šimeček: Chytré boty do každé rodiny
Page 26: Martin Šimeček: Chytré boty do každé rodiny

Případ 4: Přepínání kontextu

IScorablepublic class GlobalMessageHandlersBotModule : Module

{

protected override void Load(ContainerBuilder builder)

{

base.Load(builder);

builder

.Register(c => new SettingsScorable(c.Resolve<IDialogTask>()))

.As<IScorable<IActivity, double>>()

.InstancePerLifetimeScope();

builder

.Register(c => new CancelScorable(c.Resolve<IDialogTask>()))

.As<IScorable<IActivity, double>>()

.InstancePerLifetimeScope();

}

}

Page 27: Martin Šimeček: Chytré boty do každé rodiny

No C# or Node? No problem!

Page 28: Martin Šimeček: Chytré boty do každé rodiny

Testujeme lokálně

Umí i tlačítka

JSON zprávy

Bot Framework Emulator

https://aka.ms/bf-bc-emulator

Page 29: Martin Šimeček: Chytré boty do každé rodiny
Page 30: Martin Šimeček: Chytré boty do každé rodiny

Cognitive Services

Emogram Bot používá Emotion API

Další boti třeba LUIS

Page 31: Martin Šimeček: Chytré boty do každé rodiny

https://www.microsoft.com/cognitive-services/en-us/emotion-api

Emotion API

Page 32: Martin Šimeček: Chytré boty do každé rodiny

https://www.microsoft.com/cognitive-services/en-us/computer-vision-api

Computer Vision API

Page 33: Martin Šimeček: Chytré boty do každé rodiny

Face API

Page 34: Martin Šimeček: Chytré boty do každé rodiny

VisionLUIS

Language Understanding

Intelligent Service

Intent: TextToSpeechContent: NewsHeadlines

Read me the headlines

Play yesterday’sDaily Show

Intent: PauseDeviceDateTime.duration: 5 Minutes

Pause for5 minutes

Intent: PlayEpisodeContent: Daily ShowDateTime.date: T-1 Day

Page 35: Martin Šimeček: Chytré boty do každé rodiny
Page 36: Martin Šimeček: Chytré boty do každé rodiny

Hostování bota

Bot je vlastně webové API

Přijme zprávu (POST), zpracuje a odešle odpověď

=> dá se hostovat kdekoliv

Page 37: Martin Šimeček: Chytré boty do každé rodiny

Azure Functions

Page 38: Martin Šimeček: Chytré boty do každé rodiny

Kde co je?

Bot Frameworkhttps://dev.botframework.com/

Azure Bot Servicehttps://azure.microsoft.com/en-us/services/bot-service/

Cognitive Serviceshttps://www.microsoft.com/cognitive-services

Page 39: Martin Šimeček: Chytré boty do každé rodiny

@deeedx


Recommended