Conversations as a [email protected]
“BOTS are like new APPLICATIONS that you can CONVERSE with”
Conversations as a Platform
- Satya Nadella
Conversationsas a Platform
People
Digital assistants
Bots
Conversationsas 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
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
• 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
• 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
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
Bot Connector
DEMO
• 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
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;
}}
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."); }
Put intelligence APIs to workTap into the power of machine learning with easy-to-use REST APIs.
Cognitive Services
13 APIs + 7 BING APIs• Vision – face, emotion• Speech - Recognition• Language – Spell Check, Understanding• Knowledge - Academic• Search – News, web
Formerly Known as Project Oxford
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
Connectors for Outlook Office 365 Connectors are a great way to get useful information and content into your Office 365 Group.
Office 365 Connectors
Get information and content into your Outlook GroupSubscribe to your teams progress or follow important changesCurrently over 50 connectors
Outlook Group Connectors
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
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
Resources
• 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
• 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
• 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
Joshua [email protected]//Drew5.net//jdruid.github.io@jdruid
Top Related