エージェント

Dialogflow CX エージェントは、エンドユーザーとの同時会話を処理する仮想エージェントです。これは、人間の言語のニュアンスを理解する自然言語理解モジュールです。Dialogflow は、会話中のエンドユーザーのテキストまたは音声をアプリやサービスが理解できる構造化データに変換します。Dialogflow エージェントは、システムに必要な種類の会話が処理されるように設計および構築されます。

Dialogflow エージェントは、人間のコールセンター エージェントに似ています。 予想される会話のシナリオに対処するためにトレーニングを行ってください。ただし、トレーニングを過度に行う必要はありません。

エージェントを作成する

エージェントを作成する手順は次のとおりです。

コンソール

  1. Dialogflow CX Console を開きます。
  2. Google Cloud プロジェクトを作成または選択します。
  3. [Create Agent(エージェントを作成)] をクリックします。
  4. [自動生成] を選択してデータストア エージェントを作成するか、[独自に作成] を選択して他の種類のエージェントを作成します。
  5. 基本的なエージェント設定に関するフォームに入力します。
    1. 任意の表示名を選択できます。
    2. お好みのロケーションをお選びください詳細な位置情報の設定を変更する場合は、[編集] ボタンをクリックします。
    3. 使用するタイムゾーンを選択します。
    4. エージェントのデフォルト言語を選択します。 エージェントのデフォルトの言語は、一旦作成されると、変更できません。
  6. [保存] をクリックします。

API

プロジェクトのロケーション設定をまだ構成していない場合は、API を使用してエージェントを作成する前に、コンソールでこれらの設定を行う必要があります。現在、API を使用してロケーションの設定を行うことはできません。

エージェントを作成するには、Agent タイプ用の create メソッドをご覧ください。

エージェント リファレンスのプロトコルとバージョンを選択:

プロトコル V3 V3beta1
REST エージェント リソース エージェント リソース
RPC エージェント インターフェース エージェント インターフェース
C++ AgentsClient 利用できません
C# AgentsClient 利用できません
Go AgentsClient 利用できません
Java AgentsClient AgentsClient
Node.js AgentsClient AgentsClient
PHP 提供なし 利用できません
Python AgentsClient AgentsClient
Ruby 提供なし 利用できません

エージェントのデータ

Dialogflow エージェントは、仮想エージェントの設定とデータの最上位コンテナとして機能します。

エージェントのデータにアクセスする手順は次のとおりです。

コンソール

  1. Dialogflow CX Console を開きます。
  2. エージェント用の Google Cloud プロジェクトを選択します。
  3. リストでエージェントを見つけます。
  4. エージェントの表示名をクリックします。
  5. 他のガイドの説明に従ってフローやページなどを更新します。

API

更新するデータのガイドをご覧ください。

次のデータはエージェントに関連付けられています。

さまざまなレベルでデータがどのように適用されるかについては、データ アプリケーション レベルをご覧ください。

エージェントの設定

エージェントの構成にアクセスするには、以下の手順に従います。

コンソール

  1. Dialogflow CX Console を開きます。
  2. ご自身の Google Cloud プロジェクトを選択します。
  3. エージェントを選択します。
  4. [エージェント設定] をクリックします。
  5. 必要に応じて設定を更新します。
  6. [保存] をクリックします。

API

Agent 型の get メソッドと patch/update メソッドをご覧ください。

エージェント リファレンスのプロトコルとバージョンを選択:

プロトコル V3 V3beta1
REST エージェント リソース エージェント リソース
RPC エージェント インターフェース エージェント インターフェース
C++ AgentsClient 利用できません
C# AgentsClient 利用できません
Go AgentsClient 利用できません
Java AgentsClient AgentsClient
Node.js AgentsClient AgentsClient
PHP 提供なし 利用できません
Python AgentsClient AgentsClient
Ruby 提供なし 利用できません

以下では、エージェント設定の各カテゴリについて説明します。

全般設定

