コマース ボットのシナリオCommerce bot scenario

注意

このトピックは SDK v3 リリースに適用されます。This topic applies to SDK v3 release. 最新バージョンの SDK (v4) のドキュメントは、こちらにあります。You can find the documentation for the latest version of the SDK v4 here.

コマース ボットのシナリオでは、ホテルのコンシェルジュ サービスなど、従来の電子メールおよび電話によるインタラクションを置換するボットについて説明します。The Commerce bot scenario describes a bot that replaces the traditional e-mail and phone call interactions that people typically have with a hotel's concierge service. ボットは、Cognitive Services を活用し、バックエンド サービスとの統合から収集したコンテキストを踏まえて、テキストや音声による顧客の要求に対する処理を改善します。The bot takes advantage of Cognitive Services to better process customer requests via text and voice with context gathered from integration with backend services.

Application Bot のダイアグラム

次に、ホテルのコンシェルジュ機能を持つコマース ボットのロジック フローを示します。Here is the logic flow of a Commerce bot that functions as a concierge for a hotel:

  1. 顧客は、ホテルのモバイル アプリを使用します。The customer uses the hotel mobile app.
  2. Azure AD B2C を使用してユーザー認証を行います。Using Azure AD B2C, the user authenticates.
  3. カスタム Application Bot を使用して、ユーザーが情報を要求します。Using the custom Application Bot, user requests information.
  4. Cognitive Services が自然言語の要求を処理します。Cognitive Services helps process the natural language request.
  5. 自然な会話を使用して質問を改善できるユーザーが応答をレビューします。Response is reviewed by customer who can refine the question using natural conversation.
  6. ユーザーが結果に満足すれば、Application Bot がユーザーの予約を更新します。After the user is happy with the results, the Application Bot updates the customer’s reservation.
  7. Application Insights が、ランタイム テレメトリを収集して、ボットのパフォーマンスと使用方法により開発をサポートします。Application insights gathers runtime telemetery to help development with bot performance and usage.

サンプル ボットSample bot

サンプルのコマース ボットは、架空のホテルのコンシェルジュ サービスに基づいて設計されています。The sample Commerce bot is designed around a fictitious hotel concierge service. このボットは C# で記述されています。顧客は、チェーンの会員サービス モバイル アプリからホテルの Azure AD B2C を認証した後、ボットにアクセスします。Written in C#, customers access the Bot once they've authenticated Azure AD B2C with a hotel via the chain's member services mobile app. チェーンの予約情報は、SQL Database に格納されます。The chain stores reservations in a SQL Database. 顧客は、「プール付きの部屋に泊まるには、いくらかかりますか」というような自然な言葉で質問できます。A customer can use natural phrase questions like "How much to rent a pool cabana for my stay". 次にボットは、どのホテルか、ゲストの宿泊期間はどのくらいかといったコンテキストを尋ねます。The Bot in turn has context about what hotel and the duration of the guest's stay. さらに、Language Understanding (LUIS) サービスにより、「プール付きの部屋」のような単純な語句からも簡単にコンテキストを取得できます。In addition, Language Understanding (LUIS) Service makes it easy for the bot to get context from even a simple phrase like "pool cabana". ボットは、ゲストに回答を返すとともに、日数や部屋の種類を提示して、プール付きの部屋を予約することを提案します。The Bot provides the answer and then can offer to book a cabana for the guest, providing choices around the number of days and type of cabana. 必要なデータがすべてそろうと、ボットは予約を行います。Once the Bot has all the necessary data, it books the request. ゲストは、音声で同じ要求を行うこともできます。The guest can also use their voice to make the same request.

このサンプル ボットは、Bot Framework の一般的なシナリオのサンプルからダウンロードするか、ソース コードを複製できます。You can download or clone the source code for this sample bot from Samples for Common Bot Framework Scenarios.

使用するコンポーネントComponents you'll use

コマース ボットでは、次のコンポーネントを使用します。The Commerce bot uses the following components:

  • 認証用の Azure ADAzure AD for Authentication
  • コグニティブ サービス:LUISCognitive Services: LUIS
  • Application InsightsApplication Insights

Azure Active Directory (Azure AD)Azure Active Directory (Azure AD)

Azure Active Directory (Azure AD) は、マイクロソフトが提供する、マルチテナントに対応したクラウド ベースのディレクトリと ID の管理サービスです。Azure Active Directory (Azure AD) is Microsoft’s multi-tenant cloud based directory and identity management service. また、Azure AD は世界中の数多くの組織が使用する卓越した ID 管理ソリューションとすばやく簡単に統合できるため、ボット開発者はボットの構築に集中することができます。As a Bot developer, Azure AD lets you focus on building your Bot by making it fast and simple to integrate with a world class identity management solution used by millions of organizations around the world. Azure AD では、Google、Facebook、Microsoft アカウントなどの外部 ID を使用して個人を識別できる B2C コネクタがサポートされています。Azure AD supports a B2C connector allowing you to identify individuals using external IDs such as Google, Facebook, or a Microsoft Account. Azure AD を使うと、ユーザーの資格情報管理が不要になり、ボットのソリューションに集中できるようになります。ボットのユーザーとアプリケーションによって公開されている正しいデータを関連付けることができるのは皆さんであることを把握しているからです。Azure AD removes the responsibility from you having to manage the user's credentials and instead focus your Bot's solution knowing you can correlate the user of the Bot with the correct data exposed by your application.

コグニティブ サービス:LUISCognitive Services: LUIS

Cognitive Services ファミリ テクノロジのメンバーである Language Understanding (LUIS) を使うと、アプリに機械学習の力を追加することができます。As a member of the Cognitive Services family of technologies, Language Understanding (LUIS) brings the power of machine learning to your apps. 現時点で、LUIS はいくつかの言語をサポートしており、それを使って人がやりたいことをボットに解釈させることができます。Currently, LUIS supports several languages that enables your Bot to understand what a person wants. LUIS を統合する際は、意図を明示し、ボットが解釈するエンティティを定義します。When integrating with LUIS, you express intent and define the entities your Bot understands. 続いて、発話の例を使ってトレーニングを行い、ボットがこれらの意図やエンティティを解釈できるようにします。You then teach your Bot to understand those intents and entities by training it with example utterances. この統合は、ボットができるだけ柔軟に特定の会話ニーズに対応できるように、フレーズ リストや正規表現機能を使用して調整することができます。You have the ability to tweak your integration using phrase lists and regex features so that your Bot is as fluid as possible for your particular conversation needs.

Application InsightsApplication Insights

Application Insights では、アプリケーション パフォーマンス管理 (APM) と瞬時の分析によって、行動につながる分析情報を得ることができます。Application Insights helps you get actionable insights through application performance management (APM) and instant analytics. すぐに使用できる、多機能なパフォーマンス監視、強力なアラート機能、使いやすいダッシュボードによって、ボットの可用性が保たれ、期待どおりに動作していることを確認できます。Out of the box you get rich performance monitoring, powerful alerting, and easy-to-consume dashboards to help ensure your Bot is available and performing as you expect. 問題の発生をすばやく確認し、根本原因を分析して、問題個所を特定し、修正することができます。You can quickly see if you have a problem, then perform a root cause analysis to find and fix the issue.

次の手順Next steps

次に、Cortana スキル ボットのシナリオについて説明します。Next, learn about the Cortana Skill bot scenario.