自然言語の理解

適用対象: SDK v4

ボットは、構造化およびガイド付きから自由形式、自由形式、自由形式まで、さまざまな会話スタイルを使用できます。 ユーザーの言うことに基づいて、ボットは会話フローで次に何を行うかを決定する必要があります。 Azure Cognitive Services には、このタスクに役立つ機能が含まれています。 これらの機能は、ボットが情報を検索したり、質問したり、ユーザーの意図を解釈したりするのに役立ちます。

ユーザーとボットとの対話は、自由形式であることが多く、ボットは文脈から自然に言語を理解する必要があります。 オープンエンドの会話では、さまざまなユーザー応答が存在する可能性があり、ボットは多かれ少なかれ構造やガイダンスを提供できます。 次の表は、ガイド付き質問と未解決の質問の違いを示しています。

ガイド オープン
私は旅行ボットです。 次のオプションから 1 つ選択してください: フライトを検索する、ホテルを検索する、レンタカーを検索する。 旅行の予約のお手伝いができます。 何がしたいですか?
他に必要なことはありますか? [はい] または [いいえ] をクリックしてください。 他に必要なことはありますか?

Azure Cognitive Services は、インテリジェントなアプリ、Web サイト、ボットを構築するための AI サービスを提供します。 これらの機能をボットに追加すると、ボットがオープンエンドのユーザー入力により適切に応答できるようになります。

この記事では、Azure Cognitive Services で使用できる機能の一部に対する Bot Framework SDK のサポートについて説明します。

一般的なガイダンス

Azure Cognitive Services には、進化するテクノロジが組み込まれています。 Azure Cognitive Service for Language には、以前は個別のサービスとして実装されていたさまざまな機能が統合されています。 この記事では、新しい機能と古い機能とサービスの両方について説明し、それぞれの詳細情報を確認する場所について説明します。

シナリオ ガイダンス
新しいボット開発 メンバーがスキルと規範を組み合わせたチームをサポートするように設計された Power Virtual Agents の使用を検討してください。 詳細については、「 Power Virtual Agents 」および「 高度な AI 機能を有効にする」を参照してください。
既存の Bot Framework SDK ボットの新しい言語プロジェクト 会話言語理解 (CLU) や質問への回答など、Azure Cognitive Service for Language サービスの機能を使用することを検討してください。
既存の言語プロジェクトを含む既存のボット 言語プロジェクトは引き続き機能しますが、Azure Cognitive Service for Language への移行を検討してください。 詳細については、この記事の後半の「 既存の言語プロジェクトを移行 する」セクションを参照してください。

言語の理解

自然言語理解機能を使用すると、カスタム自然言語理解モデルを構築して、ユーザーのメッセージの全体的な意図を予測し、そこから重要な情報を抽出できます。

サービスまたは機能 説明
会話型Language Understanding (CLU) Azure Cognitive Service for Language サービスの機能。
Language Understanding (LUIS) Azure Cognitive Services サービス。 (CLU は LUIS の更新バージョンです)。

LUIS は 2025 年 10 月 1 日に廃止されます。

会話型Language Understanding (CLU)

会話言語理解 (CLU) を使用すると、ユーザーはカスタムの自然言語理解モデルを構築して、受信した発話の全体的意図を予測し、そこから重要な情報を抽出することができます。 CLU は、クライアント アプリケーションの入力テキストを理解するためのインテリジェンスのみを提供し、それ自体でアクションを実行しません。

ボットで CLU を使用するには、言語リソースと会話プロジェクトを作成し、言語モデルをトレーニングしてデプロイしてから、CLU API に要求を転送する テレメトリ認識エンジン をボットに実装します。

詳細については、次を参照してください。

Language Understanding (LUIS)

注意

Language Understanding (LUIS) は、2025 年 10 月 1 日に廃止されます。 2023 年 4 月 1 日から、新しい LUIS リソースを作成することはできません。

LUIS は、ユーザーの会話型の自然言語テキストにカスタム機械学習インテリジェンスを適用して、全体的な意味を予測し、関連する詳細情報を引き出します。

ボットで LUIS を使用するには、LUIS アプリを作成、トレーニング、発行してから、 LUIS 認識エンジン をボットに追加します。

詳細については、次を参照してください。

質問と回答

質問と回答機能を使用すると、ユーザーの質問に答えるナレッジ ベースを構築できます。 ナレッジ ベースは、FAQ、マニュアル、ドキュメントに記載されている半構造化コンテンツを表します。

サービスまたは機能 説明
質問応答 Azure Cognitive Service for Language サービスの機能。
QnA Maker Azure Cognitive Services サービス。 (質問応答は、QnA Maker の更新バージョンです)。

Azure QnA Maker は、2025 年 3 月 31 日に廃止される予定です。

質問応答

質問応答では、データ上に自然な会話レイヤーを作成できるクラウドベースの自然言語処理 (NLP) が提供されます。 これは、任意の入力に対して、カスタム ナレッジ ベースの情報から最も適切な回答を見つける目的で使用されます。

ボットで質問応答を使用するには、質問応答プロジェクトを作成してデプロイしてから、質問応答 API に要求を転送する QnA Maker クライアント をボットに実装します。

