たったの 3 ステップ!文章判別 Bot を作成しよう by Azure Bot Service × LUIS (Language Understanding Intelligent Services)
[Engilish Version available]
Azure Bot Service は "Bot-as-a-service"、1ステップで BOT の作成と公開ができるサービスです。Azure Portal から BOT を稼働させる Azure Functions の作成&公開と Bot Directory への登録を一度に行えます。今回はこの Azure Bot Service を利用し、テンプレートの形で組み込まれている LUIS (Language Understanding Intelligent Service) を用いて言語(日/英)を判別する、文章判別 BOT アプリを作成する手順をご紹介します。
準備
- Microsoft アカウント (または 組織アカウント)
Azure サブスクリプションの申し込みに必要です。(-> Microsoft アカウント登録手続き) このアカウントを Bot Directory や LUIS でも利用します。 - Azure Subscription
Azure Bot Service の作成に利用します (Azure のサービスとしては Azure Functions および Storage が作成されます)。 (->Azure 無料試用版サブスクリプションにサインアップする)
たったの 3 ステップ!チュートリアル
- Step1: Azure Portal で新規 Azure Bot Service の作成
- Step2: Bot Service の設定
- Step3: LUIS の設定
Step1: Azure Portal で新規 Azure Bot Service の作成
Azure Portal (https://portal.azure.com) を開き、サインインします。[新規+] をクリック、[Intelligent + analytics] > [Bot Service] を選択します。[Bot Service] ブレードで、アプリ名、リソースグループ、(データセンターの)場所を選択or入力し、[作成] をクリックします。
"デプロイが成功しました" というメッセージが表示されたら、クリックして作成した Bot Service を開きます。[Create a Microsoft App ID] の欄で、[Create Microsoft App ID and password] をクリックします。
[アプリ ID とパスワードを生成] という画面が表示されますので、[アプリのパスワードの生成] をクリックします。ポップアップ画面でパスワードが表示されたら、コピーしてローカルに保存しておきます。
元の画面に戻ると、App ID が自動で挿入されていますので、その下の列にパスワードを貼り付けます。すると BOT のテンプレート言語 (C#, node.JS) が選択できるようになります。
言語の下にあるテンプレートの種別で [LUIS] を選択して、[Create Bot] をクリックします。
Step2: Bot Service の設定
Bot が作成されると、コードと web chat がある画面が表示されます。 Web Chat で何か入力すると、デフォルトの返答が帰ってきます。
画面左の[Develop] タブ で Bot アプリの構成、コードを編集できます。Bot の動作は主に BasicLuisDialig.csx でおこなっています。 クリックしてコードを表示します。デフォルトでは、入力された文章を分析すると "none" と "MyIntent" という 2 つの Intent に判別されるということを前提に、それぞれの動作が記載されています。Intent が "None" と分析されたとき(=今回は英語) は LuisIntent("None") の動作、Intent が "MyIntent" と分析されたとき(=今回は日本語) はLuisIntent("MyIntent") の動作をするとして、下記のようにコードを編集します。
Step3: LUIS の設定
LUIS Webサイト (https://www.luis.ai/) を開き、必要に応じてサインインします。 "My Application" という画面が表示されたら、 "YourLuisAPP-..." と名前がついているアプリを探し、[Edit] をクリックします。
[Intents] の欄にある (+) をクリックし、 "MyIntent" という名前の Intent を作成します。 "None" はデフォルトで作成済みなので、それをそのまま使います。
[New Utterances] のタブで、日本語の文章を入力して "MyIntent" を選択し、[Submit] をクリックします。英語の文章を入力したときは "None" を選択します。これを何度か繰り返したあと、画面右下の [Train] をクリックして学習させます。
[Publish] をクリックし、[Update published application] をクリックしてアプリをアップデートします。
動作確認
Azure Portal の Bot Service 画面に戻ります。Web chat を使って動作を確認します。
または [Channels] タブから Web Chat を iframe で利用できるコードを取得できます。([Get bot embed codes] をクリックすると表示されます。)
以上の手順で作成した BOT をこちらにも貼り付けてみました。動作確認にご利用ください。