クイックスタート: LUIS ポータルでアプリをビルドする

重要

LUIS は 2025 年 10 月 1 日に廃止され、2023 年 4 月 1 日から新しい LUIS リソースを作成できなくなります。 継続的な製品サポートと多言語機能のベネフィットを得るために、LUIS アプリケーション会話言語理解に移行することをお勧めします。

このクイックスタートでは、照明や家電製品のオンとオフを切り替えるために、あらかじめ構築されたホーム オートメーション ドメインを使用して LUIS アプリを作成します。 この事前構築済みのドメインによって、意図、エンティティ、発話例が得られます。 次に、さらに意図とエンティティを追加することで、アプリをカスタマイズしてみます。 完成すると、クラウド内で LUIS エンドポイントが実行されるようになります。

LUIS ポータルにサインインする

LUIS の新しいユーザーは、次の手順に従う必要があります。

  1. LUIS ポータルにサインインし、国/地域を選択して利用規約に同意します。 代わりに [マイ アプリ] が表示される場合は、LUIS リソースが既に存在しているため、次の手順に進んでアプリを作成してください。 そうでない場合は、Azure リソースの使用によって開始します。そのようにすると、LUIS アカウントを新規または既存の Azure 作成リソースにリンクすることができます。
  1. 表示された [Choose an authoring](作成の選択) ウィンドウで、Azure サブスクリプションと LUIS 作成リソースを見つけます。 リソースがない場合は、新しいものを作成できます。

    Language Understanding の作成リソースの種類を選択します。

    新しい作成リソースを作成するときは、次の情報を指定します。

    • [テナント名] - Azure サブスクリプションが関連付けられているテナント。
    • [Azure サブスクリプション名] - リソースに対して課金されるサブスクリプション。
    • [Azure リソース グループ名] - 選択または作成するカスタム リソース グループ名。 リソース グループを使用すると、アクセスと管理のために Azure リソースをグループ化できます。
    • [Azure リソース名] - 選択するカスタム名。作成および予測エンドポイント クエリの URL の一部として使用されます。
    • [Pricing tier](価格レベル) - 価格レベルによって、1 秒および 1 か月あたりの最大トランザクション数が決まります。

サブスクリプションと作成リソースを選択する

特定のサブスクリプションと作成リソースを選択すると、それに関連付けられているアプリの一覧が表示されます。

作成サブスクリプションと作成リソースを選択する

新しいアプリの作成

アプリケーションは、 [My Apps] で作成および管理できます。

アプリケーションの作成

アプリケーションを作成するには、[+ 新しいアプリ] をクリックします。

表示されたウィンドウで、次の情報を入力します。

名前 内容
名前 アプリの名前。 たとえば、"home automation"。
カルチャ アプリによって認識され、話される言語。
説明 アプリの説明。
予測リソース クエリを受け取る予測リソース。

[完了] を選択します。

Note

カルチャは、アプリケーションを作成した後に変更できません。

事前構築済みのドメインの追加

LUIS には、アプリケーションの作成を開始するために役立つ、あらかじめ構築されたドメインのセットが用意されています。 構築済みドメイン アプリには、既に意図エンティティ、および発話が設定されています。

  1. 左側のナビゲーションで [Prebuilt Domains](事前構築済みドメイン) を選択します。

  2. HomeAutomation を検索します。

  3. [HomeAutomation] カードで、 [Add domain] を選択します。

    [事前構築済みドメイン] を選択し、[HomeAutomation] を選択します。[HomeAutomation] カードで、[ドメインの追加] を選択します。

    ドメインが正常に追加されると、事前構築済みドメインのボックスに、 [Remove domain](ドメインの削除) ボタンが表示されます。

意図とエンティティを確認する

  1. 左側のナビゲーション メニューから [Intents](意図) を選択し、HomeAutomation ドメインの意図を確認します。 HomeAutomation.QueryStateHomeAutomation.SetDevice などの発話の例があります。

    Note

    [None](なし) は、すべての LUIS アプリに用意されている意図です。 これは自分のアプリの機能に対応しない発話を処理する目的で使用されます。

  2. [HomeAutomation.TurnOff] 意図を選択します。 意図には、エンティティでラベル付けされている発話例の一覧が含まれています。

    HomeAutomation.TurnOff 意図のスクリーンショット

  3. アプリのエンティティを表示する場合は、 [エンティティ] を選択します。 いずれかのエンティティ (HomeAutomation.DeviceName など) を選択すると、それに関連付けられている値の一覧が表示されます。

    画像の代替テキスト

