Conversations as a Platform

30
Conversations as a Platform [email protected]

Transcript of Conversations as a Platform

Page 1: Conversations as a Platform

Conversations as a [email protected]

Page 2: Conversations as a Platform
Page 3: Conversations as a Platform
Page 4: Conversations as a Platform

“BOTS are like new APPLICATIONS that you can CONVERSE with”

Conversations as a Platform

- Satya Nadella

Page 5: Conversations as a Platform

Conversationsas a Platform

Page 6: Conversations as a Platform

People

Digital assistants

Bots

Conversationsas a Platform

Page 7: Conversations as a Platform

Human language is the new UIConversationsas a Platform Bots are the new apps;

digital assistants are meta appsIntelligence infused into all interactions

People

Digital assistants

Bots

Page 8: Conversations as a Platform

Your bots - wherever your users are talking.Build and connect intelligent bots to interact with your users naturally wherever they are, from text/sms to Skype, Slack, Office 365 mail and other popular services

Bot Framework

Page 9: Conversations as a Platform

• Build & connect intelligent bots• Interact naturally wherever your

users are talking:• Text/SMS• Skype• Facebook• Slack• Email• GroupMe• Telegram• Web Chat• etc.

Microsoft Bot Framework

Page 10: Conversations as a Platform

• Bot Framework is a Microsoft-operated service and an SDK

• Bot Framework is one of many tools Microsoft offers for building a complete bot

• Others include: LUIS, Speech APIs, Microsoft Azure, and more

Microsoft Bot Framework

Page 11: Conversations as a Platform

Your conversation logic

Logic

Web Service

Your Bot

Bot Builder SDK

(Node.js + C#)

LUIS

• Build with C# or Node.js• You host your bot• Dialogs to model a

conversation• Many types of

dialog• Natural Language

Understanding (LUIS)

Your Bot

Page 12: Conversations as a Platform

Bot Connector

Page 13: Conversations as a Platform

DEMO

Page 14: Conversations as a Platform

• Install Bot Framework Template - http://aka.ms/bf-bc-vstemplate

• Install Bot Framework Emulator - https://aka.ms/bf-bc-emulator

• Register your Bot with the Bot Connector – http://dev.botframework.com

• Add AppId and AppPassword to your web.config• Publish to the web (not needed if using emulator)

Bot Framework: Getting Started

Page 15: Conversations as a Platform

Bot Framework: ApiController [BotAuthentication]public class MessagesController : ApiController{

public async Task<HttpResponseMessage> Post([FromBody]Activity activity){

ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl));if (activity.Type == ActivityTypes.Message){

int length = (activity.Text ?? string.Empty).Length;Activity reply = activity.CreateReply($"You sent {activity.Text} which was {length} characters");await connector.Conversations.ReplyToActivityAsync(reply);

}else{

HandleSystemMessage(activity);}

var response = Request.CreateResponse(HttpStatusCode.OK);return response;

}}

Page 16: Conversations as a Platform

Bot Framework: Dialog [Serializable]public class DemoDialog : IDialog<IMessageActivity>

{public async Task StartAsync(IDialogContext context)

{ context.Wait(ConversationStartedAsync); }

public async Task ConversationStartedAsync(IDialogContext context, IAwaitable<IMessageActivity> argument) { IMessageActivity message = await argument; await context.PostAsync(message.Text);

PromptDialog.Text( context: context, resume: ResumeAndPromptMethodAsync, prompt: "Hi there I am a bot. What can I help with?", retry: "I didn't understand. Please try again."); }

Page 17: Conversations as a Platform
Page 18: Conversations as a Platform

Put intelligence APIs to workTap into the power of machine learning with easy-to-use REST APIs.

Cognitive Services

Page 19: Conversations as a Platform

13 APIs + 7 BING APIs• Vision – face, emotion• Speech - Recognition• Language – Spell Check, Understanding• Knowledge - Academic• Search – News, web

Formerly Known as Project Oxford

Page 20: Conversations as a Platform

Emotion Speaker Recognition

Speech

Custom Recognition

Computer Vision

Face

Video

SearchSpeech Languag

eKnowledge

Vision

Linguistic AnalysisLanguage Understanding

Bing Spell Check

Entity Linking

Knowledge Exploration

Academic Knowledge

Bing Image SearchBing Video Search

Bing Web Search

WebLM

Text Analytics Recommendations

Bing Autosuggest

Bing News SearchTranslator

Page 22: Conversations as a Platform

Connectors for Outlook Office 365 Connectors are a great way to get useful information and content into your Office 365 Group.

Office 365 Connectors

Page 23: Conversations as a Platform

Get information and content into your Outlook GroupSubscribe to your teams progress or follow important changesCurrently over 50 connectors

Outlook Group Connectors

Page 24: Conversations as a Platform

OGC: Get Started• //dev.outlook.com and Register your OGC• Grab your OGC Web Hook URL• Post to the Web Hook your OGC Cards and Sections

Page 25: Conversations as a Platform

Message message = new Message()                {                    summary = "This is the subject for the sent message to an outlook group",                    title = msg                };                message.AddSection(nSec1);                message.AddFacts("Facts", facts);                message.AddImages("Images", images);                message.AddAction("check details here", "http://dev.outlook.com");

                var result = await message.Send(webhookUrl);

OGC: Get Started

Page 26: Conversations as a Platform

Resources

Page 27: Conversations as a Platform

• Bot Framework Home Page• https://dev.botframework.com/

• Bot Builder SDK on GitHub• https://github.com/Microsoft/BotBuilder

• Bot Framework Blog• https://blog.botframework.com/

• Building a Conversational Bot: From 0 to 60• https://channel9.msdn.com/Events/Build/2016/B821

Bot Framework: Resources

Page 28: Conversations as a Platform

• Microsoft Cognitive Services• https://www.microsoft.com/cognitive-services

• Microsoft Cognitive Services Samples & SDK • https://www.microsoft.com/cognitive-services/en-us/SDK-Sample

• Microsoft Cognitive Services: Give Your Apps a Human Side• https://channel9.msdn.com/Events/Build/2016/B878

• Microsoft Cognitive Services: Build smarter and more engaging experiences• https://channel9.msdn.com/Events/Build/2016/B855

Cognitive Services: Resources

Page 29: Conversations as a Platform

• Outlook Group Connector• https://dev.outlook.com/Connectors

• Outlook Developer Portal• http://dev.outlook.com/

• Outlook Group Connector API Sample• https://github.com/jdruid/OutlookGroupConnectorAPI

Office 365 Connector: Resources

Page 30: Conversations as a Platform

Joshua [email protected]//Drew5.net//jdruid.github.io@jdruid