Skip to content

Commit

Permalink
docs: updates + bug fixes (microsoft#1561)
Browse files Browse the repository at this point in the history
* Update concept-dialog.md

* Update concept-dialog.md

* Update concept-events-and-triggers.md

* Update concept-language-genereation.md

* Update concept-language-genereation.md

* Add files via upload

* Update concept-language-understanding.md

* Update bot-tutorial-add-dialog.md

* Update howto-sending-messages.md

* Update howto-using-LUIS.md

* Update howto-sending-cards.md

* Update howto-defining-triggers.md

* fixed name of Composer element

Property editor to properties panel

* Update howto-controlling-conversation-flow.md

* Update howto-defining-triggers.md

* Update howto-defining-triggers.md

* Update bot-tutorial-introduction.md

* Delete recognizer-none.png

* Add files via upload

* Fixed naming inconsistencies

Fix LG and LU inconsistencies mentioned in microsoft#1373

* Fixed naming inconsistencies

Fixed inconsistent use of LU brought up in microsoft#1373

* Fixed inconsistent use of LU

based on concerns in microsoft#1373

* Fixed inconsistent language

Fixed inconsistent use of LG brought up in microsoft#1373

* Fixed inconsistent language

Fixed mention of LG brought up in microsoft#1373. Also edited language re: Adaptive Cards.

* Fixed inconsistent language

Fixed inconsistent use of LG mentioned in microsoft#1373

* Update concept-memory.md

* Fixed formatting

Also addressed concerns in microsoft#1438

* FIxed inconsistencies re: LG/LU

* Fixed formatting

* Update bfcomposer-intro.md

* Update tutorial-create-echobot.md

* Update tutorial-create-echobot.md

* Update concept-dialog.md

Added minor grammar fixes/adjustments, added links, fixed note formatting

* Update deploy-bot.md

* Update bot-tutorial-luis.md

* fixed misspelled file name

* Rename concept-language-genereation.md to concept-language-generation.md

* Update bfcomposer-intro.md

* Update deploy-bot.md

* Update tutorial-create-echobot.md

* Fixed inconsistent formatting

* Update bot-tutorial-add-dialog.md

* Fixed inconsistent formatting

* fixed inconsistent formatting

* Update bot-tutorial-add-dialog.md

* Update deploy-bot.md

* Update deploy-bot.md

* Update deploy-bot.md

* Update bot-tutorial-get-weather.md

* Update bot-tutorial-get-weather.md

* Update bot-tutorial-get-weather.md

* Update bot-tutorial-add-help.md

* Update bot-tutorial-lg.md

* Update toc.md

* Update bot-tutorial-lg.md

* Fixed inconsistent formatting

* Update bot-tutorial-lg.md

* Update bot-tutorial-lg.md

* Update bot-tutorial-cards.md

* Update bot-tutorial-luis.md

* Update concept-dialog.md

* Update deploy-bot.md

* Add files via upload

* Update deploy-bot.md

* Delete create_resource_done.png

* Add files via upload

* Delete create_resource_done.png

* Add files via upload

* Delete create_resource_done.png

* Add files via upload
  • Loading branch information
Kaiqb authored and a-b-r-o-w-n committed Nov 12, 2019
1 parent 2b6ce4b commit 49a2e35
Show file tree
Hide file tree
Showing 32 changed files with 345 additions and 354 deletions.
23 changes: 11 additions & 12 deletions docs/bfcomposer-intro.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Introduction to Bot Framework Composer
Bot Framework Composer is an integrated development tool for developers and multi-disciplinary teams to build bots and other types of conversational software with the Microsoft Bot Framework. Composer enables teams to create bots that use the latest features from the Bot Framework SDK.
Bot Framework Composer is an integrated development tool for developers and multi-disciplinary teams to build bots and other types of conversational software with the [Microsoft Bot Framework](https://dev.botframework.com/). Composer enables teams to create bots that use the latest features from the [Bot Framework SDK](https://github.com/microsoft/botframework-sdk).

![BF Composer](./media/introduction/composer-overview.png)

Within this tool, you'll find everything you need to build a sophisticated conversational experience:
* A visual dialog editor
* Tools to train and manage a language understanding component
* Tools to train and manage Language Understanding (LU)
* A powerful language generation and templating system
* A ready-to-use bot runtime executable

Expand All @@ -20,28 +20,27 @@ A major difference between the current version of the Bot Framework SDK and Comp

You can manage Composer assests, such as Dialogs, LU training data, and message templates like normal developer assets - files that can be committed to source control and deployed alongside code updates.

## Language Understanding (LU)
## Language Understanding

Language Understanding is a core component of Composer, allowing developers and conversation designers to train language understanding directly in the context of editing a dialog.
Language Understanding (LU) is a core component of Composer, allowing developers and conversation designers to train language understanding directly in the context of editing a dialog.

As dialogs are edited in Composer developers can continuously add to their bot's natural language capabilities through a simple markdown-like format that makes it easy to define new intents and provide sample utterances.

![BF Composer NLU](./media/introduction/intro-nlu.png)

Composer detects changes and updates the bot's cloud-based NLU model automatically so it is always up to date.

## Language Generation (LG)
## Language Generation

Creating grammatically correct, data-driven responses that also use a consistent tone and convey a clear brand voice has always been a challenge for bot developers. Composer's integrated [Language Generation](https://github.com/microsoft/BotBuilder-Samples/tree/master/experimental/language-generation) system allows developers, and the writers who work with them, to create replies with a great deal of flexibility.
Creating grammatically correct, data-driven responses that also use a consistent tone and convey a clear brand voice has always been a challenge for bot developers. Composer's integrated [Language Generation](https://github.com/microsoft/BotBuilder-Samples/tree/master/experimental/language-generation) (LG) system allows developers, and the writers who work with them, to create replies with a great deal of flexibility.

![BF Composer LG](.//media/language_generation/bot_responses.png)

With Language Generation (LG), previously complex tasks can be quickly achieved:
* Include dynamic elements in messages
* Generate grammatically correct lists, pronouns, articles
* Provide context-sensitive variation in messages
* Create Adaptive Cards attachments, as seen above

With Language Generation, previously complex tasks can be quickly achieved, like:
* Including dynamic elements in messages
* Generating grammatically correct lists, pronouns, articles
* Providing context-sensitive variation in messages
* Creating Adaptive Cards attachments, as seen above

## Unified toolset

Expand Down
58 changes: 26 additions & 32 deletions docs/concept-dialog.md

Large diffs are not rendered by default.

15 changes: 7 additions & 8 deletions docs/concept-events-and-triggers.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Use dialog triggers when you want to:
- Evaluate the raw content of the incoming activity

### Intent trigger
Intent triggers work with recognizers. There are two intent triggers in Composer: **Intent** and **Unrecognized intent**. After the first round of events is fired, the bot will pass the incoming activity through the configured recognizer. If an intent is detected, it will be passed onto the matching handler along with any **entity values** the message contains. If an intent is not detected by the recognizer, any congifured **Unrecognized intent** trigger will fire. This will only fire if no matching intent handler is found. **Unrecognized intent** handles any intent that is not handled by a trigger.
Intent triggers work with recognizers. There are two intent triggers in Composer: **Intent** and **Unrecognized intent**. After the first round of events is fired, the bot will pass the incoming activity through the configured recognizer. If an intent is detected, it will be passed onto the matching handler along with any **entity values** the message contains. If an intent is not detected by the recognizer, any configured **Unrecognized intent** trigger will fire. This will only fire if no matching intent handler is found. **Unrecognized intent** handles any intent that is not handled by a trigger.

Use intent triggers when you want to:
- Trigger major features of your bot using natural language
Expand All @@ -42,7 +42,7 @@ Use **Message activity triggers** when you wan to:
- Take actions when a message is reacted (on receipt of an activity with type `MessageReaction`).

### Custom trigger
Custom trigger is a trigger to handle a custom event such as **Emit a custom event**. Bots can emit user-defined events using the **Emit a custom event** which will trigger this handler.
Custom trigger is a trigger to handle a custom event such as **Emit a custom event**. Bots can emit user-defined events using **Emit a custom event** which will trigger this handler.

## Anatomy of a trigger
The basic idea behind a trigger (event handler) is "When (_event_) happens, then do (_actions_)". The trigger is a conditional test on an incoming event, while the actions are one or more programmatic steps the bot will take to fulfill the user's request.
Expand All @@ -60,12 +60,11 @@ This event will appear in the dialog as a node at the top of the editor. Actions
Composer enables developers to create language training data in the dialog editing surface because it is deeply integrated with the [LUIS.ai](https://www.luis.ai/home) language understanding API. LUIS is able to take natural language input from users and translate it into a named intent and a set of extracted entity values the message contains.

Follow the steps to define a trigger with LUIS recognizer:
1. In the property editor of your selected dialog, choose **LUIS** as recognizer type.
2. In the language understanding editor, create **intents** with sample utterances and follow [.lu format file](https://github.com/Microsoft/botbuilder-tools/blob/master/packages/Ludown/docs/lu-file-format.md#lu-file-format).
Each intent contains a series of sample utterances which will be used as training data in LUIS to recognize the intent.
1. In the properties panel of your selected dialog, choose **LUIS** as recognizer type.
2. In the Language Understanding editor, create **intents** with sample utterances and follow [.lu format file](https://github.com/Microsoft/botbuilder-tools/blob/master/packages/Ludown/docs/lu-file-format.md#lu-file-format).

>[!NOTE]
> Each intent contains a series of sample utterances which will be used as training data in LUIS to recognize any pre-defined intent. You may need a [LUIS authoring key](https://docs.microsoft.com/en-us/azure/cognitive-services/luis/luis-concept-keys?tabs=V2#programmatic-key) to get your training data published. For details, read [using LUIS for language understanding](howto-using-LUIS.md) article.
> Each intent contains a series of sample utterances which will be used as training data in LUIS to recognize any pre-defined intent. You will need a [LUIS authoring key](https://docs.microsoft.com/en-us/azure/cognitive-services/luis/luis-concept-keys?tabs=V2#programmatic-key) to get your training data published. For details, read [using LUIS for language understanding](howto-using-LUIS.md) article.
Below is a screenshot to show the previous two steps:

Expand Down Expand Up @@ -94,8 +93,8 @@ When triggered, if LUIS is able to identify a city, the city name will be made a
In the example below, a similar book-flight intent is defined. However, this will _only_ match the very narrow pattern "book flight to [somewhere]", whereas the LUIS recognizer will be able match a much wider variety of messages.

Follow the steps to define triggers with [Regular Expressions](https://regexr.com/) recognizer:
1. In the property editor of your selected dialog, choose **Regular Expression** as recognizer type for your trigger.
2. In the language understanding editor, create [Regular Expression](https://regexr.com/) **intents** and **pattern** as shown in the screenshot below:
1. In the properties panel of your selected dialog, choose **Regular Expression** as recognizer type for your trigger.
2. In the Language Understanding editor, create [Regular Expression](https://regexr.com/) **intents** and **pattern** as shown in the screenshot below:

![regular_expression_recognizer](./media/events_triggers/regular_expression_recognizer.png)

Expand Down
Loading

0 comments on commit 49a2e35

Please sign in to comment.