Azure Bot Service についてAbout Azure Bot Service

適用対象: 対象 SDK v4 対象 SDK v3 APPLIES TO: yesSDK v4 yesSDK v3

Azure Bot Service および Bot Framework には、インテリジェントなボットの作成、テスト、配置、管理をすべて一元的に行うツールが備わっています。Azure Bot Service and Bot Framework provide tools to build, test, deploy, and manage intelligent bots, all in one place. SDK で提供されるモジュール式の拡張可能なフレームワーク、ツール、テンプレート、および AI サービスを使用することで、開発者は音声の使用、自然言語の解釈、質問と応答の処理などを行うボットを作成できます。Through the use of modular and extensible framework provided by the SDK, tools, templates, and AI services developers can create bots that use speech, understand natural language, handle questions and answers, and more.

ボットとは何ですか?What is a bot?

ボットは、コンピューターを使用しているという感覚が薄く、人 (または少なくとも知的なロボット) とやり取りしているように感じられるエクスペリエンスを提供します。Bots provide an experience that feels less like using a computer and more like dealing with a person - or at least an intelligent robot. もう人が直接介入する必要がないような、ディナーの予約やプロファイル情報の収集などの繰り返し発生する単純なタスクを自動化されたシステムに移行するために使用できます。They can be used to shift simple, repetitive tasks, such as taking a dinner reservation or gathering profile information, on to automated systems that may no longer require direct human intervention. ユーザーは、テキスト、インタラクティブ カード、および音声を使ってボットと会話します。Users converse with a bot using text, interactive cards, and speech. ボットとの対話では、簡単な質問と回答や、サービスへのアクセスをインテリジェントに提供する洗練された会話などが可能です。A bot interaction can be a quick question and answer, or it can be a sophisticated conversation that intelligently provides access to services.

ボットは、最新の Web アプリケーションによく似ていて、インターネットに接続し、API を使ってメッセージを送受信します。Bots are a lot like modern web applications, living on the internet and use APIs to send and receive messages. ボットの機能は、ボットの種類によって大きく異なります。What's in a bot varies widely depending on what kind of bot it is. 最新のボット ソフトウェアでは、さまざまなテクノロジーとツールを利用して、多岐にわたるプラットフォーム上でより複雑なエクスペリエンスを提供しています。Modern bot software relies on a stack of technology and tools to deliver increasingly complex experiences on a wide variety of platforms. 一方、シンプルなボットでは、コードをほとんど使わずに、メッセージを受信し、そのメッセージをそのままユーザーに返すことができます。However, a simple bot could just receive a message and echo it back to the user with very little code involved.

ボットは、ファイルの読み取りと書き込み、データベースや API の使用、一般的な計算タスクの実行といった、他の種類のソフトウェアと同じ操作を実行できます。Bots can do the same things other types of software can do - read and write files, use databases and APIs, and do the regular computational tasks. ボットの特徴は、人と人のコミュニケーションによく見られるメカニズムを使用する点にあります。What makes bots unique is their use of mechanisms generally reserved for human-to-human communication.

Azure Bot Service および Bot Framework には以下が用意されています。Azure Bot Service and Bot Framework offer:

  • ボット開発用の Bot Framework SDKBot Framework SDK for developing bots
  • エンド ツー エンドのボット開発ワークフローに対応する Bot Framework ツールBot Framework Tools to cover end-to-end bot development workflow
  • ボットとチャネルの間でメッセージとイベントを送受信する Bot Framework Service (BFS)Bot Framework Service (BFS) to send and receive messages and events between bots and channels
  • Azure でのボットの展開とチャネルの構成Bot deployment and channel configuration in Azure

さらに、ボットでは次のような他の Azure サービスを使用できます。Additionally, bots may use other Azure services, such as:

  • インテリジェントなアプリケーションを構築するための Azure Cognitive ServicesAzure Cognitive Services to build intelligent applications
  • クラウド ストレージ ソリューションのための Azure StorageAzure Storage for cloud storage solution

ボットの作成Building a bot