エージェントでは次の全般設定を使用できます。

  • 表示名

    人間が読み取れる形式のエージェントの名前。

  • タイムゾーン

    エージェントのデフォルトのタイムゾーン。

  • デフォルトの言語

    エージェントがサポートするデフォルトの言語。 エージェントの作成後に、デフォルトの言語を変更することはできません。ただし、次のことはできます。

    1. エージェントを JSON 形式エクスポートします。
    2. ダウンロードしたファイルを解凍します。
    3. agent.json ファイルを見つけます。
    4. defaultLanguageCode フィールドと supportedLanguageCodes フィールドを必要な値に更新します。
    5. ステップ 1 と同じエージェントまたは別のエージェントにエージェントを復元します。
    6. 必要に応じて、言語固有のトレーニング フレーズとエンティティ値を更新します。
  • エージェントのロック

    • エージェントをロックする

      エージェントがロックされているかどうかを示します。ロックされたエージェントは編集できません。

  • ロギングの設定

    • Cloud Logging を有効にする

      エージェントで Cloud Logging が有効になっているかどうかを示します。

    • インタラクションのロギングを有効にする

      品質向上のために秘匿化済みエンドユーザー クエリを収集して保存するかどうかを指定します。

  • BigQuery へのエクスポート

    • BigQuery エクスポートを有効にする

      BigQuery Export が有効になっているかどうかを示します。

    • BigQuery データセット

      BigQuery データセット名。

    • BigQuery テーブル

      BigQuery テーブル名。

  • インテントの候補

    インテントの候補を有効にできます。

  • カスタム ペイロード テンプレート

    このセクションでは、カスタム ペイロード テンプレートの説明とペイロードを作成できます。

ML の設定

Dialogflow は、機械学習(ML)アルゴリズムを使用して、エンドユーザー入力を理解し、インテントと照合して、構造化データを抽出します。Dialogflow は、ユーザーが提供するトレーニング フレーズと、Dialogflow に組み込まれた言語モデルから学習します。このデータに基づいて、エンドユーザー入力と照合するインテントを決定するモデルを構築します。エージェントのフローごとに一意の ML 設定を適用できます。Dialogflow によって作成されたモデルは、フローごとに一意です。

次のエージェント全体の ML 設定が使用できます。

  • ML にスペルの修正を許可する

    これを有効にすると、エンドユーザーの入力にスペルミスや文法ミスがあっても、入力が正しく記述されているものとしてインテントと照合されます。インテント検出レスポンスには、修正済みのエンドユーザー入力が含まれます。たとえば、エンドユーザーが「I want an applle」と入力した場合、「I want an apple」と入力したかのように処理されます。これは、システム エンティティとカスタム エンティティの両方を含むマッチングにも当てはまります。

    スペル修正は、英語、フランス語、ドイツ語、スペイン語、イタリア語でご利用いただけます。すべての Dialogflow CX リージョンで利用できます。

    警告とおすすめの方法:

    • スペル修正では ASR(自動音声認識)エラーを修正できないため、ASR 入力を使用しているエージェントではこれを有効にしないことをおすすめします。
    • 修正された入力が誤ったインテントと一致する可能性があります。これを修正するには、誤ってインテントに一致することがよくあるフレーズをに追加します。
    • スペルの修正により、エージェントのレスポンス時間がわずかに増加します。
    • エージェントがドメイン固有の専門用語を使用して定義されている場合、修正が望ましくない場合があります。

次のフロー固有の ML 設定が利用できます。

  • NLU タイプ

    次のいずれかになります。

  • 自動トレーニング

    有効にすると、フローがコンソールで更新されるたびにトレーニングされます。フローが大きい場合、コンソール UI の遅延の原因となることがあります。その場合はこの設定を無効にし、必要に応じて大規模なフロー用に手動でトレーニングする必要があります。

  • 分類しきい値

    結果から偽陽性を除外した後でも、多様な自然言語入力との一致に基づいてエージェントが応答できるように、機械学習の分類しきい値を調整できます。この設定は、インテントの一致に必要なインテント検出の信頼度を制御します。

    インテント一致の信頼スコアがしきい値より小さい場合は、no-match イベントが呼び出されます。

  • トレーニングのステータス

    フローデータの最新更新以降にフローがトレーニングされたかどうかを示します。

  • NLU のトレーニング

    フローを手動でトレーニングする場合は、このボタンを使用します。

