BigQuery への会話履歴のエクスポート

会話履歴を BigQueryにエクスポートできます。構成が完了すると、すべてのライブ会話履歴が BigQuery テーブルに書き込まれます。 これにより、エージェントのデバッグと改善、会話データのパターンの検出に役立つ高度な分析ツールを利用できます。

制限事項

次の制限が適用されます。

  • 会話ごとに最大 500 ターンをエクスポートできます。

プロジェクト横断的な権限

Dialogflow エージェントと BigQuery データが同じプロジェクトにない場合、Dialogflow Google Cloud プロジェクトに関連付けられたサービス アカウントにも BigQuery プロジェクトの BigQuery データセットに対するroles/bigquery.dataEditor IAM 権限が付与される必要があります。 Google Cloud

サービス アカウントの形式: service-<dialogflow-project-number>@gcp-sa-dialogflow.iam.gserviceaccount.com

Dialogflow でエクスポートを構成するユーザーには、その BigQuery プロジェクトに対する権限が必要です。権限がない場合、その BigQuery プロジェクトは Dialogflow コンソールにオプションとして表示されません。

ユーザーが Dialogflow で BigQuery プロジェクトを確認するために、BigQuery プロジェクトに対して必要となる最小限の権限は、resourcemanager.projects.get です。 あるいは、次のいずれかの Google Cloud 事前定義ロール を割り当てることもできます。これらのロールはこの権限を含みますが、ユーザーが BigQuery データセットにアクセスする権限を必要としません: roles/browser または roles/bigquery.metadataViewer

テーブルの説明

テーブルの各行には 1 つの会話ターンが含まれ、次の列を含みます。

説明
project_id STRING プロジェクト ID。
agent_id STRING エージェント ID。
conversation_name STRING セッションの完全修飾リソース名。
turn_position INTEGER 会話ターンの番号。
request_time TIMESTAMP 会話ターンの時刻。
language_code STRING 言語タグ
リクエスト JSON インテント検出リクエスト。
response JSON インテント検出のレスポンス。
partial_responses JSON 該当する場合は、部分的レスポンス。
derived_data JSON この会話ターンの追加メタデータ。
conversation_signals JSON NLU 関連の分析データ。JSON スキーマについては、ConversationSignals をご覧ください。
bot_answer_feedback JSON 提供されている場合は、フィードバックに回答してください。

構成

会話履歴のエクスポートを構成するには:

  1. 会話履歴が有効になっていることを確認します。
  2. BigQuery データセット作成ガイド に従ってデータセットを作成します。 次のステップで必要になるため、データセット名をメモしておきます。
  3. BigQuery のテーブル作成ガイドに従って、SQL スキーマ定義を含むテーブルを作成します。 作成には次の SQL ステートメントを使用します。

    CREATE TABLE <your_dataset_name>.dialogflow_bigquery_export_data(
      project_id STRING,
      agent_id STRING,
      conversation_name STRING,
      turn_position INTEGER,
      request_time TIMESTAMP,
      language_code STRING,
      request JSON,
      response JSON,
      partial_responses JSON,
      derived_data JSON,
      conversation_signals JSON,
      bot_answer_feedback JSON
    );
    
  4. エージェントの設定を構成して、BigQuery Export を有効にし、上記で作成したデータセットとテーブルの名前を指定します。