LUIS アプリを改善する方法

重要

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

この記事では、LUIS アプリを改善する方法 (正しい予測を確認する方法、発話でオプションのテキストを使用する方法など) について説明します。

アクティブ ラーニング

正しく予測するためにエンドポイントの発話を見直すプロセスはアクティブ ラーニングと呼ばれています。 アクティブ ラーニングでは、エンドポイントに送信されたクエリをキャプチャし、不明なユーザー発話が選択されます。 これらの発話を確認してして、意図を選択し、これらの実際の発話に対応するエンティティをマークします。 その後、これらの変更をアプリの例の発話に受け入れ、アプリをトレーニングして公開します。 これにより、LUIS で発話をより正確に識別できるようになります。

アクティブ ラーニングを有効にするためにユーザーのクエリをログに記録する

アクティブ ラーニングを有効にするには、ユーザー クエリをログに記録する必要があります。 そのためには、log=true クエリ文字列パラメーターと値を指定し、エンドポイント クエリを呼び出します。

注意

アクティブ ラーニングを無効にするには、ユーザーのクエリがログされないようにします。 クエリ パラメーターを変更するには、エンドポイント クエリで log = false を設定するか、または、V3 エンドポイントの既定値は false であるため log パラメーターを省略します。

LUIS ポータルを使用して、正しいエンドポイント クエリを作成します。

  1. LUIS ポータルにサインインし、自分のサブスクリプション作成リソースを選択して、その作成リソースに割り当てられているアプリを表示します。
  2. [マイ アプリ] ページで自分のアプリの名前を選択して、そのアプリを開きます。
  3. [Manage](管理) セクションに移動し、 [Azure resources](Azure リソース) を選択します。
  4. 割り当てられた予測リソースについて、[Change query parameters](クエリ パラメーターの変更) を選択します。

[Change query parameters]\(クエリ パラメーターの変更\) リンクを示すスクリーンショット。

  1. [Save logs](ログの保存) を切り替え、 [Done](完了) を選択して保存します。

LUIS ポータルを使用してログを保存する方法を示すスクリーンショット。アクティブ ラーニングに必要です。

この操作によって log=true クエリ文字列パラメーターが追加され、サンプル URL が変更されます。 ランタイム エンドポイントに対する予測クエリを実行するときに、変更したサンプル クエリ URL をコピーして使用します。

正しい予測で発話を調整する

各発話では、 [予測される意図] 列に意図の候補が表示され、点線の境界ボックスにエンティティの候補が表示されます。

LUIS が不明なエンドポイント発話を確認するページを示すスクリーンショット

予測される意図およびエンティティに同意する場合は、発話の横にあるチェック マークを選択します。 チェック マークが無効になっている場合、これは確認すべきものがないということを意味します。 意図の候補に同意しない場合は、予測される意図のドロップダウン リストから適切な意図を選択します。 エンティティの候補に同意しない場合は、それらのラベル付けを開始します。 完了したら、発話の横にあるチェック マークを選択して、ラベル付けした内容を確認します。 [Save utterance]/(発話の保存) を選択して、それをレビュー リストから移動し、それぞれの意図を追加します。

発話を削除する必要があるかどうかわからない場合は、その発話を意図 [None](なし) に移動するか、"その他" などの新しい意図を作成し、その意図に発話を移動します。

省略可能なテキストと事前構築済みエンティティの使用

組織の担当者に関する問い合わせを処理する人事アプリがあるとします。 発話テキスト (s's? を使用テキスト) で、現在および将来の日付を使用できる場合があります。

意図 "OrganizationChart" を作成する場合、次のようなサンプル発話を考慮します。

Intent 省略可能なテキストと事前構築済みエンティティを含む発話の例
OrgChart-Manager "Who was Jill Jones manager on March 3?"
OrgChart-Manager "Who is Jill Jones manager now?"
OrgChart-Manager "Who will be Jill Jones manager in a month?"
OrgChart-Manager "Who will be Jill Jones manager on March 3?"

これらの各例では、次が使用されています。

  • 動詞の時制: "was"、"is"、"will be"
  • 日付: "March 3"、"now"、"in a month"

LUIS は、予測を正しく行うためにこれらが必要です。 この表の最後の 2 つの例では、"in" と "on" を除き、ほとんど同じテキストが使用されていることに注意してください。

パターンを使用することで、次のテンプレート発話の例では、省略可能な情報が使用可能になります。

Intent 省略可能なテキストと事前構築済みエンティティを含む発話の例
OrgChart-Manager Who was {EmployeeListEntity}['s] manager [[on]{datetimeV2}?]
OrgChart-Manager Who is {EmployeeListEntity}['s] manager [[on]{datetimeV2}?]

省略可能な角かっこの構文 "[ ]" を使用すると、省略可能なテキストをテンプレート発話に追加できます。また、2番目のレベルに入れ子にして "[ [ ] ]"、エンティティまたはテキストを含めることもできます。

注意事項

エンティティが最初に見つけられ、その後にパターンが照合されることに注意してください。

次のステップ:

パフォーマンスがどのように向上するかをテストするには、上部のパネルの [Test](テスト) を選択してテスト コンソールにアクセスします。 テスト コンソールを使用してアプリをテストする手順については、アプリのトレーニングとテストに関する記事をご覧ください。