Intelligente Bots as Service Proxies

Florian Rappl, MVP Visual C#

Intelligente Bots

A Tour of the Microsoft Bot Framework

Cover Bots

Florian Rappl

Writer and consultant

  • Microsoft C# MVP
  • Active contributions to open-source projects
  • Articles for CodeProject, SitePoint, tuts+, ...

Languages and technologies

  • C#, JavaScript, and C/C++
  • Full web stack (client and server)
  • High Performance and Embedded Computing, IoT
S1M0NE Movie
Surrogates Movie

Agenda

  1. The Microsoft Bot Framework
  2. Language Understanding Intelligence Service
  3. The Cognitive Services
  4. Interactive Demo Session

The Microsoft Bot Framework

  • A framework and service consisting of three parts
    • Bot builder to build bots (producers)
    • Bot connector to connect bots (distributors)
    • Bot directory to discover bots (consumers)

The Microsoft Bot Framework

Bot Framework Teaser
  • One service
  • HTTP-based
  • Channel independence
  • Brokered by Microsoft
  • Centralized mediation

The Microsoft Bot Framework

Bot Framework Teaser

For each channel we need to sign up at the used service provider

Connecting with Skype

Connecting Skype Bot Framework

The Bot Builder

  • Useful library available on NuGet
  • Includes the form builder to model dialogs
  • Any confirming endpoint can be integrated
  • The Bot Builder is available for C# and Node.js

How to Start?

  1. Install Visual Studio 2015 Update 1 or higher
  2. All VS extensions should be up to date.
  3. Download and install the Bot Application template:
    1. Download the file from aka.ms/bf-bc-vstemplate.
    2. Save the file to %USERPROFILE%\Documents\Visual Studio 2015\Templates\ProjectTemplates\Visual C#.
  4. Use the new Bot Application template from Visual C# templates.
  5. Download and run the emulator from aka.ms/bf-bc-emulator.

Going Further

  • Build dialogs to model a conversation
  • Persist state in a dialog
  • Model different types of dialogs such as
    • yes / no,
    • multiple choice, or
    • simple strings
  • Fill out profiles on-demand
  • Introduce LUIS integration

Language Understanding Intelligence Service (LUIS)

LUIS Bot Framework
  • Part of project Oxford
  • Text recognition with entity identification
  • Provide intents and entities
  • Train to improve accuracy
  • Publish API hosted by Microsoft

Language Understanding Intelligence Service (LUIS)

  1. Start with new application
  2. Add intents and entities
  3. Provide some sample utterances
  4. Help the system by classifying elements
  5. Train the system
  6. Publish / Update the API
  7. Use the system
  8. Go back to 4 to improve accuracy

Microsoft Cognitive Services

  • New name of project Oxford
  • Many different APIs available
    • Vision (e.g., computer vision, emotions)
    • Speech (e.g., speaker recognition)
    • Language (e.g., spell-checker, LUIS)
    • Knowledge (e.g., recommendations)
    • Search (e.g., auto-suggest, web search)

Demo

Thanks for your attention

  • Feel free to contact me