人工知能会話アプリが作りやすくなる文章解析サービス「LUIS」を学習させるには:認識系API活用入門(6)(3/3 ページ)
コグニティブサービスのAPIを用いて、「現在のコグニティブサービスでどのようなことができるのか」「どのようにして利用できるのか」「どの程度の精度なのか」を検証していく連載。今回は、LUIS(Language Understanding Intelligent Service)の概要とLUISへアプリケーションを登録する方法、LUISに学習させる方法を紹介する。
Utterance(想定される発言)を作成し、Entityと結び付ける
ここからがLUISへの教育のプロセスです。「Utterrances」というものが表示され、下にテキストボックスがあり、「Type a new utterance & press Enter…」となっています。
Utteranceは発言、発話、言葉といった意味で、要するに「ユーザーからこの天気予報botアプリケーションに対してどういう発言が来る想定なのかを入力しろ」ということです。今回の天気予報Botアプリケーションでは「今日の東京の天気を教えて」「明日の福岡の天気は?」「明後日の北海道の天気」といった発言パターンを想定しているので、この3つを入力します。
まずは「今日の東京の天気を教えて」と入力しEnterキーを押します。
すると、入力した内容が画面下側に表示されます。
この画面下側に表示された「今日の東京の天気を教えて」という文章の上にマウスカーソルを載せると分かると思いますが、LUISはこの文章を単語レベルに分解するところまでは完了しています。
「今日」「の」「東京」「の」「天気」「を」「教え」「て」となっているので、このUtteranceを先ほど作成したEntityと結び付けるわけです。
「今日」がEntityの「date」になり、「東京」がEntityの「prefecture」になります。実際の結び付け方ですが、「今日」の部分をクリックすると、Entityを選ぶことができるので、「date」を選択します。そして同様に「東京」の部分をクリックして「prefecture」を選択します。
UtteranceとEntityの結び付けが終わると、先ほど「今日」となっていた部分が「$date」になり「東京」となっていた部分が「$prefecture」という表示になります。
続いて、同様に「明日の福岡の天気は?」「明後日の北海道の天気」というUtteranceを登録し、Entityと結び付ける作業を行います。全ての結び付けが終わったら「Save」をクリックして、保存します。
これでUtteranceとEntityの結び付けることはできましたが、これで終わりではありません。入力したUtteranceの右側を見ると「Not trained」と表示されています。
実は、これらのユーザーからの発言をLUISが解析し、Entityを抜き出して返してくれるようにするには、トレーニングが必要なのです。
学習とテスト
画面左側の「Train & test」をクリックします。
「Please train your application before testing.」となっているので、「Train」をクリックします。
トレーニングが完了すると、このようにテストができる状態になります。
実際に先ほど入力した「今日の東京の天気を教えて」「明日の福岡の天気は?」「明後日の北海道の天気」や、入力していない都道府県のパターンで「今日の神奈川の天気は?」「明日の青森の天気を教えて」など入力してテストしてみます。
Endpoint URLの発行
トレーニングができたら、画面左側の「Publish App」をクリックして
アプリケーションとしてPublishし、専用のEndpoint URLを取得します。今回はお試しなので、Endpoint Keyには「BootstrapKey」を、またEndpoint slotは「Staging」を選択しています。
※BootstrapKeyがプルダウンに表示されるまで、少し時間がかかる場合があります。
「Publish」をクリックすると、Endpoint URLが表示されます。このEndpoint URLはあとでbotアプリケーションからLUISを呼び出す際に使用するため、コピーして保存しておきます。
次回は、学習させたLUISをアプリから呼び出す
ここまでで、LUISの設定とトレーニングが終わりました。次回は、アプリからEndpoint URLを呼び出して、チャットbotを作成します。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- LUIS(自然言語解析サービス)
LUISはマイクロソフトが提供する自然言語解析サービス。ユーザーが「何をしたいのか」(インテント)とそれに付随する情報(エンティティ)を取り出せる。 - LUISを使って頭の悪いLINE Botを作ってみよう!
LUIS(自然言語解析サービス)とロケスマWeb(お店発見Webサービス)とGoogle Geocoding APIを使って、ユーザーが探しているお店を教えてくれるLINE Botを作ってみよう! - WebhookやHubotを使ってチャットとSubversion、Redmine、Jenkinsを連携させる基本設定とは
OSSのチャット基盤であり、Dockerコンテナとして簡単に導入できるRocketChatを使った、コミュニケーション基盤の作り方を学ぶ連載。最終回は、RocketChatと他のアプリケーション(Subversion、Redmine、Jenkins、Zabbix、fluentdなど)と連携させる方法を紹介します。