Azure Bot Service および Bot Framework は、このプロセスを容易にするために、統合された一連のツールとサービスを提供します。Azure Bot Service and Bot Framework offer an integrated set of tools and services to facilitate this process. 開発者は好みの開発環境やコマンド ライン ツールを選んで、ボットを作成できます。Choose your favorite development environment or command line tools to create your bot. C#、JavaScript、および TypeScript 用の SDK が存在しますSDKs exist for C#, JavaScript, and Typescript. (Java と Python 用の SDK は現在開発中です)。ボット開発のさまざまなステージ用にツールが用意されており、ボットの設計と構築に役立てることができます。(SDKs for Java and Python are under development.) We provide tools for various stages of bot development to help you design and build bots.

ボットの概要

プランPlan

あらゆる種類のソフトウェアと同様に、目標、プロセス、およびユーザーのニーズを完全に理解することが、成功するボットを作成するプロセスにとって重要です。As with any type of software, having a thorough understanding of the goals, processes and user needs is important to the process of creating a successful bot. コードを書く前に、ボットのデザイン ガイドライン でベスト プラクティスを確認し、作成するボットに必要な事柄を見極めてください。Before writing code, review the bot design guidelines for best practices and identify the needs for your bot. 単純なボットを作成することも、音声、自然言語の解釈、質問への応答などの高度な機能を含めることもできます。You can create a simple bot or include more sophisticated capabilities such as speech, natural language understanding, and question answering.

BuildBuild

