9/2/2017 - 4:45 AM

bot's Note

bot's Note

Why bot framework

Developers writing bots all face the same problems:

  • Require I/O
  • Lang and Dialog Skill


You can create a bot with any programming language by using the Bot Framework REST API. There are three REST APIs in the Bot Framework:.

  • Bot Connector REST API : send and receive messages to channels configured in the Bot Framework Portal.
  • Bot State REST API : enables your bot to store and retrieve state.
  • Direct Line REST API : enables you to connect your own application, such as a client application, web chat control, or mobile app.

Core Concepts

  • Channel : A channel is the connection between the Bot Framework and communication apps such as Skype, Slack, Facebook Messenger, Office 365 mail, and others. Use the Developer Portal to configure each channel you want the bot to be available on. The Skype and web chat channels are automatically pre-configured.

  • Bot Connector : The Bot Connector service connects a bot to one or more channels and handles the message exchange between them. This connecting service allows the bot to communicate over many channels without manually designing a specific message for each channel's schema.

  • Activity : The Bot Connector uses an activity object to exchange information between bot and channel. Any communication going back and forth is an activity of some type.

  • Message : A message is the most common type of activity. A message can be as simple as a text string or contain attachments, interactive elements, and rich cards.

  • Dialog : Dialogs help organize the logic in your bot and manage conversation flow. Dialogs are arranged in a stack, and the top dialog in the stack processes all incoming messages until it is closed or a different dialog is invoked.

  • Rich cards : A rich card comprises a title, description, link, and images.

Test and debug

The Bot Framework Emulator is a desktop application that allows developers to test and debug their bots.


  • To make a bot discoverable, connect it to the Bing channel.
  • Connect the Microsoft Cognitive Services APIs to enhance and smarter your bot.

Add intelligence with Cognitive Services

Language understanding API

  • Language Understanding Intelligent Service (LUIS) : is able to process natural language using pre-built or custom-trained language models.

  • Text Analytics API : detects sentiment, key phrases, topics, and language from text.

  • Bing Spell Check API : provides powerful spell check capabilities, and is able to recognize the difference between names, brand names, and slang.

  • Linguistic Analysis API : uses advanced linguistic analysis algorithms to process text, and perform operations such as breaking down the structure of the text, or performing part-of-speech tagging and parsing.

  • Web Language Model (WebLM) API : can be used to automate a variety of natural language processing tasks, such as word frequency or next-word prediction, using advanced language modeling algorithms.

Knowledge extraction

  • Entity Linking Intelligence Service : Depending on the context, the same word or phrase may refer to different things. This service understands the context of the supplied text and will identify each entity in your text.
  • Recommendations API : Use this service to build and train a model based on data that you provide, and then use this model to add recommendations to your application.
  • Knowledge Exploration Service : Instant query completion suggestions and predictive query refinements are based on your own data and application-specific grammars to enable your users to perform fast queries.
  • Academic Knowledge API : returns academic research papers, authors, journals, conferences, topics, and universities from the Microsoft Academic Graph.
  • QnA Maker : Free, easy-to-use, REST API and web-based service that trains AI to respond to users’ questions in a natural, conversational way.

Speech recognition and conversion

  • Bing Speech API : Provides speech-to-text and text-to-speech conversion capabilities.
  • Custom Recognition Intelligent Service (CRIS) : Allows you to create custom speech recognition models to tailor the speech-to-text conversion to an application's vocabulary or user's speaking style.
  • Speaker Recognition API : Enables speaker identification and verification through voice.

Web search

  • Bing Web Search API
  • Bing Image Search API
  • Bing Video Search API
  • Bing News Search API
  • Bing Autosuggest Search API

Image and video understanding

  • Computer Vision API
  • Emotional API
  • Face API
  • Video API