【今さら聞けない】 Azure Bot Serviceの基礎知識
Azure Bot Serviceは、開発者が簡単にインテリジェントなチャットボットを構築および展開できるクラウドベースのプラットフォームです。強力な機能を提供し、顧客体験を改善することができるため、ビジネスにとって人気のある選択肢です。本ブログでは、Azure Bot Serviceの概要、処理の流れ、および統合できるサービスについて説明します。さらに、Azure Bot Serviceでチャットボットを作成する方法も紹介します。
Table of Contents
Azure Bot Serviceとは?
Azure Bot Serviceは、Microsoft Azureのクラウド上で動作するサーバーレスなサービスで、プログラミングの知識がなくてもチャットボットを簡単に作成することができます。Azure Bot Serviceは、Bot Framework SDKと統合されており、Azure Portalを使って設定とデプロイができます。
Bot Framework SDKは、C#、JavaScript、Python、Javaなどの言語で開発された、マイクロソフトが提供するチャットボット開発のためのオープンソースライブラリです。Bot Framework SDKを使用することで、Azure Bot Serviceを介してチャットボットを作成し、Microsoft Teams、Slack、Facebook Messengerなどのチャットプラットフォーム上で動作させることが可能です。
Azure Bot Serviceの主要な構成
Azure Bot Serviceは、以下の4つの主要な層で構成されています。
ユーザークライアント層(User Client Layer)
この層は、ユーザーがボットとやり取りするためのインターフェイスを提供します。Web Chat、Microsoft Teams、Skype、Facebook Messengerなどの各種プラットフォームが含まれます。これらのプラットフォームに対応するために、Azure Bot Serviceは各プラットフォームのAPIを実装しています。
Web層(Web Layer)
Azure Bot ServiceのWeb層は、ユーザーからの発話に対する応答を処理するための中心的な部分であり、以下の2つの機能が持っています。
リクエストの受け取り
Web層は、LINEやFacebookなどの各チャネルから送信されたHTTPリクエストを受け取ります。チャネルは、送信されたリクエストをBot Frameworkが理解できる形式に変換します。リクエストが受信されると、Bot Frameworkは、リクエストを解釈し、対応する処理を行うことができます。
応答の返信
Web層は、Bot Frameworkによって処理された結果をクライアントに返信します。応答は、Bot Frameworkが生成したメッセージに基づいて構築されます。このメッセージは、ユーザーが受け取るテキスト、画像、音声、ビデオなどの情報を含むことができます。Web層は、このメッセージをチャネルが理解できる形式に変換し、クライアントに送信します。
Cognitiveサービス層(Cognitive Service Layer)
この層は、ボットが認識、理解、応答するための人工知能機能を提供します。言語理解(LUIS)、自然言語処理(NLP)、音声認識、顔認識、画像分類などのCognitive Servicesが含まれます。これらのサービスにより、ボットは自然な会話を行い、ユーザーの意図を理解し、適切な応答を提供することが可能です。
外部サービス層(External Service Layer)
多種多様な認証方式を持つIDプロバイダーであるAzure AD、Office365を始めとした様々なマイクロソフトクラウドサービスへのAPIを提供しているGraph APIなど、チャットボットが応答を返すために参照する外部サービスがこの層に含まれます。もちろんマイクロソフト以外のサービスも例外ではありません。Salesforce、サイボウズなどのサードパーティー製のサービスや、自社独自開発のWebサービスが含まれることもあります。
関連記事:「2023年版」チャットボットの全ての最新情報をキャッチアップ!!!
Azure Bot Serviceの処理の流れ
Azure Bot Serviceの処理の流れは以下のようになります。
a. ユーザーがクライアント層のLINEやFacebookから発話します。その発話内容は、HTTPリクエストに乗って、Bot Frameworkに送信されます。
b. Bot Frameworkは、チャネルからのHTTPリクエストを受け取り、Botアプリケーションに送信します。
c. ボットアプリケーションは、ユーザーの発話を解析し、意図を特定して必要な処理を実行します。この時、Azure ADで認証したり、Question AnsweringなどのAIサービスを利用することができます。
d. ボットアプリケーションは、作成されたレスポンスをBot Frameworkに返します。
e. Bot Frameworkは、HTTPレスポンスをチャネル経由でユーザーのクライアントに返します。
以上がAzure Bot Serviceの処理の流れになります。開発者は、ボットアプリケーションを作成することで、ユーザーの発話を解析し、必要な処理を実行することができます。Bot Frameworkは、チャネルからのHTTPリクエストを処理し、作成されたレスポンスを返すことで、ユーザーとのコミュニケーションを実現します。
Azure Bot Serviceでチャットボットを作り方
Azure Bot Serviceでチャットボットアプリケーションの開発手順を具体的に説明します。
Azure Bot Serviceのリソース作成
Azureポータルにログインし、新しいリソースを作成します。検索バーで「Bot」と入力し、検索結果から「Web App Bot」を選択します。必要な情報を入力して、Botのリソースを作成します。
App Serviceの作成
Botアプリケーションをデプロイするために、Azure PortalでApp Serviceを作成します。App ServiceはWebアプリケーションをホストするためのAzureのサービスです。
Visual Studioで開発
Visual Studioを開き、新しいプロジェクトを作成します。テンプレートとして、「Bot」を選択します。この時、作成したAzure Bot Serviceの詳細な情報を入力します。これにより、Visual Studioはチャットボットアプリケーションのベースを作成し、Azure Bot Serviceとの接続を確立します。
Bot Framework Emulatorでテスト
Visual Studioで開発したチャットボットアプリケーションをローカル環境でテストするには、Bot Framework Emulatorを使用します。Emulatorを起動し、開発したBotのURLを入力して接続します。テストを実行し、動作を確認します。
Visual StudioからApp Serviceへデプロイ
Visual Studioで、開発したチャットボットアプリケーションをApp Serviceにデプロイします。Azureのポータルから、作成したApp Serviceにアクセスし、展開されたアプリケーションを確認します。
以上が、Azure Bot Serviceを使ったチャットボットアプリケーションの開発手順です。必要に応じて、App ServiceやBotの構成を調整し、アプリケーションの性能や機能を向上させることができます。
Azure Bot Service と連携できるサービス
Azure Bot Service では、下記のチャネルを介して外部のサービスやアプリケーション、Web サイトと接続して通信を行うことができます。チャネルごとに接続可能なサービスについて解説します。
Standard チャネル
Standard チャネルでは、 Microsoft のファーストパーティサービスおよび、一般提供されているボットAPI を使用するサービスとの接続が可能です。
- Microsoft365メール
- Microsoft Teams
- Alexa
- Direct Line
- Microsoft365メール
- GroupMe
- Kik
- Line
- Microsoft Teams
- オムニチャネル
- Outlook (プレビュー版)
- Dynamics365 (プレビュー版)
- Skype
- Slack
- Telegram
- テレフォニー
- Twilio
Premium チャネル
Premium チャネルを使用すると、上記に加え、ユーザー独自のアプリケーションやWeb サイトとの接続が可能となります。
まとめ
まとめると、Azure Bot Serviceは、開発者が簡単にインテリジェントなチャットボットを構築して展開できる強力なプラットフォームです。そのプロセスフローにより、様々なサービスとシームレスに統合することができるため、顧客体験を向上させたいビジネスにとって理想的な選択肢です。本ブログのステップバイステップガイドにより、短時間でAzure Bot Serviceでチャットボットも作成できます。
2023年におけるチャットボットの状況を見据えると、技術はさらに洗練され、普及することが予想されます。CMC Japanでは、最新の自然言語処理と理解、デュアルインテントエンティティトランスフォーマー、高度な分析を活用した優れたチャットボットサービスを提供しております。当社のチャットボットは、顧客にシームレスでパーソナライズされた体験を提供し、ビジネスが強力な関係を築き、成長を促進するのに役立ちます。お気軽にお問合せください。