音声と IVR の設定

以下の音声と IVR の設定を使用できます。

  • Text-to-Speech

    • 音声の選択

      音声合成に使用する言語と音声を選択できます。

      エージェントのカスタム音声を有効にするには、音声選択プルダウン ボックスからカスタム音声オプションを選択し、対応するフィールドにカスタム音声名を指定します。カスタム音声名は、projects/PROJECT_ID/locations/LOCATION/models/MODEL_NAME のパターンに従う必要があります。

      • テレフォニー ゲートウェイを使用している場合は、Dialogflow サービス エージェントのサービス アカウント service-PROJECT_NUMBER@gcp-sa-dialogflow.iam.gserviceaccount.com にカスタム音声プロジェクトにおける「AutoML Predictor」が付与されていることを確認します。
      • 通常の API 呼び出しの場合は、Dialogflow の呼び出しに使用するサービス アカウントに、カスタム音声プロジェクトにおける「AutoML Predictor」ロールが付与されていることを確認します。
  • Speech-to-Text

    • 自動音声適応を有効にする

      自動音声適応をご覧ください。

    • 音声の詳細設定

      このセクションでは、音声機能に関する追加の詳細設定について説明します。この詳細設定は、オンオフを切り替えできます。

      これらの設定はエージェント設定で行います(エージェント全体に適用されます)。 フローの設定(フロー全体に適用され、エージェント設定をオーバーライドします)。 ページの設定(ページに適用され、フローとエージェントの設定をオーバーライドします)。 フルフィルメントの設定(フルフィルメントに適用され、ページ、フロー、エージェントの設定をオーバーライドします)。これらの設定のサブセットは、各レベルでの設定の関連性に応じて、各レベルで使用できます。

      [カスタマイズ] オプションが下位レベルで選択されている場合、更新されたエージェント レベルの設定は、フローレベル、ページレベル、フルフィルメント レベルに反映されません。[カスタマイズ] オプションが複数の設定を網羅していて、一部の設定だけを更新したい場合、他の設定をエージェント レベル設定と同じにする場合にそれらの設定を更新する必要もあります。

      • モデル選択(音声入力)

        音声認識に使用する音声モデルを設定します。この設定は言語固有であるため、言語ごとに異なるモデルを選択できます。[リクエスト レベルの音声モデルをオーバーライドする] をオンにして、ランタイム API 呼び出しで別のモデルが指定されている場合でも、選択したモデルが使用されるように設定することもできます。

        Dialogflow CX Phone Gateway については、制限事項をご覧ください。

        詳細については、音声モデルをご覧ください。

      • 音声終了の感度

        エンドユーザーの音声入力で音声の終わりを認識する感度を制御します。値の範囲は、0(低い感度で、音声を終了する可能性が低い)から 100(高い感度で、音声を終了する可能性が高い)です。

      • 高度なタイムアウト ベースの音声終了感度を有効にする

        この設定が有効になっている場合、[音声終了の感度] の設定値は、相対的な音声無音タイムアウトを確立して音声の終了を判断するためのゲージとして使用されます。

        この設定が無効になっている場合(デフォルト)、[音声終了の感度] の設定値を使用して、Google Cloud Speech-to-Text 提供の ML モデルによって音声の終了が判別されます。

        一方、[音声終了の感度] 設定のデフォルトで en-US 言語タグのみがサポートされる場合、[高度なタイムアウト ベースの音声終了感度を有効にする] 設定により、Dialogflow でサポートされているすべての言語と音声モデルに対して音声終了の感度を構成できます。

      • スマート エンドポイントを有効にする

        この設定を有効にすると、Dialogflow はユーザー入力の一部を分析して、音声の終了を判断します。たとえば、ユーザーが「I would like to」と言って一時停止すると、Dialogflow はユーザーがその文を続行するのを待ちます。

        これは、ユーザーが「1234」と言ってから「5678」とする前に一時停止する可能性がある数値パラメータの収集に特に便利です。特定のパラメータにこの設定を適用するには、パラメータのフォームでスマート エンドポイントを設定する必要があります。

        これは en-US 言語タグでのみ使用できます。

        この設定はデフォルトで無効になっています。

      • 音声のタイムアウトなし

        Dialogflow がエンドユーザーの音声入力の待機を停止する時間(秒)。デフォルトは 5 秒で、最大値は 60 秒です。このタイムアウトに対して、Dialogflow は no-input イベントを呼び出します。

      • 割り込み

        有効にすると、エンドユーザーは Dialogflow レスポンス音声を中断できます。中断されると、Dialogflow は音声の送信を停止し、次のエンドユーザー入力を処理します。

        メッセージ キューに複数のメッセージがあり、割り込みが有効なページ、フロー、エージェントに関連付けられたフルフィルメントによりメッセージがキューに登録された場合、キュー内の後続のメッセージすべてに割り込みが有効になります。この場合、統合により割り込みが有効になっているキュー内のすべてのメッセージが再生されなくなります。

      • 部分レスポンスの再生のキャンセルを許可する

        部分レスポンスが有効になっている場合、この設定により部分レスポンスの再生をキャンセルが可能になります。キャンセルを許可するフルフィルメントによってメッセージ キュー内のメッセージが作成された場合、別のメッセージがキューに追加されると、メッセージの再生がキャンセルされます。これは、最初のメッセージの再生を開始したいが、最初のメッセージの再生が完了する前に動作中の Webhook が別のメッセージを生成した場合、その再生をキャンセルするときに役立ちます。

      • 音声エクスポート バケット

        指定した場合、リクエストに関連付けられた音声データが Cloud Storage バケットに保存されます。

        保存された音声 該当するリクエスト
        エンドユーザーの音声入力 DetectIntent, StreamingDetectIntent, AnalyzeContent, StreamingAnalyzeContent
        レスポンス用に合成されたテキスト読み上げ(TTS)音声 AnalyzeContent, StreamingAnalyzeContent

        Storage オブジェクト作成者ロールを、プロジェクト内の次のサービス アカウントに付与してください。

        • 形式が「one-click@df-cx-ALPHANUMERIC_VALUE-ALPHANUMERIC_VALUE.iam.gserviceaccount.com」のサービス アカウント(パートナー組み込みのテレフォニー統合を使用する場合)。

        • Dialogflow CX Phone Gateway の統合を使用する場合、service-PROJECT_NUMBER@gcp-sa-dialogflow.iam.gserviceaccount.com 形式のサービス アカウント。IAM でこのサービス アカウントを見つけるには、[Google 提供のロール付与を含める] オプションをオンにします。

      • DTMF: テレフォニー統合用の DTMF をご覧ください。

マルチモーダル

コンパニオン モードを呼び出すをご覧ください。

共有設定

アクセス制御をご覧ください。

言語設定

エージェントに追加の言語サポートを追加します。全言語の一覧については、言語リファレンスをご覧ください。

セキュリティ設定

セキュリティ設定をご覧ください。

詳細設定

現在、詳細設定は感情分析でのみ利用できます。

エージェントのエクスポートと復元

エージェントをファイルにエクスポートすることや、そのファイルを使用してエージェントを復元することができます。

エージェント エクスポートには、以下を除くすべてのエージェント データが含まれます。

  • フロー バージョン: 下書きのフローのみがファイルにエクスポートされます。
  • 環境: カスタム環境はファイルにエクスポートされません。

エージェントの復元では、以下を除くすべてのターゲット エージェント データ(すべてのフロー バージョンを含む)が上書きされます。

  • 環境: ターゲット エージェントでは、すべてのカスタム環境が変更されずに残ります。ターゲット エージェント内のカスタム環境が参照するフロー バージョンは、関連する環境が存在する限り存続します。ただし、これらの古いフロー バージョンは、エージェントに関して表示されず、選択可能なフロー バージョンではありません。
  • Vertex AI Conversation: Vertex AI Conversation アプリへの関連付けは、ターゲット エージェントで変更されません。(つまり、GenAppBuilderSettingsengine の値)これは、データストア エージェントを他の既存のデータストア エージェントにのみ復元できることを意味します。結果として得られるエージェントが、Vertex AI Conversation アプリに関連付けられている必要があるためです。
  • Vertex AI Conversation データストア: 次のルールに従って、データストアへのすべての参照がターゲット エージェントで上書きされます。

    • ターゲット エージェントがアプリに関連付けられていない場合、データストア参照を含むエージェントを復元することはできません。このような操作を行うと、エラー メッセージが表示されます。この問題を修正するには、ゼロから新しいデータストア エージェントを作成します。(または、データストアのステート ハンドラを追加して、既存のエージェントをデータストア エージェントに変換することもできます。この例では、関連するアプリをエージェントに追加する方法を確認できます)。
    • ターゲット エージェントがアプリに関連付けられている場合、復元時にすべてのデータストア参照が更新されます。Google Cloud プロジェクト ID とロケーションは、ターゲット エージェントのアプリと一致するように更新されます。コレクション ID とデータストア ID は変更されません。つまり、復元オペレーションの前に、一致するタイプのすべての ID のデータストアをターゲット エージェントのアプリに追加する必要があります。

    例: ソース エージェントが projects/123/locations/eu-west2/collections/default_collection/dataStores/myDataStore1 というデータストアを参照し、ターゲット エージェントのアプリの名前が projects/321/locations/us-east1/collections/default_collections/engines/app123 の場合、ターゲット エージェントの結果のデータストア参照は projects/321/locations/us-east1/collections/default_collection/dataStores/myDataStore1 になります。

エクスポートするときに、エクスポート ファイル形式を選択できます。エージェント データに対してソース管理バージョニングを使用している場合は、JSON 形式でエクスポートする必要があります。エージェントを復元すると、Dialogflow によってファイル形式が自動的に決定されます。

エージェントをエクスポートまたは復元するには、以下の手順に従います。

コンソール

  1. Dialogflow CX Console を開きます。
  2. エージェント用の Google Cloud プロジェクトを選択します。
  3. リスト内のエージェントのオプション メニュー をクリックします。
  4. [エクスポート] または [復元] ボタンをクリックします。
  5. 手順に沿って操作して完了します。

API

Agent 型の export メソッドと restore メソッドをご覧ください。

エージェント リファレンスのプロトコルとバージョンを選択:

プロトコル V3 V3beta1
REST エージェント リソース エージェント リソース
RPC エージェント インターフェース エージェント インターフェース
C++ AgentsClient 利用できません
C# AgentsClient 利用できません
Go AgentsClient 利用できません
Java AgentsClient AgentsClient
Node.js AgentsClient AgentsClient
PHP 提供なし 利用できません
Python AgentsClient AgentsClient
Ruby 提供なし 利用できません

エージェントのサイズが上限を超える場合は、エージェントのエクスポートと復元用に Cloud Storage オプションを使用します。

GitHub を使用している場合は、GitHub のエクスポート/復元ガイドもご覧ください。

エージェントを削除する

エージェントを削除するには、完全アクセス権か、編集権限を持つロールが必要です。詳しくは、アクセス制御ガイドをご覧ください。

エージェントを削除するには:

コンソール

  1. Dialogflow CX Console を開きます。
  2. エージェント用の Google Cloud プロジェクトを選択します。
  3. リスト内のエージェントのオプション メニュー をクリックします。
  4. [削除] ボタンをクリックします。
  5. ダイアログで削除を確定します。

API

Agent 型の delete メソッドをご覧ください。

エージェント リファレンスのプロトコルとバージョンを選択:

プロトコル V3 V3beta1
REST エージェント リソース エージェント リソース
RPC エージェント インターフェース エージェント インターフェース
C++ AgentsClient 利用できません
C# AgentsClient 利用できません
Go AgentsClient 利用できません
Java AgentsClient AgentsClient
Node.js AgentsClient AgentsClient
PHP 提供なし 利用できません
Python AgentsClient AgentsClient
Ruby 提供なし 利用できません

プロジェクトを削除する場合、プロジェクトに関連するすべての Dialogflow CX エージェントとデータが直ちに削除されます。