(1) Chatbots are evolving from simple keyword-based bots to more advanced bots that can understand natural language. They are being used across multiple messaging channels and mediums.
(2) Major chatbot frameworks like Microsoft Bot Framework and Google Dialogflow provide tools to build bots that can have rich conversations using dialogs and cards. They also integrate with natural language processing services.
(3) Microsoft Bot Framework allows building bots using SDKs for Node.js or .NET that can connect to services like Azure Cognitive Services for language understanding and retrieve data from sources like Dynamics 365.
8. 8
How bots evolved
Simple
• One medium
• Keyword based
Moderate
• Multiple mediums
• Use custom messaging
• Keyword based
Advanced
• Multiple mediums
• Use custom messaging
• Understands natural
language
10. 10
Microsoft Bot
Framework
• SDK for building bots
• Node.js or .NET
• Multiple channels
• Rich conversations with dialogs
and cards
• Rich attachment support
• Natural Language Processing –
QnA or LUIS.AI
14. 14
Microsoft Bot Framework – Connector Service
var connector = new
ConnectorClient(incomingMessage.ServiceUrl);
var replyMessage =
incomingMessage.CreateReply("How can I
help?");
await
connector.Conversations.ReplyToActivityAsync(
replyMessage);
15. 15
Microsoft Bot Framework - Activities
public async Task<HttpResponseMessage> Post([FromBody]Activity activity)
{
if (activity.Type == ActivityTypes.Message)
{
var connector = new ConnectorClient(new Uri(activity.ServiceUrl));
Activity reply = activity.CreateReply($"You sent {activity.Text} which
was {activity.Text.Length.ToString()} characters");
await connector.Conversations.ReplyToActivityAsync(reply);
}
var response = Request.CreateResponse(HttpStatusCode.OK);
return response;
}
29. Azure Bot Reference Architecture
User
Direct Line
Facebook
Messenger
Skype
Telegram
Web Chat
Bot
Connector
Intent Handling
Bot Application
Message Response
Cognitive Services
Knowledge Base
Azure Search DocumentDB
Application Insights
Telemetry collects customer
activity, effectiveness and
technical information
Azure Functions
Backend Services
(e.g. Dynamics
CRM)
30. What makes a bot great ….
Not how much AI it has
Not how sophisticated the language model
is
Not whether it uses voice or not
Not whether it uses Buttons/Cards
31. What makes a bot great …
Great bots are like great
apps; they appeal to users
because they do whatever
they're trying to do WELL