作成するボットは会話型インターフェイスを実装した Web サービスであり、Bot Framework サービスとやり取りして、メッセージとイベントを送受信します。Your bot is a web service that implements a conversational interface and communicates with the Bot Framework Service to send and receive messages and events. Bot Framework Service は、Azure Bot Service および Bot Framework のコンポーネントの 1 つです。Bot Framework Service is one of the components of the Azure Bot Service and Bot Framework. 任意の数の環境と言語でボットを作成できます。You can create bots in any number of environments and languages. Azure portal 内でボット開発を開始することも、[C# | JavaScript | Python] のテンプレートを使用してローカルで開発することもできます。You can start your bot development in the Azure portal, or use [C# | JavaScript | Python] templates for local development.

Azure Bot Service および Bot Framework の一環として、ボットの機能の拡張に使用できる追加コンポーネントが用意されています。As part of the Azure Bot Service and Bot Framework, we offer additional components you can use to extend your bot's functionality:

機能Feature 説明Description LinkLink
自然言語処理を追加するAdd natural language processing ボットによる自然言語の解釈、スペル ミスの理解、音声の使用、ユーザーの意図の認識を可能にします。Enable your bot to understand natural language, understand spelling errors, use speech, and recognize the user's intent LUIS の使用方法How to use LUIS
質問に答えるAnswer questions ナレッジ ベースを追加して、より自然な会話方法でユーザーの質問に答えます。Add a knowledge base to answer questions users ask in a more natural, conversational way QnA Maker の使用方法How to use QnA Maker
複数のモデルを管理するManage multiple models LUIS や QnA Maker などの複数のモデルを使用している場合、ボットの会話中に、いつ、どのモデルを使用するかをインテリジェントに判断します。If using more than one model, such as for LUIS and QnA Maker, intelligently determine when to use which one during your bot's conversation ディスパッチ ツールDispatch tool
カードとボタンを追加するAdd cards and buttons グラフィックス、メニュー、カードなど、テキスト以外のメディアでユーザー エクスペリエンスを強化します。Enhance the user experience with media other than text, such as graphics, menus, and cards カードを追加する方法How to add cards

注意

上の表にすべてがリストされているわけではありません。The table above is not a comprehensive list. ボット機能についてさらに調べるには、メッセージの送信以下の左側の記事を参照してください。Explore the articles on the left, starting with sending messages, for more bot functionality.

さらに、ボット資産の作成、管理、テストに役立つコマンド ライン ツールも用意されています。Additionally, we provide command line tools to help you to create, manage, and test bot assets. これらのツールにより、LUIS アプリの構成、QnA ナレッジ ベースの構築、コンポーネント間のディスパッチ モデルの構築、会話のモックなどを実行できます。These tools can configure LUIS apps, build a QnA knowledge base, build models to dispatch between components, mock a conversation, and more. 詳細については、コマンド ライン ツールの readme を参照してください。You can find more details in the command line tools readme.

また、SDK を通じて利用できる機能の多くを紹介しているさまざまなサンプルにアクセスすることもできます。You also have access to a variety of samples that showcase many of the capabilities available through the SDK. これらは、始めから豊富な機能を求めている開発者に最適です。These are great for developers looking for a more feature rich starting point.

テストTest

ボットは様々なパーツが連携する複雑なアプリです。Bots are complex apps, with a lot of different parts working together. そのため、他の複雑なアプリの場合と同様、興味深いバグが発生したり、期待どおりにボットが動作しなかったりすることがあります。Like any other complex app, this can lead to some interesting bugs or cause your bot to behave differently than expected. 発行する前にボットをテストしてください。Before publishing, test your bot. ボットを使用できるようにリリースする前に、ボットをテストする方法をいくつか用意しています。We provide several ways to test bots before they are released for use:

  • エミュレーターを使ってボットをローカルでテストする。Test your bot locally with the emulator. Bot Framework Emulator は、チャット インターフェイスだけでなく、ボットの動作方法とその動作の理由を理解するのに役立つデバッグ ツールと質問ツールも提供するスタンドアロン アプリです。The Bot Framework Emulator is a stand-alone app that not only provides a chat interface but also debugging and interrogation tools to help understand how and why your bot does what it does. このエミュレーターは、開発中のボット アプリケーションと共にローカルで実行できます。The emulator can be run locally alongside your in-development bot application.

  • Web 上でボットをテストする。Test your bot on the web. Azure portal から設定すると、Web チャット インターフェイスを介してボットにアクセスすることもできます。Once configured through the Azure portal your bot can also be reached through a web chat interface. Web チャット インターフェイスは、ボットの実行されているコードに直接アクセスできないテスターやその他の人に、ボットへのアクセスを許可するすばらしい方法です。The web chat interface is a great way to grant access to your bot to testers and other people who do not have direct access to the bot's running code.

  • Bot Framework SDK の 7 月の更新を使用してボットの単体テストを実行する。Unit Test your bot with the July update of Bot Framework SDK.

発行Publish

ボットを Web 上で使用する準備が整ったら、ボットを Azure に発行するか、独自の Web サービスまたはデータ センターに発行します。When you are ready for your bot to be available on the web, publish your bot to Azure or to your own web service or data center. パブリック インターネット上のアドレスを取得することが、ボットをサイト上やチャット チャネル内で稼働させる第一歩です。Having an address on the public internet is the first step to your bot coming to life on your site, or inside chat channels.

接続するConnect         

ボットを、Facebook、Messenger、Kik、Slack、Microsoft Teams、Telegram、SMS 送信、Twilio、Cortana などのチャネルに接続します。Connect your bot to channels such as Facebook, Messenger, Kik, Slack, Microsoft Teams, Telegram, text/SMS, Twilio, and Cortana. Bot Framework は、こうしたさまざまなプラットフォームすべてとの間でメッセージを送受信するために必要な作業のほとんどを行います。ボット アプリケーションでは、接続されているチャネルの数や種類に関係なく、統一され、正規化されたメッセージのストリームを受信します。Bot Framework does most of the work necessary to send and receive messages from all of these different platforms - your bot application receives a unified, normalized stream of messages regardless of the number and type of channels it is connected to. チャネルの追加については、チャネルに関するトピックをご覧ください。For information on adding channels, see channels topic.

EvaluateEvaluate

Azure portal で収集されたデータを使用し、ボットの機能とパフォーマンスを強化する機会を特定します。Use the data collected in Azure portal to identify opportunities to improve the capabilities and performance of your bot. トラフィック、待ち時間、統合などのサービス レベルのデータやインストルメンテーション データを取得できます。You can get service-level and instrumentation data like traffic, latency, and integrations. Analytics では、ユーザー、メッセージ、チャネル データに関する会話レベルのレポートも提供されます。Analytics also provides conversation-level reporting on user, message, and channel data. 詳しくは、分析情報の収集方法に関するページをご覧ください。For more information, see how to gather analytics.

次のステップNext steps

ボットのこれらのケース スタディを確認するか、下記のリンクをクリックして、ボットを作成してください。Check out these case studies of bots or click on the link below to create a bot.