Build2016 : Microsoft Bot Framework を使った Bot アプリ作成
Microsoft Bot Framework
Build2016 Keynote Day1 にて発表された、簡単に Bot アプリケーションを作成できる Microsoft Bot Framework 。同じく発表された LUIS (Language Understanding Intelligent Service) と組み合わせることで、自然言語処理を容易に組み込むことができるようになり、自然な対話形式でユーザーとコミュニケーションする Bot アプリが比較的簡単に開発できるようになりました。
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でインストール可能です↓)。
テンプレートからアプリケーションの作成
ファイル > 新規作成 > プロジェクト から新規プロジェクトを作成します。"Bot Application" という名前のテンプレートを選択して作成します。(環境にもよりますが、テンプレート>Visual C# の中に表示されます。)
MessageController.cs に Post 動作が記述されています。デフォルトでは、Ping アクセスへのリターン、メッセージ入力に対する操作 (入力文字数を返す) といった動作が記述されていることが分かります。
こちらをビルドして実行すると、ローカルの Web サーバー上で Bot が稼働します。ブラウザが起動してアプリケーションの稼働が確認できたら、Bot Framework Emulator を起動して動作を確認します。
Azure App Service へのデプロイ
稼働確認ができたら、この Bot アプリを Azure App Service (API App) に公開します。
Bot Framework Emulator でも同様に動作を確認します。ターゲット URL をAzure に変更にするのをお忘れなく。少し手を加えて、都市名を入力すると天気(気温)を教えてくれる Bot にしてみました。
これを自然言語(会話形式の文章)で入力に対応できるようにするには、自然言語処理サービスである LUIS が利用できます。こちらは次回に!