Cognitive Servicesがアプリやサービスへの組み込みを前提とした認識機能群である一方、Bot Frameworkは若干位置付けが異なる。Azureクラウド内のバックエンドとして存在し、ユーザーと対話することで必要な作業を進めていくものだ。
Botはいわゆる自動応答型のサービスエージェントだが、Bot Frameworkの最大の特徴はユーザー側のインタフェースにSMS(テキスト)やSkype、メールといった汎用(はんよう)的なチャット機能を用いる点にある。
Botとユーザーとの仲介は「Bot Connector」と呼ばれるサービスが行い、前述のSMSやSkypeといった「チャネル」と呼ばれる各サービスとメッセージ交換をする。Bot Connectorでは自動翻訳機能も提供され、対応する30カ国の言語でこの翻訳機能を利用できる。
Bot Connectorを経由してやりとりされる情報は基本的に「テキスト」の文字情報で、テキスト処理が可能なチャットサービスであれば、すぐにBotのフロントエンドとして利用可能だ。Web用の組み込みチャット枠も提供されており、専用クライアントがなくてもサービスを利用できる。
ただし、チャネルとして選択可能なのは原稿執筆時点で下記の7種類に限定されている。Facebook MessengerやGoogle Hangoutsといったチャット機能では、メジャーなサービスには未対応だ。
Microsoftによれば、現在のところデベロッパーが独自にチャネルを追加する機能は用意されていないという。Bot ConnectorではなくDirect Line APIなどを使って、Botから外部サービスと直接通信する仕組みを構築するしかないようだ。
ただ、これはMicrosoftが自社のサービス中心にBot Frameworkを囲い込もうとしているわけではなく、これらサービスのSDKの整備状況やタイミングによるもので、準備ができ次第MicrosoftとしてBot Frameworkに組み込んでいく意向だという。
Botの開発は、Microsoftが提供している「Bot Builder SDK」を利用して行う。Bot Builder SDK自体はGithub上でオープンソースとして公開されているため、誰でも利用可能だ。Visual Studio 2015の最新版を用意して、開発自体はNode.jsまたはC#で行う。
Botはその性質上、動作テストにチャット用のインタフェースが必要となるが、Bot Framework Emulatorが用意されているので、これを使えばVisual StudioからWebブラウザ経由でデバッグが可能だ。
開発したBotは、Bot Frameworkの中でMicrosoft Azureに登録され、クラウド上で動作することになる。この際にMicrosoftアカウントが必要だ。このようにして登録されたBotは、将来的に「Bot Directory」へと登録され、他のユーザーが自由に検索して好みのBotを選び、利用可能になる。
実際に外部へBotを公開するかどうかは、いつでも開発者が選んで変更できる。Bot Directoryは現在、Build 2016でデモストレーションに用いられた7種類のBotが見えるだけだが(原稿執筆時点)、正式オープンとなった段階で汎用カタログとして機能するようだ。Microsoftでは、Bot Frameworkの正式公開を2016年中と予告している。
なお、既にお気付きかもしれないが、このBot Frameworkは一般公開を前提としたもので、例えばプライベートでの利用や特定企業が内部のみで利用するといった用途は想定していない。将来的にどのような形で、こうした特定用途専用のBotを提供していくのか、適時模索していると同社では説明している。
当面は、Build 2016でもデモが行われた「宅配ピザの注文Bot」「汎用会話Bot」など、多くのユーザーが利用可能なBotがどれだけBot Directory上で公開されるのかに注目していきたい。
Copyright © ITmedia, Inc. All Rights Reserved.