Language Understanding についてよくあるご質問 (FAQ)

重要

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

LUIS アプリケーションの上限はいくらですか?

LUIS にはいくつかの制限領域があります。 1 つはモデルの制限であり、これによって LUIS で意図、エンティティ、および機能が制御されます。 2 つ目の領域は、キーの種類に基づくクォータ制限です。 3 つ目の制限領域は、LUIS Web サイトを制御するためのキーボードの組み合わせです。 4 つ目の領域は、LUIS オーサリング Web サイトと LUIS エンドポイント API の間の世界リージョン マッピングです。 詳細については、「LUIS の上限」を参照してください。

作成キーと予測キーの違いは何ですか。

作成リソースを使用すると、アプリケーションの作成、管理、トレーニング、テスト、発行を行いうことができます。 予測リソースを使用すると、作成リソースによって提供される要求が 1,000 件を超える場合は、予測エンドポイントに対してクエリを実行できます。 オーサリング キーと予測ランタイム キーの違いの詳細については、LUIS のオーサリング キーとクエリ予測エンドポイント キーに関する記事を参照してください。

LUIS は音声テキスト変換に対応していますか。

音声テキスト変換は、LUIS との統合として提供されます。

同意語と単語のバリエーションとは

LUIS には、例で明示的に識別されなければ、セマンティクスの類似性などのより広範な NLP の側面に関する知識は、ほとんど、またはまったくありません。 たとえば、次のトークン (単語) は、提供された例の類似コンテキストで使用されるまでは、3 つの異なるものです。

  • 購入
  • buying (買っている)
  • bought (買った)

セマンティック類似性自然言語理解 (NLU) の場合は、会話言語理解を使用できます

作成と予測の価格設定はどのようなものですか?

Language Understanding には、作成用に 1 つの種類と、予測エンドポイントに対するクエリの実行用に 1 つの種類という、個別のリソースがあり、それぞれに独自の価格設定があります。 リソース使用量と上限を参照する

どのようなリージョンでサポートされていますか。

リージョンのサポートを参照する

LUIS はどのようにデータを保存しますか?

LUIS では、キーによって指定された領域に対応する Azure のデータ ストアに、データが暗号化されて格納されます。 エンティティ、意図、発話など、モデルのトレーニングに使用されるデータは、アプリケーションの有効期間中は LUIS に保存されます。 所有者または共同作成者がアプリを削除すると、このデータも削除されます。 アプリケーションが 90 日以内に使用されていない場合は、削除されます。データ ストレージの詳細については、「データ保持」を参照してください

LUIS は カスタマー マネージド キー (CMK) をサポートしていますか。

データは、クラウドに永続化されるときに、Language Understanding サービスによって自動的に暗号化されます。 Language Understanding サービスの暗号化によってデータが保護され、組織のセキュリティおよびコンプライアンス コミットメントを満たすのに役立ちます。 カスタマー マネージド キーについて詳しくは、CMK の記事を参照してください。

None 意図をトレーニングすることは重要ですか?

はい、特に、他の意図にラベルを追加する際に発話で None 意図をトレーニングするのはよいことです。 詳細については、「None 意図」を参照してください。

プログラムで LUIS アプリを編集するにはどうすればよいですか?

LUIS アプリをプログラムで編集するには、Authoring API を使います。 Authoring API の呼び出し方法の例は、LUIS Authoring API の呼び出しに関するページ、および「Build a LUIS app programmatically using Node.js」(Node.js を使用してプログラムで LUIS アプリを作成する) をご覧ください。 Authoring API を使うには、エンドポイント キーではなくオーサリング キーを使用する必要があります。 プログラムで作成すると、1 か月あたり最大 1,000,000 呼び出し、および 1 秒あたり最大 5 トランザクションが可能です。 キーおよび LUIS でのキーの使用の詳細については、キーの管理に関するページをご覧ください。

発話例のバリエーションは句読点を含む必要がありますか?

次のいずれかのソリューションを使用します。

  • 句読点を無視します
  • 発話例として異なるバリエーションを意図に追加します
  • 句読点を無視する構文を使用して発話例のパターンを追加します。

トレーニングするたびにアプリが異なるスコアを取得するのはなぜですか。

[use non-deterministic training](非決定的トレーニングを使用する) オプションを有効または無効にします。 無効にすると、利用可能なすべてのデータがトレーニングで使用されます。 有効にすると (既定)、トレーニングではアプリがトレーニングされるたびにランダム サンプルが使用され、意図の否定として使用されます。 毎回同じスコアが得られるようにするには、すべてのデータを使用して LUIS アプリをトレーニングする必要があります。 詳細については、トレーニングに関する記事を参照してください。

HTTP 403 エラー状態コードを受け取りました。 どのように修正すればよいですか 1 秒あたりの要求数を増やすことはできますか。

価格レベルの 1 秒あたりのトランザクション数または 1 か月あたりのトランザクション数を超えると、403 および 429 のエラー状態コードを取得します。 価格レベルを上げるか、Language Understanding Docker コンテナーを使用してください。