詳細については、次を参照してください。

QnA Maker

注意

Azure QnA Maker は、2025 年 3 月 31 日に廃止される予定です。 2022 年 10 月 1 日から、新しい QnA Maker リソースやナレッジ ベースを作成することはできません。

QnA Maker には既存の FAQ サイトから質問と回答を収集する組み込み機能があり、質問と回答の独自のリストを手動で構成することもできます。 QnA Maker は自然言語処理機能を備え、予想と若干異なる言葉遣いの質問に対しても回答を提供できます。 しかし、セマンティック言語理解能力がないため、子犬が犬の一種であると判断することはできません。

ボットで QnA Maker を使用するには、QnA Maker サービスを作成し、サポート情報を発行して、QnA Maker オブジェクトをボットに追加します。

詳細については、次を参照してください。

Azure Cognitive Searchは、ボットが、情報をファセットおよびフィルター処理する機能など、豊富な検索エクスペリエンスをユーザーに提供するのに役立ちます。

  • Azure Cognitive Searchは、Azure Cognitive Service for Language 内の機能として使用できます。
  • Azure Cognitive Search サービスは直接使用できます。

Azure Cognitive Searchを使用して、データ ストアを検索、ファセット、フィルター処理するための効率的なインデックスを作成できます。

複数の機能を一緒に使用する

複数の会話トピックを理解する多目的ボットを構築するには、各関数のサポートを個別に開始し、それらを統合します。 ボットが複数の機能を組み合わせるシナリオには、次のようなものがあります。

  • 一連の機能を提供するボット。各機能には独自の言語モデルがあります。
  • 複数のナレッジ ベースを検索して、ユーザーの質問に対する回答を検索するボット。
  • 言語理解、質問への回答、検索など、さまざまな種類の機能を統合するボット。

次の表では、複数の機能を統合するさまざまな方法について説明します。

サービスまたは機能 説明
オーケストレーション ワークフロー 複数の質問応答、CLU、LUIS プロジェクトを一緒に使用できる Azure Cognitive Service for Language サービスの機能。
Bot Framework Orchestrator 意図のみの認識エンジン。これを使用して、特定のメッセージを最も適切に処理できる LUIS モデルまたは QnA Maker サポート情報を決定できます。
Custom 独自のロジックを実装して、ユーザーの要求を処理する最適な方法を決定できます。

オーケストレーション ワークフローを使用する

オーケストレーション ワークフローは機械学習インテリジェンスを適用して、会話言語理解 (CLU) コンポーネント、質問応答プロジェクト、LUIS アプリケーションを接続するオーケストレーション モデルを構築できるようにします。

ボットでオーケストレーション ワークフローを使用するには、オーケストレーション ワークフロー プロジェクトを作成し、スキーマを構築し、モデルをトレーニングしてデプロイしてから、モデル API に対して意図予測のクエリを実行します。

詳細については、次を参照してください。

オーケストレーター

注意

Azure QnA Maker は、2025 年 3 月 31 日に廃止される予定です。 2022 年 10 月 1 日から、新しい QnA Maker リソースやナレッジ ベースを作成することはできません。

Language Understanding (LUIS) は、2025 年 10 月 1 日に廃止されます。 2023 年 4 月 1 日から、新しい LUIS リソースを作成することはできません。

Bot Framework Orchestrator は、意図のみの認識エンジンです。 Bot Framework CLI には、QnA Maker ナレッジ ベースと LUIS 言語モデルのコレクションから Orchestrator の言語モデルを生成するためのツールが含まれています。 その後、ボットは Orchestrator を使用して、ユーザーの入力に最も適切に応答できるサービスを決定できます。

Bot Framework SDK には、LUIS と QnA Maker の組み込みサポートが用意されています。 これにより、最小限の構成で LUIS と QnA Maker を使用してダイアログをトリガーしたり、質問に自動的に回答したりすることができます。

詳細については、「 Orchestrator で複数の LUIS モデルと QnA モデルを使用する」を参照してください。

カスタム ロジック

独自のロジックを実装するには、主に次の 2 つの方法があります。

  1. メッセージごとに、ボットがサポートするすべての関連サービスを呼び出します。 最適な信頼度スコアを持つサービスからの結果を使用します。 最適なスコアがあいまいな場合は、ユーザーに、必要な応答を選択するように依頼します。
  2. 優先する順序で各サービスを呼び出します。 十分な信頼度スコアを持つ最初の結果を使用します。

ヒント

異なるサービスまたは機能の種類の組み合わせを実装する場合は、各ツールとの入力をテストして、各モデルのしきい値スコアを決定します。 サービスと機能は異なるスコア付け基準を使用するため、これらのツール全体で生成されるスコアは直接比較できません。

LUIS サービスと QnA Maker サービスはスコアを正規化します。 そのため、1 つの LUIS モデルでは 1 つのスコアが 適切 ですが、別のモデルではそれほど良くない場合があります。

既存の言語プロジェクトを移行する

古いサービスから Azure Cognitive Service for Language へのリソースの移行については、次を参照してください。

その他のリソース

特定のプロジェクトまたはリソースを管理するには:

特定の機能またはサービスのドキュメントの場合: