Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
1c45fc7
":package: Update from CI" (#388)
glibnub Dec 1, 2017
59ad6f6
Update .openpublishing.publish.config.json
glibnub Dec 1, 2017
2116d89
Bot state data update (#387)
v-ducvo Dec 2, 2017
09a5bfd
Dotnet core (#390)
v-ducvo Dec 2, 2017
05532a1
Merge branch 'live' into master
RobStand Dec 4, 2017
f73d902
Community content (#398)
RobStand Dec 7, 2017
224c02b
GA release of docs (#379)
RobStand Dec 13, 2017
d83621d
Merging live into master
RobStand Dec 13, 2017
c631072
Fixing merge conflict
RobStand Dec 13, 2017
17d838a
Fixing absolute URLs
RobStand Dec 13, 2017
9adba8b
Dotnet TOC fix
RobStand Dec 13, 2017
14a2de6
Bot migration update (#408)
v-ducvo Dec 13, 2017
8cd8641
Merge branch 'master' into link-fix
RobStand Dec 13, 2017
1a73d08
Fixing broken link
RobStand Dec 13, 2017
17a5a6e
fixing sdk version number
RobStand Dec 13, 2017
ca0c087
Merge branch 'master' into link-fix
RobStand Dec 13, 2017
d672461
Fixing absolute URLs (#409)
RobStand Dec 13, 2017
86adeb5
Update images for bot scenarios. (#410)
v-royhar Dec 14, 2017
b9d99be
Changing to relative URLs
RobStand Dec 14, 2017
67326a6
Fixing relative links
RobStand Dec 14, 2017
32894ad
Merge branch 'live'
RobStand Dec 14, 2017
015feba
Minor updates
RobStand Dec 18, 2017
012993c
Adding back the cognitive services article (#413)
RobStand Dec 18, 2017
13e3e6b
CI job update 2017-12-15 22:56 (#412)
glibnub Dec 18, 2017
c5aa05f
Merge branch 'live' into master
RobStand Dec 18, 2017
16f08cc
Fixing link to channel inspector
RobStand Dec 18, 2017
59fc4c1
Release 12-18-2017 (#414)
RobStand Dec 18, 2017
64426fb
Create .ops.mref.csv
Dec 18, 2017
2e6a8e1
Create .ops.mref.yaml
Dec 18, 2017
a791435
Update .ops.mref.yaml
Dec 18, 2017
27587d0
Update .ops.mref.yaml
Dec 18, 2017
da77dd4
Update .ops.mref.yaml
Dec 18, 2017
990f733
Update .ops.mref.yaml
Dec 18, 2017
70d1519
Update .ops.mref.yaml
Dec 18, 2017
aa5d54a
Update .ops.mref.yaml
Dec 18, 2017
d09fd44
Update .ops.mref.yaml
Dec 18, 2017
db07c3e
Update .ops.mref.yaml
Dec 18, 2017
e92fe4a
Update .ops.mref.yaml
Dec 18, 2017
4298edb
Update .ops.mref.yaml
Dec 18, 2017
0ce2d11
Added related docs
RobStand Dec 18, 2017
1c72596
Merge branch 'master' into live
RobStand Dec 18, 2017
a66f916
Merge branch 'live' into live-sync-work
RobStand Dec 18, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .ops.mref.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
botbuilder,Microsoft.Bot.Builder,3.12.2.4
botconnector,Microsoft.Bot.Connector,3.12.2.4
botbuilder-rtmcalling,Microsoft.Bot.Builder.RealTimeMediaCalling,1.0.4-alpha
skypebotsmedia,Microsoft.Skype.Bots.Media,1.7.0.26-alpha
47 changes: 47 additions & 0 deletions .ops.mref.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
queue:
name: Default
demands: DotNetFramework


steps:
- task: AzureKeyVault@1
inputs:
ConnectedServiceName: 'APIDrop-Azure'
KeyVaultName: "APIDrop-DotNet-KeyVault"

- task: PowerShell@1
inputs:
scriptType: "inlineScript"
arguments: "-ToolingToken $(ToolingToken)"
inlineScript: 'param ([string]$ToolingToken = "NOT_VALID_TOKEN"); $fullUrl = ("https://" + $ToolingToken + "@apidrop.visualstudio.com/binaries/_git/mrefconfig"); git clone $fullUrl -b tooling _buildtools -q'
- task: PowerShell@1
inputs:
scriptName: "./_buildtools/scripts/mref-provision.ps1"
arguments: "-ToolingToken $(ToolingToken)"

- task: ExtractFiles@1
inputs:
archiveFilePatterns: 'dl\*.zip'
destinationFolder: "$(Build.Repository.LocalPath)\_bin"

- task: PowerShell@1
inputs:
scriptName: "./_buildtools/scripts/mref-mdoc-exec.ps1"
arguments: "-CredentialToken $(GitHubToken)"

- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.Repository.LocalPath)\mdoc-fw-out'
ArtifactName: "$(Build.BuildNumber)-artifacts"
ArtifactType: "Container"

- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.Repository.LocalPath)\nue-out'
ArtifactName: "$(Build.BuildNumber)-artifacts"
ArtifactType: "Container"

- task: PowerShell@1
inputs:
scriptName: "scripts/trigger-release.ps1"
arguments: "-GitToken $(GitHubToken) -GitUsername $(GitHubUsername) -GitRepoId $(GitHubLocation) -GitBranch $(GitHubBranch) -GitInRepoLocation $(InRepoLocation) -ArtifactPath $(Build.Repository.LocalPath) -ArtifactName $(ArtifactName) -GitEmail $(GitHubCustomEmail)"
10 changes: 8 additions & 2 deletions articles/TOC.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# [Bot Service Documentation](index.yml)
# Overview
## [About Bot Service](bot-service-overview-introduction.md)
# Quickstarts
# Get started
## [Create a bot with Bot Service](~/bot-service-quickstart.md)
## Create a bot with Bot Builder
### [Use .NET](~/dotnet/bot-builder-dotnet-quickstart.md)
Expand All @@ -14,13 +14,14 @@
## [How Bot Service works](bot-service-overview-readme.md)
## [Bot Service templates](bot-service-concept-templates.md)
## [Develop with Bot Builder](bot-builder-overview-getstarted.md)
## [Make bots smarter](bot-service-concept-intelligence.md)
## [Key scenarios for bots](bot-service-scenario-overview.md)
### [Commerce bot](bot-service-scenario-commerce.md)
### [Cortana Skill bot](bot-service-scenario-cortana-skill.md)
### [Enterprise Productivity bot](bot-service-scenario-enterprise-productivity.md)
### [Information bot](bot-service-scenario-informational.md)
### [Internet of Things bot](bot-service-scenario-internet-things.md)
# How-To guides
# How To
## [Design](design/TOC.md)
## [Manage](manage/TOC.md)
## Develop
Expand All @@ -32,4 +33,9 @@
## [.NET SDK](/dotnet/api/?view=botbuilder-3.12.2.4)
## [Node.js SDK](https://docs.botframework.com/en-us/node/builder/chat-reference/modules/_botbuilder_d_.html)
## [REST API](rest-api/bot-framework-rest-connector-api-reference.md)
# Related
## [Web Apps](/azure/app-service/)
## [Functions](/azure/azure-functions/)
## [Cognitive Services](/azure/index#pivot=products&panel=cognitive)
## [Application Insights](/azure/application-insights/)
# [Resources](resources/TOC.md)
2 changes: 1 addition & 1 deletion articles/bot-service-channel-inspector.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ The Channel Inspector currently allows you to preview the following features.
* Media attachments in [Node.js][nodemedia] and [.NET][netmedia]
* Suggested actions in [Node.js][nodebutton] and [.NET][netbutton]

[inspector]: https://docs.botframework.com/en-us/channel-inspector/channels/Skype
[inspector]: https://docs.botframework.com/en-us/channel-inspector/channels/Skype/

[syntax]: https://daringfireball.net/projects/markdown/syntax

Expand Down
120 changes: 120 additions & 0 deletions articles/bot-service-concept-intelligence.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
---
title: Add intelligence to bots with Cognitive Services | Microsoft Docs
description: Learn how to add artificial intelligence to your bots with Microsoft Cognitive Services to make them more useful and engaging.
author: RobStand
ms.author: rstand
manager: rstand
ms.topic: article
ms.prod: bot-framework
ms.date: 12/17/2017
---

# Add intelligence to bots with Cognitive Services

Microsoft Cognitive Services lets you tap into a growing collection of powerful AI algorithms developed by experts in the fields of computer vision, speech, natural language processing, knowledge extraction, and web search. The services simplify a variety of AI-based tasks, giving you a quick way to add state-of-the-art intelligence technologies to your bots with just a few lines of code. The APIs integrate into most modern languages and platforms. The APIs are also constantly improving, learning, and getting smarter, so experiences are always up to date.

Intelligent bots respond as if they can see the world as people see it. They discover information and extract knowledge from different sources to provide useful answers, and, best of all, they learn as they acquire more experience to continuously improve their capabilities.

## Language understanding

The interaction between users and bots is mostly free-form, so bots need to understand language naturally and contextually. The Cognitive Service Language APIs provide powerful language models to determine what users want, to identify concepts and entities in a given sentence, and ultimately to allow your bots to respond with the appropriate action. The five APIs support several text analytics capabilities, such as spell checking, sentiment detection, language modeling, and extraction of accurate and rich insights from text.

Cognitive Services provides five APIs for language understanding:

- The <a href="https://www.microsoft.com/cognitive-services/en-us/language-understanding-intelligent-service-luis" target="_blank">Language Understanding Intelligent Service (LUIS)</a> is able to process natural language using pre-built or custom-trained language models.

- The <a href="https://www.microsoft.com/cognitive-services/en-us/text-analytics-api" target="_blank">Text Analytics API</a> detects sentiment, key phrases, topics, and language from text.

- The <a href="https://www.microsoft.com/cognitive-services/en-us/bing-spell-check-api" target="_blank">Bing Spell Check API</a> provides powerful spell check capabilities, and is able to recognize the difference between names, brand names, and slang.

- The <a href="https://www.microsoft.com/cognitive-services/en-us/linguistic-analysis-api" target="_blank">Linguistic Analysis API</a> 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.

- The <a href="https://www.microsoft.com/cognitive-services/en-us/web-language-model-api" target="_blank">Web Language Model (WebLM) API</a> 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.

Learn more about [language understanding][language] with Microsoft Cognitive Services.

## Knowledge extraction

Cognitive Services provides five knowledge APIs that enable you to identify named entities or phrases in unstructured text, add personalized recommendations, provide auto-complete suggestions based on natural interpretation of user queries, and search academic papers and other research like a personalized FAQ service.

- The <a href="https://www.microsoft.com/cognitive-services/en-us/entity-linking-intelligence-service" target="_blank">Entity Linking Intelligence Service</a> annotates unstructured text with the relevant entities mentioned in the text. 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.

- The <a href="https://azure.microsoft.com/en-us/services/cognitive-services/recommendations/" target="_blank">Recommendations API</a> provides "frequently bought together" recommendations to a product, as well as personalized recommendations based on a user's history. 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.

- The <a href="https://www.microsoft.com/cognitive-services/en-us/knowledge-exploration-service" target="_blank">Knowledge Exploration Service</a> provides natural language interpretation of user queries and returns annotated interpretations to enable rich search and auto-completion experiences that anticipate what the user is typing. 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.

- The <a href="https://www.microsoft.com/cognitive-services/en-us/academic-knowledge-api" target="_blank">Academic Knowledge API</a> returns academic research papers, authors, journals, conferences, topics, and universities from the <a href="https://www.microsoft.com/en-us/research/project/microsoft-academic-graph/" target="_blank">Microsoft Academic Graph</a>. Built as a domain-specific example of the Knowledge Exploration Service, the Academic Knowledge API provides a knowledge base using a graph-like dialog with search capabilities over hundreds of millions of research-related entities. Search for a topic, a professor, a university, or a conference, and the API will provide relevant publications and related entities. The grammar also supports natural queries like "Papers by Michael Jordan about machine learning after 2010".

- The <a href="https://qnamaker.ai" target="_blank">QnA Maker</a> is a free, easy-to-use, REST API and web-based service that trains AI to respond to users’ questions in a natural, conversational way. With optimized machine learning logic and the ability to integrate industry-leading language processing, QnA Maker distills semi-structured data like question and answer pairs into distinct, helpful answers.

Learn more about [knowledge extraction][knowledge] with Microsoft Cognitive Services.

## Speech recognition and conversion

Use the Speech APIs to add advanced speech skills to your bot that leverage industry-leading algorithms for speech-to-text and text-to-speech conversion, as well as speaker recognition. The Speech APIs use built-in language and acoustic models that cover a wide range of scenarios with high accuracy.

For applications that require further customization, you can use the Custom Recognition Intelligent Service (CRIS). This allows you to calibrate the language and acoustic models of the speech recognizer by tailoring it to the vocabulary of the application, or even to the speaking style of your users.

There are three Speech APIs available in Cognitive Services to process or synthesize speech:

- The <a href="https://www.microsoft.com/cognitive-services/en-us/speech-api" target="_blank">Bing Speech API</a> provides speech-to-text and text-to-speech conversion capabilities.
- The <a href="https://www.microsoft.com/cognitive-services/en-us/custom-recognition-intelligent-service-cris" target="_blank">Custom Recognition Intelligent Service (CRIS)</a> 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.
- The <a href="https://www.microsoft.com/cognitive-services/en-us/speaker-recognition-api" target="_blank">Speaker Recognition API</a> enables speaker identification and verification through voice.

The following resources provide additional information about adding speech recognition to your bot.

* [Bot Conversations for Apps video overview](https://channel9.msdn.com/events/Build/2017/P4114)
* [Microsoft.Bot.Client library for UWP or Xamarin apps](https://aka.ms/BotClient)
* [Bot Client Library Sample](https://aka.ms/BotClientSample)
* [Speech-enabled WebChat Client](https://aka.ms/BFWebChat)

Learn more about [speech recognition and conversion][speech] with Microsoft Cognitive Services.

## Web search

The Bing Search APIs enable you to add intelligent web search capabilities to your bots. With a few lines of code, you can access billions of webpages, images, videos, news, and other result types. You can configure the APIs to return results by geographical location, market, or language for better relevance. You can further customize your search using the supported search parameters, such as Safesearch to filter out adult content, and Freshness to return results according to a specific date.

There are five Bing Search APIs available in Cognitive Services.

- The <a href="https://www.microsoft.com/cognitive-services/en-us/bing-web-search-api" target="_blank">Web Search API</a> provides web, image, video, news and related search results with a single API call.

- The <a href="https://www.microsoft.com/cognitive-services/en-us/bing-image-search-api" target="_blank">Image Search API</a> returns image results with enhanced metadata (dominant color, image kind, etc.) and supports several image filters to customize the results.

- The <a href="https://www.microsoft.com/cognitive-services/en-us/bing-video-search-api" target="_blank">Video Search API</a> retrieves video results with rich metadata (video size, quality, price, etc.), video previews, and supports several video filters to customize the results.

- The <a href="https://www.microsoft.com/cognitive-services/en-us/bing-news-search-api" target="_blank">News Search API</a> finds news articles around the world that match your search query or are currently trending on the Internet.

- The <a href="https://www.microsoft.com/cognitive-services/en-us/bing-autosuggest-api" target="_blank">Autosuggest API</a> offers instant query completion suggestions to complete your search query faster and with less typing.

Learn more about [web search][search] with Microsoft Cognitive Services.

## Image and video understanding

The Vision APIs bring advanced image and video understanding skills to your bots.
State-of-the-art algorithms allow you to process images or videos and get back information you can transform into actions. For example, you can use them to recognize objects, people's faces, age, gender or even feelings.

The Vision APIs support a variety of image understanding features. They can identify mature or explicit content, estimate and accent colors, categorize the content of images, perform optical character recognition, and describe an image with complete English sentences. The Vision APIs also support several image and video processing capabilities, such as intelligently generating image or video thumbnails, or stabilizing the output of a video.

Cognitive Services provide four APIs you can use to process images or videos:

- The <a href="https://www.microsoft.com/cognitive-services/en-us/computer-vision-api" target="_blank">Computer Vision API</a> extracts rich information about images (such as objects or people), determines if the image contains mature or explicit content, and processes text (using OCR) in images.

- The <a href="https://www.microsoft.com/cognitive-services/en-us/emotion-api" target="_blank">Emotion API</a> analyzes human faces and recognizes their emotion across eight possible categories of human emotions.

- The <a href="https://www.microsoft.com/cognitive-services/en-us/face-api" target="_blank">Face API</a> detects human faces, compares them to similar faces, and can even organize people into groups according to visual similarity.

- The <a href="https://www.microsoft.com/cognitive-services/en-us/video-api" target="_blank">Video API</a> analyzes and processes video to stabilize video output, detects motion, tracks faces, and can generate a motion thumbnail summary of the video.

Learn more about [image and video understanding][vision] with Microsoft Cognitive Services.

## Additional resources

You can find comprehensive documentation of each product and their corresponding API references in the <a href="https://docs.microsoft.com/azure/cognitive-services" target="_blank">Cognitive Services documentation</a>.


[language]: https://docs.microsoft.com/en-us/azure/cognitive-services/luis/home
[search]: https://docs.microsoft.com/en-us/azure/cognitive-services/bing-web-search/search-the-web
[vision]: https://docs.microsoft.com/en-us/azure/cognitive-services/computer-vision/home
[knowledge]: https://docs.microsoft.com/en-us/azure/cognitive-services/kes/overview
[speech]: https://docs.microsoft.com/en-us/azure/cognitive-services/speech/home
[location]: https://docs.microsoft.com/en-us/azure/cognitive-services/
8 changes: 4 additions & 4 deletions articles/bot-service-concept-templates.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@ ms.prod: bot-framework
ms.date: 12/13/2017
---
# Bot Service templates
Bot Service includes five templates to help you get started with building bots. These templates provide a fully functional bot out of the box to help you get started quickly. When you [create a bot](bot-service-quickstart.md), you can choose a template based on C# code or Node.js code.
Bot Service includes five templates to help you get started with building bots. These templates provide a fully functional bot out of the box to help you get started quickly. When you [create a bot](bot-service-quickstart.md), you choose a template and the SDK language for your bot.

![Bot templates](~/media/bot-service-concept-templates/sdk-bot-cs-templates.png)
Each template provides a starting point that is based on a core capability for a bot.

## Basic bot
To create a bot that uses dialogs to respond to user input, choose the Basic template. The **Basic bot** template creates a bot that has the minimum set of files and code to get started. The bot echoes back to the user whatever they type in. You can use this template to get started building conversation flow in your bot.
To create a bot that uses dialogs to respond to user input, choose the Basic template. The **Basic** template creates a bot that has the minimum set of files and code to get started. The bot echoes back to the user whatever they type in. You can use this template to get started building conversation flow in your bot.

## Forms bot
## Form bot
To create a bot that collects input from a user via a guided conversation, choose the **Form** template. A form bot is designed to collect a specific set of information from the user. For example, a bot that is designed to obtain a user's sandwich order would need to collect information such as type of bread, choice of toppings, size of sandwich, and so on.

Bots created with the Form template in the C# language use [FormFlow](dotnet/bot-builder-dotnet-formflow.md) to manage forms, and bots created with the Form template in the Node.js language use [waterfalls](nodejs/bot-builder-nodejs-dialog-waterfall.md) to manage forms.
Expand Down
3 changes: 0 additions & 3 deletions articles/cognitive-services-bot-intelligence-overview.md

This file was deleted.

Loading