[MUSIC]
Hi, I'm Paul Stubbs.
I'm a Marketing Director for
Microsoft Artificial Intelligence and Research.
Today I'm gonna be talking to you about building an intelligent bot.
Now, we think about bots today.
Bots offer clear business value that users are very interested in.
First, we notice that messaging channels are really the channels
users are using to reach out to each other, to access information, and
they're downloading and
installing less applications on their mobile devices.
And they're accessing messaging applications more
than social applications at this point.
So we also wanna have a nice way for them to gather the information
in an intelligent way that can bring together
information that they couldn't easily find in a single application.
We also want to enable them to capture information in a more
natural way.
And Bots enable a conversational style interface that really enables
people to communicate in the ways that they're used to with other
humans.
And finally, we wanna automate all of this information and
make it easy for them to get information they want, and increase
the productivity of not only workers but users and consumers.
But it's important to think that it's not only important to create
a Bot you wanna create an intelligent bot.
An intelligent bot is more than just a conversational interface.
It's a conversational interface attached to Intelligent data and
intelligent services on the back end.
And Microsoft has a number of mechanisms in services available to
provide that intelligence.
One of them is cognitive services.
Cognitive services is a series of services
that enable you to do things like visions, speech and knowledge and
in fact, today in the demo we'll show you how to use QnA Maker
to access a knowledge base to leverage that inside of your bot.
But in this scenario, you can imagine that you're a call center,
a call center of the future, you'll want to, as a consumer,
want to communicate with that call center or
with that company using a natural conversational interface a bot.
And then you communicate with the back end services that
are surfaced through things like your data centers.
Through systems like CRM.
The Microsoft Graph, Office 365.
And then, the operations team inside the company will be able to access
information and train that bot and
train that learning on the fly from feedback from the end users.
So what that means is that the system is continually learning and
continually getting more appropriate for the user.
And the user satisfaction goes up because they're learning and
continually evolving their answers.
So in this demo,
I wanna show you how to actually connect the Microsoft bot
framework to an intelligent bot service using QnA Maker.
Okay, so now let's take a look at how to build an intelligent bot.
We can use the bot framework to easily build our conversational
bots, but that doesn't necessarily make them intelligent.
We can also leverage other services, such as cognitive services.
And in fact, let's show how to use,
QnA Maker to look at a knowledge base, or an FAQ and
add that knowledge to our bot to make our bot intelligent.
So in this case,
if we go out to a QnA Maker.ai we can actually add services.
So let's create a new service.
And the first thing we need to do is give our service a name so
let's call it ampbot.
And now we actually need a location that we're gonna get our knowledge
from, or an FAQ.
And let's go back and actually use the one from the Bot framework, so
if we go to documentation, you can see the Bot framework has an FAQ.
So if we just click on that, copy the URL to that FAQ.
And put that into our FAQ URL location.
We can add additional ones.
We can also add files that we upload.
In this case,
all we wanna do is click on create to create the new knowledge base.
Once a knowledge base is created, we have a series of question answer
pairs here that were generated from the FAQ,
from the bot framework site.
So if we actually click on Test,
we have a chat like experience that we can actually test information.
So we can say, hi, we get back a response,
we can say, when did the bot framework start?
And we get back information about when the bot framework started.
But at this point, we just have a service, so let's go ahead and
click on Publish.
And we'll click Publish again after verifying the information.
Now our service has been published, our knowledge base has been created,
but we still don't have a bot.
At this point we just have a http service that we could call from
any application, including our bot.
So to create the bot,
we're gonna actually use the Azure bot service in order to do that.
So let's go ahead and log into the Azure portal.
And from here we can create a New >
Intelligence + Analytics > Bot Service.
We can name our bot, so we'll call it ampbot.
And we can also give it a name for the resource group.
And click Create.
So our bot service now has been successfully deployed into Azure, so
we're able to come down to our app services, and choose our new bot.
To get started, we'll create a new Microsoft App ID.
This is generated using the same name as our bot by default.
So we'll copy the app ID that was created and
paste that back into our bot.
We also need the password so
let's go back out to the App site click Generate app password and
copy our password, We'll paste that in.
Now we can choose our language C# or NodeJS.
In this case we'll choose C#,
and we have a number of templates to choose from.
We wanna choose Question and Answer and click Create bot.
This will enable us to select the bot that we created earlier, so
we'll choose ampbot and click OK.
Once our bot is generated,
we've now connected our bot our QnA Maker service.
And so we have a test window on the side that we can actually start
typing in chats to see if it's working.
So we could say, when did the bot framework start?
And you can see that our bot was working,
we're it connected to our bot service.
But we still don't actually have a bot yet.
So let's go ahead and actually connect it to a channel.
In this case, we'll use Skype.
We could choose any number of channels here available.
Click on Add to Skype.
Then the Skype window opens, and we can choose Add to Contacts.
Here we can actually type now to our bot, so we could say hi.
We could say, when did bot framework start?
And you see that we're actually communicating back through the Azure
bot service directly to our QnA service that we created earlier.
Now what we can also do is if we jump back to QnA Maker,
we can go back and edit our service some more.
Let's say that we realize that we missed a question or
we wanna add additional questions to our thing,
here we can come here simply and do add a new QnA pair.
And let's say, if somebody says hello,
we're gonna have hello to you too.
What we'll do is we'll save and retrain our model.
We can republish our model.
And then jumping back directly to our Skype client,
we can now say hello.
And we get back the response that we just added.
So once you have the plumbing in place, you don't need to go back and
redeploy your bot.
The business user or the subject matter expert can go and
continue to tweak the knowledge base and
key value pairs, and the users will see those results immediately.
So in this demo you've seen how to create an intelligent
bar using cognitive services and QnA maker, the Bot Framework and
Azure Bot Services to create a channel, to create a Skype Bot.
And as though we have a number of customers using the bot service, and
I wanna highlight one customer, Rockwell Automation.
Now, Rockwell Automation is using the bot framework and
cognitive services to create a bot called Shelby.
Shelby is giving them access to their production line so
that the line operators and managers can understand, through
a conversational interface, what's happening on the production line.
And Shelby using the bot framework provides that conversation interface
and makes it much easier for them to understand their business and
communicate with operations on their business floor.
So I wanna have really three call to actions for you.
The first is to go out to the botframework.com site and really
discover the Bot Framework and use it and try to create some bots.
The second is go out and look at cognitive services and explore all
the cognitive services available from face API to QnA maker,
to speech, to search, to knowledge.
And then, finally, look at Cortana Intelligence.
Cortana Intelligence Services are a series of services,
such as machine learning and data services in Azure, to really provide
you rich, deep machine learning and artificial intelligence solutions.
Thank you for watching this presentation and
I look forward to seeing the bots that you create.
[MUSIC]