MRが楽しい

MRやVRについて学習したことを書き残す

公式チュートリアル「MR and Azure 303 2章 前半」を試してみる

本日はチュートリアルの実施枠です。
Academyの「MR and Azure 303: Natural language understanding (LUIS)」の実施内容をまとめます。
docs.microsoft.com
前回記事の続きです。
bluebirdofoz.hatenablog.com
今回は「Chapter 2 前半」です。Chater 2 は長いため、2つに分けています。

元記事は Immersive 向けの手順がメインですが、本記事では HoloLens 向けの手順をメインにまとめます。

Chapter 2:The Language Understanding Portal

このセクションでは LUIS ポータルで LUIS アプリケーションを作成する方法を学習します。

この章のエンティティ、インテント、および発話を設定することは LUIS サービスを構築する最初のステップに過ぎません。
サービスを更に正確にするためには何度も再トレーニングを行う必要があります。
サービスを再訓練する工程はこのコースの最終章でカバーされています。

1.Language Understanding Portal に到達します。ここでは Azure ポータルと同じ資格情報でログインする必要があります。
f:id:bluebirdofoz:20180905232946j:plain

2.LUIS を初めて使用する場合は、ウェルカムページの一番下までスクロールします。
[Create LUIS App]ボタンを見クリックします。
f:id:bluebirdofoz:20180905233015j:plain

3.ログインしたら[My App]タブを開きます。[Create new app]ボタンをクリックします。
初めて使用する場合はこの前に利用規約の同意を行う必要があります。
f:id:bluebirdofoz:20180905233024j:plain

4.アプリに名前を設定します。
5.アプリで利用する言語を設定します。今回は HoloLens の対応言語が英語なので English を選択します。
6.新しい LUIS アプリケーションに任意の説明文を追加する事もできます。
7.設定を完了したら[Done]ボタンをクリックします。すると Build ページに移動します。
f:id:bluebirdofoz:20180905233046j:plain

8.ここで理解すべき重要な概念がいくつかあります。
インテントはユーザーからのクエリーに続いて呼び出されるメソッドを表します。
インテントは1つ以上のエンティティが含まれている場合があります。
・エンティティはインテントに関連する情報を記述するクエリのコンポーネントです。
・発話は開発者が提供するクエリの例であり、LUIS が自身を訓練するために使用します。

これらの概念をこの章でさらに詳しく説明します。
このコースを構築するために必要なエンティティを作成することから始めます。

9.ページの左側の[Entities]をクリックしてページを開きます。
次に[Create new entity]をクリックします。
f:id:bluebirdofoz:20180905233054j:plain

10.新しいエンティティの名前を color と名付けます。
エンティティのタイプは Simple に設定します。
これらの設定を行ったら[Done]ボタンをクリックします。
f:id:bluebirdofoz:20180905233102j:plain

11.このプロセスを繰り返して、次のような3つ以上の Simple タイプのエンティティを作成します。
・upsize
・downsize
・target
結果は次のようになります。
f:id:bluebirdofoz:20180905233109j:plain

エンティティを一通り作成したら、次はインテントの作成を行います。

12.ページの左側の[Intents]をクリックしてページを開きます。
次に[Create new intent]をクリックします。
f:id:bluebirdofoz:20180905233117j:plain

13.新しいインテントの名前を ChangeObjectColor と名付けます。
このインテント名はコースの後半でコード内で使用されるため、名前をそのまま使用してください。
f:id:bluebirdofoz:20180905233126j:plain

テキストボックスに、5つ以上の異なる発話を入力するように求められます。
f:id:bluebirdofoz:20180905233133j:plain

14.最初に、次のような発話をテキストボックスに入力します。Enter キーで確定します。

The color of the cylinder must be red

f:id:bluebirdofoz:20180905233142j:plain

入力した発話がページ下部のリストに表示されます。
f:id:bluebirdofoz:20180905233148j:plain

同じ作業を繰り返して、次の6つの発話を挿入します。

make the cube black

make the cylinder color white

change the sphere to red

change it to green

make this yellow

change the color of this object to blue

f:id:bluebirdofoz:20180905233157j:plain

作成した各発話について、どの単語を LUIS がエンティティとして使用すべきかを特定する必要があります。
この例では全ての色の単語を"color"エンティティとしてラベル付けします。
次に"target"エンティティとしてターゲットへの全ての参照をラベル付けする必要があります。

15.ラベル付けを実施します。
最初の発話での単語'cylinder'をクリックし、"target"を選択してみてください。
f:id:bluebirdofoz:20180905233207j:plain

16.次に最初の発話での単語'red'をクリックし、"color"を選択します
f:id:bluebirdofoz:20180905233227j:plain

17.次の発話にもラベル付けを行います。ここで'cube'が"target"になり、'black'が"color"になります。
f:id:bluebirdofoz:20180905233240j:plain

18.すべての発話にエンティティがラベル付けされるまで、上記のプロセスを繰り返します。
'this'、'it'、および'this object'という言葉もラベル付けすることに注意してください。

エンティティとしてラベル付けする単語を選択する方法は以下の通りです。
・1つの単語の場合、単語をクリックするだけです。
・2つ以上の単語のセットの場合、セットの最初と最後をクリックします。
[トークンビュー]のトグルボタンを使用して、エンティティ/トークンビューを切り替えることができます。
f:id:bluebirdofoz:20180905233258j:plain

19.結果は下の画像に示すようになります。
トークンビュー
f:id:bluebirdofoz:20180905233306j:plain
・エンティティビュー
f:id:bluebirdofoz:20180905233314j:plain

20.全ての設定が完了したら、ページの右上にある[Train]ボタンをクリックします。
f:id:bluebirdofoz:20180905233321j:plain

小さな丸いインジケーターが緑色になるのを待ちます。
緑色になれば LUIS がこのインテントを認識することに成功したことを示しています。
f:id:bluebirdofoz:20180905233329j:plain

Chapter 2 前半はここまでです。
次回は Chapter 2 後半を実施します。
bluebirdofoz.hatenablog.com