無料の 1000 エンドポイント クエリをすべて使用しているか、価格レベルの 1 か月あたりのトランザクションのクォータを超えた場合は、HTTP 403 エラー状態コードが表示されます。

このエラーを解消するには、価格レベルを上位のレベルに変更するか、新しいリソースを作成してアプリに割り当てる必要があります。

このエラーの解決方法は次のとおりです。

  • Azure portal で、Language Understanding リソースに移動し、[リソース管理]を選択し、[価格レベル] を選択して、価格レベルを変更します。 リソースが既に Language Understanding アプリに割り当てられている場合、Language Understanding ポータルでは何も変更する必要はありません。
  • 使用量が最も高い価格レベルを超えた場合は、ロード バランサーを使って Language Understanding リソースをその前に追加します。 これには、Kubernetes または Docker Compose を含む Language Understanding コンテナーが役立ちます。

HTTP 429 エラー コードは、1 秒あたりのトランザクションが価格レベルを超えると返されます。

解決方法は次のとおりです。

  • 最高レベルではない場合は、価格レベルを上げることができます。
  • 使用量が最も高い価格レベルを超えた場合は、ロード バランサーを使って Language Understanding リソースをその前に追加します。 これには、Kubernetes または Docker Compose を含む Language Understanding コンテナーが役立ちます。
  • この状態コードが表示された場合は、自分で実装する再試行ポリシーを使用してクライアント アプリケーションの要求をゲートすることができます。

LUIS がクエリの単語の周りまたは途中にスペースを追加するのはなぜですか?

LUIS は、カルチャに基づいて発話をトークン化します。 元の値とトークン化された値の両方を、データ抽出に使用できます。

LUIS 要求がクォータを超えると予想される場合はどうすればよいですか。

LUIS には、Azure リソースの価格レベルに基づいて、月間クォータと 1 秒あたりのクォータがあります。

お使いの LUIS アプリの要求レートが許可されているクォータ レートを超えると、次のことができます。

同じアプリ定義を持つ複数のアプリを使用できますか。

はい、元の LUIS アプリをエクスポートし、そのアプリを個別のアプリにインポートします。 アプリごとに固有のアプリ ID があります。 公開するときに、すべてのアプリ間で同じキーを使用する代わりに、アプリごとに別々のキーを作成します。 1 つのアプリに負荷がかからないように、すべてのアプリに負荷を分散します。 Application Insights を追加して使用量を監視します。

すべてのアプリで取得される最上位の意図が同じになるようにするには、LUIS が混乱しないように 1 番目と 2 番目の意図の予測に開きがあり、発話内のわずかな違いによってアプリ間で異なる結果が返されるようにしてください。

これらのアプリをトレーニングするときは、必ずすべてのデータを使用してトレーニングしてください。

1 つのメインアプリを指定します。 確認用として推奨される発話をメイン アプリに追加してから、その他のすべてのアプリに移動する必要があります。 これは、アプリを完全にエクスポートするか、ラベル付き発話をメイン アプリから他のアプリに読み込むことで行います。 読み込みは、単一の発話またはバッチに対して、LUIS Web サイトまたはオーサリング API のどちらからでも実行できます。

アクティブ ラーニングのために定期的な (2 週間ごとなど) エンドポイントの発話の確認をスケジュール設定し、アプリを再トレーニングして再公開します。

ユーザーの発話のログをダウンロードするにはどうすればよいですか?

既定では、LUIS アプリはユーザーからの発話をログに記録します。 ユーザーが LUIS アプリに送信した発話のログをダウンロードするには、[マイ アプリ] に移動し、アプリを選択します。 コンテキストのツールバーで [Export endpoint logs](エンドポイント ログのエクスポート) を選択します。 ログは、コンマ区切り値 (CSV) ファイルとして書式設定されています。

発話のログ記録を無効にするにはどうすればよいですか?

クライアント アプリケーションが LUIS のクエリに使用しているエンドポイント URL で log=false を設定することにより、ユーザー発話のログ記録をオフにできます。 ただし、ログ記録をオフにすると、アクティブ ラーニングに基づいて発話を提案したりパフォーマンスを向上させたりする LUIS アプリの機能が無効になります。 データのプライバシーを考慮して log=false を設定した場合、LUIS からユーザーの発話の記録をダウンロードしたり、発話を使用してアプリの品質を向上させたりすることはできません。

発話が保存されるのはログだけです。

エンドポイントの発話をログに記録する必要がないのはどのような場合ですか?

予測分析にログを使用する場合、テスト用の発話はログにキャプチャしないでください。

どのような言語がサポートされていますか?

多言語 NLU については、サポートされている言語に関するページを参照してください。言語サービスの新しい 会話言語理解 (CLU) 機能の使用を検討してください。

オンプレミスまたはプライベート クラウドで Language Understanding (LUIS) を使用できますか?

はい。使用量を測定するために必要な接続があれば、それらのシナリオで LUIS コンテナーを使用できます。

LUIS と Azure AI Bot Services はどのように統合しますか?

このチュートリアルを使用して LUIS アプリとボットを統合する