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.
-
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 anactivity
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.
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.
-
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.
- 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.
- 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.
- Bing Web Search API
- Bing Image Search API
- Bing Video Search API
- Bing News Search API
- Bing Autosuggest Search API
- Computer Vision API
- Emotional API
- Face API
- Video API