Help ET phone home
Discover how to build bots with Microsoft Bot Framework 4
• Introduction
• Having a chat with a bot
• Enhancing your bot’s skills
• Summary
Agenda
Technology advocate
willem.meints@infosupport.com
Willem Meints
@willem_meints
Introduction
What is Microsoft Bot Framework?
Creating a bot
Having a chat with a bot
• Different levels of state
– User level
– Conversation level
• Different kinds of storage for state
– In-memory
– In Azure (SQL server or Cosmos DB)
Keeping track of state
Building dialogs
• LUIS: Language understanding service
– A machine learning model to detect intents
– Can also detect important pieces of data
• Entities in LUIS
– You can use regular machine learning
– But often you’ll find yourself using patterns and predefined values
Using LUIS to detect intents
• You can manage your models through the portal
– Easier for first attempts at using LUIS
– Versioning is not so nice though
• Alternatively, use LUIS Markdown files
– Write text files with intents and samples, share them with the business
– Versioning goes through GIT
– Deployment can be done using commandline utilities in the build
You’re doing DevOps and want to use LUIS
Enhancing your bot’s
skills
• Your users don’t always want help from your bot
– Offer an escape route towards a real person
– Use a combination of intents/sentiment to provide this escape
• Another good tip: Don’t think your user doesn’t know it’s a bot
– Make it clear to the user what you can or can’t do
– Make it really obvious how the user can get out
Well, that escalated quickly?!
• We’ve all done it, break a bot by asking weird questions
– Handle the None intent in your bot through QnA maker
• Use QnA maker as an add-on
– The default practice from Microsoft is really evil!
– You should control when QnA maker answers
What about small talk and puns?
• Talking trash to a bot is normal
– You can use the bot personality datasets in QnA Maker to implement this
– Or build it yourself, but that’s quite hard to do
What about small talk and puns?
• We’ve seen websites that have many bots
– Each bot can handle a small area of what the company offers
– Even if you have one bot for everything, make sure it knows where it is
• Bot framework offers a back-channel
– You can send custom events through the bot connector
– Really powerful especially if you build a custom user interface!
Teach the bot about its surroundings
Summary
• More flexible, you can choose to use any framework you want
– I’ve used Akka.NET for dialogs and it was great!
– I’ve seen people build bots without ASP.NET Core
Bot framework 4 take-aways
• Great tools for conversations
– The default samples don’t tell you how to extend beyond the basics sadly
– Easy to add escapes, custom flows and intelligent scoring
Bot framework 4 take-aways
• Delight your user, but make sure he/she knows it’s a bot
– Use the personality datasets to add some small talk
– Provide intelligent escapes
– Tell the user it’s a bot!
Bot framework 4 take-aways
• Think about integration with the frontend
– Use the back-channel to teach the bot about its surroundings
– Use custom events to get a richer interaction
Bot framework 4 take-aways
Thanks, Get the code:
https://github.com/wmeints/betty
@willem_meints
willem.meints@infosupport.com
Our sponsors

Help et phone home, building bots with Microsoft Bot Framework 4.

  • 1.
    Help ET phonehome Discover how to build bots with Microsoft Bot Framework 4
  • 2.
    • Introduction • Havinga chat with a bot • Enhancing your bot’s skills • Summary Agenda
  • 3.
  • 4.
  • 5.
    What is MicrosoftBot Framework?
  • 6.
  • 7.
    Having a chatwith a bot
  • 8.
    • Different levelsof state – User level – Conversation level • Different kinds of storage for state – In-memory – In Azure (SQL server or Cosmos DB) Keeping track of state
  • 9.
  • 10.
    • LUIS: Languageunderstanding service – A machine learning model to detect intents – Can also detect important pieces of data • Entities in LUIS – You can use regular machine learning – But often you’ll find yourself using patterns and predefined values Using LUIS to detect intents
  • 11.
    • You canmanage your models through the portal – Easier for first attempts at using LUIS – Versioning is not so nice though • Alternatively, use LUIS Markdown files – Write text files with intents and samples, share them with the business – Versioning goes through GIT – Deployment can be done using commandline utilities in the build You’re doing DevOps and want to use LUIS
  • 12.
  • 13.
    • Your usersdon’t always want help from your bot – Offer an escape route towards a real person – Use a combination of intents/sentiment to provide this escape • Another good tip: Don’t think your user doesn’t know it’s a bot – Make it clear to the user what you can or can’t do – Make it really obvious how the user can get out Well, that escalated quickly?!
  • 14.
    • We’ve alldone it, break a bot by asking weird questions – Handle the None intent in your bot through QnA maker • Use QnA maker as an add-on – The default practice from Microsoft is really evil! – You should control when QnA maker answers What about small talk and puns?
  • 15.
    • Talking trashto a bot is normal – You can use the bot personality datasets in QnA Maker to implement this – Or build it yourself, but that’s quite hard to do What about small talk and puns?
  • 16.
    • We’ve seenwebsites that have many bots – Each bot can handle a small area of what the company offers – Even if you have one bot for everything, make sure it knows where it is • Bot framework offers a back-channel – You can send custom events through the bot connector – Really powerful especially if you build a custom user interface! Teach the bot about its surroundings
  • 17.
  • 18.
    • More flexible,you can choose to use any framework you want – I’ve used Akka.NET for dialogs and it was great! – I’ve seen people build bots without ASP.NET Core Bot framework 4 take-aways
  • 19.
    • Great toolsfor conversations – The default samples don’t tell you how to extend beyond the basics sadly – Easy to add escapes, custom flows and intelligent scoring Bot framework 4 take-aways
  • 20.
    • Delight youruser, but make sure he/she knows it’s a bot – Use the personality datasets to add some small talk – Provide intelligent escapes – Tell the user it’s a bot! Bot framework 4 take-aways
  • 21.
    • Think aboutintegration with the frontend – Use the back-channel to teach the bot about its surroundings – Use custom events to get a richer interaction Bot framework 4 take-aways
  • 22.
    Thanks, Get thecode: https://github.com/wmeints/betty @willem_meints willem.meints@infosupport.com
  • 23.