LUIS アプリをトレーニングする

アプリケーションに意図、エンティティ、および発話を設定した後、行った変更が反映されるように、アプリケーションをトレーニングする必要があります。

  1. LUIS Web サイトの右上にある [Train](トレーニング) ボタンを選択します。

    [Train]\(トレーニング\) ボタン

  2. [トレーニング] ボタンが無効になると、トレーニングが完了します。

アプリをテストする

アプリのトレーニング後、そのテストを行うことができます。

  1. 右上のナビゲーションから [テスト] を選択します。

  2. 対話型のテスト ペインにテスト発話を入力し、Enter キーを押します。 たとえば、"Turn off the lights (照明を消して) " など。

    この例では、HomeAutomation.TurnOff に対する最もスコアの高い意図として "Turn off the lights" が正しく識別されています。

    発話が強調表示されたテスト パネルのスクリーンショット

  3. [検査] を選択して、その予測の詳細を表示します。

    検査情報を含むテスト パネルのスクリーンショット

  4. テスト ウィンドウを閉じます。

アプリケーションのカスタマイズ

あらかじめ構築されたドメイン LUIS を使用すると、独自のカスタム アプリケーションを作成したり、あらかじめ構築されたアプリケーションを基にしてカスタマイズしたりすることもできます。

意図を作成する

アプリにさらに意図を追加するには

  1. 左側のナビゲーション メニューで、 [Intents](意図) を選択します。
  2. [作成]
  3. 意図の名前として「HomeAutomation.AddDeviceAlias」と入力し、[完了] を選択します。

エンティティを作成する

アプリにさらにエンティティを追加するには

  1. 左側のナビゲーション メニューの [Entities](エンティティ) を選択します。
  2. [作成]
  3. エンティティ名の「HomeAutomation.DeviceAlias」を入力し、[種類] で機械学習を選択して、[作成] を選択します。

発話の例を追加する

発話の例は、ユーザーがチャット ボットや他のクライアント アプリケーションに入力するテキストです。 ユーザーのテキストの意図を、LUIS 意図にマッピングします。

HomeAutomation.AddDeviceAlias[意図] ページで、 [発話の例] の下に次の発話例を追加します。

# 発話の例
1 Add alias to my fan to be wind machine
2 Alias lights to illumination
3 nickname living room speakers to our speakers a new fan
4 rename living room tv to main tv

最良の結果を得るために、発話の例が次の点で異なるようにしてください。

  • 発話の長さ
  • 句読点
  • 単語の選択
  • 動詞の時制 (現在、過去、未来)
  • 単語の順序

ラベルの発話の例

ML エンティティを追加したため、発話のラベル付けが必要です。 ラベル付けは、作成した ML エンティティを抽出する方法を学習するために、アプリケーションによって使用されます。

発話にラベルを付けるには、2 つのオプションがあります。エンティティ パレットでのラベル付けと、インラインでのラベル付けです。

エンティティ パレットでのラベル付け

右上の @ アイコンを選択すると、エンティティ パレットがページの右側に表示されます。

  1. ラベル付けを開始するエンティティを選択します。

    エンティティ パレットを使用してエンティティにラベルを付ける

  2. このエンティティでラベルを付けるテキストを強調表示します。

    エンティティ パレットを使用してエンティティにラベルを付ける

インラインでのラベル付け

  1. ラベルを付けるテキストを強調表示します。

  2. ポップアップ表示されるメニューで、テキストにラベルを付けるエンティティを選択します。

    テキストにラベルを付けるためのメニュー

予測リソースを作成する

この時点で、アプリケーションの作成は完了しています。 予測エンドポイントを介してチャット ボットまたは他のクライアント アプリケーションで予測を受信するためには、アプリケーションを発行するための予測リソースを作成する必要があります

LUIS ポータルで予測リソースを作成するには

  1. アプリケーションの [管理] タブに移動します。

  2. 左側のナビゲーションで、 [Azure リソース] を選択します。

  3. [予測リソースを追加] ボタンを選択します。

    ポータルから予測リソースを追加する

    予測リソースが既にある場合は、それを追加します。 それ以外の場合は、 [Create a new prediction resource](新しい予測リソースの作成) を選択します。

    ポータルから予測リソースを追加する - 2

アプリを公開してエンドポイント URL を取得する

