Build2016 : Microsoft Bot Framework を使った Bot アプリ作成

Microsoft Bot Framework

Build2016 Keynote Day1 にて発表された、簡単に Bot アプリケーションを作成できる Microsoft Bot Framework 。同じく発表された LUIS (Language Understanding Intelligent Service) と組み合わせることで、自然言語処理を容易に組み込むことができるようになり、自然な対話形式でユーザーとコミュニケーションする Bot アプリが比較的簡単に開発できるようになりました。

bluesky_20160331_01 Microsoft Bot Framework LUIS (Language Understanding Intelligent Service)

テンプレート (Bot Application Template) が公開されているので、こちらをベースとした開発手順をご紹介します。

下準備

開発環境は Visual Studio 2015 (無償の Community も可) が必要です。サービスを Microsoft Azure に発行するには、Azure SDK もインストールしてください。(→インストール方法)

Bot Framework Emulator も合わせてインストールしておきます。

テンプレート (Bot Application Template) をダウンロードしたら(*) (今回は C#)、 Visual Studio のテンプレートディレクトリに配置しておきます。(→ %USERPROFILE%\Documents\Visual Studio 2015\Templates\ProjectTemplates\Visual C# (**) になります。

(*)ZIPファイル解凍&ファイル属性の読み取り専用のチェックを外すのをお忘れなく。

(**) VS をデフォルトでインストールしている場合は、 \C:\Users\[ユーザー名]\Documents\Visual Studio 2015\Templates\ProjectTemplates\Visual C# といったディレクトリになります。

また、Bot Builder SDK が GitHub で公開されています (NuGetでインストール可能です↓)。

bluesky_20160331_10

テンプレートからアプリケーションの作成

ファイル > 新規作成 > プロジェクト から新規プロジェクトを作成します。"Bot Application" という名前のテンプレートを選択して作成します。(環境にもよりますが、テンプレート>Visual C# の中に表示されます。)

bluesky_20160331_02

MessageController.cs に Post 動作が記述されています。デフォルトでは、Ping アクセスへのリターン、メッセージ入力に対する操作 (入力文字数を返す) といった動作が記述されていることが分かります。

bluesky_20160331_03

こちらをビルドして実行すると、ローカルの Web サーバー上で Bot が稼働します。ブラウザが起動してアプリケーションの稼働が確認できたら、Bot Framework Emulator を起動して動作を確認します。

bluesky_20160331_04 bluesky_20160331_05

Azure App Service へのデプロイ

稼働確認ができたら、この Bot アプリを Azure App Service (API App) に公開します。

bluesky_20160331_06 bluesky_20160331_07 bluesky_20160331_08

Bot Framework Emulator でも同様に動作を確認します。ターゲット URL をAzure に変更にするのをお忘れなく。少し手を加えて、都市名を入力すると天気(気温)を教えてくれる Bot にしてみました。

bluesky_20160331_09

これを自然言語(会話形式の文章)で入力に対応できるようにするには、自然言語処理サービスである LUIS が利用できます。こちらは次回に!