夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

HoloLens×Azure その6 LUISアプリの作成

本日はAzure×HoloLensのチュートリアル枠です。

前回まででUnityでサンプルプロジェクトを構築し、Azureリソースを作成しました。

redhologerbera.hatenablog.com

redhologerbera.hatenablog.com

redhologerbera.hatenablog.com

redhologerbera.hatenablog.com

redhologerbera.hatenablog.com

今回はLUISのアプリを作成します。

〇LUISとは?

LUIS(Language Understanding Intelligent Service)は言語理解知能の意でユーザーの会話など自然言語テキストに機械学習インテリジェンスを適用して全体的な意味を予測する会話型 AI サービスです。

チャットボットなどで自然な対話を実現する際に使用するといった活用がされているようです。

docs.microsoft.com

〇Language Understanding Intelligent Serviceの作成

リソースが作成されたので次にLUIS アプリを作成し、予測モデルをトレーニングしAzure 予測リソースに接続します。

①以下linkを開きログインを行います。

www.luis.ai

②マイアプリに移動します。

f:id:Holomoto-Sumire:20200930092506j:plain

③[+ new app for conversation]を選択します。

 f:id:Holomoto-Sumire:20200930092738j:plain

 [Create app]ウィンドウで名前を付け[Culture]を[English]に設定します。

f:id:Holomoto-Sumire:20200930093142j:plain

 新しいアプリが作成されると[ダッシュボード]へ移動します。

f:id:Holomoto-Sumire:20200930093421j:plain

〇Intentの作成

①[ダッシュボード] の[App Assets]>[Intent] ページに移動し、 [Create]をクリックします。

f:id:Holomoto-Sumire:20200930093949j:plain

②[Intent name]に[PressButton]と入力して作成します。

f:id:Holomoto-Sumire:20200930094211j:plain

〇サンプルスピーチの作成

[PressButton] Intentの [Example utterance]の一覧に、次のサンプルスピーチを追加します。

f:id:Holomoto-Sumire:20200930095217j:plain

・activate launch sequence (発射手順を作動)

・show me a placement hint (配置のヒントを表示)

・initiate the launch sequence (発射手順を開始)

・press placement hints button (配置のヒント ボタンを押す)

・give me a hint (ヒントを表示)

・push the launch button (発射ボタンを押す)

・i need a hint (ヒントが必要)

・press the reset button (リセット ボタンを押す)

・time to reset the experience (エクスペリエンスをリセットする時間を計る)

・go ahead and launch the rocket (先へ進めて、ロケットを発射)

〇エンティティの作成

[App Assets]>[Entity] ページに移動し、 [Create new Entity] をクリックします。

f:id:Holomoto-Sumire:20200930095757j:plain

[Entity name] には、[Action]と入力します。

次に、 [Create] ボタンをクリックして、新しいエンティティを作成します。

同様に[Target]という名のエンティティも作成します。

f:id:Holomoto-Sumire:20200930100034j:plain

〇サンプルスピーチへのエンティティの割り当て

①[Entitiy]から[PressButton]Intentページに戻ります。

f:id:Holomoto-Sumire:20201001090403j:plain

②[go]、[ahead]の順番で単語を選択します。

f:id:Holomoto-Sumire:20201001090633j:plain

③ポップアップから [Action]を選択して、[go ahead]にラベルを付けます。

f:id:Holomoto-Sumire:20201001090847j:plain

これで[go ahead]単語が[Action]のEntitiyと紐づきました。

④[launch]の単語をクリックし、ポップアップから [Target]を選択して、[launch]の単語に[Target]エンティティ値としてラベルを付けます。

f:id:Holomoto-Sumire:20201001091309j:plain

⑤ 次の単語で②③④と同様の作業を行います。

〇Actionラベルの単語

 ・time to

 ・press

 ・need

 ・push

 ・initiate

 ・show

 ・activate

〇Targetラベルの単語

 ・reset

 ・hint

 ・launch

f:id:Holomoto-Sumire:20201001092110j:plain

〇アプリのトレーニング、テスト、発行

①アプリをトレーニングします、 [Train] ボタンをクリックし、トレーニング プロセスが完了するまで待ちます

f:id:Holomoto-Sumire:20201001092753j:plain

②トレーニングの処理が完了したら、 [Test]ボタンをクリックし、「go ahead and launch the rocket」と入力して、[Enter]キーを押します。

f:id:Holomoto-Sumire:20201001092921j:plain

f:id:Holomoto-Sumire:20201001093008j:plain

③テストが処理されたら[Inspect]を選択しテスト結果を表示します。

f:id:Holomoto-Sumire:20201001093210j:plain

[Top-scoring intent]が[PressButton (0.985)]、[ML entities]が[Action],[go ahead]、[Target],[launch]と出てきました。

f:id:Holomoto-Sumire:20201001093414j:plain

ここが正しく設定した通りに表示されれば正しく動いていることになります。

④次にアプリを発行します。右上にある [Publish] ボタンをクリックします

f:id:Holomoto-Sumire:20201001094028j:plain

⑤[Choose your publishing slot and settings]ポップアップ ウィンドウで、 Production slot を選択し、 [Done] を選択します。

f:id:Holomoto-Sumire:20201001094139j:plain

発行が完了すると通知欄に通知が来ます。

f:id:Holomoto-Sumire:20201001094335j:plain

以上でLUISでのアプリ構築は完了しました。

次回作成したアプリをAzueのリソースと接続しUnityとの接続も行います。