チャットボットや他のクライアント アプリケーションで LUIS の予測を受け取るには、アプリを予測エンドポイントに公開する必要があります。

  1. 右上のナビゲーションで [公開] を選択します。

    エンドポイントに公開するためのボタンのスクリーンショット。

  2. [運用] スロットを選択し、 [完了] を選択します。

    エンドポイントへの LUIS 公開のスクリーンショット。

  3. 通知の [エンドポイントの URL にアクセス] を選択して [Azure リソース] ページに移動します。 アプリに関連付けられている予測リソースがある場合にのみ、URL が表示されます。 また、 [管理] ページをクリックして [Azure リソース] ページを表示することもできます。

    アプリが公開されたことを示すメッセージのスクリーンショット。

V3 API 予測エンドポイントに対してクエリを実行する

  1. LUIS ポータルの [管理] セクション (右上メニュー) の [Azure リソース] ページ (左メニュー) の [Prediction Resources](予測リソース) タブのページ下部の [example Query](サンプル クエリ) をコピーします。 URL には、アプリ ID、キー、およびスロット名が含まれます。 V3 予測エンドポイント URL の形式は次のとおりです: https://YOUR-RESOURCE-NAME.api.cognitive.microsoft.com/luis/prediction/v3.0/apps/APP-ID/slots/SLOT-NAME/predict?subscription-key=YOUR-PREDICTION-KEY&<optional-name-value-pairs>&query=YOUR_QUERY_HERE

    予測リソース セクションのクエリの例

    この URL を新しいブラウザー タブに貼り付けます。URL が表示されない場合は、予測リソースがないため、作成する必要があります。

  1. ブラウザーのアドレス バーで、クエリ文字列について、URL に次の値が含まれていることを確認します。 それらがクエリ文字列に含まれていない場合は、追加してください。

    • verbose=true
    • show-all-intents=true
  2. ブラウザーのアドレス バーで、URL の最後に移動し、クエリ文字列として「turn off the living room light」と入力して、Enter キーを押します。

    {
        "query": "turn off the living room light",
        "prediction": {
            "topIntent": "HomeAutomation.TurnOff",
            "intents": {
                "HomeAutomation.TurnOff": {
                    "score": 0.969448864
                },
                "HomeAutomation.QueryState": {
                    "score": 0.0122336326
                },
                "HomeAutomation.TurnUp": {
                    "score": 0.006547436
                },
                "HomeAutomation.TurnDown": {
                    "score": 0.0050634006
                },
                "HomeAutomation.SetDevice": {
                    "score": 0.004951761
                },
                "HomeAutomation.TurnOn": {
                    "score": 0.00312553928
                },
                "None": {
                    "score": 0.000552945654
                }
            },
            "entities": {
                "HomeAutomation.Location": [
                    "living room"
                ],
                "HomeAutomation.DeviceName": [
                    [
                        "living room light"
                    ]
                ],
                "HomeAutomation.DeviceType": [
                    [
                        "light"
                    ]
                ],
                "$instance": {
                    "HomeAutomation.Location": [
                        {
                            "type": "HomeAutomation.Location",
                            "text": "living room",
                            "startIndex": 13,
                            "length": 11,
                            "score": 0.902181149,
                            "modelTypeId": 1,
                            "modelType": "Entity Extractor",
                            "recognitionSources": [
                                "model"
                            ]
                        }
                    ],
                    "HomeAutomation.DeviceName": [
                        {
                            "type": "HomeAutomation.DeviceName",
                            "text": "living room light",
                            "startIndex": 13,
                            "length": 17,
                            "modelTypeId": 5,
                            "modelType": "List Entity Extractor",
                            "recognitionSources": [
                                "model"
                            ]
                        }
                    ],
                    "HomeAutomation.DeviceType": [
                        {
                            "type": "HomeAutomation.DeviceType",
                            "text": "light",
                            "startIndex": 25,
                            "length": 5,
                            "modelTypeId": 5,
                            "modelType": "List Entity Extractor",
                            "recognitionSources": [
                                "model"
                            ]
                        }
                    ]
                }
            }
        }
    }
    

リソースをクリーンアップする

不要になったら、LUIS アプリを削除します。 これを行うには、左上のメニューから [My apps](マイ アプリ) を選択します。 アプリ リストのアプリ名の右にある省略記号 (...) を選択し、[削除] を選択します。 [Delete app?](アプリを削除しますか?) ポップアップ ダイアログで、 [OK] をクリックします。

次の手順